@ng-nest/ui 15.0.12 → 15.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/anchor/anchor-inner.component.d.ts +6 -0
- package/anchor/anchor.component.d.ts +5 -2
- package/anchor/anchor.module.d.ts +5 -4
- package/anchor/anchor.property.d.ts +13 -0
- package/anchor/public-api.d.ts +1 -0
- package/core/config/config.d.ts +2 -0
- package/core/functions/date.d.ts +3 -0
- package/core/functions/parent-path.d.ts +1 -0
- package/core/functions/public-api.d.ts +1 -0
- package/date-picker/date-picker-portal.component.d.ts +7 -2
- package/date-picker/date-picker.property.d.ts +87 -6
- package/date-picker/date-range-portal.component.d.ts +6 -2
- package/date-picker/picker-date.component.d.ts +6 -0
- package/date-picker/picker-month.component.d.ts +1 -0
- package/date-picker/picker-year.component.d.ts +1 -0
- package/esm2020/anchor/anchor-inner.component.mjs +17 -0
- package/esm2020/anchor/anchor.component.mjs +25 -11
- package/esm2020/anchor/anchor.module.mjs +6 -5
- package/esm2020/anchor/anchor.property.mjs +18 -1
- package/esm2020/anchor/public-api.mjs +2 -1
- package/esm2020/core/config/config.mjs +1 -1
- package/esm2020/core/functions/date.mjs +73 -1
- package/esm2020/core/functions/parent-path.mjs +10 -0
- package/esm2020/core/functions/public-api.mjs +2 -1
- package/esm2020/date-picker/date-picker-portal.component.mjs +34 -6
- package/esm2020/date-picker/date-picker.component.mjs +14 -4
- package/esm2020/date-picker/date-picker.property.mjs +20 -6
- package/esm2020/date-picker/date-range-portal.component.mjs +33 -18
- package/esm2020/date-picker/date-range.component.mjs +24 -7
- package/esm2020/date-picker/picker-date.component.mjs +54 -6
- package/esm2020/date-picker/picker-month.component.mjs +13 -4
- package/esm2020/date-picker/picker-year.component.mjs +15 -4
- package/esm2020/i18n/i18n.property.mjs +1 -1
- package/esm2020/i18n/languages/en_GB.mjs +6 -2
- package/esm2020/i18n/languages/en_US.mjs +6 -2
- package/esm2020/i18n/languages/zh_CN.mjs +6 -2
- package/esm2020/i18n/languages/zh_TW.mjs +6 -2
- package/esm2020/list/list-option.component.mjs +2 -2
- package/esm2020/list/list.component.mjs +2 -2
- package/esm2020/slider/slider.component.mjs +3 -3
- package/esm2020/slider/slider.property.mjs +8 -2
- package/esm2020/table/table-body.component.mjs +6 -6
- package/esm2020/table/table.component.mjs +4 -3
- package/esm2020/table/table.property.mjs +9 -2
- package/esm2020/time-picker/time-picker-frame.component.mjs +48 -14
- package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
- package/esm2020/time-picker/time-picker.component.mjs +2 -1
- package/esm2020/time-picker/time-picker.property.mjs +4 -2
- package/esm2020/transfer/transfer.component.mjs +2 -2
- package/esm2020/tree/tree-node.component.mjs +98 -15
- package/esm2020/tree/tree.component.mjs +126 -29
- package/esm2020/tree/tree.module.mjs +31 -4
- package/esm2020/tree/tree.property.mjs +37 -3
- package/esm2020/tree/tree.service.mjs +77 -0
- package/esm2020/tree-file/tree-file.component.mjs +14 -3
- package/fesm2015/ng-nest-ui-anchor.mjs +60 -15
- package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-core.mjs +83 -1
- package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-date-picker.mjs +193 -42
- package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.mjs +20 -4
- package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-list.mjs +4 -4
- package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-slider.mjs +9 -3
- package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-table.mjs +16 -8
- package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-time-picker.mjs +53 -16
- package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-transfer.mjs +1 -1
- package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tree-file.mjs +13 -2
- package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-tree.mjs +359 -45
- package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-anchor.mjs +60 -15
- package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-core.mjs +83 -1
- package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-date-picker.mjs +193 -42
- package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-i18n.mjs +20 -4
- package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-list.mjs +4 -4
- package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-slider.mjs +9 -3
- package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-table.mjs +16 -8
- package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-time-picker.mjs +53 -16
- package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-transfer.mjs +1 -1
- package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tree-file.mjs +13 -2
- package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-tree.mjs +356 -45
- package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
- package/i18n/i18n.property.d.ts +3 -0
- package/i18n/languages/en_GB.d.ts +4 -0
- package/i18n/languages/en_US.d.ts +4 -0
- package/i18n/languages/zh_CN.d.ts +4 -0
- package/i18n/languages/zh_TW.d.ts +4 -0
- package/package.json +1 -1
- package/slider/slider.property.d.ts +6 -1
- package/table/table.component.d.ts +1 -1
- package/table/table.property.d.ts +25 -4
- package/time-picker/time-picker-frame.component.d.ts +6 -2
- package/time-picker/time-picker-portal.component.d.ts +2 -1
- package/time-picker/time-picker.property.d.ts +32 -1
- package/transfer/transfer.component.d.ts +2 -4
- package/tree/tree-node.component.d.ts +35 -4
- package/tree/tree.component.d.ts +24 -3
- package/tree/tree.module.d.ts +8 -7
- package/tree/tree.property.d.ts +63 -1
- package/tree/tree.service.d.ts +10 -0
- package/tree-file/tree-file.component.d.ts +1 -0
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { EventEmitter, Component, Input, Output, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, HostListener, ViewChild, NgModule } from '@angular/core';
|
|
3
3
|
import { __decorate } from 'tslib';
|
|
4
4
|
import * as i2 from '@ng-nest/ui/core';
|
|
5
|
-
import { XWithConfig, XInputBoolean, XDataConvert, XProperty, XIsChange, XIsNull, XChunk, XIsEmpty, XAddDays, XConnectBaseAnimation, XIsDate, XIsNumber, XIsString, XClearClass, XAddMonths, XAddYears, XIsArray } from '@ng-nest/ui/core';
|
|
5
|
+
import { XWithConfig, XInputBoolean, XDataConvert, XProperty, XIsFunction, XIsChange, XDateYearWeek, XIsNull, XChunk, XDateWeek, XIsUndefined, XIsEmpty, XAddDays, XConnectBaseAnimation, XIsDate, XIsNumber, XIsString, XClearClass, XAddMonths, XAddYears, XIsArray } from '@ng-nest/ui/core';
|
|
6
6
|
import { XControlValueAccessor, XValueAccessor, XBaseFormModule } from '@ng-nest/ui/base-form';
|
|
7
7
|
import { Subject } from 'rxjs';
|
|
8
8
|
import { map, takeUntil } from 'rxjs/operators';
|
|
@@ -58,7 +58,7 @@ class XDatePickerProperty extends XControlValueAccessor {
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
/** @nocollapse */ XDatePickerProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDatePickerProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
-
/** @nocollapse */ XDatePickerProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDatePickerProperty, selector: "ng-component", inputs: { type: "type", format: "format", clearable: "clearable", placement: "placement", size: "size", bordered: "bordered", preset: "preset", extraFooter: "extraFooter" }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
61
|
+
/** @nocollapse */ XDatePickerProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDatePickerProperty, selector: "ng-component", inputs: { type: "type", format: "format", clearable: "clearable", placement: "placement", size: "size", bordered: "bordered", preset: "preset", extraFooter: "extraFooter", disabledDate: "disabledDate", disabledTime: "disabledTime" }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
62
62
|
__decorate([
|
|
63
63
|
XWithConfig(X_CONFIG_NAME, 'yyyy-MM-dd')
|
|
64
64
|
], XDatePickerProperty.prototype, "format", void 0);
|
|
@@ -98,6 +98,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
98
98
|
type: Input
|
|
99
99
|
}], extraFooter: [{
|
|
100
100
|
type: Input
|
|
101
|
+
}], disabledDate: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], disabledTime: [{
|
|
104
|
+
type: Input
|
|
101
105
|
}], nodeEmit: [{
|
|
102
106
|
type: Output
|
|
103
107
|
}] } });
|
|
@@ -132,7 +136,7 @@ class XDateRangeProperty extends XControlValueAccessor {
|
|
|
132
136
|
}
|
|
133
137
|
}
|
|
134
138
|
/** @nocollapse */ XDateRangeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDateRangeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
135
|
-
/** @nocollapse */ XDateRangeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDateRangeProperty, selector: "ng-component", inputs: { type: "type", format: "format", clearable: "clearable", placement: "placement", size: "size", bordered: "bordered", preset: "preset", placeholder: "placeholder", extraFooter: "extraFooter" }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
139
|
+
/** @nocollapse */ XDateRangeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDateRangeProperty, selector: "ng-component", inputs: { type: "type", format: "format", clearable: "clearable", placement: "placement", size: "size", bordered: "bordered", preset: "preset", placeholder: "placeholder", extraFooter: "extraFooter", disabledDate: "disabledDate", disabledTime: "disabledTime" }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
136
140
|
__decorate([
|
|
137
141
|
XWithConfig(X_CONFIG_RANGE_NAME, 'yyyy-MM-dd')
|
|
138
142
|
], XDateRangeProperty.prototype, "format", void 0);
|
|
@@ -174,6 +178,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
174
178
|
type: Input
|
|
175
179
|
}], extraFooter: [{
|
|
176
180
|
type: Input
|
|
181
|
+
}], disabledDate: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], disabledTime: [{
|
|
184
|
+
type: Input
|
|
177
185
|
}], nodeEmit: [{
|
|
178
186
|
type: Output
|
|
179
187
|
}] } });
|
|
@@ -294,7 +302,7 @@ class XPickerDateProperty extends XProperty {
|
|
|
294
302
|
}
|
|
295
303
|
}
|
|
296
304
|
/** @nocollapse */ XPickerDateProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerDateProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
297
|
-
/** @nocollapse */ XPickerDateProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerDateProperty, selector: "ng-component", inputs: { type: "type", display: "display", model: "model", dateTemp: "dateTemp", showHeader: "showHeader", rangePicker: "rangePicker", lastYearBtn: "lastYearBtn", lastMonthBtn: "lastMonthBtn", nextYearBtn: "nextYearBtn", nextMonthBtn: "nextMonthBtn", rangeHover: "rangeHover", rangeValue: "rangeValue", rangeType: "rangeType" }, outputs: { typeChange: "typeChange", modelChange: "modelChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", displayChange: "displayChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave", rangeDateClick: "rangeDateClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
305
|
+
/** @nocollapse */ XPickerDateProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerDateProperty, selector: "ng-component", inputs: { type: "type", display: "display", model: "model", dateTemp: "dateTemp", showHeader: "showHeader", rangePicker: "rangePicker", lastYearBtn: "lastYearBtn", lastMonthBtn: "lastMonthBtn", nextYearBtn: "nextYearBtn", nextMonthBtn: "nextMonthBtn", rangeHover: "rangeHover", rangeValue: "rangeValue", rangeType: "rangeType", disabledDate: "disabledDate" }, outputs: { typeChange: "typeChange", modelChange: "modelChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", displayChange: "displayChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave", rangeDateClick: "rangeDateClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
298
306
|
__decorate([
|
|
299
307
|
XInputBoolean()
|
|
300
308
|
], XPickerDateProperty.prototype, "showHeader", void 0);
|
|
@@ -345,6 +353,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
345
353
|
type: Input
|
|
346
354
|
}], rangeType: [{
|
|
347
355
|
type: Input
|
|
356
|
+
}], disabledDate: [{
|
|
357
|
+
type: Input
|
|
348
358
|
}], typeChange: [{
|
|
349
359
|
type: Output
|
|
350
360
|
}], modelChange: [{
|
|
@@ -454,7 +464,7 @@ class XPickerMonthProperty extends XProperty {
|
|
|
454
464
|
}
|
|
455
465
|
}
|
|
456
466
|
/** @nocollapse */ XPickerMonthProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerMonthProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
457
|
-
/** @nocollapse */ XPickerMonthProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerMonthProperty, selector: "ng-component", inputs: { type: "type", display: "display", model: "model", monthTemp: "monthTemp", showHeader: "showHeader", rangePicker: "rangePicker", lastYearBtn: "lastYearBtn", nextYearBtn: "nextYearBtn", rangeValue: "rangeValue", rangeType: "rangeType" }, outputs: { modelChange: "modelChange", typeChange: "typeChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", displayChange: "displayChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave", rangeDateClick: "rangeDateClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
467
|
+
/** @nocollapse */ XPickerMonthProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerMonthProperty, selector: "ng-component", inputs: { type: "type", display: "display", model: "model", monthTemp: "monthTemp", showHeader: "showHeader", rangePicker: "rangePicker", lastYearBtn: "lastYearBtn", nextYearBtn: "nextYearBtn", rangeValue: "rangeValue", rangeType: "rangeType", disabledDate: "disabledDate" }, outputs: { modelChange: "modelChange", typeChange: "typeChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", displayChange: "displayChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave", rangeDateClick: "rangeDateClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
458
468
|
__decorate([
|
|
459
469
|
XInputBoolean()
|
|
460
470
|
], XPickerMonthProperty.prototype, "showHeader", void 0);
|
|
@@ -490,6 +500,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
490
500
|
type: Input
|
|
491
501
|
}], rangeType: [{
|
|
492
502
|
type: Input
|
|
503
|
+
}], disabledDate: [{
|
|
504
|
+
type: Input
|
|
493
505
|
}], modelChange: [{
|
|
494
506
|
type: Output
|
|
495
507
|
}], typeChange: [{
|
|
@@ -604,7 +616,7 @@ class XPickerYearProperty extends XProperty {
|
|
|
604
616
|
}
|
|
605
617
|
}
|
|
606
618
|
/** @nocollapse */ XPickerYearProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerYearProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
607
|
-
/** @nocollapse */ XPickerYearProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerYearProperty, selector: "ng-component", inputs: { type: "type", display: "display", model: "model", yearTemp: "yearTemp", showHeader: "showHeader", rangePicker: "rangePicker", lastYearBtn: "lastYearBtn", nextYearBtn: "nextYearBtn", rangeValue: "rangeValue", rangeType: "rangeType" }, outputs: { modelChange: "modelChange", typeChange: "typeChange", startChange: "startChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", displayChange: "displayChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave", rangeDateClick: "rangeDateClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
619
|
+
/** @nocollapse */ XPickerYearProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerYearProperty, selector: "ng-component", inputs: { type: "type", display: "display", model: "model", yearTemp: "yearTemp", showHeader: "showHeader", rangePicker: "rangePicker", lastYearBtn: "lastYearBtn", nextYearBtn: "nextYearBtn", rangeValue: "rangeValue", rangeType: "rangeType", disabledDate: "disabledDate" }, outputs: { modelChange: "modelChange", typeChange: "typeChange", startChange: "startChange", rangeChange: "rangeChange", yearChange: "yearChange", monthChange: "monthChange", displayChange: "displayChange", rangeTdMouseenter: "rangeTdMouseenter", rangeTdMouseleave: "rangeTdMouseleave", rangeDateClick: "rangeDateClick" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
608
620
|
__decorate([
|
|
609
621
|
XInputBoolean()
|
|
610
622
|
], XPickerYearProperty.prototype, "showHeader", void 0);
|
|
@@ -640,6 +652,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
640
652
|
type: Input
|
|
641
653
|
}], rangeType: [{
|
|
642
654
|
type: Input
|
|
655
|
+
}], disabledDate: [{
|
|
656
|
+
type: Input
|
|
643
657
|
}], modelChange: [{
|
|
644
658
|
type: Output
|
|
645
659
|
}], typeChange: [{
|
|
@@ -698,6 +712,17 @@ class XPickerDateComponent extends XPickerDateProperty {
|
|
|
698
712
|
}
|
|
699
713
|
return '';
|
|
700
714
|
}
|
|
715
|
+
isWeekRange() {
|
|
716
|
+
return this.type === 'week' && this.rangePicker;
|
|
717
|
+
}
|
|
718
|
+
isDisabled(date) {
|
|
719
|
+
if (this.disabledDate && XIsFunction(this.disabledDate)) {
|
|
720
|
+
return this.disabledDate(date);
|
|
721
|
+
}
|
|
722
|
+
else {
|
|
723
|
+
return false;
|
|
724
|
+
}
|
|
725
|
+
}
|
|
701
726
|
ngOnInit() {
|
|
702
727
|
this.i18n.localeChange
|
|
703
728
|
.pipe(map((x) => x.datePicker), takeUntil(this._unSubject))
|
|
@@ -705,6 +730,7 @@ class XPickerDateComponent extends XPickerDateProperty {
|
|
|
705
730
|
this.locale = x;
|
|
706
731
|
this.cdr.markForCheck();
|
|
707
732
|
});
|
|
733
|
+
this.setTitles();
|
|
708
734
|
}
|
|
709
735
|
ngOnChanges(simples) {
|
|
710
736
|
const { display } = simples;
|
|
@@ -717,16 +743,38 @@ class XPickerDateComponent extends XPickerDateProperty {
|
|
|
717
743
|
init() {
|
|
718
744
|
this.setDays(this.display);
|
|
719
745
|
}
|
|
720
|
-
|
|
746
|
+
isWeekActive(week) {
|
|
747
|
+
if (week.length > 1) {
|
|
748
|
+
return XDateYearWeek(week[1].date) === XDateYearWeek(this.model);
|
|
749
|
+
}
|
|
750
|
+
return false;
|
|
751
|
+
}
|
|
752
|
+
isStartWeek(week) {
|
|
753
|
+
if (!this.rangeType || !this.rangeValue)
|
|
754
|
+
return;
|
|
755
|
+
if (!XIsNull(this.rangeValue[0]) && week.length > 1) {
|
|
756
|
+
return XDateYearWeek(week[1].date) === XDateYearWeek(this.rangeValue[0]);
|
|
757
|
+
}
|
|
758
|
+
return false;
|
|
759
|
+
}
|
|
760
|
+
isEndWeek(week) {
|
|
721
761
|
if (!this.rangeType || !this.rangeValue)
|
|
722
762
|
return;
|
|
763
|
+
if (!XIsNull(this.rangeValue[1]) && week.length > 1) {
|
|
764
|
+
return XDateYearWeek(week[1].date) === XDateYearWeek(this.rangeValue[1]);
|
|
765
|
+
}
|
|
766
|
+
return false;
|
|
767
|
+
}
|
|
768
|
+
isStartDate(date) {
|
|
769
|
+
if (this.type === 'week' || !this.rangeType || !this.rangeValue)
|
|
770
|
+
return;
|
|
723
771
|
if (!XIsNull(this.rangeValue[0])) {
|
|
724
772
|
return this.datePipe.transform(this.rangeValue[0], 'yyyyMMdd') === this.datePipe.transform(date, 'yyyyMMdd');
|
|
725
773
|
}
|
|
726
774
|
return;
|
|
727
775
|
}
|
|
728
776
|
isEndDate(date) {
|
|
729
|
-
if (!this.rangeType || !this.rangeValue)
|
|
777
|
+
if (this.type === 'week' || !this.rangeType || !this.rangeValue)
|
|
730
778
|
return;
|
|
731
779
|
if (!XIsNull(this.rangeValue[1])) {
|
|
732
780
|
return this.datePipe.transform(this.rangeValue[1], 'yyyyMMdd') === this.datePipe.transform(date, 'yyyyMMdd');
|
|
@@ -740,6 +788,11 @@ class XPickerDateComponent extends XPickerDateProperty {
|
|
|
740
788
|
}
|
|
741
789
|
this.onTdMouseenter(cell, false);
|
|
742
790
|
}
|
|
791
|
+
setTitles() {
|
|
792
|
+
if (this.type === 'week') {
|
|
793
|
+
this.titles = ['datePicker.week', ...this.titles];
|
|
794
|
+
}
|
|
795
|
+
}
|
|
743
796
|
onTdMouseenter(cell, isEmit = true) {
|
|
744
797
|
const [start, end] = this.rangeValue;
|
|
745
798
|
if (!XIsNull(start) || !XIsNull(end)) {
|
|
@@ -838,6 +891,14 @@ class XPickerDateComponent extends XPickerDateProperty {
|
|
|
838
891
|
}
|
|
839
892
|
this.dates = dates;
|
|
840
893
|
this.weekDates = XChunk(dates, 7);
|
|
894
|
+
if (this.type === 'week') {
|
|
895
|
+
for (let item of this.dates) {
|
|
896
|
+
item.week = XDateWeek(item.date);
|
|
897
|
+
}
|
|
898
|
+
for (let week of this.weekDates) {
|
|
899
|
+
week.unshift({ type: 'week', week: week[0].week });
|
|
900
|
+
}
|
|
901
|
+
}
|
|
841
902
|
if (this.dates.length > 0) {
|
|
842
903
|
this.rangeChange.emit([dates[0].date, dates[dates.length - 1].date]);
|
|
843
904
|
}
|
|
@@ -852,6 +913,7 @@ class XPickerDateComponent extends XPickerDateProperty {
|
|
|
852
913
|
const fnow = this.datePipe.transform(this.now, 'yyyyMMdd');
|
|
853
914
|
cell.isLastOrNext = fdatem !== fdisplaym;
|
|
854
915
|
cell.isNow = fdate === fnow;
|
|
916
|
+
cell.isDisabled = this.isDisabled(cell.date);
|
|
855
917
|
if (this.rangePicker) {
|
|
856
918
|
if (!this.rangeValue)
|
|
857
919
|
return cell;
|
|
@@ -915,10 +977,10 @@ class XPickerDateComponent extends XPickerDateProperty {
|
|
|
915
977
|
}
|
|
916
978
|
}
|
|
917
979
|
/** @nocollapse */ XPickerDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerDateComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XConfigService }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
918
|
-
/** @nocollapse */ XPickerDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerDateComponent, selector: "x-picker-date", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp\">\r\n <div class=\"x-picker-date-header\" *ngIf=\"showHeader\">\r\n <x-link icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn\"></x-link>\r\n <x-link icon=\"fto-chevron-left\" (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn\"></x-link>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n <x-link (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display) }}</x-link>\r\n </div>\r\n <x-link icon=\"fto-chevron-right\" (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextMonthBtn\"></x-link>\r\n <x-link icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextYearBtn\"></x-link>\r\n </div>\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let title of titles; trackBy: trackByNode\">{{ title | xI18n }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr
|
|
980
|
+
/** @nocollapse */ XPickerDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerDateComponent, selector: "x-picker-date", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp\">\r\n <div class=\"x-picker-date-header\" *ngIf=\"showHeader\">\r\n <x-link icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn\"></x-link>\r\n <x-link icon=\"fto-chevron-left\" (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn\"></x-link>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n <x-link (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display) }}</x-link>\r\n </div>\r\n <x-link icon=\"fto-chevron-right\" (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextMonthBtn\"></x-link>\r\n <x-link icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextYearBtn\"></x-link>\r\n </div>\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let title of titles; trackBy: trackByNode\">{{ title | xI18n }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"let weeks of weekDates\"\r\n [class.x-date-week-active]=\"!rangePicker && isWeekActive(weeks)\"\r\n [class.x-date-week-active]=\"isWeekRange && isStartWeek(weeks)\"\r\n [class.x-date-week-active]=\"isWeekRange && isEndWeek(weeks)\"\r\n >\r\n <ng-container *ngFor=\"let week of weeks; trackBy: trackByNode\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-week]=\"week.type === 'week'\"\r\n [class.x-date-disabled]=\"week.isDisabled\"\r\n [class.x-date-last-or-next]=\"week.isLastOrNext\"\r\n [class.x-date-now]=\"week.isNow\"\r\n [class.x-date-first-day]=\"week.isFirstDay\"\r\n [class.x-date-last-day]=\"week.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartDate(week.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndDate(week.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && week.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && week.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && week.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && week.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && week.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && week.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && week.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && week.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && week.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && week.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && week.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && week.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && week.isInRangeHover\"\r\n [class.x-date-active]=\"\r\n !rangePicker && week.type !== 'week' && (week.date | date : 'yyyyMMdd') === (model | date : 'yyyyMMdd')\r\n \"\r\n title=\"{{ week.date | date : 'yyyy-MM-dd' }}\"\r\n (click)=\"week.type !== 'week' && !week.isDisabled && dateClick(week)\"\r\n (mouseenter)=\"week.type !== 'week' && !week.isDisabled && rangePicker && rangeHover && onTdMouseenter(week)\"\r\n (mouseleave)=\"week.type !== 'week' && !week.isDisabled && rangePicker && rangeHover && onTdMouseleave(week)\"\r\n >\r\n <div *ngIf=\"!dateTemp\" class=\"x-date-text\">\r\n <ng-container [ngSwitch]=\"week.type\">\r\n <ng-container *ngSwitchCase=\"'week'\">{{ week.week }}</ng-container>\r\n <ng-container *ngSwitchDefault>{{ week.date | date : 'd' }}</ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"dateTemp\">\r\n <ng-container *ngTemplateOutlet=\"dateTemp; context: { date$: week.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-date{margin:0;padding:0}.x-picker-date-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-date-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-date-header .x-link{padding:0 .25rem}.x-picker-date-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-date-body{padding:.1375rem .5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table tr{display:flex;align-items:center;justify-content:center}.x-picker-date-body>table tr.x-date-week-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);color:var(--x-background-100)}.x-picker-date-body>table tbody tr{padding:.125rem 0}.x-picker-date-body>table th{flex:1;font-weight:400;height:2rem;line-height:2rem;color:var(--x-text-400);-webkit-user-select:none;user-select:none}.x-picker-date-body>table td{padding:.125rem 0;flex:1;-webkit-user-select:none;user-select:none}.x-picker-date-body>table td:first-child{border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-picker-date-body>table td:last-child{border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-picker-date-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative;transition:var(--x-animation-duration-base)}.x-picker-date-body .x-picker-date-item .x-date-text{width:1.75rem;height:1.625rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-date-body .x-picker-date-item:after,.x-picker-date-body .x-picker-date-item:before{height:1.625rem}.x-picker-date-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-date-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-date .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i4.XLinkComponent, selector: "x-link" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i3.XI18nPipe, name: "xI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
919
981
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerDateComponent, decorators: [{
|
|
920
982
|
type: Component,
|
|
921
|
-
args: [{ selector: `${XPickerDatePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp\">\r\n <div class=\"x-picker-date-header\" *ngIf=\"showHeader\">\r\n <x-link icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn\"></x-link>\r\n <x-link icon=\"fto-chevron-left\" (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn\"></x-link>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n <x-link (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display) }}</x-link>\r\n </div>\r\n <x-link icon=\"fto-chevron-right\" (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextMonthBtn\"></x-link>\r\n <x-link icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextYearBtn\"></x-link>\r\n </div>\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let title of titles; trackBy: trackByNode\">{{ title | xI18n }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr
|
|
983
|
+
args: [{ selector: `${XPickerDatePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp\">\r\n <div class=\"x-picker-date-header\" *ngIf=\"showHeader\">\r\n <x-link icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn\"></x-link>\r\n <x-link icon=\"fto-chevron-left\" (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn\"></x-link>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n <x-link (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display) }}</x-link>\r\n </div>\r\n <x-link icon=\"fto-chevron-right\" (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextMonthBtn\"></x-link>\r\n <x-link icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextYearBtn\"></x-link>\r\n </div>\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let title of titles; trackBy: trackByNode\">{{ title | xI18n }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"let weeks of weekDates\"\r\n [class.x-date-week-active]=\"!rangePicker && isWeekActive(weeks)\"\r\n [class.x-date-week-active]=\"isWeekRange && isStartWeek(weeks)\"\r\n [class.x-date-week-active]=\"isWeekRange && isEndWeek(weeks)\"\r\n >\r\n <ng-container *ngFor=\"let week of weeks; trackBy: trackByNode\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-week]=\"week.type === 'week'\"\r\n [class.x-date-disabled]=\"week.isDisabled\"\r\n [class.x-date-last-or-next]=\"week.isLastOrNext\"\r\n [class.x-date-now]=\"week.isNow\"\r\n [class.x-date-first-day]=\"week.isFirstDay\"\r\n [class.x-date-last-day]=\"week.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartDate(week.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndDate(week.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && week.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && week.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && week.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && week.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && week.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && week.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && week.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && week.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && week.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && week.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && week.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && week.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && week.isInRangeHover\"\r\n [class.x-date-active]=\"\r\n !rangePicker && week.type !== 'week' && (week.date | date : 'yyyyMMdd') === (model | date : 'yyyyMMdd')\r\n \"\r\n title=\"{{ week.date | date : 'yyyy-MM-dd' }}\"\r\n (click)=\"week.type !== 'week' && !week.isDisabled && dateClick(week)\"\r\n (mouseenter)=\"week.type !== 'week' && !week.isDisabled && rangePicker && rangeHover && onTdMouseenter(week)\"\r\n (mouseleave)=\"week.type !== 'week' && !week.isDisabled && rangePicker && rangeHover && onTdMouseleave(week)\"\r\n >\r\n <div *ngIf=\"!dateTemp\" class=\"x-date-text\">\r\n <ng-container [ngSwitch]=\"week.type\">\r\n <ng-container *ngSwitchCase=\"'week'\">{{ week.week }}</ng-container>\r\n <ng-container *ngSwitchDefault>{{ week.date | date : 'd' }}</ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"dateTemp\">\r\n <ng-container *ngTemplateOutlet=\"dateTemp; context: { date$: week.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-date{margin:0;padding:0}.x-picker-date-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-date-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-date-header .x-link{padding:0 .25rem}.x-picker-date-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-date-body{padding:.1375rem .5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table tr{display:flex;align-items:center;justify-content:center}.x-picker-date-body>table tr.x-date-week-active .x-picker-date-item,.x-picker-date-body>table tr.x-date-week-active .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);color:var(--x-background-100)}.x-picker-date-body>table tbody tr{padding:.125rem 0}.x-picker-date-body>table th{flex:1;font-weight:400;height:2rem;line-height:2rem;color:var(--x-text-400);-webkit-user-select:none;user-select:none}.x-picker-date-body>table td{padding:.125rem 0;flex:1;-webkit-user-select:none;user-select:none}.x-picker-date-body>table td:first-child{border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-picker-date-body>table td:last-child{border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-picker-date-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative;transition:var(--x-animation-duration-base)}.x-picker-date-body .x-picker-date-item .x-date-text{width:1.75rem;height:1.625rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-date-body .x-picker-date-item:after,.x-picker-date-body .x-picker-date-item:before{height:1.625rem}.x-picker-date-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-date-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-date-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-date-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:1.75rem}.x-picker-date-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-date .x-visibility{visibility:hidden}\n"] }]
|
|
922
984
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
|
|
923
985
|
|
|
924
986
|
class XPickerMonthComponent extends XPickerMonthProperty {
|
|
@@ -948,6 +1010,14 @@ class XPickerMonthComponent extends XPickerMonthProperty {
|
|
|
948
1010
|
}
|
|
949
1011
|
return '';
|
|
950
1012
|
}
|
|
1013
|
+
isDisabled(date) {
|
|
1014
|
+
if (this.disabledDate && XIsFunction(this.disabledDate)) {
|
|
1015
|
+
return this.disabledDate(date);
|
|
1016
|
+
}
|
|
1017
|
+
else {
|
|
1018
|
+
return false;
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
951
1021
|
ngOnInit() {
|
|
952
1022
|
this.i18n.localeChange
|
|
953
1023
|
.pipe(map((x) => x.datePicker), takeUntil(this._unSubject))
|
|
@@ -1074,6 +1144,7 @@ class XPickerMonthComponent extends XPickerMonthProperty {
|
|
|
1074
1144
|
const fnow = this.datePipe.transform(this.now, 'yyyyMM');
|
|
1075
1145
|
cell.isLastOrNext = fmonthy !== fdisplayy;
|
|
1076
1146
|
cell.isNow = fmonth === fnow;
|
|
1147
|
+
cell.isDisabled = this.isDisabled(cell.date);
|
|
1077
1148
|
if (this.rangePicker) {
|
|
1078
1149
|
if (!this.rangeValue)
|
|
1079
1150
|
return cell;
|
|
@@ -1130,10 +1201,10 @@ class XPickerMonthComponent extends XPickerMonthProperty {
|
|
|
1130
1201
|
}
|
|
1131
1202
|
}
|
|
1132
1203
|
/** @nocollapse */ XPickerMonthComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerMonthComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XConfigService }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1133
|
-
/** @nocollapse */ XPickerMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerMonthComponent, selector: "x-picker-month", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <div class=\"x-picker-month-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of chunkDates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-last-or-next]=\"month.isLastOrNext\"\r\n [class.x-date-now]=\"month.isNow\"\r\n [class.x-date-first-day]=\"month.isFirstDay\"\r\n [class.x-date-last-day]=\"month.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartMonth(month.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndMonth(month.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && month.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && month.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && month.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && month.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && month.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && month.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && month.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && month.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && month.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && month.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && month.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && month.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && month.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (month.date | date : 'yyyyMM') === (model | date : 'yyyyMM')\"\r\n title=\"{{ month.date | date : 'yyyy-MM' }}\"\r\n (click)=\"monthClick(month)\"\r\n (mouseenter)=\"rangePicker && onTdMouseenter(month)\"\r\n (mouseleave)=\"rangePicker && onTdMouseleave(month)\"\r\n >\r\n <div *ngIf=\"!monthTemp\" class=\"x-date-text\">\r\n {{ getLocaleMonth(month.date!) }}\r\n </div>\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-month-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-month-header .x-link{padding:0 .25rem}.x-picker-month-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-month-body{padding:.1375rem .5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table td{
|
|
1204
|
+
/** @nocollapse */ XPickerMonthComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerMonthComponent, selector: "x-picker-month", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <div class=\"x-picker-month-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of chunkDates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"month.isDisabled\"\r\n [class.x-date-last-or-next]=\"month.isLastOrNext\"\r\n [class.x-date-now]=\"month.isNow\"\r\n [class.x-date-first-day]=\"month.isFirstDay\"\r\n [class.x-date-last-day]=\"month.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartMonth(month.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndMonth(month.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && month.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && month.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && month.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && month.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && month.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && month.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && month.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && month.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && month.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && month.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && month.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && month.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && month.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (month.date | date : 'yyyyMM') === (model | date : 'yyyyMM')\"\r\n title=\"{{ month.date | date : 'yyyy-MM' }}\"\r\n (click)=\"!month.isDisabled && monthClick(month)\"\r\n (mouseenter)=\"!month.isDisabled && rangePicker && onTdMouseenter(month)\"\r\n (mouseleave)=\"!month.isDisabled && rangePicker && onTdMouseleave(month)\"\r\n >\r\n <div *ngIf=\"!monthTemp\" class=\"x-date-text\">\r\n {{ getLocaleMonth(month.date!) }}\r\n </div>\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-month-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-month-header .x-link{padding:0 .25rem}.x-picker-month-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-month-body{padding:.1375rem .5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-month-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-month-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-month-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-month-body .x-picker-date-item:after,.x-picker-month-body .x-picker-date-item:before{height:3.25rem}.x-picker-month-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-month-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-month .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.XLinkComponent, selector: "x-link" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1134
1205
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerMonthComponent, decorators: [{
|
|
1135
1206
|
type: Component,
|
|
1136
|
-
args: [{ selector: 'x-picker-month', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <div class=\"x-picker-month-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of chunkDates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-last-or-next]=\"month.isLastOrNext\"\r\n [class.x-date-now]=\"month.isNow\"\r\n [class.x-date-first-day]=\"month.isFirstDay\"\r\n [class.x-date-last-day]=\"month.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartMonth(month.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndMonth(month.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && month.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && month.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && month.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && month.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && month.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && month.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && month.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && month.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && month.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && month.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && month.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && month.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && month.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (month.date | date : 'yyyyMM') === (model | date : 'yyyyMM')\"\r\n title=\"{{ month.date | date : 'yyyy-MM' }}\"\r\n (click)=\"monthClick(month)\"\r\n (mouseenter)=\"rangePicker && onTdMouseenter(month)\"\r\n (mouseleave)=\"rangePicker && onTdMouseleave(month)\"\r\n >\r\n <div *ngIf=\"!monthTemp\" class=\"x-date-text\">\r\n {{ getLocaleMonth(month.date!) }}\r\n </div>\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-month-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-month-header .x-link{padding:0 .25rem}.x-picker-month-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-month-body{padding:.1375rem .5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table td{
|
|
1207
|
+
args: [{ selector: 'x-picker-month', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-picker-month\" [class.x-date-picker-monthtemp]=\"monthTemp\">\r\n <div class=\"x-picker-month-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-month-year-month\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-month-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let months of chunkDates\">\r\n <ng-container *ngFor=\"let month of months; trackBy: trackByMonth\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"month.isDisabled\"\r\n [class.x-date-last-or-next]=\"month.isLastOrNext\"\r\n [class.x-date-now]=\"month.isNow\"\r\n [class.x-date-first-day]=\"month.isFirstDay\"\r\n [class.x-date-last-day]=\"month.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartMonth(month.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndMonth(month.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && month.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && month.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && month.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && month.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && month.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && month.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && month.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && month.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && month.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && month.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && month.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && month.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && month.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (month.date | date : 'yyyyMM') === (model | date : 'yyyyMM')\"\r\n title=\"{{ month.date | date : 'yyyy-MM' }}\"\r\n (click)=\"!month.isDisabled && monthClick(month)\"\r\n (mouseenter)=\"!month.isDisabled && rangePicker && onTdMouseenter(month)\"\r\n (mouseleave)=\"!month.isDisabled && rangePicker && onTdMouseleave(month)\"\r\n >\r\n <div *ngIf=\"!monthTemp\" class=\"x-date-text\">\r\n {{ getLocaleMonth(month.date!) }}\r\n </div>\r\n <ng-container *ngIf=\"monthTemp\">\r\n <ng-container *ngTemplateOutlet=\"monthTemp; context: { date$: month.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-month{margin:0;padding:0}.x-picker-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-month-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-month-header .x-link{padding:0 .25rem}.x-picker-month-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-month-body{padding:.1375rem .5rem}.x-picker-month-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-month-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-month-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-month-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-month-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-month-body .x-picker-date-item:after,.x-picker-month-body .x-picker-date-item:before{height:3.25rem}.x-picker-month-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-month-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-month-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-month-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-month-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-month-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-month .x-visibility{visibility:hidden}\n"] }]
|
|
1137
1208
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
|
|
1138
1209
|
|
|
1139
1210
|
class XPickerYearComponent extends XPickerYearProperty {
|
|
@@ -1159,6 +1230,14 @@ class XPickerYearComponent extends XPickerYearProperty {
|
|
|
1159
1230
|
}
|
|
1160
1231
|
return '';
|
|
1161
1232
|
}
|
|
1233
|
+
isDisabled(date) {
|
|
1234
|
+
if (this.disabledDate && XIsFunction(this.disabledDate)) {
|
|
1235
|
+
return this.disabledDate(date);
|
|
1236
|
+
}
|
|
1237
|
+
else {
|
|
1238
|
+
return false;
|
|
1239
|
+
}
|
|
1240
|
+
}
|
|
1162
1241
|
ngOnChanges(simples) {
|
|
1163
1242
|
const { display } = simples;
|
|
1164
1243
|
XIsChange(display) && this.init();
|
|
@@ -1278,6 +1357,9 @@ class XPickerYearComponent extends XPickerYearProperty {
|
|
|
1278
1357
|
var _a;
|
|
1279
1358
|
const time = (_a = cell.date) === null || _a === void 0 ? void 0 : _a.getTime();
|
|
1280
1359
|
const fyear = this.datePipe.transform(cell.date, 'yyyy');
|
|
1360
|
+
const fnow = this.datePipe.transform(this.now, 'yyyy');
|
|
1361
|
+
cell.isNow = fyear === fnow;
|
|
1362
|
+
cell.isDisabled = this.isDisabled(cell.date);
|
|
1281
1363
|
if (this.rangePicker) {
|
|
1282
1364
|
if (!this.rangeValue)
|
|
1283
1365
|
return cell;
|
|
@@ -1331,10 +1413,10 @@ class XPickerYearComponent extends XPickerYearProperty {
|
|
|
1331
1413
|
}
|
|
1332
1414
|
}
|
|
1333
1415
|
/** @nocollapse */ XPickerYearComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerYearComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.DatePipe }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1334
|
-
/** @nocollapse */ XPickerYearComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerYearComponent, selector: "x-picker-year", providers: [DatePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start }}</x-link> -\r\n <x-link>{{ end }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of chunkDates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (year.date | date : 'yyyy') === (model | date : 'yyyy')\"\r\n title=\"{{ year.date | date : 'yyyy' }}\"\r\n (click)=\"yearClick(year)\"\r\n (mouseenter)=\"rangePicker && onTdMouseenter(year)\"\r\n (mouseleave)=\"rangePicker && onTdMouseleave(year)\"\r\n >\r\n <div *ngIf=\"!yearTemp\" class=\"x-date-text\">\r\n {{ year.date | date : 'yyyy' }}\r\n </div>\r\n <ng-container *ngIf=\"yearTemp\">\r\n <ng-container *ngTemplateOutlet=\"yearTemp; context: { date$: year.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table td{
|
|
1416
|
+
/** @nocollapse */ XPickerYearComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XPickerYearComponent, selector: "x-picker-year", providers: [DatePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start }}</x-link> -\r\n <x-link>{{ end }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of chunkDates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"year.isDisabled\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (year.date | date : 'yyyy') === (model | date : 'yyyy')\"\r\n title=\"{{ year.date | date : 'yyyy' }}\"\r\n (click)=\"!year.isDisabled && yearClick(year)\"\r\n (mouseenter)=\"!year.isDisabled && rangePicker && onTdMouseenter(year)\"\r\n (mouseleave)=\"!year.isDisabled && rangePicker && onTdMouseleave(year)\"\r\n >\r\n <div *ngIf=\"!yearTemp\" class=\"x-date-text\">\r\n {{ year.date | date : 'yyyy' }}\r\n </div>\r\n <ng-container *ngIf=\"yearTemp\">\r\n <ng-container *ngTemplateOutlet=\"yearTemp; context: { date$: year.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-year-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-year-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-year-body .x-picker-date-item:after,.x-picker-year-body .x-picker-date-item:before{height:3.25rem}.x-picker-year-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-year-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-year .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.XLinkComponent, selector: "x-link" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1335
1417
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerYearComponent, decorators: [{
|
|
1336
1418
|
type: Component,
|
|
1337
|
-
args: [{ selector: 'x-picker-year', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe], template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start }}</x-link> -\r\n <x-link>{{ end }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of chunkDates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (year.date | date : 'yyyy') === (model | date : 'yyyy')\"\r\n title=\"{{ year.date | date : 'yyyy' }}\"\r\n (click)=\"yearClick(year)\"\r\n (mouseenter)=\"rangePicker && onTdMouseenter(year)\"\r\n (mouseleave)=\"rangePicker && onTdMouseleave(year)\"\r\n >\r\n <div *ngIf=\"!yearTemp\" class=\"x-date-text\">\r\n {{ year.date | date : 'yyyy' }}\r\n </div>\r\n <ng-container *ngIf=\"yearTemp\">\r\n <ng-container *ngTemplateOutlet=\"yearTemp; context: { date$: year.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table td{
|
|
1419
|
+
args: [{ selector: 'x-picker-year', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe], template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start }}</x-link> -\r\n <x-link>{{ end }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of chunkDates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"year.isDisabled\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (year.date | date : 'yyyy') === (model | date : 'yyyy')\"\r\n title=\"{{ year.date | date : 'yyyy' }}\"\r\n (click)=\"!year.isDisabled && yearClick(year)\"\r\n (mouseenter)=\"!year.isDisabled && rangePicker && onTdMouseenter(year)\"\r\n (mouseleave)=\"!year.isDisabled && rangePicker && onTdMouseleave(year)\"\r\n >\r\n <div *ngIf=\"!yearTemp\" class=\"x-date-text\">\r\n {{ year.date | date : 'yyyy' }}\r\n </div>\r\n <ng-container *ngIf=\"yearTemp\">\r\n <ng-container *ngTemplateOutlet=\"yearTemp; context: { date$: year.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-year-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-year-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-year-body .x-picker-date-item:after,.x-picker-year-body .x-picker-date-item:before{height:3.25rem}.x-picker-year-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-year-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-year .x-visibility{visibility:hidden}\n"] }]
|
|
1338
1420
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.DatePipe }, { type: i2.XConfigService }]; } });
|
|
1339
1421
|
|
|
1340
1422
|
class XDatePickerPortalComponent {
|
|
@@ -1346,7 +1428,6 @@ class XDatePickerPortalComponent {
|
|
|
1346
1428
|
this.type = 'date';
|
|
1347
1429
|
this.display = new Date();
|
|
1348
1430
|
this.locale = {};
|
|
1349
|
-
this.time = new Date().getTime();
|
|
1350
1431
|
this.preset = [];
|
|
1351
1432
|
this._unSubject = new Subject();
|
|
1352
1433
|
}
|
|
@@ -1360,6 +1441,19 @@ class XDatePickerPortalComponent {
|
|
|
1360
1441
|
get isDatePicker() {
|
|
1361
1442
|
return ['date', 'month', 'year'].includes(this.type);
|
|
1362
1443
|
}
|
|
1444
|
+
get sureDisabled() {
|
|
1445
|
+
let res = XIsUndefined(this.time);
|
|
1446
|
+
if (this.timePickerFrame && !XIsUndefined(this.time)) {
|
|
1447
|
+
const dt = new Date(this.time);
|
|
1448
|
+
const hours = dt.getHours();
|
|
1449
|
+
const minutes = dt.getMinutes();
|
|
1450
|
+
const seconds = dt.getSeconds();
|
|
1451
|
+
return (this.timePickerFrame.setDisabled('hours', hours) ||
|
|
1452
|
+
this.timePickerFrame.setDisabled('minutes', minutes) ||
|
|
1453
|
+
this.timePickerFrame.setDisabled('seconds', seconds));
|
|
1454
|
+
}
|
|
1455
|
+
return res;
|
|
1456
|
+
}
|
|
1363
1457
|
ngOnInit() {
|
|
1364
1458
|
this.valueChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {
|
|
1365
1459
|
this.value = x;
|
|
@@ -1406,6 +1500,16 @@ class XDatePickerPortalComponent {
|
|
|
1406
1500
|
this.setDisplay(date);
|
|
1407
1501
|
this.model = date;
|
|
1408
1502
|
if (['date-time', 'date-hour', 'date-minute'].includes(this._type)) {
|
|
1503
|
+
let time = new Date();
|
|
1504
|
+
if (['date-hour', 'date-minute'].includes(this.type)) {
|
|
1505
|
+
time.setSeconds(0);
|
|
1506
|
+
}
|
|
1507
|
+
if (this.type === 'date-hour') {
|
|
1508
|
+
time.setMinutes(0);
|
|
1509
|
+
}
|
|
1510
|
+
if (!this.time) {
|
|
1511
|
+
this.time = time.getTime();
|
|
1512
|
+
}
|
|
1409
1513
|
this.setModelTime(this.model, new Date(this.time));
|
|
1410
1514
|
this.nodeEmit(this.model, false);
|
|
1411
1515
|
}
|
|
@@ -1448,6 +1552,9 @@ class XDatePickerPortalComponent {
|
|
|
1448
1552
|
this.dateChange(item.func());
|
|
1449
1553
|
}
|
|
1450
1554
|
selectTime(time) {
|
|
1555
|
+
if (!this.model) {
|
|
1556
|
+
this.model = new Date();
|
|
1557
|
+
}
|
|
1451
1558
|
this.time = time.getTime();
|
|
1452
1559
|
this.nodeEmit(this.setModelTime(this.model, time), false);
|
|
1453
1560
|
this.cdr.detectChanges();
|
|
@@ -1458,10 +1565,10 @@ class XDatePickerPortalComponent {
|
|
|
1458
1565
|
}
|
|
1459
1566
|
}
|
|
1460
1567
|
/** @nocollapse */ XDatePickerPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDatePickerPortalComponent, deps: [{ token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1461
|
-
/** @nocollapse */ XDatePickerPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDatePickerPortalComponent, selector: "x-date-picker-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DatePipe, LowerCasePipe], ngImport: i0, template: "<div class=\"x-date-picker-portal {{ type }}\" [ngSwitch]=\"type\" (click)=\"inputCom.inputFocus()\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <x-picker-date
|
|
1568
|
+
/** @nocollapse */ XDatePickerPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDatePickerPortalComponent, selector: "x-date-picker-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DatePipe, LowerCasePipe], viewQueries: [{ propertyName: "timePickerFrame", first: true, predicate: ["timePickerFrame"], descendants: true }], ngImport: i0, template: "<div class=\"x-date-picker-portal {{ type }}\" [ngSwitch]=\"type\" (click)=\"inputCom.inputFocus()\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <x-picker-date\r\n [display]=\"display\"\r\n [model]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"dateChange($event)\"\r\n [disabledDate]=\"disabledDate\"\r\n ></x-picker-date>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'week'\">\r\n <x-picker-date\r\n [display]=\"display\"\r\n [model]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"dateChange($event)\"\r\n [disabledDate]=\"disabledDate\"\r\n ></x-picker-date>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <x-picker-month\r\n [display]=\"display\"\r\n [model]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"monthChange($event)\"\r\n [disabledDate]=\"disabledDate\"\r\n ></x-picker-month>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <x-picker-year\r\n [display]=\"display\"\r\n [model]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"yearChange($event)\"\r\n [disabledDate]=\"disabledDate\"\r\n ></x-picker-year>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-time'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-hour'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-minute'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"isDatePicker\">\r\n <div *ngIf=\"extraFooter\" class=\"x-date-picker-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter\">{{ extraFooter }}</ng-container>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-picker-portal-content\">\r\n <div class=\"x-date-picker-portal-date\">\r\n <x-picker-date\r\n [display]=\"display\"\r\n [(type)]=\"type\"\r\n [model]=\"model\"\r\n (modelChange)=\"dateChange($event)\"\r\n [disabledDate]=\"disabledDate\"\r\n ></x-picker-date>\r\n </div>\r\n <div class=\"x-date-picker-portal-time\">\r\n <div class=\"x-date-picker-portal-time-label\">\r\n {{ time | date : timeFormat }}\r\n </div>\r\n <x-time-picker-frame\r\n #timePickerFrame\r\n [type]=\"timeType\"\r\n [value]=\"time\"\r\n (nodeEmit)=\"selectTime($event)\"\r\n [disabledTime]=\"disabledTime\"\r\n [defaultNow]=\"false\"\r\n ></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!isDatePicker\">\r\n <div *ngIf=\"extraFooter\" class=\"x-date-picker-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter\">{{ extraFooter }}</ng-container>\r\n </div>\r\n </ng-container>\r\n <div class=\"x-date-picker-portal-footer\">\r\n <div class=\"x-date-picker-portal-footer-left\">\r\n <ng-container *ngIf=\"!isDatePicker\">\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <x-button type=\"primary\" (click)=\"!sureDisabled && nodeEmit(model)\" size=\"small\" [disabled]=\"sureDisabled\">{{ locale.sure }}</x-button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #presetTpl>\r\n <div *ngIf=\"preset\" class=\"x-date-picker-portal-preset\">\r\n <ng-container *ngFor=\"let item of preset\">\r\n <x-link *ngIf=\"item.id === 'yesterday'\" (click)=\"onYesterday()\">{{ locale.yesterday }}</x-link>\r\n <x-link *ngIf=\"item.id === 'today'\" (click)=\"onToday()\">{{ locale.today }}</x-link>\r\n <x-link *ngIf=\"item.id === 'tomorrow'\" (click)=\"onTomorrow()\">{{ locale.tomorrow }}</x-link>\r\n <x-link *ngIf=\"item.func\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-link>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-picker-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:16rem;display:flex;flex-direction:column}.x-date-picker-portal.week{width:18.125rem}.x-date-picker-portal.week .x-picker-date-body .x-picker-date-item:not(.x-date-in-range):not(.x-date-active) .x-date-text{background-color:transparent}.x-date-picker-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):hover .x-picker-date-item:not(.x-date-in-range){background-color:var(--x-background-a200);border-radius:var(--x-border-radius)}.x-date-picker-portal.date-time{width:27rem}.x-date-picker-portal.date-hour{width:19.75rem}.x-date-picker-portal.date-minute{width:23.375rem}.x-date-picker-portal-preset{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;border-top:var(--x-border-width) solid var(--x-border)}.x-date-picker-portal-preset>x-link{padding:.25rem}.x-date-picker-portal-preset>x-link:not(:first-child){margin-left:1rem}.x-date-picker-portal-body{padding:.4rem}.x-date-picker-portal-content{display:flex}.x-date-picker-portal-footer{display:flex;align-items:center;justify-content:space-between;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-footer .x-date-picker-portal-preset{border-top:none}.x-date-picker-portal-footer .x-date-picker-portal-preset>x-link{padding:0 .25rem}.x-date-picker-portal-extra-footer{display:flex;align-items:center;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-date{flex:1}.x-date-picker-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time-label{display:flex;align-items:center;justify-content:center;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3$1.XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value", "use12Hours", "hourStep", "minuteStep", "secondStep", "defaultNow", "disabledTime", "disabledTimeParam"], outputs: ["nodeEmit"] }, { kind: "component", type: i4.XLinkComponent, selector: "x-link" }, { kind: "component", type: i5.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XPickerDateComponent, selector: "x-picker-date" }, { kind: "component", type: XPickerMonthComponent, selector: "x-picker-month" }, { kind: "component", type: XPickerYearComponent, selector: "x-picker-year" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1462
1569
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDatePickerPortalComponent, decorators: [{
|
|
1463
1570
|
type: Component,
|
|
1464
|
-
args: [{ selector: `${XDatePickerPortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-date-picker-portal {{ type }}\" [ngSwitch]=\"type\" (click)=\"inputCom.inputFocus()\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <x-picker-date
|
|
1571
|
+
args: [{ selector: `${XDatePickerPortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-date-picker-portal {{ type }}\" [ngSwitch]=\"type\" (click)=\"inputCom.inputFocus()\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <x-picker-date\r\n [display]=\"display\"\r\n [model]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"dateChange($event)\"\r\n [disabledDate]=\"disabledDate\"\r\n ></x-picker-date>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'week'\">\r\n <x-picker-date\r\n [display]=\"display\"\r\n [model]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"dateChange($event)\"\r\n [disabledDate]=\"disabledDate\"\r\n ></x-picker-date>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <x-picker-month\r\n [display]=\"display\"\r\n [model]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"monthChange($event)\"\r\n [disabledDate]=\"disabledDate\"\r\n ></x-picker-month>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <x-picker-year\r\n [display]=\"display\"\r\n [model]=\"model\"\r\n [(type)]=\"type\"\r\n (modelChange)=\"yearChange($event)\"\r\n [disabledDate]=\"disabledDate\"\r\n ></x-picker-year>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-time'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-hour'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-minute'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"isDatePicker\">\r\n <div *ngIf=\"extraFooter\" class=\"x-date-picker-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter\">{{ extraFooter }}</ng-container>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-picker-portal-content\">\r\n <div class=\"x-date-picker-portal-date\">\r\n <x-picker-date\r\n [display]=\"display\"\r\n [(type)]=\"type\"\r\n [model]=\"model\"\r\n (modelChange)=\"dateChange($event)\"\r\n [disabledDate]=\"disabledDate\"\r\n ></x-picker-date>\r\n </div>\r\n <div class=\"x-date-picker-portal-time\">\r\n <div class=\"x-date-picker-portal-time-label\">\r\n {{ time | date : timeFormat }}\r\n </div>\r\n <x-time-picker-frame\r\n #timePickerFrame\r\n [type]=\"timeType\"\r\n [value]=\"time\"\r\n (nodeEmit)=\"selectTime($event)\"\r\n [disabledTime]=\"disabledTime\"\r\n [defaultNow]=\"false\"\r\n ></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!isDatePicker\">\r\n <div *ngIf=\"extraFooter\" class=\"x-date-picker-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter\">{{ extraFooter }}</ng-container>\r\n </div>\r\n </ng-container>\r\n <div class=\"x-date-picker-portal-footer\">\r\n <div class=\"x-date-picker-portal-footer-left\">\r\n <ng-container *ngIf=\"!isDatePicker\">\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <x-button type=\"primary\" (click)=\"!sureDisabled && nodeEmit(model)\" size=\"small\" [disabled]=\"sureDisabled\">{{ locale.sure }}</x-button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #presetTpl>\r\n <div *ngIf=\"preset\" class=\"x-date-picker-portal-preset\">\r\n <ng-container *ngFor=\"let item of preset\">\r\n <x-link *ngIf=\"item.id === 'yesterday'\" (click)=\"onYesterday()\">{{ locale.yesterday }}</x-link>\r\n <x-link *ngIf=\"item.id === 'today'\" (click)=\"onToday()\">{{ locale.today }}</x-link>\r\n <x-link *ngIf=\"item.id === 'tomorrow'\" (click)=\"onTomorrow()\">{{ locale.tomorrow }}</x-link>\r\n <x-link *ngIf=\"item.func\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-link>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-picker-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:16rem;display:flex;flex-direction:column}.x-date-picker-portal.week{width:18.125rem}.x-date-picker-portal.week .x-picker-date-body .x-picker-date-item:not(.x-date-in-range):not(.x-date-active) .x-date-text{background-color:transparent}.x-date-picker-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):hover .x-picker-date-item:not(.x-date-in-range){background-color:var(--x-background-a200);border-radius:var(--x-border-radius)}.x-date-picker-portal.date-time{width:27rem}.x-date-picker-portal.date-hour{width:19.75rem}.x-date-picker-portal.date-minute{width:23.375rem}.x-date-picker-portal-preset{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;border-top:var(--x-border-width) solid var(--x-border)}.x-date-picker-portal-preset>x-link{padding:.25rem}.x-date-picker-portal-preset>x-link:not(:first-child){margin-left:1rem}.x-date-picker-portal-body{padding:.4rem}.x-date-picker-portal-content{display:flex}.x-date-picker-portal-footer{display:flex;align-items:center;justify-content:space-between;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-footer .x-date-picker-portal-preset{border-top:none}.x-date-picker-portal-footer .x-date-picker-portal-preset>x-link{padding:0 .25rem}.x-date-picker-portal-extra-footer{display:flex;align-items:center;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-picker-portal-date{flex:1}.x-date-picker-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time-label{display:flex;align-items:center;justify-content:center;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-picker-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"] }]
|
|
1465
1572
|
}], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i3.XI18nService }]; }, propDecorators: { placement: [{
|
|
1466
1573
|
type: HostBinding,
|
|
1467
1574
|
args: ['@x-connect-base-animation']
|
|
@@ -1471,6 +1578,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
1471
1578
|
}], start: [{
|
|
1472
1579
|
type: HostListener,
|
|
1473
1580
|
args: ['@x-connect-base-animation.start', ['$event']]
|
|
1581
|
+
}], timePickerFrame: [{
|
|
1582
|
+
type: ViewChild,
|
|
1583
|
+
args: ['timePickerFrame']
|
|
1474
1584
|
}] } });
|
|
1475
1585
|
|
|
1476
1586
|
class XDatePickerComponent extends XDatePickerProperty {
|
|
@@ -1531,6 +1641,9 @@ class XDatePickerComponent extends XDatePickerProperty {
|
|
|
1531
1641
|
else if (this.type === 'year') {
|
|
1532
1642
|
return this.locale.selectYear;
|
|
1533
1643
|
}
|
|
1644
|
+
else if (this.type === 'week') {
|
|
1645
|
+
return this.locale.selectWeek;
|
|
1646
|
+
}
|
|
1534
1647
|
else {
|
|
1535
1648
|
return this.locale.selectDate;
|
|
1536
1649
|
}
|
|
@@ -1692,6 +1805,8 @@ class XDatePickerComponent extends XDatePickerProperty {
|
|
|
1692
1805
|
valueChange: this.valueChange,
|
|
1693
1806
|
positionChange: this.positionChange,
|
|
1694
1807
|
inputCom: this.inputCom,
|
|
1808
|
+
disabledDate: this.disabledDate,
|
|
1809
|
+
disabledTime: this.disabledTime,
|
|
1695
1810
|
closePortal: () => this.closeSubject.next(),
|
|
1696
1811
|
destroyPortal: () => this.destroyPortal(),
|
|
1697
1812
|
nodeEmit: (node, sure = true) => this.onNodeClick(node, sure),
|
|
@@ -1718,7 +1833,7 @@ class XDatePickerComponent extends XDatePickerProperty {
|
|
|
1718
1833
|
this.isInput = true;
|
|
1719
1834
|
}
|
|
1720
1835
|
setDisplayValue(dateNumber) {
|
|
1721
|
-
if (this.isInput && isNaN(this.displayValue) && !isNaN(Date.parse(this.displayValue))) {
|
|
1836
|
+
if (this.isInput && isNaN(this.displayValue) && !isNaN(Date.parse(this.displayValue)) && this.type !== 'week') {
|
|
1722
1837
|
this.displayValue = this.datePipe.transform(this.displayValue, this.format);
|
|
1723
1838
|
this.numberValue = new Date(this.displayValue).getTime();
|
|
1724
1839
|
this.value = this.getValue();
|
|
@@ -1726,7 +1841,12 @@ class XDatePickerComponent extends XDatePickerProperty {
|
|
|
1726
1841
|
this.isInput = false;
|
|
1727
1842
|
}
|
|
1728
1843
|
else {
|
|
1729
|
-
this.
|
|
1844
|
+
if (this.type === 'week') {
|
|
1845
|
+
this.displayValue = XDateYearWeek(dateNumber);
|
|
1846
|
+
}
|
|
1847
|
+
else {
|
|
1848
|
+
this.displayValue = this.datePipe.transform(dateNumber, this.format);
|
|
1849
|
+
}
|
|
1730
1850
|
}
|
|
1731
1851
|
}
|
|
1732
1852
|
setPlacement() {
|
|
@@ -1787,11 +1907,22 @@ class XDateRangePortalComponent {
|
|
|
1787
1907
|
start() {
|
|
1788
1908
|
this.animating(true);
|
|
1789
1909
|
}
|
|
1790
|
-
get timeSureDisabled() {
|
|
1791
|
-
return XIsEmpty(this.value) || this.value.every((x) => x === null);
|
|
1792
|
-
}
|
|
1793
1910
|
get isDatePicker() {
|
|
1794
|
-
return ['date', 'month', 'year'].includes(this.type);
|
|
1911
|
+
return ['date', 'week', 'month', 'year'].includes(this.type);
|
|
1912
|
+
}
|
|
1913
|
+
get sureDisabled() {
|
|
1914
|
+
if (this.timePickerFrame && !XIsEmpty(this.time)) {
|
|
1915
|
+
const dt = new Date(this.time);
|
|
1916
|
+
const hours = dt.getHours();
|
|
1917
|
+
const minutes = dt.getMinutes();
|
|
1918
|
+
const seconds = dt.getSeconds();
|
|
1919
|
+
return (this.timePickerFrame.setDisabled('hours', hours) ||
|
|
1920
|
+
this.timePickerFrame.setDisabled('minutes', minutes) ||
|
|
1921
|
+
this.timePickerFrame.setDisabled('seconds', seconds));
|
|
1922
|
+
}
|
|
1923
|
+
else {
|
|
1924
|
+
return true;
|
|
1925
|
+
}
|
|
1795
1926
|
}
|
|
1796
1927
|
ngOnInit() {
|
|
1797
1928
|
this.valueChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {
|
|
@@ -1804,6 +1935,9 @@ class XDateRangePortalComponent {
|
|
|
1804
1935
|
});
|
|
1805
1936
|
this.activeTypeChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {
|
|
1806
1937
|
this.activeType = x;
|
|
1938
|
+
if (!XIsEmpty(this.startDisplay) && !XIsEmpty(this.endDisplay)) {
|
|
1939
|
+
console.log(1111);
|
|
1940
|
+
}
|
|
1807
1941
|
});
|
|
1808
1942
|
this.i18n.localeChange
|
|
1809
1943
|
.pipe(map((x) => x.datePicker), takeUntil(this._unSubject))
|
|
@@ -1827,7 +1961,7 @@ class XDateRangePortalComponent {
|
|
|
1827
1961
|
this.value = [null, null];
|
|
1828
1962
|
this.model = this.display;
|
|
1829
1963
|
this.startModel = this.model;
|
|
1830
|
-
this.endModel = this.setModelByType(this.model);
|
|
1964
|
+
this.endModel = this.setModelByType(this.model, this.isDatePicker ? 1 : 0);
|
|
1831
1965
|
this.setDisplay(this.model);
|
|
1832
1966
|
}
|
|
1833
1967
|
this.cdr.detectChanges();
|
|
@@ -1848,12 +1982,10 @@ class XDateRangePortalComponent {
|
|
|
1848
1982
|
}
|
|
1849
1983
|
setDatesState(cell) {
|
|
1850
1984
|
var _a, _b;
|
|
1851
|
-
if (this.
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1855
|
-
(_b = this.startPicker) === null || _b === void 0 ? void 0 : _b.setDatesState(cell);
|
|
1856
|
-
}
|
|
1985
|
+
if (this.type === 'week')
|
|
1986
|
+
return;
|
|
1987
|
+
(_a = this.startPicker) === null || _a === void 0 ? void 0 : _a.setDatesState(cell);
|
|
1988
|
+
(_b = this.endPicker) === null || _b === void 0 ? void 0 : _b.setDatesState(cell);
|
|
1857
1989
|
}
|
|
1858
1990
|
setDefault() {
|
|
1859
1991
|
const type = this.activeType || 'start';
|
|
@@ -1861,7 +1993,7 @@ class XDateRangePortalComponent {
|
|
|
1861
1993
|
if (type === 'start') {
|
|
1862
1994
|
this.startModel = new Date(this.value[0]);
|
|
1863
1995
|
this.startDisplay = this.startModel;
|
|
1864
|
-
this.endModel = this.setModelByType(this.startModel);
|
|
1996
|
+
this.endModel = this.setModelByType(this.startModel, this.isDatePicker ? 1 : 0);
|
|
1865
1997
|
this.endDisplay = this.endModel;
|
|
1866
1998
|
this.timeModel = this.startModel;
|
|
1867
1999
|
this.timeDisplay = this.startDisplay;
|
|
@@ -1870,7 +2002,7 @@ class XDateRangePortalComponent {
|
|
|
1870
2002
|
else if (type === 'end') {
|
|
1871
2003
|
this.endModel = new Date(this.value[1]);
|
|
1872
2004
|
this.endDisplay = this.endModel;
|
|
1873
|
-
this.startModel = this.setModelByType(this.endModel, -1);
|
|
2005
|
+
this.startModel = this.setModelByType(this.endModel, this.isDatePicker ? -1 : 0);
|
|
1874
2006
|
this.startDisplay = this.startModel;
|
|
1875
2007
|
this.timeModel = this.endModel;
|
|
1876
2008
|
this.timeDisplay = this.endDisplay;
|
|
@@ -1881,7 +2013,7 @@ class XDateRangePortalComponent {
|
|
|
1881
2013
|
setDisplay(date) {
|
|
1882
2014
|
this.display = new Date(date.getFullYear(), date.getMonth(), 1);
|
|
1883
2015
|
this.startDisplay = this.display;
|
|
1884
|
-
this.endDisplay = this.setModelByType(this.display);
|
|
2016
|
+
this.endDisplay = this.setModelByType(this.display, this.isDatePicker ? 1 : 0);
|
|
1885
2017
|
}
|
|
1886
2018
|
dateChange(date) {
|
|
1887
2019
|
this.nodeClickCount++;
|
|
@@ -1988,7 +2120,7 @@ class XDateRangePortalComponent {
|
|
|
1988
2120
|
this.cdr.detectChanges();
|
|
1989
2121
|
}
|
|
1990
2122
|
sureTime() {
|
|
1991
|
-
if (this.
|
|
2123
|
+
if (this.sureDisabled)
|
|
1992
2124
|
return;
|
|
1993
2125
|
const [start, end] = this.value;
|
|
1994
2126
|
if (XIsNull(start) && !XIsNull(end)) {
|
|
@@ -2054,10 +2186,10 @@ class XDateRangePortalComponent {
|
|
|
2054
2186
|
}
|
|
2055
2187
|
}
|
|
2056
2188
|
/** @nocollapse */ XDateRangePortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDateRangePortalComponent, deps: [{ token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2057
|
-
/** @nocollapse */ XDateRangePortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDateRangePortalComponent, selector: "x-date-range-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DatePipe, LowerCasePipe], viewQueries: [{ propertyName: "startPicker", first: true, predicate: ["startPicker"], descendants: true }, { propertyName: "endPicker", first: true, predicate: ["endPicker"], descendants: true }], ngImport: i0, template: "<div class=\"x-date-range-portal {{ type }}\">\r\n <div class=\"x-date-range-portal-body\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <x-picker-date\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <x-picker-month\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-month>\r\n <x-picker-month\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-month>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <x-picker-year\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-year>\r\n <x-picker-year\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-year>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-time'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-hour'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-minute'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"isDatePicker\">\r\n <div *ngIf=\"extraFooter\" class=\"x-date-range-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter\">{{ extraFooter }}</ng-container>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-range-portal-content\">\r\n <div class=\"x-date-range-portal-date\">\r\n <x-picker-date\r\n [class.x-date-range-portal-start]=\"activeType === 'start'\"\r\n [class.x-date-range-portal-end]=\"activeType === 'end'\"\r\n [(display)]=\"timeDisplay\"\r\n [(model)]=\"timeModel\"\r\n [rangeHover]=\"timeHover\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n (modelChange)=\"dateChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n <div class=\"x-date-range-portal-time\">\r\n <div class=\"x-date-range-portal-time-label\">\r\n {{ time | date : timeFormat }}\r\n </div>\r\n <x-time-picker-frame [type]=\"timeType\" [value]=\"time\" (nodeEmit)=\"selectTime($event)\" [defaultNow]=\"false\"></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!isDatePicker\">\r\n <div *ngIf=\"extraFooter\" class=\"x-date-range-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter\">{{ extraFooter }}</ng-container>\r\n </div>\r\n </ng-container>\r\n <div class=\"x-date-range-portal-footer\">\r\n <div class=\"x-date-range-portal-footer-left\">\r\n <ng-container *ngIf=\"!isDatePicker\">\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <x-button type=\"primary\" (click)=\"sureTime()\" size=\"small\" [disabled]=\"timeSureDisabled\">{{ locale.sure }}</x-button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #presetTpl>\r\n <div *ngIf=\"preset\" class=\"x-date-range-portal-preset\">\r\n <ng-container *ngFor=\"let item of preset\">\r\n <x-link *ngIf=\"item.id === 'thisWeek'\" (click)=\"onPreset('week', 0)\">{{ locale.thisWeek }}</x-link>\r\n <x-link *ngIf=\"item.id === 'lastWeek'\" (click)=\"onPreset('week', -1)\">{{ locale.lastWeek }}</x-link>\r\n <x-link *ngIf=\"item.id === 'nextWeek'\" (click)=\"onPreset('week', 1)\">{{ locale.nextWeek }}</x-link>\r\n <x-link *ngIf=\"item.id === 'thisMonth'\" (click)=\"onPreset('month', 0)\">{{ locale.thisMonth }}</x-link>\r\n <x-link *ngIf=\"item.id === 'lastMonth'\" (click)=\"onPreset('month', -1)\">{{ locale.lastMonth }}</x-link>\r\n <x-link *ngIf=\"item.id === 'nextMonth'\" (click)=\"onPreset('month', 1)\">{{ locale.nextMonth }}</x-link>\r\n <x-link *ngIf=\"item.id === 'thisYear'\" (click)=\"onPreset('year', 0)\">{{ locale.thisYear }}</x-link>\r\n <x-link *ngIf=\"item.id === 'lastYear'\" (click)=\"onPreset('year', -1)\">{{ locale.lastYear }}</x-link>\r\n <x-link *ngIf=\"item.id === 'nextYear'\" (click)=\"onPreset('year', 1)\">{{ locale.nextYear }}</x-link>\r\n <x-link *ngIf=\"item.func\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-link>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:34rem;display:flex;flex-direction:column}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-time .x-date-range-portal-body{flex-direction:column}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-hour .x-date-range-portal-body{flex-direction:column}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal.date-minute .x-date-range-portal-body{flex-direction:column}.x-date-range-portal-content{display:flex}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-link{padding:.25rem}.x-date-range-portal-preset>x-link:not(:first-child){margin-left:1rem}.x-date-range-portal-extra-footer{display:flex;align-items:center;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-body .x-picker-date-item:before,.x-date-range-portal-body .x-picker-date-item:after{position:absolute;top:50%;right:0;left:0;z-index:1;border:var(--x-border-width) dashed transparent;transform:translateY(-50%);transition:var(--x-animation-duration-base);content:\"\"}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next),.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next){color:var(--x-background-100)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next) .x-date-text,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next):hover,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next):hover .x-date-text,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child) .x-date-text{z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child):after{background-color:var(--x-primary-800);transform:translate(-.25rem,-50%);border-radius:var(--x-border-radius);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child).x-date-in-range-hover:after{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child) .x-date-text{z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child):after{background-color:var(--x-primary-800);transform:translate(.25rem,-50%);border-radius:var(--x-border-radius);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child).x-date-in-range-hover:after{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start.x-date-range-end.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child):after{display:none}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{position:relative;z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):before{background-color:var(--x-primary-800);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):first-child:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):last-child:before{transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover-left:before{transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover-right:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover:before{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:not(.x-date-last-or-next):before{border-color:var(--x-primary);border-left-color:transparent;border-right-color:transparent;transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day:before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-last-day:before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start:not(.x-date-last-or-next):before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-range-hover-start:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end:not(.x-date-last-or-next):before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before{border-top-color:var(--x-primary);border-bottom-color:var(--x-primary);transform:translate(-.3125rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before{border-top-color:var(--x-primary);border-bottom-color:var(--x-primary);transform:translate(.3125rem,-50%)}.x-date-range-portal-start,.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;align-items:center;justify-content:space-between;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-footer .x-date-range-portal-preset{border-top:none}.x-date-range-portal-footer .x-date-range-portal-preset>x-link{padding:0 .25rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time-label{display:flex;align-items:center;justify-content:center;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3$1.XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value", "use12Hours", "hourStep", "minuteStep", "secondStep", "defaultNow"], outputs: ["nodeEmit"] }, { kind: "component", type: i4.XLinkComponent, selector: "x-link" }, { kind: "component", type: i5.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XPickerDateComponent, selector: "x-picker-date" }, { kind: "component", type: XPickerMonthComponent, selector: "x-picker-month" }, { kind: "component", type: XPickerYearComponent, selector: "x-picker-year" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2189
|
+
/** @nocollapse */ XDateRangePortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDateRangePortalComponent, selector: "x-date-range-portal", host: { listeners: { "@x-connect-base-animation.done": "done($event)", "@x-connect-base-animation.start": "start($event)" }, properties: { "@x-connect-base-animation": "this.placement" } }, providers: [DatePipe, LowerCasePipe], viewQueries: [{ propertyName: "startPicker", first: true, predicate: ["startPicker"], descendants: true }, { propertyName: "endPicker", first: true, predicate: ["endPicker"], descendants: true }, { propertyName: "timePickerFrame", first: true, predicate: ["timePickerFrame"], descendants: true }], ngImport: i0, template: "<div class=\"x-date-range-portal {{ type }}\">\r\n <div class=\"x-date-range-portal-body\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <x-picker-date\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'week'\">\r\n <x-picker-date\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n type = 'week'\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n type = 'week'\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <x-picker-month\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-month>\r\n <x-picker-month\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-month>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <x-picker-year\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-year>\r\n <x-picker-year\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-year>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-time'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-hour'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-minute'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"isDatePicker\">\r\n <div *ngIf=\"extraFooter\" class=\"x-date-range-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter\">{{ extraFooter }}</ng-container>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-range-portal-content\">\r\n <div class=\"x-date-range-portal-date\">\r\n <x-picker-date\r\n [class.x-date-range-portal-start]=\"activeType === 'start'\"\r\n [class.x-date-range-portal-end]=\"activeType === 'end'\"\r\n [(display)]=\"timeDisplay\"\r\n [(model)]=\"timeModel\"\r\n [rangeHover]=\"timeHover\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n <div class=\"x-date-range-portal-time\">\r\n <div class=\"x-date-range-portal-time-label\">\r\n {{ time | date : timeFormat }}\r\n </div>\r\n <x-time-picker-frame\r\n #timePickerFrame\r\n [type]=\"timeType\"\r\n [value]=\"time\"\r\n (nodeEmit)=\"selectTime($event)\"\r\n [disabledTimeParam]=\"activeType\"\r\n [disabledTime]=\"disabledTime\"\r\n [defaultNow]=\"false\"\r\n ></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!isDatePicker\">\r\n <div *ngIf=\"extraFooter\" class=\"x-date-range-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter\">{{ extraFooter }}</ng-container>\r\n </div>\r\n </ng-container>\r\n <div class=\"x-date-range-portal-footer\">\r\n <div class=\"x-date-range-portal-footer-left\">\r\n <ng-container *ngIf=\"!isDatePicker\">\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <x-button type=\"primary\" (click)=\"!sureDisabled && sureTime()\" size=\"small\" [disabled]=\"sureDisabled\">{{ locale.sure }}</x-button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #presetTpl>\r\n <div *ngIf=\"preset\" class=\"x-date-range-portal-preset\">\r\n <ng-container *ngFor=\"let item of preset\">\r\n <x-link *ngIf=\"item.id === 'thisWeek'\" (click)=\"onPreset('week', 0)\">{{ locale.thisWeek }}</x-link>\r\n <x-link *ngIf=\"item.id === 'lastWeek'\" (click)=\"onPreset('week', -1)\">{{ locale.lastWeek }}</x-link>\r\n <x-link *ngIf=\"item.id === 'nextWeek'\" (click)=\"onPreset('week', 1)\">{{ locale.nextWeek }}</x-link>\r\n <x-link *ngIf=\"item.id === 'thisMonth'\" (click)=\"onPreset('month', 0)\">{{ locale.thisMonth }}</x-link>\r\n <x-link *ngIf=\"item.id === 'lastMonth'\" (click)=\"onPreset('month', -1)\">{{ locale.lastMonth }}</x-link>\r\n <x-link *ngIf=\"item.id === 'nextMonth'\" (click)=\"onPreset('month', 1)\">{{ locale.nextMonth }}</x-link>\r\n <x-link *ngIf=\"item.id === 'thisYear'\" (click)=\"onPreset('year', 0)\">{{ locale.thisYear }}</x-link>\r\n <x-link *ngIf=\"item.id === 'lastYear'\" (click)=\"onPreset('year', -1)\">{{ locale.lastYear }}</x-link>\r\n <x-link *ngIf=\"item.id === 'nextYear'\" (click)=\"onPreset('year', 1)\">{{ locale.nextYear }}</x-link>\r\n <x-link *ngIf=\"item.func\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-link>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:34rem;display:flex;flex-direction:column}.x-date-range-portal.week .x-picker-date-body .x-picker-date-item:not(.x-date-in-range):not(.x-date-active) .x-date-text{background-color:transparent}.x-date-range-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):hover .x-picker-date-item:not(.x-date-in-range){background-color:var(--x-background-a200);border-radius:var(--x-border-radius)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-time .x-date-range-portal-body{flex-direction:column}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-hour .x-date-range-portal-body{flex-direction:column}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal.date-minute .x-date-range-portal-body{flex-direction:column}.x-date-range-portal-content{display:flex}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-link{padding:.25rem}.x-date-range-portal-preset>x-link:not(:first-child){margin-left:1rem}.x-date-range-portal-extra-footer{display:flex;align-items:center;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-body .x-picker-date-item:before,.x-date-range-portal-body .x-picker-date-item:after{position:absolute;top:50%;right:0;left:0;z-index:1;border:var(--x-border-width) dashed transparent;transform:translateY(-50%);transition:var(--x-animation-duration-base);content:\"\"}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next),.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next){color:var(--x-background-100)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next) .x-date-text,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next):hover,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next):hover .x-date-text,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child) .x-date-text{z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child):after{background-color:var(--x-primary-800);transform:translate(-.25rem,-50%);border-radius:var(--x-border-radius);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child).x-date-in-range-hover:after{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child) .x-date-text{z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child):after{background-color:var(--x-primary-800);transform:translate(.25rem,-50%);border-radius:var(--x-border-radius);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child).x-date-in-range-hover:after{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start.x-date-range-end.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child):after{display:none}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{position:relative;z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):before{background-color:var(--x-primary-800);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):first-child:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):last-child:before{transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover-left:before{transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover-right:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover:before{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:not(.x-date-last-or-next):before{border-color:var(--x-primary);border-left-color:transparent;border-right-color:transparent;transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day:before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-last-day:before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start:not(.x-date-last-or-next):before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-range-hover-start:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end:not(.x-date-last-or-next):before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before{border-top-color:var(--x-primary);border-bottom-color:var(--x-primary);transform:translate(-.3125rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before{border-top-color:var(--x-primary);border-bottom-color:var(--x-primary);transform:translate(.3125rem,-50%)}.x-date-range-portal-start,.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;align-items:center;justify-content:space-between;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-footer .x-date-range-portal-preset{border-top:none}.x-date-range-portal-footer .x-date-range-portal-preset>x-link{padding:0 .25rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time-label{display:flex;align-items:center;justify-content:center;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i3$1.XTimePickerFrameComponent, selector: "x-time-picker-frame", inputs: ["type", "value", "use12Hours", "hourStep", "minuteStep", "secondStep", "defaultNow", "disabledTime", "disabledTimeParam"], outputs: ["nodeEmit"] }, { kind: "component", type: i4.XLinkComponent, selector: "x-link" }, { kind: "component", type: i5.XButtonComponent, selector: "x-button" }, { kind: "directive", type: i6.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XPickerDateComponent, selector: "x-picker-date" }, { kind: "component", type: XPickerMonthComponent, selector: "x-picker-month" }, { kind: "component", type: XPickerYearComponent, selector: "x-picker-year" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2058
2190
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDateRangePortalComponent, decorators: [{
|
|
2059
2191
|
type: Component,
|
|
2060
|
-
args: [{ selector: `${XDateRangePortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-date-range-portal {{ type }}\">\r\n <div class=\"x-date-range-portal-body\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <x-picker-date\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <x-picker-month\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-month>\r\n <x-picker-month\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-month>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <x-picker-year\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-year>\r\n <x-picker-year\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-year>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-time'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-hour'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-minute'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"isDatePicker\">\r\n <div *ngIf=\"extraFooter\" class=\"x-date-range-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter\">{{ extraFooter }}</ng-container>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-range-portal-content\">\r\n <div class=\"x-date-range-portal-date\">\r\n <x-picker-date\r\n [class.x-date-range-portal-start]=\"activeType === 'start'\"\r\n [class.x-date-range-portal-end]=\"activeType === 'end'\"\r\n [(display)]=\"timeDisplay\"\r\n [(model)]=\"timeModel\"\r\n [rangeHover]=\"timeHover\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n (modelChange)=\"dateChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n <div class=\"x-date-range-portal-time\">\r\n <div class=\"x-date-range-portal-time-label\">\r\n {{ time | date : timeFormat }}\r\n </div>\r\n <x-time-picker-frame [type]=\"timeType\" [value]=\"time\" (nodeEmit)=\"selectTime($event)\" [defaultNow]=\"false\"></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!isDatePicker\">\r\n <div *ngIf=\"extraFooter\" class=\"x-date-range-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter\">{{ extraFooter }}</ng-container>\r\n </div>\r\n </ng-container>\r\n <div class=\"x-date-range-portal-footer\">\r\n <div class=\"x-date-range-portal-footer-left\">\r\n <ng-container *ngIf=\"!isDatePicker\">\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <x-button type=\"primary\" (click)=\"sureTime()\" size=\"small\" [disabled]=\"timeSureDisabled\">{{ locale.sure }}</x-button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #presetTpl>\r\n <div *ngIf=\"preset\" class=\"x-date-range-portal-preset\">\r\n <ng-container *ngFor=\"let item of preset\">\r\n <x-link *ngIf=\"item.id === 'thisWeek'\" (click)=\"onPreset('week', 0)\">{{ locale.thisWeek }}</x-link>\r\n <x-link *ngIf=\"item.id === 'lastWeek'\" (click)=\"onPreset('week', -1)\">{{ locale.lastWeek }}</x-link>\r\n <x-link *ngIf=\"item.id === 'nextWeek'\" (click)=\"onPreset('week', 1)\">{{ locale.nextWeek }}</x-link>\r\n <x-link *ngIf=\"item.id === 'thisMonth'\" (click)=\"onPreset('month', 0)\">{{ locale.thisMonth }}</x-link>\r\n <x-link *ngIf=\"item.id === 'lastMonth'\" (click)=\"onPreset('month', -1)\">{{ locale.lastMonth }}</x-link>\r\n <x-link *ngIf=\"item.id === 'nextMonth'\" (click)=\"onPreset('month', 1)\">{{ locale.nextMonth }}</x-link>\r\n <x-link *ngIf=\"item.id === 'thisYear'\" (click)=\"onPreset('year', 0)\">{{ locale.thisYear }}</x-link>\r\n <x-link *ngIf=\"item.id === 'lastYear'\" (click)=\"onPreset('year', -1)\">{{ locale.lastYear }}</x-link>\r\n <x-link *ngIf=\"item.id === 'nextYear'\" (click)=\"onPreset('year', 1)\">{{ locale.nextYear }}</x-link>\r\n <x-link *ngIf=\"item.func\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-link>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:34rem;display:flex;flex-direction:column}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-time .x-date-range-portal-body{flex-direction:column}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-hour .x-date-range-portal-body{flex-direction:column}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal.date-minute .x-date-range-portal-body{flex-direction:column}.x-date-range-portal-content{display:flex}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-link{padding:.25rem}.x-date-range-portal-preset>x-link:not(:first-child){margin-left:1rem}.x-date-range-portal-extra-footer{display:flex;align-items:center;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-body .x-picker-date-item:before,.x-date-range-portal-body .x-picker-date-item:after{position:absolute;top:50%;right:0;left:0;z-index:1;border:var(--x-border-width) dashed transparent;transform:translateY(-50%);transition:var(--x-animation-duration-base);content:\"\"}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next),.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next){color:var(--x-background-100)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next) .x-date-text,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next):hover,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next):hover .x-date-text,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child) .x-date-text{z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child):after{background-color:var(--x-primary-800);transform:translate(-.25rem,-50%);border-radius:var(--x-border-radius);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child).x-date-in-range-hover:after{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child) .x-date-text{z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child):after{background-color:var(--x-primary-800);transform:translate(.25rem,-50%);border-radius:var(--x-border-radius);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child).x-date-in-range-hover:after{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start.x-date-range-end.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child):after{display:none}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{position:relative;z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):before{background-color:var(--x-primary-800);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):first-child:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):last-child:before{transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover-left:before{transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover-right:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover:before{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:not(.x-date-last-or-next):before{border-color:var(--x-primary);border-left-color:transparent;border-right-color:transparent;transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day:before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-last-day:before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start:not(.x-date-last-or-next):before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-range-hover-start:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end:not(.x-date-last-or-next):before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before{border-top-color:var(--x-primary);border-bottom-color:var(--x-primary);transform:translate(-.3125rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before{border-top-color:var(--x-primary);border-bottom-color:var(--x-primary);transform:translate(.3125rem,-50%)}.x-date-range-portal-start,.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;align-items:center;justify-content:space-between;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-footer .x-date-range-portal-preset{border-top:none}.x-date-range-portal-footer .x-date-range-portal-preset>x-link{padding:0 .25rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time-label{display:flex;align-items:center;justify-content:center;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"] }]
|
|
2192
|
+
args: [{ selector: `${XDateRangePortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-date-range-portal {{ type }}\">\r\n <div class=\"x-date-range-portal-body\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <x-picker-date\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'week'\">\r\n <x-picker-date\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n type = 'week'\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [nextMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n type = 'week'\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [lastMonthBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <x-picker-month\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-month>\r\n <x-picker-month\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-month>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <x-picker-year\r\n #startPicker\r\n class=\"x-date-range-portal-start\"\r\n [(display)]=\"startDisplay\"\r\n [model]=\"startModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [nextYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'start')\"\r\n (monthChange)=\"monthChange($event, 'start')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-year>\r\n <x-picker-year\r\n #endPicker\r\n class=\"x-date-range-portal-end\"\r\n [(display)]=\"endDisplay\"\r\n [model]=\"endModel\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [lastYearBtn]=\"false\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n (yearChange)=\"yearChange($event, 'end')\"\r\n (monthChange)=\"monthChange($event, 'end')\"\r\n (rangeTdMouseenter)=\"setDatesState($event)\"\r\n (rangeDateClick)=\"setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-year>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-time'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm:ss', timeType: 'time' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-hour'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH', timeType: 'hour' }\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date-minute'\">\r\n <ng-container *ngTemplateOutlet=\"dateTimeHourMinuteTpl; context: { timeFormat: 'HH:mm', timeType: 'minute' }\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngIf=\"isDatePicker\">\r\n <div *ngIf=\"extraFooter\" class=\"x-date-range-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter\">{{ extraFooter }}</ng-container>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #dateTimeHourMinuteTpl let-timeFormat=\"timeFormat\" let-timeType=\"timeType\">\r\n <div class=\"x-date-range-portal-content\">\r\n <div class=\"x-date-range-portal-date\">\r\n <x-picker-date\r\n [class.x-date-range-portal-start]=\"activeType === 'start'\"\r\n [class.x-date-range-portal-end]=\"activeType === 'end'\"\r\n [(display)]=\"timeDisplay\"\r\n [(model)]=\"timeModel\"\r\n [rangeHover]=\"timeHover\"\r\n [rangeValue]=\"value\"\r\n [rangeType]=\"activeType\"\r\n [disabledDate]=\"disabledDate\"\r\n (modelChange)=\"dateChange($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n <div class=\"x-date-range-portal-time\">\r\n <div class=\"x-date-range-portal-time-label\">\r\n {{ time | date : timeFormat }}\r\n </div>\r\n <x-time-picker-frame\r\n #timePickerFrame\r\n [type]=\"timeType\"\r\n [value]=\"time\"\r\n (nodeEmit)=\"selectTime($event)\"\r\n [disabledTimeParam]=\"activeType\"\r\n [disabledTime]=\"disabledTime\"\r\n [defaultNow]=\"false\"\r\n ></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"!isDatePicker\">\r\n <div *ngIf=\"extraFooter\" class=\"x-date-range-portal-extra-footer\">\r\n <ng-container *xOutlet=\"extraFooter\">{{ extraFooter }}</ng-container>\r\n </div>\r\n </ng-container>\r\n <div class=\"x-date-range-portal-footer\">\r\n <div class=\"x-date-range-portal-footer-left\">\r\n <ng-container *ngIf=\"!isDatePicker\">\r\n <ng-container *ngTemplateOutlet=\"presetTpl\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <x-button type=\"primary\" (click)=\"!sureDisabled && sureTime()\" size=\"small\" [disabled]=\"sureDisabled\">{{ locale.sure }}</x-button>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #presetTpl>\r\n <div *ngIf=\"preset\" class=\"x-date-range-portal-preset\">\r\n <ng-container *ngFor=\"let item of preset\">\r\n <x-link *ngIf=\"item.id === 'thisWeek'\" (click)=\"onPreset('week', 0)\">{{ locale.thisWeek }}</x-link>\r\n <x-link *ngIf=\"item.id === 'lastWeek'\" (click)=\"onPreset('week', -1)\">{{ locale.lastWeek }}</x-link>\r\n <x-link *ngIf=\"item.id === 'nextWeek'\" (click)=\"onPreset('week', 1)\">{{ locale.nextWeek }}</x-link>\r\n <x-link *ngIf=\"item.id === 'thisMonth'\" (click)=\"onPreset('month', 0)\">{{ locale.thisMonth }}</x-link>\r\n <x-link *ngIf=\"item.id === 'lastMonth'\" (click)=\"onPreset('month', -1)\">{{ locale.lastMonth }}</x-link>\r\n <x-link *ngIf=\"item.id === 'nextMonth'\" (click)=\"onPreset('month', 1)\">{{ locale.nextMonth }}</x-link>\r\n <x-link *ngIf=\"item.id === 'thisYear'\" (click)=\"onPreset('year', 0)\">{{ locale.thisYear }}</x-link>\r\n <x-link *ngIf=\"item.id === 'lastYear'\" (click)=\"onPreset('year', -1)\">{{ locale.lastYear }}</x-link>\r\n <x-link *ngIf=\"item.id === 'nextYear'\" (click)=\"onPreset('year', 1)\">{{ locale.nextYear }}</x-link>\r\n <x-link *ngIf=\"item.func\" (click)=\"onPresetFunc(item)\">{{ item.label }}</x-link>\r\n </ng-container>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-date-range-portal{margin:.0625rem 0;font-size:var(--x-font-size);color:var(--x-text);border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) var(--x-box-shadow-light-color);background-color:var(--x-background);width:34rem;display:flex;flex-direction:column}.x-date-range-portal.week .x-picker-date-body .x-picker-date-item:not(.x-date-in-range):not(.x-date-active) .x-date-text{background-color:transparent}.x-date-range-portal.week .x-picker-date-body tbody tr:not(.x-date-week-active):hover .x-picker-date-item:not(.x-date-in-range){background-color:var(--x-background-a200);border-radius:var(--x-border-radius)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-time .x-date-range-portal-body{flex-direction:column}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-hour .x-date-range-portal-body{flex-direction:column}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal.date-minute .x-date-range-portal-body{flex-direction:column}.x-date-range-portal-content{display:flex}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-link{padding:.25rem}.x-date-range-portal-preset>x-link:not(:first-child){margin-left:1rem}.x-date-range-portal-extra-footer{display:flex;align-items:center;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-body .x-picker-date-item:before,.x-date-range-portal-body .x-picker-date-item:after{position:absolute;top:50%;right:0;left:0;z-index:1;border:var(--x-border-width) dashed transparent;transform:translateY(-50%);transition:var(--x-animation-duration-base);content:\"\"}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next),.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next){color:var(--x-background-100)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next) .x-date-text,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next):hover,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start:not(.x-date-last-or-next):hover .x-date-text,.x-date-range-portal-body .x-picker-date-item.x-date-range-end:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child) .x-date-text{z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child):after{background-color:var(--x-primary-800);transform:translate(-.25rem,-50%);border-radius:var(--x-border-radius);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-range-end-left:not(.x-date-last-or-next):not(.x-date-first-day):not(:first-child).x-date-in-range-hover:after{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child) .x-date-text{z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child):after{background-color:var(--x-primary-800);transform:translate(.25rem,-50%);border-radius:var(--x-border-radius);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child).x-date-in-range-hover:after{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-start.x-date-range-end.x-date-range-start-right:not(.x-date-last-or-next):not(.x-date-last-day):not(:last-child):after{display:none}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{position:relative;z-index:1}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):before{background-color:var(--x-primary-800);z-index:0}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):first-child:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next):last-child:before{transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover-left:before{transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover-right:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-in-range:not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next).x-date-in-range-hover:before{background-color:var(--x-primary-700)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:not(.x-date-last-or-next):before{border-color:var(--x-primary);border-left-color:transparent;border-right-color:transparent;transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day:before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-last-day:before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start:not(.x-date-last-or-next):before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover.x-date-range-hover-start:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end:not(.x-date-last-or-next):before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before{border-top-color:var(--x-primary);border-bottom-color:var(--x-primary);transform:translate(-.3125rem,-50%)}.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-start-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before,.x-date-range-portal-body .x-picker-date-item.x-date-range-hover-end-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before{border-top-color:var(--x-primary);border-bottom-color:var(--x-primary);transform:translate(.3125rem,-50%)}.x-date-range-portal-start,.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;align-items:center;justify-content:space-between;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-footer .x-date-range-portal-preset{border-top:none}.x-date-range-portal-footer .x-date-range-portal-preset>x-link{padding:0 .25rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time-label{display:flex;align-items:center;justify-content:center;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:0;box-shadow:none;margin:0}\n"] }]
|
|
2061
2193
|
}], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i3.XI18nService }]; }, propDecorators: { placement: [{
|
|
2062
2194
|
type: HostBinding,
|
|
2063
2195
|
args: ['@x-connect-base-animation']
|
|
@@ -2073,6 +2205,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
2073
2205
|
}], endPicker: [{
|
|
2074
2206
|
type: ViewChild,
|
|
2075
2207
|
args: ['endPicker']
|
|
2208
|
+
}], timePickerFrame: [{
|
|
2209
|
+
type: ViewChild,
|
|
2210
|
+
args: ['timePickerFrame']
|
|
2076
2211
|
}] } });
|
|
2077
2212
|
|
|
2078
2213
|
class XDateRangeComponent extends XDateRangeProperty {
|
|
@@ -2117,6 +2252,9 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
2117
2252
|
else if (this.type === 'year') {
|
|
2118
2253
|
return this.locale.startYear;
|
|
2119
2254
|
}
|
|
2255
|
+
else if (this.type === 'week') {
|
|
2256
|
+
return this.locale.startWeek;
|
|
2257
|
+
}
|
|
2120
2258
|
else {
|
|
2121
2259
|
return this.locale.startDate;
|
|
2122
2260
|
}
|
|
@@ -2130,6 +2268,9 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
2130
2268
|
else if (this.type === 'year') {
|
|
2131
2269
|
return this.locale.endYear;
|
|
2132
2270
|
}
|
|
2271
|
+
else if (this.type === 'week') {
|
|
2272
|
+
return this.locale.endWeek;
|
|
2273
|
+
}
|
|
2133
2274
|
else {
|
|
2134
2275
|
return this.locale.endDate;
|
|
2135
2276
|
}
|
|
@@ -2313,7 +2454,7 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
2313
2454
|
this.setDisplayValue(this.numberValue);
|
|
2314
2455
|
}
|
|
2315
2456
|
}
|
|
2316
|
-
if (!this.numberValue.includes(null) && !this.value.includes(null)) {
|
|
2457
|
+
if (!this.numberValue.includes(null) && this.value && !this.value.includes(null)) {
|
|
2317
2458
|
let numberValue = this.getNumberValue();
|
|
2318
2459
|
if (this.numberValue[0] !== numberValue[0] || this.numberValue[1] !== numberValue[1]) {
|
|
2319
2460
|
this.numberValue = numberValue;
|
|
@@ -2376,6 +2517,8 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
2376
2517
|
extraFooter: this.extraFooter,
|
|
2377
2518
|
preset: this.preset,
|
|
2378
2519
|
activeTypeChange: this.activeTypeChange,
|
|
2520
|
+
disabledDate: this.disabledDate,
|
|
2521
|
+
disabledTime: this.disabledTime,
|
|
2379
2522
|
closePortal: () => this.closeSubject.next(),
|
|
2380
2523
|
destroyPortal: () => this.destroyPortal(),
|
|
2381
2524
|
nodeEmit: (dates, close = true) => this.onNodeClick(dates, close),
|
|
@@ -2386,7 +2529,7 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
2386
2529
|
componentRef.changeDetectorRef.detectChanges();
|
|
2387
2530
|
}
|
|
2388
2531
|
startNodeClick(node, close = false, isDatePicker = true) {
|
|
2389
|
-
this.startDisplay = !node ? '' : this.datePipe.transform(node, this.format);
|
|
2532
|
+
this.startDisplay = !node ? '' : this.type === 'week' ? XDateYearWeek(node) : this.datePipe.transform(node, this.format);
|
|
2390
2533
|
if (!close && isDatePicker) {
|
|
2391
2534
|
this.inputEndCom.inputFocus('after');
|
|
2392
2535
|
this.activeTypeChange.next('end');
|
|
@@ -2394,7 +2537,7 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
2394
2537
|
this.cdr.detectChanges();
|
|
2395
2538
|
}
|
|
2396
2539
|
endNodeClick(node, close = false, isDatePicker = true) {
|
|
2397
|
-
this.endDisplay = !node ? '' : this.datePipe.transform(node, this.format);
|
|
2540
|
+
this.endDisplay = !node ? '' : this.type === 'week' ? XDateYearWeek(node) : this.datePipe.transform(node, this.format);
|
|
2398
2541
|
if (!close && isDatePicker) {
|
|
2399
2542
|
this.inputStartCom.inputFocus('after');
|
|
2400
2543
|
this.activeTypeChange.next('start');
|
|
@@ -2423,10 +2566,19 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
2423
2566
|
if (!dateNumber)
|
|
2424
2567
|
return;
|
|
2425
2568
|
if (!XIsNull(dateNumber[0])) {
|
|
2426
|
-
this.
|
|
2569
|
+
if (this.type === 'week') {
|
|
2570
|
+
this.startDisplay = XDateYearWeek(dateNumber[0]);
|
|
2571
|
+
}
|
|
2572
|
+
else {
|
|
2573
|
+
this.startDisplay = this.datePipe.transform(dateNumber[0], this.format);
|
|
2574
|
+
}
|
|
2427
2575
|
}
|
|
2428
2576
|
if (!XIsNull(dateNumber[1])) {
|
|
2429
|
-
this.
|
|
2577
|
+
if (this.type === 'week') {
|
|
2578
|
+
}
|
|
2579
|
+
else {
|
|
2580
|
+
this.endDisplay = XDateYearWeek(dateNumber[1]);
|
|
2581
|
+
}
|
|
2430
2582
|
}
|
|
2431
2583
|
}
|
|
2432
2584
|
setPlacement() {
|
|
@@ -2560,4 +2712,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
2560
2712
|
|
|
2561
2713
|
export { XDatePickerComponent, XDatePickerModule, XDatePickerPortalComponent, XDatePickerPortalPrefix, XDatePickerPrefix, XDatePickerProperty, XDateRangeComponent, XDateRangePortalComponent, XDateRangePortalPrefix, XDateRangePrefix, XDateRangeProperty, XPickerDateComponent, XPickerDatePrefix, XPickerDateProperty, XPickerMonthComponent, XPickerMonthPrefix, XPickerMonthProperty, XPickerYearComponent, XPickerYearPrefix, XPickerYearProperty };
|
|
2562
2714
|
//# sourceMappingURL=ng-nest-ui-date-picker.mjs.map
|
|
2563
|
-
//# sourceMappingURL=ng-nest-ui-date-picker.mjs.map
|