UNPKG

ng2-date-picker-pda-forked

Version:
47 lines (40 loc) 5.9 kB
import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from '@angular/core'; @Component({ selector: 'dp-calendar-nav', template: '<div class="dp-calendar-nav-container"> <div class="dp-calendar-nav-container-left"> <button type="button" class="dp-calendar-nav-left" [hidden]="!showLeftNav" [disabled]="leftNavDisabled" (click)="leftNavClicked()"> </button> <button type="button" class="dp-calendar-secondary-nav-left" *ngIf="showLeftSecondaryNav" [disabled]="leftSecondaryNavDisabled" (click)="leftSecondaryNavClicked()"> </button> </div> <span class="dp-nav-header" [hidden]="isLabelClickable">{{label}}</span> <button type="button" class="dp-nav-header dp-nav-header-btn" [hidden]="!isLabelClickable" (click)="labelClicked()"> {{label}} </button> <div class="dp-calendar-nav-container-right"> <button type="button" class="dp-calendar-secondary-nav-right" *ngIf="showRightSecondaryNav" [disabled]="rightSecondaryNavDisabled" (click)="rightSecondaryNavClicked()"> </button> <button type="button" class="dp-calendar-nav-right" [hidden]="!showRightNav" [disabled]="rightNavDisabled" (click)="rightNavClicked()"> </button> </div> </div> ', styles: ['dp-calendar-nav .dp-calendar-nav-container { position: relative; box-sizing: border-box; height: 25px; border: 1px solid #000000; border-bottom: none;}dp-calendar-nav .dp-nav-date-btn { box-sizing: border-box; height: 25px; border: 1px solid #000000; border-bottom: none;}dp-calendar-nav .dp-calendar-nav-container-left,dp-calendar-nav .dp-calendar-nav-container-right { position: absolute; top: 50%; transform: translateY(-50%);}dp-calendar-nav .dp-calendar-nav-container-left { left: 5px;}dp-calendar-nav .dp-calendar-nav-container-right { right: 5px;}dp-calendar-nav .dp-calendar-nav-left,dp-calendar-nav .dp-calendar-nav-right,dp-calendar-nav .dp-calendar-secondary-nav-left,dp-calendar-nav .dp-calendar-secondary-nav-right { cursor: pointer;}dp-calendar-nav .dp-calendar-nav-left,dp-calendar-nav .dp-calendar-nav-right { line-height: 0;}dp-calendar-nav .dp-calendar-nav-left::before,dp-calendar-nav .dp-calendar-nav-right::before { position: relative; content: \'\'; display: inline-block; height: 8px; width: 8px; vertical-align: baseline; border-style: solid; border-width: 2px 2px 0 0; transform: rotate(45deg);}dp-calendar-nav .dp-calendar-secondary-nav-left::before,dp-calendar-nav .dp-calendar-secondary-nav-right::before,dp-calendar-nav .dp-calendar-secondary-nav-left::after,dp-calendar-nav .dp-calendar-secondary-nav-right::after { position: relative; content: \'\'; display: inline-block; height: 8px; width: 8px; vertical-align: baseline; border-style: solid; border-width: 2px 2px 0 0; transform: rotate(45deg);}dp-calendar-nav .dp-calendar-secondary-nav-left::before,dp-calendar-nav .dp-calendar-secondary-nav-right::before { margin-right: -8px;}dp-calendar-nav .dp-calendar-nav-left::before { position: relative; content: \'\'; display: inline-block; height: 8px; width: 8px; vertical-align: baseline; border-style: solid; border-width: 2px 2px 0 0; transform: rotate(-135deg);}dp-calendar-nav .dp-calendar-secondary-nav-left::before,dp-calendar-nav .dp-calendar-secondary-nav-left::after { position: relative; content: \'\'; display: inline-block; height: 8px; width: 8px; vertical-align: baseline; border-style: solid; border-width: 2px 2px 0 0; transform: rotate(-135deg);}dp-calendar-nav .dp-calendar-secondary-nav-left::before { margin-right: -8px;}dp-calendar-nav .dp-nav-header { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 13px;}dp-calendar-nav .dp-nav-header-btn { cursor: pointer;}dp-calendar-nav.dp-material .dp-calendar-nav-container { height: 30px; border: 1px solid #E0E0E0;}dp-calendar-nav.dp-material .dp-calendar-nav-left,dp-calendar-nav.dp-material .dp-calendar-nav-right,dp-calendar-nav.dp-material .dp-calendar-secondary-nav-left,dp-calendar-nav.dp-material .dp-calendar-secondary-nav-right { border: none; background: #FFFFFF; outline: none; font-size: 16px;}dp-calendar-nav.dp-material .dp-nav-header-btn { height: 20px; width: 80px; border: none; background: #FFFFFF; outline: none;}dp-calendar-nav.dp-material .dp-nav-header-btn:hover { background: rgba(0, 0, 0, 0.05);}dp-calendar-nav.dp-material .dp-nav-header-btn:active { background: rgba(0, 0, 0, 0.1);}'], encapsulation: ViewEncapsulation.None }) export class CalendarNavComponent { @Output() onLeftNav: EventEmitter<null> = new EventEmitter(); @Output() onLeftSecondaryNav: EventEmitter<null> = new EventEmitter(); @Output() onRightNav: EventEmitter<null> = new EventEmitter(); @Output() onRightSecondaryNav: EventEmitter<null> = new EventEmitter(); @Output() onLabelClick: EventEmitter<null> = new EventEmitter(); @Input() label: string; @Input() isLabelClickable: boolean = false; @Input() showLeftNav: boolean = true; @Input() showLeftSecondaryNav: boolean = false; @Input() showRightNav: boolean = true; @Input() showRightSecondaryNav: boolean = false; @Input() leftNavDisabled: boolean = false; @Input() leftSecondaryNavDisabled: boolean = false; @Input() rightNavDisabled: boolean = false; @Input() rightSecondaryNavDisabled: boolean = false; @HostBinding('class') @Input() theme: string; leftNavClicked() { this.onLeftNav.emit(); } leftSecondaryNavClicked() { this.onLeftSecondaryNav.emit(); } rightNavClicked() { this.onRightNav.emit(); } rightSecondaryNavClicked() { this.onRightSecondaryNav.emit(); } labelClicked() { this.onLabelClick.emit(); } }