ng-devui
Version:
DevUI components based on Angular
66 lines • 10.6 kB
JavaScript
import { Component, Input, TemplateRef } from '@angular/core';
import { I18nService } from 'ng-devui/i18n';
import { DatepickerProService } from '../datepicker-pro.service';
import * as i0 from "@angular/core";
import * as i1 from "../datepicker-pro.service";
import * as i2 from "ng-devui/i18n";
import * as i3 from "@angular/common";
import * as i4 from "ng-devui/button";
export class FooterPanelComponent {
get isRange() {
return this.pickerSrv.isRange;
}
get confirmDisable() {
if (this.isRange) {
return (this.pickerSrv.currentActiveInput === 'start' && !this.pickerSrv.curRangeDate[0]) ||
(this.pickerSrv.currentActiveInput === 'end' && !this.pickerSrv.curRangeDate[1]);
}
else {
return false;
}
}
constructor(pickerSrv, i18n) {
this.pickerSrv = pickerSrv;
this.i18n = i18n;
this.setI18nText();
}
setI18nText() {
this.i18nText = this.i18n.getI18nText().common;
this.i18nSubscription = this.i18n.langChange().subscribe((data) => {
this.i18nText = data.common;
});
}
ensureDate() {
if (this.pickerSrv.isRange) {
if (this.pickerSrv.currentActiveInput === 'start') {
this.pickerSrv.currentActiveInput = 'end';
this.pickerSrv.activeInputChange.next('end');
}
else if (!this.pickerSrv.curRangeDate[0]) {
this.pickerSrv.currentActiveInput = 'start';
this.pickerSrv.activeInputChange.next('start');
}
else {
this.close(true);
}
}
else {
this.close(true);
}
}
close(isConfirm = false) {
this.pickerSrv.closeDropdownEvent.next(isConfirm);
}
ngOnDestroy() {
this.i18nSubscription.unsubscribe();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FooterPanelComponent, deps: [{ token: i1.DatepickerProService }, { token: i2.I18nService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FooterPanelComponent, selector: "d-datepicker-footer-panel", inputs: { footerTemplate: "footerTemplate" }, ngImport: i0, template: "<div class=\"devui-datepicekr-pro-footer\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate || default\"> </ng-template>\n</div>\n\n<ng-template #default>\n <d-button bsStyle=\"primary\" [disabled]=\"confirmDisable\" (click)=\"ensureDate()\"> {{ i18nText.btnOk }} </d-button>\n <d-button class=\"devui-cancel-button\" bsStyle=\"common\" *ngIf=\"isRange\" (click)=\"close()\"> {{ i18nText.btnCancel }} </d-button>\n</ng-template>\n", styles: [".devui-datepicekr-pro-footer{padding:8px;text-align:center;border-top:1px solid var(--devui-dividing-line, #f0f0f0)}.devui-datepicekr-pro-footer .devui-cancel-button{margin-left:4px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.ButtonComponent, selector: "d-button", inputs: ["id", "type", "bsStyle", "shape", "bsSize", "bsPosition", "bordered", "icon", "disabled", "showLoading", "width", "autofocus", "loadingTemplateRef"], outputs: ["btnClick"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FooterPanelComponent, decorators: [{
type: Component,
args: [{ selector: 'd-datepicker-footer-panel', preserveWhitespaces: false, template: "<div class=\"devui-datepicekr-pro-footer\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate || default\"> </ng-template>\n</div>\n\n<ng-template #default>\n <d-button bsStyle=\"primary\" [disabled]=\"confirmDisable\" (click)=\"ensureDate()\"> {{ i18nText.btnOk }} </d-button>\n <d-button class=\"devui-cancel-button\" bsStyle=\"common\" *ngIf=\"isRange\" (click)=\"close()\"> {{ i18nText.btnCancel }} </d-button>\n</ng-template>\n", styles: [".devui-datepicekr-pro-footer{padding:8px;text-align:center;border-top:1px solid var(--devui-dividing-line, #f0f0f0)}.devui-datepicekr-pro-footer .devui-cancel-button{margin-left:4px}\n"] }]
}], ctorParameters: () => [{ type: i1.DatepickerProService }, { type: i2.I18nService }], propDecorators: { footerTemplate: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2RldnVpL2RhdGVwaWNrZXItcHJvL2xpYi9mb290ZXItcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vZGV2dWkvZGF0ZXBpY2tlci1wcm8vbGliL2Zvb3Rlci1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUFFLEtBQUssRUFBYSxXQUFXLEVBQ3pDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBaUIsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7QUFRakUsTUFBTSxPQUFPLG9CQUFvQjtJQU0vQixJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pGLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25GLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELFlBQ1UsU0FBK0IsRUFDN0IsSUFBaUI7UUFEbkIsY0FBUyxHQUFULFNBQVMsQ0FBc0I7UUFDN0IsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUUzQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7Z0JBQzFDLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLENBQUM7aUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDO2dCQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLO1FBQ3JCLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RDLENBQUM7K0dBdkRVLG9CQUFvQjttR0FBcEIsb0JBQW9CLCtHQ2JqQyxzYkFRQTs7NEZES2Esb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLDJCQUEyQix1QkFHaEIsS0FBSzttSEFHakIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJMThuSW50ZXJmYWNlLCBJMThuU2VydmljZSB9IGZyb20gJ25nLWRldnVpL2kxOG4nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRlcGlja2VyUHJvU2VydmljZSB9IGZyb20gJy4uL2RhdGVwaWNrZXItcHJvLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkLWRhdGVwaWNrZXItZm9vdGVyLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvb3Rlci1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvb3Rlci1wYW5lbC5jb21wb25lbnQuc2NzcyddLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgRm9vdGVyUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBpMThuVGV4dDogSTE4bkludGVyZmFjZVsnY29tbW9uJ107XG4gIGkxOG5TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBnZXQgaXNSYW5nZSgpIHtcbiAgICByZXR1cm4gdGhpcy5waWNrZXJTcnYuaXNSYW5nZTtcbiAgfVxuXG4gIGdldCBjb25maXJtRGlzYWJsZSgpIHtcbiAgICBpZiAodGhpcy5pc1JhbmdlKSB7XG4gICAgICByZXR1cm4gKHRoaXMucGlja2VyU3J2LmN1cnJlbnRBY3RpdmVJbnB1dCA9PT0gJ3N0YXJ0JyAmJiAhdGhpcy5waWNrZXJTcnYuY3VyUmFuZ2VEYXRlWzBdKSB8fFxuICAgICAgKHRoaXMucGlja2VyU3J2LmN1cnJlbnRBY3RpdmVJbnB1dCA9PT0gJ2VuZCcgJiYgIXRoaXMucGlja2VyU3J2LmN1clJhbmdlRGF0ZVsxXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBpY2tlclNydjogRGF0ZXBpY2tlclByb1NlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGkxOG46IEkxOG5TZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2V0STE4blRleHQoKTtcbiAgfVxuXG4gIHNldEkxOG5UZXh0KCkge1xuICAgIHRoaXMuaTE4blRleHQgPSB0aGlzLmkxOG4uZ2V0STE4blRleHQoKS5jb21tb247XG4gICAgdGhpcy5pMThuU3Vic2NyaXB0aW9uID0gdGhpcy5pMThuLmxhbmdDaGFuZ2UoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuaTE4blRleHQgPSBkYXRhLmNvbW1vbjtcbiAgICB9KTtcbiAgfVxuXG4gIGVuc3VyZURhdGUoKSB7XG4gICAgaWYgKHRoaXMucGlja2VyU3J2LmlzUmFuZ2UpIHtcbiAgICAgIGlmICh0aGlzLnBpY2tlclNydi5jdXJyZW50QWN0aXZlSW5wdXQgPT09ICdzdGFydCcpIHtcbiAgICAgICAgdGhpcy5waWNrZXJTcnYuY3VycmVudEFjdGl2ZUlucHV0ID0gJ2VuZCc7XG4gICAgICAgIHRoaXMucGlja2VyU3J2LmFjdGl2ZUlucHV0Q2hhbmdlLm5leHQoJ2VuZCcpO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5waWNrZXJTcnYuY3VyUmFuZ2VEYXRlWzBdKSB7XG4gICAgICAgIHRoaXMucGlja2VyU3J2LmN1cnJlbnRBY3RpdmVJbnB1dCA9ICdzdGFydCc7XG4gICAgICAgIHRoaXMucGlja2VyU3J2LmFjdGl2ZUlucHV0Q2hhbmdlLm5leHQoJ3N0YXJ0Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNsb3NlKHRydWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsb3NlKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKGlzQ29uZmlybSA9IGZhbHNlKSB7XG4gICAgdGhpcy5waWNrZXJTcnYuY2xvc2VEcm9wZG93bkV2ZW50Lm5leHQoaXNDb25maXJtKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuaTE4blN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJkZXZ1aS1kYXRlcGljZWtyLXByby1mb290ZXJcIj5cbiAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlclRlbXBsYXRlIHx8IGRlZmF1bHRcIj4gPC9uZy10ZW1wbGF0ZT5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHQ+XG4gIDxkLWJ1dHRvbiBic1N0eWxlPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCJjb25maXJtRGlzYWJsZVwiIChjbGljayk9XCJlbnN1cmVEYXRlKClcIj4ge3sgaTE4blRleHQuYnRuT2sgfX0gPC9kLWJ1dHRvbj5cbiAgPGQtYnV0dG9uIGNsYXNzPVwiZGV2dWktY2FuY2VsLWJ1dHRvblwiIGJzU3R5bGU9XCJjb21tb25cIiAqbmdJZj1cImlzUmFuZ2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiPiB7eyBpMThuVGV4dC5idG5DYW5jZWwgfX0gPC9kLWJ1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=