Not sure whether it is possible to show only icon for input type date.
<input type="datetime-local" id="test" name="test">
as highlighted below, I'm trying to show datepicker in my Angular material table row (doing *ngFor
)and trigger datetime when click on date icon.
Alternate
after search lot, Found this alternate package and implemented, but its look odd in inside app.
So decided to go back and use native html element.
Could someone help me how to show only date-time icon ?
or suggest me datetime picker package for Angular?
Thanks to all
complementary my comment
Using ngb-datepicker
<div
ngbDropdown
class="form-group"
placement="bottom-rigth"
#myDrop="ngbDropdown"
(openChange)="open($event, dp)"
>
<div class="input-group">
<button
ngbDropdownToggle
class="btn btn-outline-secondary calendar"
type="button"
></button>
<div ngbDropdownMenu>
<ngb-datepicker
#dp
(select)="onDateSelection($event, myDrop)"
[displayMonths]="2"
[dayTemplate]="t"
outsideDays="hidden"
>
</ngb-datepicker>
</div>
</div>
</div>
usign material date picker
<button mat-icon-button [matMenuTriggerFor]="appMenu">
<mat-icon>calendar_today</mat-icon>
</button>
<mat-menu #appMenu="matMenu" class="drop-calendar" >
<div (click)="$event.stopPropagation()">
<mat-calendar #calendar (selectedChange)="select($event,calendar)" ></mat-calendar>
</div>
</mat-menu>
To discover the -webkit properties in Chrome Developer Tools, I entered Settings > Preferences > Elements and then checked "Show user agent shadow DOM". Once this change was made, I selected datetime-local element and drilled down on the underlying div pseudo elements and discovered by adding the following CSS to my page, I was able to show only the calendar icon.
input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
/* display: none;
-webkit-appearance: none; */
margin:0;
}
input[type="datetime-local"]::-webkit-datetime-edit {
display:none;
}
The result is: , just the calendar icon is displayed until the user clicks to select a date.