@ng-nest/ui 15.0.8 → 15.0.9
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/base-form/base-form.property.d.ts +2 -2
- package/core/config/config.d.ts +4 -0
- package/date-picker/date-picker.component.d.ts +5 -1
- package/date-picker/date-picker.module.d.ts +6 -5
- package/date-picker/date-picker.property.d.ts +139 -9
- package/date-picker/date-range-portal.component.d.ts +20 -13
- package/date-picker/date-range.component.d.ts +14 -4
- package/date-picker/picker-month.component.d.ts +15 -4
- package/date-picker/picker-year.component.d.ts +15 -5
- package/esm2020/base-form/base-form.property.mjs +1 -1
- package/esm2020/core/config/config.mjs +1 -1
- package/esm2020/date-picker/date-picker-portal.component.mjs +8 -7
- package/esm2020/date-picker/date-picker.component.mjs +32 -10
- package/esm2020/date-picker/date-picker.module.mjs +5 -1
- package/esm2020/date-picker/date-picker.property.mjs +178 -15
- package/esm2020/date-picker/date-range-portal.component.mjs +123 -52
- package/esm2020/date-picker/date-range.component.mjs +99 -34
- package/esm2020/date-picker/picker-date.component.mjs +4 -4
- package/esm2020/date-picker/picker-month.component.mjs +151 -11
- package/esm2020/date-picker/picker-year.component.mjs +151 -13
- package/esm2020/i18n/i18n.property.mjs +1 -1
- package/esm2020/i18n/languages/en_GB.mjs +11 -2
- package/esm2020/i18n/languages/en_US.mjs +11 -2
- package/esm2020/i18n/languages/zh_CN.mjs +11 -2
- package/esm2020/i18n/languages/zh_TW.mjs +11 -2
- package/esm2020/link/link.component.mjs +19 -5
- package/esm2020/link/link.property.mjs +10 -4
- package/esm2020/slider/slider.component.mjs +3 -3
- package/esm2020/time-picker/time-picker-frame.component.mjs +28 -11
- package/esm2020/time-picker/time-picker-portal.component.mjs +2 -2
- package/fesm2015/ng-nest-ui-base-form.mjs +0 -1
- package/fesm2015/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-date-picker.mjs +726 -124
- package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.mjs +40 -5
- package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-link.mjs +28 -9
- package/fesm2015/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-slider.mjs +2 -3
- package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2015/ng-nest-ui-switch.mjs +1 -0
- package/fesm2015/ng-nest-ui-table.mjs +1 -0
- package/fesm2015/ng-nest-ui-time-picker.mjs +28 -12
- package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-base-form.mjs +0 -1
- package/fesm2020/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-date-picker.mjs +722 -124
- package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-i18n.mjs +40 -5
- package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-link.mjs +27 -9
- package/fesm2020/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-slider.mjs +2 -3
- package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2020/ng-nest-ui-switch.mjs +1 -0
- package/fesm2020/ng-nest-ui-table.mjs +1 -0
- package/fesm2020/ng-nest-ui-time-picker.mjs +28 -12
- package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
- package/i18n/i18n.property.d.ts +9 -0
- package/i18n/languages/en_GB.d.ts +9 -0
- package/i18n/languages/en_US.d.ts +9 -0
- package/i18n/languages/zh_CN.d.ts +9 -0
- package/i18n/languages/zh_TW.d.ts +9 -0
- package/link/link.component.d.ts +5 -2
- package/link/link.property.d.ts +6 -1
- package/package.json +1 -1
- package/time-picker/time-picker-frame.component.d.ts +8 -6
|
@@ -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
|
|
5
|
+
import { XWithConfig, XInputBoolean, XDataConvert, XProperty, XIsChange, XIsNull, XChunk, XIsEmpty, XAddDays, XConnectBaseAnimation, XIsDate, XIsNumber, XIsString, XClearClass, XAddMonths, XAddYears } 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';
|
|
@@ -12,16 +12,17 @@ import * as i3 from '@ng-nest/ui/i18n';
|
|
|
12
12
|
import { XI18nModule } from '@ng-nest/ui/i18n';
|
|
13
13
|
import * as i3$1 from '@ng-nest/ui/time-picker';
|
|
14
14
|
import { XTimePickerModule } from '@ng-nest/ui/time-picker';
|
|
15
|
-
import * as i4 from '@ng-nest/ui/
|
|
15
|
+
import * as i4 from '@ng-nest/ui/link';
|
|
16
|
+
import { XLinkModule } from '@ng-nest/ui/link';
|
|
17
|
+
import * as i5 from '@ng-nest/ui/button';
|
|
16
18
|
import { XButtonModule } from '@ng-nest/ui/button';
|
|
17
19
|
import * as i2$1 from '@ng-nest/ui/portal';
|
|
18
20
|
import { XPortalConnectedPosition, XPortalModule } from '@ng-nest/ui/portal';
|
|
19
|
-
import * as
|
|
20
|
-
import * as
|
|
21
|
+
import * as i5$1 from '@angular/cdk/overlay';
|
|
22
|
+
import * as i6 from '@angular/forms';
|
|
21
23
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
22
|
-
import * as
|
|
24
|
+
import * as i7 from '@ng-nest/ui/input';
|
|
23
25
|
import { XInputModule } from '@ng-nest/ui/input';
|
|
24
|
-
import * as i7 from '@ng-nest/ui/icon';
|
|
25
26
|
import { XIconModule } from '@ng-nest/ui/icon';
|
|
26
27
|
|
|
27
28
|
/**
|
|
@@ -114,11 +115,6 @@ class XDateRangeProperty extends XControlValueAccessor {
|
|
|
114
115
|
* @en_US Select type
|
|
115
116
|
*/
|
|
116
117
|
this.type = 'date';
|
|
117
|
-
/**
|
|
118
|
-
* @zh_CN 快捷选择按钮,支持今天,昨天,明天
|
|
119
|
-
* @en_US Quick selection button, support today, yesterday, tomorrow
|
|
120
|
-
*/
|
|
121
|
-
this.preset = [];
|
|
122
118
|
/**
|
|
123
119
|
* @zh_CN 节点点击的事件
|
|
124
120
|
* @en_US Node click event
|
|
@@ -127,7 +123,7 @@ class XDateRangeProperty extends XControlValueAccessor {
|
|
|
127
123
|
}
|
|
128
124
|
}
|
|
129
125
|
/** @nocollapse */ XDateRangeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDateRangeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
130
|
-
/** @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",
|
|
126
|
+
/** @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", placeholder: "placeholder" }, outputs: { nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
131
127
|
__decorate([
|
|
132
128
|
XWithConfig(X_CONFIG_RANGE_NAME, 'yyyy-MM-dd')
|
|
133
129
|
], XDateRangeProperty.prototype, "format", void 0);
|
|
@@ -143,11 +139,8 @@ __decorate([
|
|
|
143
139
|
], XDateRangeProperty.prototype, "size", void 0);
|
|
144
140
|
__decorate([
|
|
145
141
|
XInputBoolean(),
|
|
146
|
-
XWithConfig(
|
|
142
|
+
XWithConfig(X_CONFIG_NAME, true)
|
|
147
143
|
], XDateRangeProperty.prototype, "bordered", void 0);
|
|
148
|
-
__decorate([
|
|
149
|
-
XDataConvert()
|
|
150
|
-
], XDateRangeProperty.prototype, "preset", void 0);
|
|
151
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDateRangeProperty, decorators: [{
|
|
152
145
|
type: Component,
|
|
153
146
|
args: [{ template: '' }]
|
|
@@ -163,7 +156,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
163
156
|
type: Input
|
|
164
157
|
}], bordered: [{
|
|
165
158
|
type: Input
|
|
166
|
-
}],
|
|
159
|
+
}], placeholder: [{
|
|
167
160
|
type: Input
|
|
168
161
|
}], nodeEmit: [{
|
|
169
162
|
type: Output
|
|
@@ -227,6 +220,11 @@ class XPickerDateProperty extends XProperty {
|
|
|
227
220
|
* @en_US Next month
|
|
228
221
|
*/
|
|
229
222
|
this.nextMonthBtn = true;
|
|
223
|
+
/**
|
|
224
|
+
* @zh_CN 范围 hover 效果
|
|
225
|
+
* @en_US Range hover style
|
|
226
|
+
*/
|
|
227
|
+
this.rangeHover = true;
|
|
230
228
|
/**
|
|
231
229
|
* @zh_CN 范围日期
|
|
232
230
|
* @en_US Range date
|
|
@@ -280,7 +278,7 @@ class XPickerDateProperty extends XProperty {
|
|
|
280
278
|
}
|
|
281
279
|
}
|
|
282
280
|
/** @nocollapse */ XPickerDateProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerDateProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
283
|
-
/** @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", 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 });
|
|
281
|
+
/** @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 });
|
|
284
282
|
__decorate([
|
|
285
283
|
XInputBoolean()
|
|
286
284
|
], XPickerDateProperty.prototype, "showHeader", void 0);
|
|
@@ -299,6 +297,9 @@ __decorate([
|
|
|
299
297
|
__decorate([
|
|
300
298
|
XInputBoolean()
|
|
301
299
|
], XPickerDateProperty.prototype, "nextMonthBtn", void 0);
|
|
300
|
+
__decorate([
|
|
301
|
+
XInputBoolean()
|
|
302
|
+
], XPickerDateProperty.prototype, "rangeHover", void 0);
|
|
302
303
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerDateProperty, decorators: [{
|
|
303
304
|
type: Component,
|
|
304
305
|
args: [{ template: '' }]
|
|
@@ -322,6 +323,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
322
323
|
type: Input
|
|
323
324
|
}], nextMonthBtn: [{
|
|
324
325
|
type: Input
|
|
326
|
+
}], rangeHover: [{
|
|
327
|
+
type: Input
|
|
325
328
|
}], rangeValue: [{
|
|
326
329
|
type: Input
|
|
327
330
|
}], rangeType: [{
|
|
@@ -372,6 +375,21 @@ class XPickerMonthProperty extends XProperty {
|
|
|
372
375
|
* @en_US Display switch button
|
|
373
376
|
*/
|
|
374
377
|
this.showHeader = true;
|
|
378
|
+
/**
|
|
379
|
+
* @zh_CN 上一年
|
|
380
|
+
* @en_US Last year
|
|
381
|
+
*/
|
|
382
|
+
this.lastYearBtn = true;
|
|
383
|
+
/**
|
|
384
|
+
* @zh_CN 下一年
|
|
385
|
+
* @en_US Next year
|
|
386
|
+
*/
|
|
387
|
+
this.nextYearBtn = true;
|
|
388
|
+
/**
|
|
389
|
+
* @zh_CN 范围月份
|
|
390
|
+
* @en_US Range date
|
|
391
|
+
*/
|
|
392
|
+
this.rangeValue = [];
|
|
375
393
|
/**
|
|
376
394
|
* @zh_CN 选中的事件
|
|
377
395
|
* @en_US Selected event
|
|
@@ -387,13 +405,52 @@ class XPickerMonthProperty extends XProperty {
|
|
|
387
405
|
* @en_US Scope change event
|
|
388
406
|
*/
|
|
389
407
|
this.rangeChange = new EventEmitter();
|
|
408
|
+
/**
|
|
409
|
+
* @zh_CN 选年的事件
|
|
410
|
+
* @en_US Year change event
|
|
411
|
+
*/
|
|
412
|
+
this.yearChange = new EventEmitter();
|
|
413
|
+
/**
|
|
414
|
+
* @zh_CN 选月的事件
|
|
415
|
+
* @en_US Month change event
|
|
416
|
+
*/
|
|
417
|
+
this.monthChange = new EventEmitter();
|
|
418
|
+
/**
|
|
419
|
+
* @zh_CN 显示月份事件
|
|
420
|
+
* @en_US display date event
|
|
421
|
+
*/
|
|
422
|
+
this.displayChange = new EventEmitter();
|
|
423
|
+
/**
|
|
424
|
+
* @zh_CN 范围月份 mouseenter 事件
|
|
425
|
+
* @en_US Date mouseenter event
|
|
426
|
+
*/
|
|
427
|
+
this.rangeTdMouseenter = new EventEmitter();
|
|
428
|
+
/**
|
|
429
|
+
* @zh_CN 范围月份 mouseleave 事件
|
|
430
|
+
* @en_US Date mouseleave event
|
|
431
|
+
*/
|
|
432
|
+
this.rangeTdMouseleave = new EventEmitter();
|
|
433
|
+
/**
|
|
434
|
+
* @zh_CN 范围中的月份点击事件
|
|
435
|
+
* @en_US Range date click event
|
|
436
|
+
*/
|
|
437
|
+
this.rangeDateClick = new EventEmitter();
|
|
390
438
|
}
|
|
391
439
|
}
|
|
392
440
|
/** @nocollapse */ XPickerMonthProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerMonthProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
393
|
-
/** @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" }, outputs: { modelChange: "modelChange", typeChange: "typeChange", rangeChange: "rangeChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
441
|
+
/** @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 });
|
|
394
442
|
__decorate([
|
|
395
443
|
XInputBoolean()
|
|
396
444
|
], XPickerMonthProperty.prototype, "showHeader", void 0);
|
|
445
|
+
__decorate([
|
|
446
|
+
XInputBoolean()
|
|
447
|
+
], XPickerMonthProperty.prototype, "rangePicker", void 0);
|
|
448
|
+
__decorate([
|
|
449
|
+
XInputBoolean()
|
|
450
|
+
], XPickerMonthProperty.prototype, "lastYearBtn", void 0);
|
|
451
|
+
__decorate([
|
|
452
|
+
XInputBoolean()
|
|
453
|
+
], XPickerMonthProperty.prototype, "nextYearBtn", void 0);
|
|
397
454
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerMonthProperty, decorators: [{
|
|
398
455
|
type: Component,
|
|
399
456
|
args: [{ template: '' }]
|
|
@@ -407,12 +464,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
407
464
|
type: Input
|
|
408
465
|
}], showHeader: [{
|
|
409
466
|
type: Input
|
|
467
|
+
}], rangePicker: [{
|
|
468
|
+
type: Input
|
|
469
|
+
}], lastYearBtn: [{
|
|
470
|
+
type: Input
|
|
471
|
+
}], nextYearBtn: [{
|
|
472
|
+
type: Input
|
|
473
|
+
}], rangeValue: [{
|
|
474
|
+
type: Input
|
|
475
|
+
}], rangeType: [{
|
|
476
|
+
type: Input
|
|
410
477
|
}], modelChange: [{
|
|
411
478
|
type: Output
|
|
412
479
|
}], typeChange: [{
|
|
413
480
|
type: Output
|
|
414
481
|
}], rangeChange: [{
|
|
415
482
|
type: Output
|
|
483
|
+
}], yearChange: [{
|
|
484
|
+
type: Output
|
|
485
|
+
}], monthChange: [{
|
|
486
|
+
type: Output
|
|
487
|
+
}], displayChange: [{
|
|
488
|
+
type: Output
|
|
489
|
+
}], rangeTdMouseenter: [{
|
|
490
|
+
type: Output
|
|
491
|
+
}], rangeTdMouseleave: [{
|
|
492
|
+
type: Output
|
|
493
|
+
}], rangeDateClick: [{
|
|
494
|
+
type: Output
|
|
416
495
|
}] } });
|
|
417
496
|
/**
|
|
418
497
|
* PickerYear
|
|
@@ -441,6 +520,21 @@ class XPickerYearProperty extends XProperty {
|
|
|
441
520
|
* @en_US Display switch button
|
|
442
521
|
*/
|
|
443
522
|
this.showHeader = true;
|
|
523
|
+
/**
|
|
524
|
+
* @zh_CN 上一年
|
|
525
|
+
* @en_US Last year
|
|
526
|
+
*/
|
|
527
|
+
this.lastYearBtn = true;
|
|
528
|
+
/**
|
|
529
|
+
* @zh_CN 下一年
|
|
530
|
+
* @en_US Next year
|
|
531
|
+
*/
|
|
532
|
+
this.nextYearBtn = true;
|
|
533
|
+
/**
|
|
534
|
+
* @zh_CN 范围年份
|
|
535
|
+
* @en_US Range date
|
|
536
|
+
*/
|
|
537
|
+
this.rangeValue = [];
|
|
444
538
|
/**
|
|
445
539
|
* @zh_CN 选中的事件
|
|
446
540
|
* @en_US Selected event
|
|
@@ -456,13 +550,57 @@ class XPickerYearProperty extends XProperty {
|
|
|
456
550
|
* @en_US Start year change event
|
|
457
551
|
*/
|
|
458
552
|
this.startChange = new EventEmitter();
|
|
553
|
+
/**
|
|
554
|
+
* @zh_CN 范围变化的事件
|
|
555
|
+
* @en_US Scope change event
|
|
556
|
+
*/
|
|
557
|
+
this.rangeChange = new EventEmitter();
|
|
558
|
+
/**
|
|
559
|
+
* @zh_CN 选年的事件
|
|
560
|
+
* @en_US Year change event
|
|
561
|
+
*/
|
|
562
|
+
this.yearChange = new EventEmitter();
|
|
563
|
+
/**
|
|
564
|
+
* @zh_CN 选月的事件
|
|
565
|
+
* @en_US Month change event
|
|
566
|
+
*/
|
|
567
|
+
this.monthChange = new EventEmitter();
|
|
568
|
+
/**
|
|
569
|
+
* @zh_CN 显示月份事件
|
|
570
|
+
* @en_US display date event
|
|
571
|
+
*/
|
|
572
|
+
this.displayChange = new EventEmitter();
|
|
573
|
+
/**
|
|
574
|
+
* @zh_CN 范围月份 mouseenter 事件
|
|
575
|
+
* @en_US Date mouseenter event
|
|
576
|
+
*/
|
|
577
|
+
this.rangeTdMouseenter = new EventEmitter();
|
|
578
|
+
/**
|
|
579
|
+
* @zh_CN 范围月份 mouseleave 事件
|
|
580
|
+
* @en_US Date mouseleave event
|
|
581
|
+
*/
|
|
582
|
+
this.rangeTdMouseleave = new EventEmitter();
|
|
583
|
+
/**
|
|
584
|
+
* @zh_CN 范围中的月份点击事件
|
|
585
|
+
* @en_US Range date click event
|
|
586
|
+
*/
|
|
587
|
+
this.rangeDateClick = new EventEmitter();
|
|
459
588
|
}
|
|
460
589
|
}
|
|
461
590
|
/** @nocollapse */ XPickerYearProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerYearProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
462
|
-
/** @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", showHeader: "showHeader" }, outputs: { modelChange: "modelChange", typeChange: "typeChange", startChange: "startChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
591
|
+
/** @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 });
|
|
463
592
|
__decorate([
|
|
464
593
|
XInputBoolean()
|
|
465
594
|
], XPickerYearProperty.prototype, "showHeader", void 0);
|
|
595
|
+
__decorate([
|
|
596
|
+
XInputBoolean()
|
|
597
|
+
], XPickerYearProperty.prototype, "rangePicker", void 0);
|
|
598
|
+
__decorate([
|
|
599
|
+
XInputBoolean()
|
|
600
|
+
], XPickerYearProperty.prototype, "lastYearBtn", void 0);
|
|
601
|
+
__decorate([
|
|
602
|
+
XInputBoolean()
|
|
603
|
+
], XPickerYearProperty.prototype, "nextYearBtn", void 0);
|
|
466
604
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerYearProperty, decorators: [{
|
|
467
605
|
type: Component,
|
|
468
606
|
args: [{ template: '' }]
|
|
@@ -472,14 +610,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
472
610
|
type: Input
|
|
473
611
|
}], model: [{
|
|
474
612
|
type: Input
|
|
613
|
+
}], yearTemp: [{
|
|
614
|
+
type: Input
|
|
475
615
|
}], showHeader: [{
|
|
476
616
|
type: Input
|
|
617
|
+
}], rangePicker: [{
|
|
618
|
+
type: Input
|
|
619
|
+
}], lastYearBtn: [{
|
|
620
|
+
type: Input
|
|
621
|
+
}], nextYearBtn: [{
|
|
622
|
+
type: Input
|
|
623
|
+
}], rangeValue: [{
|
|
624
|
+
type: Input
|
|
625
|
+
}], rangeType: [{
|
|
626
|
+
type: Input
|
|
477
627
|
}], modelChange: [{
|
|
478
628
|
type: Output
|
|
479
629
|
}], typeChange: [{
|
|
480
630
|
type: Output
|
|
481
631
|
}], startChange: [{
|
|
482
632
|
type: Output
|
|
633
|
+
}], rangeChange: [{
|
|
634
|
+
type: Output
|
|
635
|
+
}], yearChange: [{
|
|
636
|
+
type: Output
|
|
637
|
+
}], monthChange: [{
|
|
638
|
+
type: Output
|
|
639
|
+
}], displayChange: [{
|
|
640
|
+
type: Output
|
|
641
|
+
}], rangeTdMouseenter: [{
|
|
642
|
+
type: Output
|
|
643
|
+
}], rangeTdMouseleave: [{
|
|
644
|
+
type: Output
|
|
645
|
+
}], rangeDateClick: [{
|
|
646
|
+
type: Output
|
|
483
647
|
}] } });
|
|
484
648
|
|
|
485
649
|
class XPickerDateComponent extends XPickerDateProperty {
|
|
@@ -735,10 +899,10 @@ class XPickerDateComponent extends XPickerDateProperty {
|
|
|
735
899
|
}
|
|
736
900
|
}
|
|
737
901
|
/** @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 });
|
|
738
|
-
/** @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-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn\"></x-button>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextYearBtn\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextMonthBtn\"></x-button>\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 *ngFor=\"let weeks of weekDates\">\r\n <ng-container *ngFor=\"let week of weeks; trackBy: trackByNode\">\r\n <td\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]=\"!rangePicker && (week.date | date : 'yyyyMMdd') === (model | date : 'yyyyMMdd')\"\r\n title=\"{{ week.date | date : 'yyyy-MM-dd' }}\"\r\n (click)=\"dateClick(week)\"\r\n (mouseenter)=\"rangePicker && onTdMouseenter(week)\"\r\n (mouseleave)=\"rangePicker && onTdMouseleave(week)\"\r\n >\r\n <div *ngIf=\"!dateTemp\" class=\"x-date-text\">\r\n {{ week.date | date : 'd' }}\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:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-date-year-month{flex:1;text-align:center}.x-picker-date-body{padding:.5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table th{font-weight:400;height:2rem;color:var(--x-text-400)}.x-picker-date-body>table td{padding:.25rem 0;text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-date-body>table td .x-date-text{width:1.75rem;height:1.5rem;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>table td:before,.x-picker-date-body>table td:after{position:absolute;top:50%;right:0;left:0;z-index:1;height:1.5rem;border:var(--x-border-width) dashed transparent;transform:translateY(-50%);transition:var(--x-animation-duration-base);content:\"\"}.x-picker-date-body>table td:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-date-body>table td.x-date-active:not(.x-date-last-or-next),.x-picker-date-body>table td.x-date-range-start:not(.x-date-last-or-next),.x-picker-date-body>table td.x-date-range-end:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-date-body>table td.x-date-active:not(.x-date-last-or-next) .x-date-text,.x-picker-date-body>table td.x-date-range-start:not(.x-date-last-or-next) .x-date-text,.x-picker-date-body>table td.x-date-range-end:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body>table td.x-date-active:not(.x-date-last-or-next):hover,.x-picker-date-body>table td.x-date-range-start:not(.x-date-last-or-next):hover,.x-picker-date-body>table td.x-date-range-end:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-date-body>table td.x-date-active:not(.x-date-last-or-next):hover .x-date-text,.x-picker-date-body>table td.x-date-range-start:not(.x-date-last-or-next):hover .x-date-text,.x-picker-date-body>table td.x-date-range-end:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.x-date-last-or-next{color:var(--x-text-700)}.x-picker-date-body>table td.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-picker-date-body>table td.x-date-range-hover:first-child:not(.x-date-last-or-next):before,.x-picker-date-body>table td.x-date-range-hover.x-date-first-day:before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-date-body>table td.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:1.75rem;transform:translate(.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover:last-child:not(.x-date-last-or-next):before,.x-picker-date-body>table td.x-date-range-hover.x-date-last-day:before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-date-body>table td.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:1.75rem;transform:translate(.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover-start:not(.x-date-last-or-next):before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover.x-date-range-hover-start:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover-end:not(.x-date-last-or-next):before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover-start-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before,.x-picker-date-body>table td.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-picker-date-body>table td.x-date-range-hover-start-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before,.x-picker-date-body>table td.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-picker-date-body>table td.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 .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.XButtonComponent, selector: "x-button" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i3.XI18nPipe, name: "xI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
902
|
+
/** @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 *ngFor=\"let weeks of weekDates\">\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-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]=\"!rangePicker && (week.date | date : 'yyyyMMdd') === (model | date : 'yyyyMMdd')\"\r\n title=\"{{ week.date | date : 'yyyy-MM-dd' }}\"\r\n (click)=\"dateClick(week)\"\r\n (mouseenter)=\"rangePicker && rangeHover && onTdMouseenter(week)\"\r\n (mouseleave)=\"rangePicker && rangeHover && onTdMouseleave(week)\"\r\n >\r\n <div *ngIf=\"!dateTemp\" class=\"x-date-text\">\r\n {{ week.date | date : 'd' }}\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 th{font-weight:400;height:2rem;color:var(--x-text-400);-webkit-user-select:none;user-select:none}.x-picker-date-body>table td{-webkit-user-select:none;user-select:none}.x-picker-date-body .x-picker-date-item{padding:.25rem 0;text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.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 .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" }, { kind: "pipe", type: i3.XI18nPipe, name: "xI18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
739
903
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerDateComponent, decorators: [{
|
|
740
904
|
type: Component,
|
|
741
|
-
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-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" [class.x-visibility]=\"!lastYearBtn\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" [class.x-visibility]=\"!lastMonthBtn\"></x-button>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\" [class.x-visibility]=\"!nextYearBtn\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\" [class.x-visibility]=\"!nextMonthBtn\"></x-button>\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 *ngFor=\"let weeks of weekDates\">\r\n <ng-container *ngFor=\"let week of weeks; trackBy: trackByNode\">\r\n <td\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]=\"!rangePicker && (week.date | date : 'yyyyMMdd') === (model | date : 'yyyyMMdd')\"\r\n title=\"{{ week.date | date : 'yyyy-MM-dd' }}\"\r\n (click)=\"dateClick(week)\"\r\n (mouseenter)=\"rangePicker && onTdMouseenter(week)\"\r\n (mouseleave)=\"rangePicker && onTdMouseleave(week)\"\r\n >\r\n <div *ngIf=\"!dateTemp\" class=\"x-date-text\">\r\n {{ week.date | date : 'd' }}\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:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-date-year-month{flex:1;text-align:center}.x-picker-date-body{padding:.5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table th{font-weight:400;height:2rem;color:var(--x-text-400)}.x-picker-date-body>table td{padding:.25rem 0;text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-date-body>table td .x-date-text{width:1.75rem;height:1.5rem;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>table td:before,.x-picker-date-body>table td:after{position:absolute;top:50%;right:0;left:0;z-index:1;height:1.5rem;border:var(--x-border-width) dashed transparent;transform:translateY(-50%);transition:var(--x-animation-duration-base);content:\"\"}.x-picker-date-body>table td:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-date-body>table td.x-date-active:not(.x-date-last-or-next),.x-picker-date-body>table td.x-date-range-start:not(.x-date-last-or-next),.x-picker-date-body>table td.x-date-range-end:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-date-body>table td.x-date-active:not(.x-date-last-or-next) .x-date-text,.x-picker-date-body>table td.x-date-range-start:not(.x-date-last-or-next) .x-date-text,.x-picker-date-body>table td.x-date-range-end:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-date-body>table td.x-date-active:not(.x-date-last-or-next):hover,.x-picker-date-body>table td.x-date-range-start:not(.x-date-last-or-next):hover,.x-picker-date-body>table td.x-date-range-end:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-date-body>table td.x-date-active:not(.x-date-last-or-next):hover .x-date-text,.x-picker-date-body>table td.x-date-range-start:not(.x-date-last-or-next):hover .x-date-text,.x-picker-date-body>table td.x-date-range-end:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.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-picker-date-body>table td.x-date-last-or-next{color:var(--x-text-700)}.x-picker-date-body>table td.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-picker-date-body>table td.x-date-range-hover:first-child:not(.x-date-last-or-next):before,.x-picker-date-body>table td.x-date-range-hover.x-date-first-day:before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-date-body>table td.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:1.75rem;transform:translate(.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover:last-child:not(.x-date-last-or-next):before,.x-picker-date-body>table td.x-date-range-hover.x-date-last-day:before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-date-body>table td.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:1.75rem;transform:translate(.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover-start:not(.x-date-last-or-next):before{border-left-color:var(--x-primary);transform:translate(.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover.x-date-range-hover-start:not(.x-date-last-or-next):before{transform:translate(.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover-end:not(.x-date-last-or-next):before{border-right-color:var(--x-primary);transform:translate(-.25rem,-50%)}.x-picker-date-body>table td.x-date-range-hover-start-left:not(:first-child):not(.x-date-last-or-next):not(.x-date-first-day):before,.x-picker-date-body>table td.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-picker-date-body>table td.x-date-range-hover-start-right:not(:last-child):not(.x-date-last-or-next):not(.x-date-last-day):before,.x-picker-date-body>table td.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-picker-date-body>table td.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 .x-visibility{visibility:hidden}\n"] }]
|
|
905
|
+
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 *ngFor=\"let weeks of weekDates\">\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-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]=\"!rangePicker && (week.date | date : 'yyyyMMdd') === (model | date : 'yyyyMMdd')\"\r\n title=\"{{ week.date | date : 'yyyy-MM-dd' }}\"\r\n (click)=\"dateClick(week)\"\r\n (mouseenter)=\"rangePicker && rangeHover && onTdMouseenter(week)\"\r\n (mouseleave)=\"rangePicker && rangeHover && onTdMouseleave(week)\"\r\n >\r\n <div *ngIf=\"!dateTemp\" class=\"x-date-text\">\r\n {{ week.date | date : 'd' }}\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 th{font-weight:400;height:2rem;color:var(--x-text-400);-webkit-user-select:none;user-select:none}.x-picker-date-body>table td{-webkit-user-select:none;user-select:none}.x-picker-date-body .x-picker-date-item{padding:.25rem 0;text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.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 .x-visibility{visibility:hidden}\n"] }]
|
|
742
906
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
|
|
743
907
|
|
|
744
908
|
class XPickerMonthComponent extends XPickerMonthProperty {
|
|
@@ -752,9 +916,22 @@ class XPickerMonthComponent extends XPickerMonthProperty {
|
|
|
752
916
|
this.i18n = i18n;
|
|
753
917
|
this.now = new Date();
|
|
754
918
|
this.dates = [];
|
|
919
|
+
this.chunkDates = [];
|
|
755
920
|
this.locale = {};
|
|
756
921
|
this._unSubject = new Subject();
|
|
757
922
|
}
|
|
923
|
+
get rangeStart() {
|
|
924
|
+
if (this.rangeValue && this.rangeValue.length > 0) {
|
|
925
|
+
return this.rangeValue[0];
|
|
926
|
+
}
|
|
927
|
+
return '';
|
|
928
|
+
}
|
|
929
|
+
get rangeEnd() {
|
|
930
|
+
if (this.rangeValue && this.rangeValue.length > 1) {
|
|
931
|
+
return this.rangeValue[1];
|
|
932
|
+
}
|
|
933
|
+
return '';
|
|
934
|
+
}
|
|
758
935
|
ngOnInit() {
|
|
759
936
|
this.i18n.localeChange
|
|
760
937
|
.pipe(map((x) => x.datePicker), takeUntil(this._unSubject))
|
|
@@ -770,33 +947,161 @@ class XPickerMonthComponent extends XPickerMonthProperty {
|
|
|
770
947
|
init() {
|
|
771
948
|
this.setMonths(this.display);
|
|
772
949
|
}
|
|
950
|
+
isStartMonth(date) {
|
|
951
|
+
if (!this.rangeType || !this.rangeValue)
|
|
952
|
+
return;
|
|
953
|
+
if (!XIsNull(this.rangeValue[0])) {
|
|
954
|
+
return this.datePipe.transform(this.rangeValue[0], 'yyyyMM') === this.datePipe.transform(date, 'yyyyMM');
|
|
955
|
+
}
|
|
956
|
+
return;
|
|
957
|
+
}
|
|
958
|
+
isEndMonth(date) {
|
|
959
|
+
if (!this.rangeType || !this.rangeValue)
|
|
960
|
+
return;
|
|
961
|
+
if (!XIsNull(this.rangeValue[1])) {
|
|
962
|
+
return this.datePipe.transform(this.rangeValue[1], 'yyyyMM') === this.datePipe.transform(date, 'yyyyMM');
|
|
963
|
+
}
|
|
964
|
+
return;
|
|
965
|
+
}
|
|
966
|
+
setDatesState(cell) {
|
|
967
|
+
this.clearState(...this.dates);
|
|
968
|
+
for (let item of this.dates) {
|
|
969
|
+
this.setDayState(item);
|
|
970
|
+
}
|
|
971
|
+
this.onTdMouseenter(cell, false);
|
|
972
|
+
}
|
|
973
|
+
onTdMouseenter(cell, isEmit = true) {
|
|
974
|
+
const [start, end] = this.rangeValue;
|
|
975
|
+
if (!XIsNull(start) || !XIsNull(end)) {
|
|
976
|
+
const time = cell.date.getTime();
|
|
977
|
+
for (let item of this.dates) {
|
|
978
|
+
const itemTime = item.date.getTime();
|
|
979
|
+
this.clearState(item);
|
|
980
|
+
if (!XIsNull(start) && XIsNull(end)) {
|
|
981
|
+
item.isRangeHoverStartLeft = time < start && itemTime === start;
|
|
982
|
+
item.isRangeHoverStartRight = time > start && itemTime === start;
|
|
983
|
+
item.isRangeHover =
|
|
984
|
+
(time < start && itemTime >= time && itemTime < start) || (time > start && itemTime > start && itemTime <= time);
|
|
985
|
+
item.isRangeHoverStart = itemTime === time && time < start;
|
|
986
|
+
item.isRangeHoverEnd = itemTime === time && time > start;
|
|
987
|
+
}
|
|
988
|
+
else if (XIsNull(start) && !XIsNull(end)) {
|
|
989
|
+
item.isRangeHoverEndLeft = time < end && itemTime === end;
|
|
990
|
+
item.isRangeHoverEndRight = time > end && itemTime === end;
|
|
991
|
+
item.isRangeHover = (time < end && itemTime >= time && itemTime < end) || (time > end && itemTime > end && itemTime <= time);
|
|
992
|
+
item.isRangeHoverStart = itemTime === time && time < end;
|
|
993
|
+
item.isRangeHoverEnd = itemTime === time && time > end;
|
|
994
|
+
}
|
|
995
|
+
else if (!XIsNull(start) && !XIsNull(end)) {
|
|
996
|
+
item.isRangeHoverStartLeft = time < start && itemTime === start;
|
|
997
|
+
item.isRangeHoverEndRight = time > end && itemTime === end;
|
|
998
|
+
item.isRangeHover =
|
|
999
|
+
(time < start && itemTime >= time && itemTime < start) || (time > end && itemTime > end && itemTime <= time);
|
|
1000
|
+
item.isRangeHoverStart = itemTime === time && time < start;
|
|
1001
|
+
item.isRangeHoverEnd = itemTime === time && time > end;
|
|
1002
|
+
if (this.rangeType === 'start') {
|
|
1003
|
+
item.isInRangeHover = itemTime >= time && itemTime <= end;
|
|
1004
|
+
}
|
|
1005
|
+
else if (this.rangeType === 'end') {
|
|
1006
|
+
item.isInRangeHover = itemTime >= start && itemTime <= time;
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
if (isEmit) {
|
|
1011
|
+
this.rangeTdMouseenter.emit(cell);
|
|
1012
|
+
}
|
|
1013
|
+
else {
|
|
1014
|
+
this.cdr.detectChanges();
|
|
1015
|
+
}
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
onTdMouseleave(cell, isEmit = true) {
|
|
1019
|
+
const [start, end] = this.rangeValue;
|
|
1020
|
+
if (!XIsNull(start) || !XIsNull(end)) {
|
|
1021
|
+
this.clearState(...this.dates);
|
|
1022
|
+
if (isEmit)
|
|
1023
|
+
this.rangeTdMouseleave.emit(cell);
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
clearState(...cells) {
|
|
1027
|
+
for (let cell of cells) {
|
|
1028
|
+
cell.isInRangeHover = false;
|
|
1029
|
+
cell.isRangeHover = false;
|
|
1030
|
+
cell.isRangeHoverStart = false;
|
|
1031
|
+
cell.isRangeHoverEnd = false;
|
|
1032
|
+
cell.isRangeHoverStartLeft = false;
|
|
1033
|
+
cell.isRangeHoverStartRight = false;
|
|
1034
|
+
cell.isRangeHoverEndLeft = false;
|
|
1035
|
+
cell.isRangeHoverEndRight = false;
|
|
1036
|
+
}
|
|
1037
|
+
}
|
|
773
1038
|
setMonths(date) {
|
|
774
1039
|
let year = date.getFullYear();
|
|
775
1040
|
let dates = [];
|
|
776
1041
|
for (let i = 0; i < 16; i++) {
|
|
777
|
-
|
|
1042
|
+
const cell = { date: new Date(year, i, 1), isFirstDay: i === 0, isLastDay: i === 11 };
|
|
1043
|
+
dates = [...dates, this.setDayState(cell)];
|
|
778
1044
|
}
|
|
779
|
-
this.dates =
|
|
1045
|
+
this.dates = dates;
|
|
1046
|
+
this.chunkDates = XChunk(dates, 4);
|
|
780
1047
|
if (this.dates.length > 0) {
|
|
781
|
-
this.rangeChange.emit([dates[0], dates[dates.length - 1]]);
|
|
1048
|
+
this.rangeChange.emit([dates[0].date, dates[dates.length - 1].date]);
|
|
782
1049
|
}
|
|
1050
|
+
this.cdr.detectChanges();
|
|
783
1051
|
}
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
1052
|
+
setDayState(cell) {
|
|
1053
|
+
var _a;
|
|
1054
|
+
const time = (_a = cell.date) === null || _a === void 0 ? void 0 : _a.getTime();
|
|
1055
|
+
const fmonth = this.datePipe.transform(cell.date, 'yyyyMM');
|
|
1056
|
+
const fmonthy = this.datePipe.transform(cell.date, 'yyyy');
|
|
1057
|
+
const fdisplayy = this.datePipe.transform(this.display, 'yyyy');
|
|
1058
|
+
const fnow = this.datePipe.transform(this.now, 'yyyyMM');
|
|
1059
|
+
cell.isLastOrNext = fmonthy !== fdisplayy;
|
|
1060
|
+
cell.isNow = fmonth === fnow;
|
|
1061
|
+
if (this.rangePicker) {
|
|
1062
|
+
if (!this.rangeValue)
|
|
1063
|
+
return cell;
|
|
1064
|
+
const [start, end] = this.rangeValue;
|
|
1065
|
+
cell.isInRange = !!start && !!end && time >= start && time <= end;
|
|
1066
|
+
cell.isRangeStartRight = !!start && !!end && fmonth === this.datePipe.transform(start, 'yyyyMM');
|
|
1067
|
+
cell.isRangeEndLeft = !!start && !!end && fmonth === this.datePipe.transform(end, 'yyyyMM');
|
|
1068
|
+
}
|
|
1069
|
+
return cell;
|
|
1070
|
+
}
|
|
1071
|
+
monthClick(cell) {
|
|
1072
|
+
this.model = cell.date;
|
|
1073
|
+
this.modelChange.emit(cell.date);
|
|
1074
|
+
if (this.rangePicker) {
|
|
1075
|
+
this.clearState(...this.dates);
|
|
1076
|
+
for (let item of this.dates) {
|
|
1077
|
+
this.setDayState(item);
|
|
1078
|
+
}
|
|
1079
|
+
this.rangeDateClick.emit(cell);
|
|
1080
|
+
}
|
|
787
1081
|
this.cdr.markForCheck();
|
|
788
1082
|
}
|
|
789
1083
|
getLocaleMonth(date) {
|
|
790
1084
|
return this.locale[this.lowerCasePipe.transform(this.datePipe.transform(date, 'LLLL'))];
|
|
791
1085
|
}
|
|
1086
|
+
rangeDisabled(date) {
|
|
1087
|
+
if (this.rangeType === 'end') {
|
|
1088
|
+
return this.rangeStart !== '' && date.getTime() < this.rangeStart;
|
|
1089
|
+
}
|
|
1090
|
+
else if (this.rangeType === 'start') {
|
|
1091
|
+
return this.rangeEnd !== '' && date.getTime() > this.rangeEnd;
|
|
1092
|
+
}
|
|
1093
|
+
return false;
|
|
1094
|
+
}
|
|
792
1095
|
setDisplay(date) {
|
|
793
1096
|
this.display = new Date(date.getFullYear(), date.getMonth(), 1);
|
|
1097
|
+
this.displayChange.emit(this.display);
|
|
794
1098
|
this.setMonths(this.display);
|
|
795
1099
|
}
|
|
796
1100
|
nextYear(num) {
|
|
797
1101
|
let date = new Date(this.display);
|
|
798
1102
|
date.setFullYear(date.getFullYear() + num);
|
|
799
1103
|
this.setDisplay(date);
|
|
1104
|
+
this.yearChange.emit(num);
|
|
800
1105
|
this.cdr.detectChanges();
|
|
801
1106
|
}
|
|
802
1107
|
typeOnChange(type) {
|
|
@@ -809,10 +1114,10 @@ class XPickerMonthComponent extends XPickerMonthProperty {
|
|
|
809
1114
|
}
|
|
810
1115
|
}
|
|
811
1116
|
/** @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 });
|
|
812
|
-
/** @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-
|
|
1117
|
+
/** @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{-webkit-user-select:none;user-select:none}.x-picker-month-body .x-picker-date-item{padding:.25rem 0;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 .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 });
|
|
813
1118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerMonthComponent, decorators: [{
|
|
814
1119
|
type: Component,
|
|
815
|
-
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-
|
|
1120
|
+
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{-webkit-user-select:none;user-select:none}.x-picker-month-body .x-picker-date-item{padding:.25rem 0;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 .x-visibility{visibility:hidden}\n"] }]
|
|
816
1121
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
|
|
817
1122
|
|
|
818
1123
|
class XPickerYearComponent extends XPickerYearProperty {
|
|
@@ -824,6 +1129,19 @@ class XPickerYearComponent extends XPickerYearProperty {
|
|
|
824
1129
|
this.configService = configService;
|
|
825
1130
|
this.now = new Date();
|
|
826
1131
|
this.dates = [];
|
|
1132
|
+
this.chunkDates = [];
|
|
1133
|
+
}
|
|
1134
|
+
get rangeStart() {
|
|
1135
|
+
if (this.rangeValue && this.rangeValue.length > 0) {
|
|
1136
|
+
return this.rangeValue[0];
|
|
1137
|
+
}
|
|
1138
|
+
return '';
|
|
1139
|
+
}
|
|
1140
|
+
get rangeEnd() {
|
|
1141
|
+
if (this.rangeValue && this.rangeValue.length > 1) {
|
|
1142
|
+
return this.rangeValue[1];
|
|
1143
|
+
}
|
|
1144
|
+
return '';
|
|
827
1145
|
}
|
|
828
1146
|
ngOnChanges(simples) {
|
|
829
1147
|
const { display } = simples;
|
|
@@ -832,28 +1150,156 @@ class XPickerYearComponent extends XPickerYearProperty {
|
|
|
832
1150
|
init() {
|
|
833
1151
|
this.setYears(this.display);
|
|
834
1152
|
}
|
|
1153
|
+
isStartYear(date) {
|
|
1154
|
+
if (!this.rangeType || !this.rangeValue)
|
|
1155
|
+
return;
|
|
1156
|
+
if (!XIsNull(this.rangeValue[0])) {
|
|
1157
|
+
return this.datePipe.transform(this.rangeValue[0], 'yyyy') === this.datePipe.transform(date, 'yyyy');
|
|
1158
|
+
}
|
|
1159
|
+
return;
|
|
1160
|
+
}
|
|
1161
|
+
isEndYear(date) {
|
|
1162
|
+
if (!this.rangeType || !this.rangeValue)
|
|
1163
|
+
return;
|
|
1164
|
+
if (!XIsNull(this.rangeValue[1])) {
|
|
1165
|
+
return this.datePipe.transform(this.rangeValue[1], 'yyyy') === this.datePipe.transform(date, 'yyyy');
|
|
1166
|
+
}
|
|
1167
|
+
return;
|
|
1168
|
+
}
|
|
1169
|
+
setDatesState(cell) {
|
|
1170
|
+
this.clearState(...this.dates);
|
|
1171
|
+
for (let item of this.dates) {
|
|
1172
|
+
this.setDayState(item);
|
|
1173
|
+
}
|
|
1174
|
+
this.onTdMouseenter(cell, false);
|
|
1175
|
+
}
|
|
1176
|
+
onTdMouseenter(cell, isEmit = true) {
|
|
1177
|
+
const [start, end] = this.rangeValue;
|
|
1178
|
+
if (!XIsNull(start) || !XIsNull(end)) {
|
|
1179
|
+
const time = cell.date.getTime();
|
|
1180
|
+
for (let item of this.dates) {
|
|
1181
|
+
const itemTime = item.date.getTime();
|
|
1182
|
+
this.clearState(item);
|
|
1183
|
+
if (!XIsNull(start) && XIsNull(end)) {
|
|
1184
|
+
item.isRangeHoverStartLeft = time < start && itemTime === start;
|
|
1185
|
+
item.isRangeHoverStartRight = time > start && itemTime === start;
|
|
1186
|
+
item.isRangeHover =
|
|
1187
|
+
(time < start && itemTime >= time && itemTime < start) || (time > start && itemTime > start && itemTime <= time);
|
|
1188
|
+
item.isRangeHoverStart = itemTime === time && time < start;
|
|
1189
|
+
item.isRangeHoverEnd = itemTime === time && time > start;
|
|
1190
|
+
}
|
|
1191
|
+
else if (XIsNull(start) && !XIsNull(end)) {
|
|
1192
|
+
item.isRangeHoverEndLeft = time < end && itemTime === end;
|
|
1193
|
+
item.isRangeHoverEndRight = time > end && itemTime === end;
|
|
1194
|
+
item.isRangeHover = (time < end && itemTime >= time && itemTime < end) || (time > end && itemTime > end && itemTime <= time);
|
|
1195
|
+
item.isRangeHoverStart = itemTime === time && time < end;
|
|
1196
|
+
item.isRangeHoverEnd = itemTime === time && time > end;
|
|
1197
|
+
}
|
|
1198
|
+
else if (!XIsNull(start) && !XIsNull(end)) {
|
|
1199
|
+
item.isRangeHoverStartLeft = time < start && itemTime === start;
|
|
1200
|
+
item.isRangeHoverEndRight = time > end && itemTime === end;
|
|
1201
|
+
item.isRangeHover =
|
|
1202
|
+
(time < start && itemTime >= time && itemTime < start) || (time > end && itemTime > end && itemTime <= time);
|
|
1203
|
+
item.isRangeHoverStart = itemTime === time && time < start;
|
|
1204
|
+
item.isRangeHoverEnd = itemTime === time && time > end;
|
|
1205
|
+
if (this.rangeType === 'start') {
|
|
1206
|
+
item.isInRangeHover = itemTime >= time && itemTime <= end;
|
|
1207
|
+
}
|
|
1208
|
+
else if (this.rangeType === 'end') {
|
|
1209
|
+
item.isInRangeHover = itemTime >= start && itemTime <= time;
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
}
|
|
1213
|
+
if (isEmit) {
|
|
1214
|
+
this.rangeTdMouseenter.emit(cell);
|
|
1215
|
+
}
|
|
1216
|
+
else {
|
|
1217
|
+
this.cdr.detectChanges();
|
|
1218
|
+
}
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
onTdMouseleave(cell, isEmit = true) {
|
|
1222
|
+
const [start, end] = this.rangeValue;
|
|
1223
|
+
if (!XIsNull(start) || !XIsNull(end)) {
|
|
1224
|
+
this.clearState(...this.dates);
|
|
1225
|
+
if (isEmit)
|
|
1226
|
+
this.rangeTdMouseleave.emit(cell);
|
|
1227
|
+
}
|
|
1228
|
+
}
|
|
1229
|
+
clearState(...cells) {
|
|
1230
|
+
for (let cell of cells) {
|
|
1231
|
+
cell.isInRangeHover = false;
|
|
1232
|
+
cell.isRangeHover = false;
|
|
1233
|
+
cell.isRangeHoverStart = false;
|
|
1234
|
+
cell.isRangeHoverEnd = false;
|
|
1235
|
+
cell.isRangeHoverStartLeft = false;
|
|
1236
|
+
cell.isRangeHoverStartRight = false;
|
|
1237
|
+
cell.isRangeHoverEndLeft = false;
|
|
1238
|
+
cell.isRangeHoverEndRight = false;
|
|
1239
|
+
}
|
|
1240
|
+
}
|
|
835
1241
|
setYears(date) {
|
|
836
1242
|
let year = date.getFullYear();
|
|
837
1243
|
this.start = Math.floor(year / 10) * 10;
|
|
838
1244
|
this.end = this.start + 9;
|
|
839
1245
|
let dates = [];
|
|
840
1246
|
for (let i = -3; i < 13; i++) {
|
|
841
|
-
|
|
1247
|
+
const dt = new Date(this.start + i, 1, 1);
|
|
1248
|
+
const cell = {
|
|
1249
|
+
date: dt,
|
|
1250
|
+
isNow: this.datePipe.transform(this.now, 'yyyy') === this.datePipe.transform(dt, 'yyyy'),
|
|
1251
|
+
isLastOrNext: i < 0 || i > 9,
|
|
1252
|
+
isFirstDay: i === 0,
|
|
1253
|
+
isLastDay: i === 9
|
|
1254
|
+
};
|
|
1255
|
+
dates = [...dates, this.setDayState(cell)];
|
|
842
1256
|
}
|
|
843
|
-
this.dates =
|
|
1257
|
+
this.dates = dates;
|
|
1258
|
+
this.chunkDates = XChunk(dates, 4);
|
|
844
1259
|
this.startChange.emit(this.start);
|
|
845
1260
|
}
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
1261
|
+
setDayState(cell) {
|
|
1262
|
+
var _a;
|
|
1263
|
+
const time = (_a = cell.date) === null || _a === void 0 ? void 0 : _a.getTime();
|
|
1264
|
+
const fyear = this.datePipe.transform(cell.date, 'yyyy');
|
|
1265
|
+
if (this.rangePicker) {
|
|
1266
|
+
if (!this.rangeValue)
|
|
1267
|
+
return cell;
|
|
1268
|
+
const [start, end] = this.rangeValue;
|
|
1269
|
+
cell.isInRange = !!start && !!end && time >= start && time <= end;
|
|
1270
|
+
cell.isRangeStartRight = !!start && !!end && fyear === this.datePipe.transform(start, 'yyyy');
|
|
1271
|
+
cell.isRangeEndLeft = !!start && !!end && fyear === this.datePipe.transform(end, 'yyyy');
|
|
1272
|
+
}
|
|
1273
|
+
return cell;
|
|
1274
|
+
}
|
|
1275
|
+
yearClick(cell) {
|
|
1276
|
+
this.model = cell.date;
|
|
1277
|
+
this.modelChange.emit(cell.date);
|
|
1278
|
+
if (this.rangePicker) {
|
|
1279
|
+
this.clearState(...this.dates);
|
|
1280
|
+
for (let item of this.dates) {
|
|
1281
|
+
this.setDayState(item);
|
|
1282
|
+
}
|
|
1283
|
+
this.rangeDateClick.emit(cell);
|
|
1284
|
+
}
|
|
849
1285
|
this.cdr.markForCheck();
|
|
850
1286
|
}
|
|
851
1287
|
lastOrNext(year) {
|
|
852
1288
|
const yearStr = this.datePipe.transform(year, 'yyyy');
|
|
853
1289
|
return yearStr < `${this.start}` || yearStr > `${this.end}`;
|
|
854
1290
|
}
|
|
1291
|
+
rangeDisabled(date) {
|
|
1292
|
+
if (this.rangeType === 'end') {
|
|
1293
|
+
return this.rangeStart !== '' && date.getTime() < this.rangeStart;
|
|
1294
|
+
}
|
|
1295
|
+
else if (this.rangeType === 'start') {
|
|
1296
|
+
return this.rangeEnd !== '' && date.getTime() > this.rangeEnd;
|
|
1297
|
+
}
|
|
1298
|
+
return false;
|
|
1299
|
+
}
|
|
855
1300
|
setDisplay(date) {
|
|
856
1301
|
this.display = new Date(date.getFullYear(), date.getMonth(), 1);
|
|
1302
|
+
this.displayChange.emit(this.display);
|
|
857
1303
|
this.setYears(this.display);
|
|
858
1304
|
}
|
|
859
1305
|
nextYears(num) {
|
|
@@ -861,20 +1307,18 @@ class XPickerYearComponent extends XPickerYearProperty {
|
|
|
861
1307
|
let date = new Date(this.display);
|
|
862
1308
|
date.setFullYear(this.start);
|
|
863
1309
|
this.setDisplay(date);
|
|
1310
|
+
this.yearChange.emit(num);
|
|
864
1311
|
this.cdr.detectChanges();
|
|
865
1312
|
}
|
|
866
|
-
equalYear(one, two) {
|
|
867
|
-
return this.datePipe.transform(one, 'yyyy') === this.datePipe.transform(two, 'yyyy');
|
|
868
|
-
}
|
|
869
1313
|
trackByYear(_index, item) {
|
|
870
1314
|
return item;
|
|
871
1315
|
}
|
|
872
1316
|
}
|
|
873
1317
|
/** @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 });
|
|
874
|
-
/** @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-
|
|
1318
|
+
/** @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{-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{padding:.25rem 0;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 .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 });
|
|
875
1319
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XPickerYearComponent, decorators: [{
|
|
876
1320
|
type: Component,
|
|
877
|
-
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-
|
|
1321
|
+
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{-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{padding:.25rem 0;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 .x-visibility{visibility:hidden}\n"] }]
|
|
878
1322
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.DatePipe }, { type: i2.XConfigService }]; } });
|
|
879
1323
|
|
|
880
1324
|
class XDatePickerPortalComponent {
|
|
@@ -995,10 +1439,10 @@ class XDatePickerPortalComponent {
|
|
|
995
1439
|
}
|
|
996
1440
|
}
|
|
997
1441
|
/** @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 });
|
|
998
|
-
/** @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 [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"dateChange($event)\"></x-picker-date>\r\n <div *ngIf=\"preset\" class=\"x-date-picker-portal-preset\">\r\n <ng-container *ngFor=\"let item of preset\">\r\n <x-
|
|
1442
|
+
/** @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 [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"dateChange($event)\"></x-picker-date>\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-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <x-picker-month [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"monthChange($event)\"></x-picker-month>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <x-picker-year [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"yearChange($event)\"></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\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 [display]=\"display\" [(type)]=\"type\" [model]=\"model\" (modelChange)=\"dateChange($event)\"></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 [type]=\"timeType\" [value]=\"time\" size=\"small\" (nodeEmit)=\"selectTime($event)\"></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <div class=\"x-date-picker-portal-footer\">\r\n <x-button type=\"primary\" (click)=\"nodeEmit(model)\" size=\"small\">{{ locale.sure }}</x-button>\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.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;border-top:var(--x-border-width) solid var(--x-border)}.x-date-picker-portal-preset>x-button{flex:1}.x-date-picker-portal-body{padding:.4rem}.x-date-picker-portal-content{display:flex}.x-date-picker-portal-footer{display:flex;justify-content:flex-end;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"], outputs: ["nodeEmit"] }, { kind: "component", type: i4.XLinkComponent, selector: "x-link" }, { kind: "component", type: i5.XButtonComponent, selector: "x-button" }, { 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 });
|
|
999
1443
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDatePickerPortalComponent, decorators: [{
|
|
1000
1444
|
type: Component,
|
|
1001
|
-
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 [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"dateChange($event)\"></x-picker-date>\r\n <div *ngIf=\"preset\" class=\"x-date-picker-portal-preset\">\r\n <ng-container *ngFor=\"let item of preset\">\r\n <x-
|
|
1445
|
+
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 [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"dateChange($event)\"></x-picker-date>\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-container>\r\n <ng-container *ngSwitchCase=\"'month'\">\r\n <x-picker-month [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"monthChange($event)\"></x-picker-month>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'year'\">\r\n <x-picker-year [display]=\"display\" [model]=\"model\" [(type)]=\"type\" (modelChange)=\"yearChange($event)\"></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\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 [display]=\"display\" [(type)]=\"type\" [model]=\"model\" (modelChange)=\"dateChange($event)\"></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 [type]=\"timeType\" [value]=\"time\" size=\"small\" (nodeEmit)=\"selectTime($event)\"></x-time-picker-frame>\r\n </div>\r\n </div>\r\n <div class=\"x-date-picker-portal-footer\">\r\n <x-button type=\"primary\" (click)=\"nodeEmit(model)\" size=\"small\">{{ locale.sure }}</x-button>\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.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;border-top:var(--x-border-width) solid var(--x-border)}.x-date-picker-portal-preset>x-button{flex:1}.x-date-picker-portal-body{padding:.4rem}.x-date-picker-portal-content{display:flex}.x-date-picker-portal-footer{display:flex;justify-content:flex-end;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"] }]
|
|
1002
1446
|
}], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i3.XI18nService }]; }, propDecorators: { placement: [{
|
|
1003
1447
|
type: HostBinding,
|
|
1004
1448
|
args: ['@x-connect-base-animation']
|
|
@@ -1011,7 +1455,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
1011
1455
|
}] } });
|
|
1012
1456
|
|
|
1013
1457
|
class XDatePickerComponent extends XDatePickerProperty {
|
|
1014
|
-
constructor(renderer, configService, cdr, portalService, viewContainerRef, datePipe, overlay) {
|
|
1458
|
+
constructor(renderer, configService, cdr, portalService, viewContainerRef, datePipe, i18n, overlay) {
|
|
1015
1459
|
super();
|
|
1016
1460
|
this.renderer = renderer;
|
|
1017
1461
|
this.configService = configService;
|
|
@@ -1019,6 +1463,7 @@ class XDatePickerComponent extends XDatePickerProperty {
|
|
|
1019
1463
|
this.portalService = portalService;
|
|
1020
1464
|
this.viewContainerRef = viewContainerRef;
|
|
1021
1465
|
this.datePipe = datePipe;
|
|
1466
|
+
this.i18n = i18n;
|
|
1022
1467
|
this.overlay = overlay;
|
|
1023
1468
|
this.modelType = 'date';
|
|
1024
1469
|
this.isInput = false;
|
|
@@ -1033,6 +1478,7 @@ class XDatePickerComponent extends XDatePickerProperty {
|
|
|
1033
1478
|
this.dataChange = new Subject();
|
|
1034
1479
|
this.positionChange = new Subject();
|
|
1035
1480
|
this.closeSubject = new Subject();
|
|
1481
|
+
this.locale = {};
|
|
1036
1482
|
this._unSubject = new Subject();
|
|
1037
1483
|
}
|
|
1038
1484
|
writeValue(value) {
|
|
@@ -1057,6 +1503,19 @@ class XDatePickerComponent extends XDatePickerProperty {
|
|
|
1057
1503
|
this.valueChange.next(this.numberValue);
|
|
1058
1504
|
this.cdr.detectChanges();
|
|
1059
1505
|
}
|
|
1506
|
+
get getPlaceholder() {
|
|
1507
|
+
if (this.placeholder)
|
|
1508
|
+
return this.placeholder;
|
|
1509
|
+
if (this.type === 'month') {
|
|
1510
|
+
return this.locale.selectMonth;
|
|
1511
|
+
}
|
|
1512
|
+
else if (this.type === 'year') {
|
|
1513
|
+
return this.locale.selectYear;
|
|
1514
|
+
}
|
|
1515
|
+
else {
|
|
1516
|
+
return this.locale.selectDate;
|
|
1517
|
+
}
|
|
1518
|
+
}
|
|
1060
1519
|
ngOnInit() {
|
|
1061
1520
|
this.setFlex(this.datePicker.nativeElement, this.renderer, this.justify, this.align, this.direction);
|
|
1062
1521
|
this.setFormat();
|
|
@@ -1081,6 +1540,12 @@ class XDatePickerComponent extends XDatePickerProperty {
|
|
|
1081
1540
|
this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
|
|
1082
1541
|
this.closePortal();
|
|
1083
1542
|
});
|
|
1543
|
+
this.i18n.localeChange
|
|
1544
|
+
.pipe(map((x) => x.datePicker), takeUntil(this._unSubject))
|
|
1545
|
+
.subscribe((x) => {
|
|
1546
|
+
this.locale = x;
|
|
1547
|
+
this.cdr.markForCheck();
|
|
1548
|
+
});
|
|
1084
1549
|
}
|
|
1085
1550
|
setFormat() {
|
|
1086
1551
|
if (this.format !== 'yyyy-MM-dd')
|
|
@@ -1264,12 +1729,12 @@ class XDatePickerComponent extends XDatePickerProperty {
|
|
|
1264
1729
|
this.cdr.detectChanges();
|
|
1265
1730
|
}
|
|
1266
1731
|
}
|
|
1267
|
-
/** @nocollapse */ XDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDatePickerComponent, deps: [{ token: i0.Renderer2 }, { token: i2.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2$1.XPortalService }, { token: i0.ViewContainerRef }, { token: i1.DatePipe }, { token:
|
|
1268
|
-
/** @nocollapse */ XDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDatePickerComponent, selector: "x-date-picker", providers: [XValueAccessor(XDatePickerComponent), DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true, static: true }, { propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #datePicker class=\"x-date-picker\">\r\n <div class=\"x-date-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"
|
|
1732
|
+
/** @nocollapse */ XDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDatePickerComponent, deps: [{ token: i0.Renderer2 }, { token: i2.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2$1.XPortalService }, { token: i0.ViewContainerRef }, { token: i1.DatePipe }, { token: i3.XI18nService }, { token: i5$1.Overlay }], target: i0.ɵɵFactoryTarget.Component });
|
|
1733
|
+
/** @nocollapse */ XDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDatePickerComponent, selector: "x-date-picker", providers: [XValueAccessor(XDatePickerComponent), DatePipe], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datePicker"], descendants: true, static: true }, { propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #datePicker class=\"x-date-picker\">\r\n <div class=\"x-date-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"getPlaceholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable && inputClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"pointer\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xInput)=\"onInput()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-picker{display:inline-block;width:12rem}.x-date-picker{margin:0;padding:0;width:100%}.x-date-picker x-input{width:100%}\n"], dependencies: [{ kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i6.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.XInputComponent, selector: "x-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1269
1734
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDatePickerComponent, decorators: [{
|
|
1270
1735
|
type: Component,
|
|
1271
|
-
args: [{ selector: `${XDatePickerPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XDatePickerComponent), DatePipe], template: "<div #datePicker class=\"x-date-picker\">\r\n <div class=\"x-date-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"
|
|
1272
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i2.XConfigService }, { type: i0.ChangeDetectorRef }, { type: i2$1.XPortalService }, { type: i0.ViewContainerRef }, { type: i1.DatePipe }, { type:
|
|
1736
|
+
args: [{ selector: `${XDatePickerPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XDatePickerComponent), DatePipe], template: "<div #datePicker class=\"x-date-picker\">\r\n <div class=\"x-date-picker-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label\"\r\n [labelWidth]=\"labelWidth\"\r\n [labelAlign]=\"labelAlign\"\r\n [justify]=\"justify\"\r\n [align]=\"align\"\r\n [direction]=\"direction\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [validator]=\"validator\"\r\n [icon]=\"icon\"\r\n [placeholder]=\"getPlaceholder\"\r\n [readonly]=\"readonly\"\r\n [clearable]=\"clearable && inputClearable\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTpl\"\r\n [valueTplContext]=\"valueTplContext\"\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [before]=\"before\"\r\n [after]=\"after\"\r\n [pattern]=\"pattern\"\r\n [message]=\"message\"\r\n [pointer]=\"pointer\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xInput)=\"onInput()\"\r\n (xClick)=\"showPortal()\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-picker{display:inline-block;width:12rem}.x-date-picker{margin:0;padding:0;width:100%}.x-date-picker x-input{width:100%}\n"] }]
|
|
1737
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i2.XConfigService }, { type: i0.ChangeDetectorRef }, { type: i2$1.XPortalService }, { type: i0.ViewContainerRef }, { type: i1.DatePipe }, { type: i3.XI18nService }, { type: i5$1.Overlay }]; }, propDecorators: { datePicker: [{
|
|
1273
1738
|
type: ViewChild,
|
|
1274
1739
|
args: ['datePicker', { static: true }]
|
|
1275
1740
|
}], inputCom: [{
|
|
@@ -1289,7 +1754,8 @@ class XDateRangePortalComponent {
|
|
|
1289
1754
|
this.endDisplay = XAddMonths(this.startDisplay, 1);
|
|
1290
1755
|
this.value = [];
|
|
1291
1756
|
this.locale = {};
|
|
1292
|
-
this.
|
|
1757
|
+
this.timeDisplay = new Date();
|
|
1758
|
+
this.timeHover = false;
|
|
1293
1759
|
this.nodeClickCount = 0;
|
|
1294
1760
|
this._unSubject = new Subject();
|
|
1295
1761
|
}
|
|
@@ -1300,6 +1766,12 @@ class XDateRangePortalComponent {
|
|
|
1300
1766
|
start() {
|
|
1301
1767
|
this.animating(true);
|
|
1302
1768
|
}
|
|
1769
|
+
get timeSureDisabled() {
|
|
1770
|
+
return XIsEmpty(this.value) || this.value.every((x) => x === null);
|
|
1771
|
+
}
|
|
1772
|
+
get isDatePicker() {
|
|
1773
|
+
return ['date', 'month', 'year'].includes(this.type);
|
|
1774
|
+
}
|
|
1303
1775
|
ngOnInit() {
|
|
1304
1776
|
this.valueChange.pipe(takeUntil(this._unSubject)).subscribe((x) => {
|
|
1305
1777
|
this.value = x;
|
|
@@ -1334,40 +1806,67 @@ class XDateRangePortalComponent {
|
|
|
1334
1806
|
this.value = [null, null];
|
|
1335
1807
|
this.model = this.display;
|
|
1336
1808
|
this.startModel = this.model;
|
|
1337
|
-
this.endModel =
|
|
1809
|
+
this.endModel = this.setModelByType(this.model);
|
|
1338
1810
|
this.setDisplay(this.model);
|
|
1339
1811
|
}
|
|
1340
|
-
this._type = this.type;
|
|
1341
1812
|
this.cdr.detectChanges();
|
|
1342
1813
|
}
|
|
1343
1814
|
stopPropagation(event) {
|
|
1344
1815
|
event.stopPropagation();
|
|
1345
1816
|
}
|
|
1817
|
+
setModelByType(byModel, num = 1) {
|
|
1818
|
+
if (this.type === 'month') {
|
|
1819
|
+
return XAddYears(byModel, num);
|
|
1820
|
+
}
|
|
1821
|
+
else if (this.type === 'year') {
|
|
1822
|
+
return XAddYears(byModel, 10 * num);
|
|
1823
|
+
}
|
|
1824
|
+
else {
|
|
1825
|
+
return XAddMonths(byModel, num);
|
|
1826
|
+
}
|
|
1827
|
+
}
|
|
1828
|
+
setDatesState(cell) {
|
|
1829
|
+
var _a, _b;
|
|
1830
|
+
if (this.activeType === 'start') {
|
|
1831
|
+
(_a = this.endPicker) === null || _a === void 0 ? void 0 : _a.setDatesState(cell);
|
|
1832
|
+
}
|
|
1833
|
+
else {
|
|
1834
|
+
(_b = this.startPicker) === null || _b === void 0 ? void 0 : _b.setDatesState(cell);
|
|
1835
|
+
}
|
|
1836
|
+
}
|
|
1346
1837
|
setDefault() {
|
|
1347
1838
|
const type = this.activeType || 'start';
|
|
1839
|
+
this.timeHover = !this.value.every((x) => x === null);
|
|
1348
1840
|
if (type === 'start') {
|
|
1349
1841
|
this.startModel = new Date(this.value[0]);
|
|
1350
1842
|
this.startDisplay = this.startModel;
|
|
1351
|
-
this.endModel =
|
|
1843
|
+
this.endModel = this.setModelByType(this.startModel);
|
|
1352
1844
|
this.endDisplay = this.endModel;
|
|
1845
|
+
this.timeModel = this.startModel;
|
|
1846
|
+
this.timeDisplay = this.startDisplay;
|
|
1847
|
+
this.time = this.startModel.getTime();
|
|
1353
1848
|
}
|
|
1354
1849
|
else if (type === 'end') {
|
|
1355
1850
|
this.endModel = new Date(this.value[1]);
|
|
1356
1851
|
this.endDisplay = this.endModel;
|
|
1357
|
-
this.startModel =
|
|
1852
|
+
this.startModel = this.setModelByType(this.endModel, -1);
|
|
1358
1853
|
this.startDisplay = this.startModel;
|
|
1854
|
+
this.timeModel = this.endModel;
|
|
1855
|
+
this.timeDisplay = this.endDisplay;
|
|
1856
|
+
this.time = this.endModel.getTime();
|
|
1359
1857
|
}
|
|
1360
1858
|
this.cdr.detectChanges();
|
|
1361
1859
|
}
|
|
1362
1860
|
setDisplay(date) {
|
|
1363
1861
|
this.display = new Date(date.getFullYear(), date.getMonth(), 1);
|
|
1364
1862
|
this.startDisplay = this.display;
|
|
1365
|
-
this.endDisplay =
|
|
1863
|
+
this.endDisplay = this.setModelByType(this.display);
|
|
1366
1864
|
}
|
|
1367
1865
|
dateChange(date) {
|
|
1368
1866
|
this.nodeClickCount++;
|
|
1369
1867
|
let close = this.nodeClickCount === 2;
|
|
1370
|
-
|
|
1868
|
+
let time = this.setDateChangeTime(date);
|
|
1869
|
+
date = new Date(time);
|
|
1371
1870
|
if (this.activeType === 'start') {
|
|
1372
1871
|
this.value[0] = time;
|
|
1373
1872
|
if (!XIsNull(this.value[1]) && time > this.value[1]) {
|
|
@@ -1377,9 +1876,12 @@ class XDateRangePortalComponent {
|
|
|
1377
1876
|
close = false;
|
|
1378
1877
|
this.endModel = null;
|
|
1379
1878
|
this.value[1] = null;
|
|
1380
|
-
this.
|
|
1879
|
+
if (!this.isDatePicker) {
|
|
1880
|
+
this.timeHover = false;
|
|
1881
|
+
}
|
|
1882
|
+
this.endNodeEmit(null, close, this.isDatePicker);
|
|
1381
1883
|
}
|
|
1382
|
-
this.startNodeEmit(date, close);
|
|
1884
|
+
this.startNodeEmit(date, close, this.isDatePicker);
|
|
1383
1885
|
}
|
|
1384
1886
|
else if (this.activeType === 'end') {
|
|
1385
1887
|
this.value[1] = time;
|
|
@@ -1390,38 +1892,40 @@ class XDateRangePortalComponent {
|
|
|
1390
1892
|
close = false;
|
|
1391
1893
|
this.startModel = null;
|
|
1392
1894
|
this.value[0] = null;
|
|
1393
|
-
this.
|
|
1895
|
+
if (!this.isDatePicker) {
|
|
1896
|
+
this.timeHover = false;
|
|
1897
|
+
}
|
|
1898
|
+
this.startNodeEmit(null, close, this.isDatePicker);
|
|
1394
1899
|
}
|
|
1395
|
-
this.endNodeEmit(date, close);
|
|
1900
|
+
this.endNodeEmit(date, close, this.isDatePicker);
|
|
1396
1901
|
}
|
|
1397
|
-
if (!this.value.includes(null)) {
|
|
1902
|
+
if (!this.value.includes(null) && this.isDatePicker) {
|
|
1398
1903
|
this.nodeEmit(this.value.map((x) => new Date(x)), close);
|
|
1399
1904
|
}
|
|
1400
1905
|
}
|
|
1401
|
-
|
|
1402
|
-
this.
|
|
1403
|
-
|
|
1404
|
-
}
|
|
1405
|
-
monthChange(date) {
|
|
1406
|
-
this.setDisplay(date);
|
|
1407
|
-
if (this._type === 'month') {
|
|
1408
|
-
this.model = date;
|
|
1409
|
-
// this.nodeEmit(date);
|
|
1906
|
+
setDateChangeTime(date) {
|
|
1907
|
+
if (this.isDatePicker) {
|
|
1908
|
+
return date.getTime();
|
|
1410
1909
|
}
|
|
1411
1910
|
else {
|
|
1412
|
-
|
|
1911
|
+
let time = new Date();
|
|
1912
|
+
if (this.time) {
|
|
1913
|
+
time = new Date(this.time);
|
|
1914
|
+
}
|
|
1915
|
+
else {
|
|
1916
|
+
this.time = time.getTime();
|
|
1917
|
+
}
|
|
1918
|
+
if (['date-hour', 'date-minute'].includes(this.type)) {
|
|
1919
|
+
time.setSeconds(0);
|
|
1920
|
+
}
|
|
1921
|
+
if (this.type === 'date-hour') {
|
|
1922
|
+
time.setMinutes(0);
|
|
1923
|
+
}
|
|
1924
|
+
return new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), time.getSeconds()).getTime();
|
|
1413
1925
|
}
|
|
1414
|
-
this.cdr.detectChanges();
|
|
1415
1926
|
}
|
|
1416
|
-
|
|
1417
|
-
this.
|
|
1418
|
-
if (this._type === 'year') {
|
|
1419
|
-
this.model = date;
|
|
1420
|
-
// this.nodeEmit(date);
|
|
1421
|
-
}
|
|
1422
|
-
else {
|
|
1423
|
-
this.type = 'month';
|
|
1424
|
-
}
|
|
1927
|
+
typeChange(type) {
|
|
1928
|
+
this.type = type;
|
|
1425
1929
|
this.cdr.detectChanges();
|
|
1426
1930
|
}
|
|
1427
1931
|
yearStartChange(number) {
|
|
@@ -1451,32 +1955,57 @@ class XDateRangePortalComponent {
|
|
|
1451
1955
|
return this.locale[this.lowerCasePipe.transform(this.datePipe.transform(date, 'LLLL'))];
|
|
1452
1956
|
}
|
|
1453
1957
|
selectTime(time) {
|
|
1958
|
+
var _a, _b, _c;
|
|
1454
1959
|
this.time = time.getTime();
|
|
1455
|
-
|
|
1960
|
+
if (XIsEmpty(this.timeModel)) {
|
|
1961
|
+
this.timeModel = new Date();
|
|
1962
|
+
}
|
|
1963
|
+
(_a = this.timeModel) === null || _a === void 0 ? void 0 : _a.setHours(time.getHours());
|
|
1964
|
+
(_b = this.timeModel) === null || _b === void 0 ? void 0 : _b.setMinutes(time.getMinutes());
|
|
1965
|
+
(_c = this.timeModel) === null || _c === void 0 ? void 0 : _c.setSeconds(time.getSeconds());
|
|
1966
|
+
this.dateChange(this.timeModel);
|
|
1456
1967
|
this.cdr.detectChanges();
|
|
1457
1968
|
}
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1969
|
+
sureTime() {
|
|
1970
|
+
if (this.value.every((x) => XIsNull(x)))
|
|
1971
|
+
return;
|
|
1972
|
+
const [start, end] = this.value;
|
|
1973
|
+
if (XIsNull(start) && !XIsNull(end)) {
|
|
1974
|
+
this.time = null;
|
|
1975
|
+
this.timeHover = true;
|
|
1976
|
+
this.endNodeEmit(new Date(end), false, true);
|
|
1977
|
+
}
|
|
1978
|
+
else if (!XIsNull(start) && XIsNull(end)) {
|
|
1979
|
+
this.time = null;
|
|
1980
|
+
this.timeHover = true;
|
|
1981
|
+
this.startNodeEmit(new Date(start), false, true);
|
|
1982
|
+
}
|
|
1983
|
+
else {
|
|
1984
|
+
this.nodeEmit(this.value.map((x) => new Date(x)), true);
|
|
1985
|
+
}
|
|
1467
1986
|
}
|
|
1468
|
-
|
|
1469
|
-
|
|
1987
|
+
yearChange(num, type) {
|
|
1988
|
+
if (type === 'start') {
|
|
1989
|
+
this.endDisplay = XAddYears(this.endDisplay, num);
|
|
1990
|
+
}
|
|
1991
|
+
else if (type === 'end') {
|
|
1992
|
+
this.startDisplay = XAddYears(this.startDisplay, num);
|
|
1993
|
+
}
|
|
1470
1994
|
}
|
|
1471
|
-
|
|
1472
|
-
|
|
1995
|
+
monthChange(num, type) {
|
|
1996
|
+
if (type === 'start') {
|
|
1997
|
+
this.endDisplay = XAddMonths(this.endDisplay, num);
|
|
1998
|
+
}
|
|
1999
|
+
else if (type === 'end') {
|
|
2000
|
+
this.startDisplay = XAddMonths(this.startDisplay, num);
|
|
2001
|
+
}
|
|
1473
2002
|
}
|
|
1474
2003
|
}
|
|
1475
2004
|
/** @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 });
|
|
1476
|
-
/** @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], ngImport: i0, template: "<div class=\"x-date-range-portal {{ type }}\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div class=\"x-date-range-portal-body\">\r\n <x-picker-date\r\n #startPickerDate\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)=\"startYearChange($event)\"\r\n (monthChange)=\"startMonthChange($event)\"\r\n (rangeTdMouseenter)=\"endPickerDate.setDatesState($event)\"\r\n (rangeDateClick)=\"endPickerDate.setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n #endPickerDate\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)=\"endYearChange($event)\"\r\n (monthChange)=\"endMonthChange($event)\"\r\n (rangeTdMouseenter)=\"startPickerDate.setDatesState($event)\"\r\n (rangeDateClick)=\"startPickerDate.setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #startDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ startDisplay | date : 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(startDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n</ng-template>\r\n\r\n<ng-template #endDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" style=\"visibility: hidden\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ endDisplay | date : 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(endDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\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;font-size:var(--x-font-size-small)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal-content{display:flex}.x-date-range-portal-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-button{flex:1}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-start,.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column}.x-date-range-portal-time-label{padding:.4rem;text-align:center;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:var(--x-border-width) 0 0 var(--x-border-width);box-shadow:none}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.XButtonComponent, selector: "x-button" }, { kind: "component", type: XPickerDateComponent, selector: "x-picker-date" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], animations: [XConnectBaseAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2005
|
+
/** @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</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 <div class=\"x-date-range-portal-footer\">\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", 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;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-button{flex:1}.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;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.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.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: i5.XButtonComponent, selector: "x-button" }, { 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 });
|
|
1477
2006
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDateRangePortalComponent, decorators: [{
|
|
1478
2007
|
type: Component,
|
|
1479
|
-
args: [{ selector: `${XDateRangePortalPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [XConnectBaseAnimation], providers: [DatePipe, LowerCasePipe], template: "<div class=\"x-date-range-portal {{ type }}\" [ngSwitch]=\"type\">\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <div class=\"x-date-range-portal-body\">\r\n <x-picker-date\r\n #startPickerDate\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)=\"startYearChange($event)\"\r\n (monthChange)=\"startMonthChange($event)\"\r\n (rangeTdMouseenter)=\"endPickerDate.setDatesState($event)\"\r\n (rangeDateClick)=\"endPickerDate.setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n <x-picker-date\r\n #endPickerDate\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)=\"endYearChange($event)\"\r\n (monthChange)=\"endMonthChange($event)\"\r\n (rangeTdMouseenter)=\"startPickerDate.setDatesState($event)\"\r\n (rangeDateClick)=\"startPickerDate.setDatesState($event)\"\r\n rangePicker\r\n ></x-picker-date>\r\n </div>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #startDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ startDisplay | date : 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(startDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon style=\"visibility: hidden\"></x-button>\r\n</ng-template>\r\n\r\n<ng-template #endDateHeaderTpl>\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\" style=\"visibility: hidden\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\" style=\"visibility: hidden\"></x-button>\r\n <div class=\"x-date-range-portal-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('year')\">{{ endDisplay | date : 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeChange('month')\">{{ getLocaleMonth(endDisplay) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\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;font-size:var(--x-font-size-small)}.x-date-range-portal.date-time{width:27rem}.x-date-range-portal.date-hour{width:19.75rem}.x-date-range-portal.date-minute{width:23.375rem}.x-date-range-portal-content{display:flex}.x-date-range-portal-header{display:flex;align-items:center;justify-content:space-between;padding:.4rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset{display:flex;align-items:center;justify-content:center;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-button{flex:1}.x-date-range-portal-year-month{flex:1;text-align:center}.x-date-range-portal-body{display:flex}.x-date-range-portal-start,.x-date-range-portal-end{flex:1}.x-date-range-portal-footer{display:flex;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.x-date-range-portal-date{flex:1}.x-date-range-portal-time{display:flex;flex-direction:column}.x-date-range-portal-time-label{padding:.4rem;text-align:center;border-left:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-date-range-portal-time .x-time-picker-frame{border-width:var(--x-border-width) 0 0 var(--x-border-width);box-shadow:none}\n"] }]
|
|
2008
|
+
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</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 <div class=\"x-date-range-portal-footer\">\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", 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;border-top:var(--x-border-width) solid var(--x-border)}.x-date-range-portal-preset>x-button{flex:1}.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;justify-content:flex-end;border-top:var(--x-border-width) var(--x-border-style) var(--x-border);padding:.5rem}.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"] }]
|
|
1480
2009
|
}], ctorParameters: function () { return [{ type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i3.XI18nService }]; }, propDecorators: { placement: [{
|
|
1481
2010
|
type: HostBinding,
|
|
1482
2011
|
args: ['@x-connect-base-animation']
|
|
@@ -1486,18 +2015,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
1486
2015
|
}], start: [{
|
|
1487
2016
|
type: HostListener,
|
|
1488
2017
|
args: ['@x-connect-base-animation.start', ['$event']]
|
|
2018
|
+
}], startPicker: [{
|
|
2019
|
+
type: ViewChild,
|
|
2020
|
+
args: ['startPicker']
|
|
2021
|
+
}], endPicker: [{
|
|
2022
|
+
type: ViewChild,
|
|
2023
|
+
args: ['endPicker']
|
|
1489
2024
|
}] } });
|
|
1490
2025
|
|
|
1491
2026
|
class XDateRangeComponent extends XDateRangeProperty {
|
|
1492
|
-
constructor(renderer, configService, cdr, portalService, viewContainerRef, datePipe, overlay) {
|
|
2027
|
+
constructor(renderer, elementRef, configService, cdr, portalService, viewContainerRef, datePipe, overlay, i18n) {
|
|
1493
2028
|
super();
|
|
1494
2029
|
this.renderer = renderer;
|
|
2030
|
+
this.elementRef = elementRef;
|
|
1495
2031
|
this.configService = configService;
|
|
1496
2032
|
this.cdr = cdr;
|
|
1497
2033
|
this.portalService = portalService;
|
|
1498
2034
|
this.viewContainerRef = viewContainerRef;
|
|
1499
2035
|
this.datePipe = datePipe;
|
|
1500
2036
|
this.overlay = overlay;
|
|
2037
|
+
this.i18n = i18n;
|
|
1501
2038
|
this.modelType = 'date';
|
|
1502
2039
|
this.isInput = false;
|
|
1503
2040
|
this.showClearable = false;
|
|
@@ -1515,14 +2052,44 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
1515
2052
|
this.activeTypeChange = new Subject();
|
|
1516
2053
|
this.startDisplay = '';
|
|
1517
2054
|
this.endDisplay = '';
|
|
2055
|
+
this.flexClass = [];
|
|
2056
|
+
this.locale = {};
|
|
1518
2057
|
this._unSubject = new Subject();
|
|
1519
2058
|
}
|
|
1520
|
-
get
|
|
1521
|
-
|
|
2059
|
+
get getStartPlaceholder() {
|
|
2060
|
+
if (this.placeholder && this.placeholder.length > 0)
|
|
2061
|
+
return this.placeholder[0];
|
|
2062
|
+
if (this.type === 'month') {
|
|
2063
|
+
return this.locale.startMonth;
|
|
2064
|
+
}
|
|
2065
|
+
else if (this.type === 'year') {
|
|
2066
|
+
return this.locale.startYear;
|
|
2067
|
+
}
|
|
2068
|
+
else {
|
|
2069
|
+
return this.locale.startDate;
|
|
2070
|
+
}
|
|
2071
|
+
}
|
|
2072
|
+
get getEndPlaceholder() {
|
|
2073
|
+
if (this.placeholder && this.placeholder.length > 1)
|
|
2074
|
+
return this.placeholder[1];
|
|
2075
|
+
if (this.type === 'month') {
|
|
2076
|
+
return this.locale.endMonth;
|
|
2077
|
+
}
|
|
2078
|
+
else if (this.type === 'year') {
|
|
2079
|
+
return this.locale.endYear;
|
|
2080
|
+
}
|
|
2081
|
+
else {
|
|
2082
|
+
return this.locale.endDate;
|
|
2083
|
+
}
|
|
2084
|
+
}
|
|
2085
|
+
get requiredIsEmpty() {
|
|
2086
|
+
return this.validator && this.required && XIsEmpty(this.value);
|
|
1522
2087
|
}
|
|
1523
2088
|
writeValue(value) {
|
|
1524
|
-
if (
|
|
2089
|
+
if (XIsEmpty(value)) {
|
|
1525
2090
|
value = [];
|
|
2091
|
+
this.numberValue = [];
|
|
2092
|
+
}
|
|
1526
2093
|
if (value.length > 0) {
|
|
1527
2094
|
if (XIsDate(value[0])) {
|
|
1528
2095
|
this.modelType = 'date';
|
|
@@ -1545,6 +2112,7 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
1545
2112
|
}
|
|
1546
2113
|
ngOnInit() {
|
|
1547
2114
|
this.setFlex(this.dateRange.nativeElement, this.renderer, this.justify, this.align, this.direction);
|
|
2115
|
+
this.setHostTypeClass();
|
|
1548
2116
|
this.setFormat();
|
|
1549
2117
|
this.setClassMap();
|
|
1550
2118
|
this.setSubject();
|
|
@@ -1553,7 +2121,9 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
1553
2121
|
this.setPortal();
|
|
1554
2122
|
}
|
|
1555
2123
|
ngOnChanges(changes) {
|
|
1556
|
-
const { type } = changes;
|
|
2124
|
+
const { type, justify, align, direction, size, labelAlign } = changes;
|
|
2125
|
+
XIsChange(size, labelAlign) && this.setClassMap();
|
|
2126
|
+
XIsChange(justify, align, direction) && this.setFlexClass();
|
|
1557
2127
|
if (XIsChange(type)) {
|
|
1558
2128
|
this.setFormat();
|
|
1559
2129
|
this.setDisplayValue(this.numberValue);
|
|
@@ -1567,6 +2137,23 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
1567
2137
|
this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
|
|
1568
2138
|
this.closePortal();
|
|
1569
2139
|
});
|
|
2140
|
+
this.i18n.localeChange
|
|
2141
|
+
.pipe(map((x) => x.datePicker), takeUntil(this._unSubject))
|
|
2142
|
+
.subscribe((x) => {
|
|
2143
|
+
this.locale = x;
|
|
2144
|
+
this.cdr.markForCheck();
|
|
2145
|
+
});
|
|
2146
|
+
}
|
|
2147
|
+
setFlexClass() {
|
|
2148
|
+
if (this.flexClass.length > 0) {
|
|
2149
|
+
for (let cls of this.flexClass) {
|
|
2150
|
+
this.renderer.removeClass(this.dateRange.nativeElement, cls);
|
|
2151
|
+
}
|
|
2152
|
+
}
|
|
2153
|
+
this.flexClass = this.setFlex(this.dateRange.nativeElement, this.renderer, this.justify, this.align, this.direction);
|
|
2154
|
+
}
|
|
2155
|
+
setHostTypeClass() {
|
|
2156
|
+
this.renderer.addClass(this.elementRef.nativeElement, `x-date-range-${this.type}`);
|
|
1570
2157
|
}
|
|
1571
2158
|
setFormat() {
|
|
1572
2159
|
if (this.format !== 'yyyy-MM-dd')
|
|
@@ -1617,6 +2204,7 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
1617
2204
|
this.endDisplay = '';
|
|
1618
2205
|
this.mleave();
|
|
1619
2206
|
this.valueChange.next(this.numberValue);
|
|
2207
|
+
this.formControlValidator();
|
|
1620
2208
|
this.modelChange();
|
|
1621
2209
|
this.inputStartCom.inputFocus();
|
|
1622
2210
|
this.cdr.detectChanges();
|
|
@@ -1655,22 +2243,32 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
1655
2243
|
if (this.portalAttached()) {
|
|
1656
2244
|
(_b = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.overlayRef) === null || _b === void 0 ? void 0 : _b.detach();
|
|
1657
2245
|
this.active = false;
|
|
1658
|
-
|
|
1659
|
-
if (!this.value || this.value.length === 0) {
|
|
1660
|
-
this.startDisplay = '';
|
|
1661
|
-
this.endDisplay = '';
|
|
1662
|
-
this.numberValue = [];
|
|
1663
|
-
}
|
|
1664
|
-
else {
|
|
1665
|
-
this.numberValue = this.getNumberValue();
|
|
1666
|
-
this.setDisplayValue(this.numberValue);
|
|
1667
|
-
}
|
|
1668
|
-
}
|
|
2246
|
+
this.closeReduction();
|
|
1669
2247
|
this.cdr.detectChanges();
|
|
1670
2248
|
return true;
|
|
1671
2249
|
}
|
|
1672
2250
|
return false;
|
|
1673
2251
|
}
|
|
2252
|
+
closeReduction() {
|
|
2253
|
+
if (!this.numberValue || this.numberValue.length === 0 || this.numberValue.includes(null)) {
|
|
2254
|
+
if (!this.value || this.value.length === 0) {
|
|
2255
|
+
this.startDisplay = '';
|
|
2256
|
+
this.endDisplay = '';
|
|
2257
|
+
this.numberValue = [];
|
|
2258
|
+
}
|
|
2259
|
+
else {
|
|
2260
|
+
this.numberValue = this.getNumberValue();
|
|
2261
|
+
this.setDisplayValue(this.numberValue);
|
|
2262
|
+
}
|
|
2263
|
+
}
|
|
2264
|
+
if (!this.numberValue.includes(null) && !this.value.includes(null)) {
|
|
2265
|
+
let numberValue = this.getNumberValue();
|
|
2266
|
+
if (this.numberValue[0] !== numberValue[0] || this.numberValue[1] !== numberValue[1]) {
|
|
2267
|
+
this.numberValue = numberValue;
|
|
2268
|
+
this.setDisplayValue(this.numberValue);
|
|
2269
|
+
}
|
|
2270
|
+
}
|
|
2271
|
+
}
|
|
1674
2272
|
destroyPortal() {
|
|
1675
2273
|
var _a, _b;
|
|
1676
2274
|
(_b = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.overlayRef) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
@@ -1720,7 +2318,6 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
1720
2318
|
type: this.type,
|
|
1721
2319
|
value: this.numberValue,
|
|
1722
2320
|
placement: this.placement,
|
|
1723
|
-
preset: this.preset,
|
|
1724
2321
|
valueChange: this.valueChange,
|
|
1725
2322
|
positionChange: this.positionChange,
|
|
1726
2323
|
activeType: this.activeType,
|
|
@@ -1728,23 +2325,23 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
1728
2325
|
closePortal: () => this.closeSubject.next(),
|
|
1729
2326
|
destroyPortal: () => this.destroyPortal(),
|
|
1730
2327
|
nodeEmit: (dates, close = true) => this.onNodeClick(dates, close),
|
|
1731
|
-
startNodeEmit: (node, close = false) => this.startNodeClick(node, close),
|
|
1732
|
-
endNodeEmit: (node, close = false) => this.endNodeClick(node, close),
|
|
2328
|
+
startNodeEmit: (node, close = false, isDatePicker = true) => this.startNodeClick(node, close, isDatePicker),
|
|
2329
|
+
endNodeEmit: (node, close = false, isDatePicker = true) => this.endNodeClick(node, close, isDatePicker),
|
|
1733
2330
|
animating: (ing) => (this.animating = ing)
|
|
1734
2331
|
});
|
|
1735
2332
|
componentRef.changeDetectorRef.detectChanges();
|
|
1736
2333
|
}
|
|
1737
|
-
startNodeClick(node, close = false) {
|
|
2334
|
+
startNodeClick(node, close = false, isDatePicker = true) {
|
|
1738
2335
|
this.startDisplay = !node ? '' : this.datePipe.transform(node, this.format);
|
|
1739
|
-
if (!close) {
|
|
2336
|
+
if (!close && isDatePicker) {
|
|
1740
2337
|
this.inputEndCom.inputFocus('after');
|
|
1741
2338
|
this.activeTypeChange.next('end');
|
|
1742
2339
|
}
|
|
1743
2340
|
this.cdr.detectChanges();
|
|
1744
2341
|
}
|
|
1745
|
-
endNodeClick(node, close = false) {
|
|
2342
|
+
endNodeClick(node, close = false, isDatePicker = true) {
|
|
1746
2343
|
this.endDisplay = !node ? '' : this.datePipe.transform(node, this.format);
|
|
1747
|
-
if (!close) {
|
|
2344
|
+
if (!close && isDatePicker) {
|
|
1748
2345
|
this.inputStartCom.inputFocus('after');
|
|
1749
2346
|
this.activeTypeChange.next('start');
|
|
1750
2347
|
}
|
|
@@ -1755,6 +2352,7 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
1755
2352
|
this.numberValue = dates.map((x) => x.getTime());
|
|
1756
2353
|
this.value = this.getValue();
|
|
1757
2354
|
this.setDisplayValue(this.numberValue);
|
|
2355
|
+
this.formControlValidator();
|
|
1758
2356
|
if (close) {
|
|
1759
2357
|
this.closeSubject.next();
|
|
1760
2358
|
}
|
|
@@ -1768,6 +2366,7 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
1768
2366
|
this.activeChange.next(this.activeType);
|
|
1769
2367
|
}
|
|
1770
2368
|
setDisplayValue(dateNumber) {
|
|
2369
|
+
console.log(dateNumber);
|
|
1771
2370
|
if (!dateNumber)
|
|
1772
2371
|
return;
|
|
1773
2372
|
if (!XIsNull(dateNumber[0])) {
|
|
@@ -1789,7 +2388,8 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
1789
2388
|
this.portalAttached() && ((_b = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.overlayRef) === null || _b === void 0 ? void 0 : _b.updatePositionStrategy(this.setPlacement()));
|
|
1790
2389
|
}
|
|
1791
2390
|
setClassMap() {
|
|
1792
|
-
XClearClass(this.labelMap);
|
|
2391
|
+
XClearClass(this.classMap, this.labelMap);
|
|
2392
|
+
this.classMap[`${XDateRangePrefix}-${this.size}`] = this.size ? true : false;
|
|
1793
2393
|
this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;
|
|
1794
2394
|
}
|
|
1795
2395
|
formControlChanges() {
|
|
@@ -1797,12 +2397,12 @@ class XDateRangeComponent extends XDateRangeProperty {
|
|
|
1797
2397
|
this.cdr.detectChanges();
|
|
1798
2398
|
}
|
|
1799
2399
|
}
|
|
1800
|
-
/** @nocollapse */ XDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDateRangeComponent, deps: [{ token: i0.Renderer2 }, { token: i2.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2$1.XPortalService }, { token: i0.ViewContainerRef }, { token: i1.DatePipe }, { token:
|
|
1801
|
-
/** @nocollapse */ XDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDateRangeComponent, selector: "x-date-range", providers: [XValueAccessor(XDateRangeComponent), DatePipe], viewQueries: [{ propertyName: "dateRange", first: true, predicate: ["dateRange"], descendants: true, static: true }, { propertyName: "inputGroup", first: true, predicate: ["inputGroup"], descendants: true, static: true }, { propertyName: "inputStartCom", first: true, predicate: ["inputStartCom"], descendants: true, static: true }, { propertyName: "inputEndCom", first: true, predicate: ["inputEndCom"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #dateRange\r\n class=\"x-date-range\"\r\n [class.x-date-range-active]=\"active\"\r\n [class.x-date-range-active-start]=\"activeType === 'start'\"\r\n [class.x-date-range-active-end]=\"activeType === 'end'\"\r\n>\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" (mouseenter)=\"menter()\" (mouseleave)=\"mleave()\" (click)=\"showPortal($event)\">\r\n <x-input\r\n #inputStartCom\r\n class=\"x-data-range-input-start\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n placeholder=\"\u5F00\u59CB\u65E5\u671F\"\r\n (xFocus)=\"onFocus('start')\"\r\n (xClick)=\"showPortal($event, 'start')\"\r\n [(ngModel)]=\"startDisplay\"\r\n ></x-input>\r\n <x-icon class=\"x-date-range-icon\" type=\"fto-arrow-right\"></x-icon>\r\n <x-input\r\n #inputEndCom\r\n class=\"x-data-range-input-end\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n placeholder=\"\u7ED3\u675F\u65E5\u671F\"\r\n (xFocus)=\"onFocus('end')\"\r\n (xClick)=\"showPortal($event, 'end')\"\r\n [(ngModel)]=\"endDisplay\"\r\n [icon]=\"icon\"\r\n (clearEmit)=\"clearEmit()\"\r\n [clearable]=\"showClearable\"\r\n ></x-input>\r\n <div *ngIf=\"active\" class=\"x-date-range-active-bar\"></div>\r\n </x-input-group>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block}.x-date-range{margin:0;padding:0;width:100%}.x-date-range-row{flex:1;display:flex;align-items:center}.x-date-range-group{display:inline-flex;flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow)}.x-date-range-group .x-input-group{display:flex;align-items:center;position:relative}.x-date-range-group .x-input-group .x-date-range-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2;font-size:1rem;width:1.8rem}.x-date-range-group .x-input-group>x-input input{padding-left:0!important;padding-right:0!important;background-color:transparent;margin-left:.4rem;margin-right:.4rem;border-radius:0}.x-date-range-group .x-input-group>x-input.x-data-range-input-start{width:6rem}.x-date-range-group .x-input-group>x-input.x-data-range-input-end{width:7.8rem}.x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-active-bar{position:absolute;height:.125rem;margin-left:.4rem;bottom:-.0625rem;width:calc(50% - 2.2rem);background-color:var(--x-primary);transition:var(--x-animation-duration-base)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}.x-date-range-active-start .x-date-range-active-bar{left:0}.x-date-range-active-end .x-date-range-active-bar{left:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.XInputComponent, selector: "x-input" }, { kind: "component", type: i6.XInputGroupComponent, selector: "x-input-group" }, { kind: "component", type: i7.XIconComponent, selector: "x-icon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2400
|
+
/** @nocollapse */ XDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDateRangeComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2$1.XPortalService }, { token: i0.ViewContainerRef }, { token: i1.DatePipe }, { token: i5$1.Overlay }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2401
|
+
/** @nocollapse */ XDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XDateRangeComponent, selector: "x-date-range", providers: [XValueAccessor(XDateRangeComponent), DatePipe], viewQueries: [{ propertyName: "dateRange", first: true, predicate: ["dateRange"], descendants: true, static: true }, { propertyName: "inputGroup", first: true, predicate: ["inputGroup"], descendants: true, static: true }, { propertyName: "inputStartCom", first: true, predicate: ["inputStartCom"], descendants: true, static: true }, { propertyName: "inputEndCom", first: true, predicate: ["inputEndCom"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #dateRange\r\n class=\"x-date-range\"\r\n [ngClass]=\"classMap\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-date-range-bordered]=\"bordered\"\r\n [class.x-date-range-active]=\"active\"\r\n [class.x-date-range-active-start]=\"activeType === 'start'\"\r\n [class.x-date-range-active-end]=\"activeType === 'end'\"\r\n>\r\n <label *ngIf=\"label\" [class.x-date-range-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" (mouseenter)=\"menter()\" (mouseleave)=\"mleave()\" (click)=\"showPortal($event)\">\r\n <x-input\r\n #inputStartCom\r\n class=\"x-data-range-input x-data-range-input-start\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"getStartPlaceholder\"\r\n (xFocus)=\"onFocus('start')\"\r\n (xClick)=\"showPortal($event, 'start')\"\r\n [(ngModel)]=\"startDisplay\"\r\n icon=\"fto-arrow-right\"\r\n ></x-input>\r\n <x-input\r\n #inputEndCom\r\n class=\"x-data-range-input x-data-range-input-end\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"getEndPlaceholder\"\r\n (xFocus)=\"onFocus('end')\"\r\n (xClick)=\"showPortal($event, 'end')\"\r\n [(ngModel)]=\"endDisplay\"\r\n [icon]=\"icon\"\r\n (clearEmit)=\"clearEmit()\"\r\n [clearable]=\"showClearable\"\r\n ></x-input>\r\n <div *ngIf=\"active\" class=\"x-date-range-active-bar\"></div>\r\n </x-input-group>\r\n <span class=\"x-date-range-error-message\" *ngIf=\"invalid\">{{ invalidMessage }}</span>\r\n <ng-container *ngIf=\"requiredIsEmpty || invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block;width:15.6rem}x-date-range.x-date-range-date-time{width:23rem}x-date-range.x-date-range-date-minute{width:21rem}x-date-range.x-date-range-date-hour{width:19rem}.x-date-range{margin:0;padding:0;width:100%}.x-date-range.x-flex{display:flex}.x-date-range.x-justify-start{justify-content:flex-start}.x-date-range.x-justify-center{justify-content:center}.x-date-range.x-justify-end{justify-content:flex-end}.x-date-range.x-justify-space-between{justify-content:space-between}.x-date-range.x-justify-space-around{justify-content:space-around}.x-date-range.x-align-start{align-items:flex-start}.x-date-range.x-align-center{align-items:center}.x-date-range.x-align-end{align-items:flex-end}.x-date-range.x-direction-column{flex-direction:column}.x-date-range.x-direction-column-reverse{flex-direction:column-reverse}.x-date-range.x-direction-row{flex-direction:row}.x-date-range.x-direction-row-reverse{flex-direction:row-reverse}.x-date-range>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-date-range>label.x-text-align-start{text-align:start}.x-date-range>label.x-text-align-center{text-align:center}.x-date-range>label.x-text-align-end{text-align:end}.x-date-range.x-direction-row>label{padding:0 .5rem 0 0}.x-date-range.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-date-range.x-direction-column,.x-date-range.x-direction-column-reverse{align-items:inherit}.x-date-range-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-date-range-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size) + .45rem) * -1);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-date-range.x-invalid>label,.x-date-range.x-required>label{color:var(--x-danger)}.x-date-range.x-invalid .x-date-range-input x-icon,.x-date-range.x-required .x-date-range-input x-icon{color:var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error,.x-date-range.x-required .x-date-range-row .x-border-error{position:absolute;height:.5rem;width:.5rem;z-index:10}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-top-left,.x-date-range.x-required .x-date-range-row .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-top-right,.x-date-range.x-required .x-date-range-row .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-bottom-left,.x-date-range.x-required .x-date-range-row .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-bottom-right,.x-date-range.x-required .x-date-range-row .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-date-range-row{flex:1;display:flex;align-items:center;position:relative}.x-date-range-group{width:100%;font-size:var(--x-font-size);background-image:none;box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow)}.x-date-range-group .x-input-group{display:flex;align-items:center;position:relative}.x-date-range-group .x-input-group>x-input{flex:1;width:50%}.x-date-range-group .x-input-group>x-input input{padding-left:.4rem!important;padding-right:.4rem!important}.x-date-range-bordered .x-date-range-group{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-date-range-bordered .x-date-range-group .x-input-group>x-input input{background-color:transparent;border-radius:0}.x-date-range-bordered:not(.x-disabled) .x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-active-bar{position:absolute;height:.125rem;margin-left:.4rem;bottom:-.0625rem;width:calc(50% - 2.2rem);background-color:var(--x-primary);transition:var(--x-animation-duration-base)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}.x-date-range-active-start .x-date-range-active-bar{left:0}.x-date-range-active-end .x-date-range-active-bar{left:50%}.x-date-range-big>.x-date-range-row .x-date-range-input input{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-big>.x-date-range-row{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-large>.x-date-range-row .x-date-range-input input{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-large>.x-date-range-row{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-medium>.x-date-range-row .x-date-range-input input{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-medium>.x-date-range-row{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-small>.x-date-range-row .x-date-range-input input{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-small>.x-date-range-row{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-mini>.x-date-range-row .x-date-range-input input{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-date-range-mini>.x-date-range-row{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-date-range-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.XInputComponent, selector: "x-input" }, { kind: "component", type: i7.XInputGroupComponent, selector: "x-input-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
1802
2402
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XDateRangeComponent, decorators: [{
|
|
1803
2403
|
type: Component,
|
|
1804
|
-
args: [{ selector: `${XDateRangePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XDateRangeComponent), DatePipe], template: "<div\r\n #dateRange\r\n class=\"x-date-range\"\r\n [class.x-date-range-active]=\"active\"\r\n [class.x-date-range-active-start]=\"activeType === 'start'\"\r\n [class.x-date-range-active-end]=\"activeType === 'end'\"\r\n>\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" (mouseenter)=\"menter()\" (mouseleave)=\"mleave()\" (click)=\"showPortal($event)\">\r\n <x-input\r\n #inputStartCom\r\n class=\"x-data-range-input-start\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n
|
|
1805
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i2.XConfigService }, { type: i0.ChangeDetectorRef }, { type: i2$1.XPortalService }, { type: i0.ViewContainerRef }, { type: i1.DatePipe }, { type:
|
|
2404
|
+
args: [{ selector: `${XDateRangePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XDateRangeComponent), DatePipe], template: "<div\r\n #dateRange\r\n class=\"x-date-range\"\r\n [ngClass]=\"classMap\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-date-range-bordered]=\"bordered\"\r\n [class.x-date-range-active]=\"active\"\r\n [class.x-date-range-active-start]=\"activeType === 'start'\"\r\n [class.x-date-range-active-end]=\"activeType === 'end'\"\r\n>\r\n <label *ngIf=\"label\" [class.x-date-range-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" (mouseenter)=\"menter()\" (mouseleave)=\"mleave()\" (click)=\"showPortal($event)\">\r\n <x-input\r\n #inputStartCom\r\n class=\"x-data-range-input x-data-range-input-start\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"getStartPlaceholder\"\r\n (xFocus)=\"onFocus('start')\"\r\n (xClick)=\"showPortal($event, 'start')\"\r\n [(ngModel)]=\"startDisplay\"\r\n icon=\"fto-arrow-right\"\r\n ></x-input>\r\n <x-input\r\n #inputEndCom\r\n class=\"x-data-range-input x-data-range-input-end\"\r\n type=\"text\"\r\n bordered=\"false\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n [placeholder]=\"getEndPlaceholder\"\r\n (xFocus)=\"onFocus('end')\"\r\n (xClick)=\"showPortal($event, 'end')\"\r\n [(ngModel)]=\"endDisplay\"\r\n [icon]=\"icon\"\r\n (clearEmit)=\"clearEmit()\"\r\n [clearable]=\"showClearable\"\r\n ></x-input>\r\n <div *ngIf=\"active\" class=\"x-date-range-active-bar\"></div>\r\n </x-input-group>\r\n <span class=\"x-date-range-error-message\" *ngIf=\"invalid\">{{ invalidMessage }}</span>\r\n <ng-container *ngIf=\"requiredIsEmpty || invalid\">\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block;width:15.6rem}x-date-range.x-date-range-date-time{width:23rem}x-date-range.x-date-range-date-minute{width:21rem}x-date-range.x-date-range-date-hour{width:19rem}.x-date-range{margin:0;padding:0;width:100%}.x-date-range.x-flex{display:flex}.x-date-range.x-justify-start{justify-content:flex-start}.x-date-range.x-justify-center{justify-content:center}.x-date-range.x-justify-end{justify-content:flex-end}.x-date-range.x-justify-space-between{justify-content:space-between}.x-date-range.x-justify-space-around{justify-content:space-around}.x-date-range.x-align-start{align-items:flex-start}.x-date-range.x-align-center{align-items:center}.x-date-range.x-align-end{align-items:flex-end}.x-date-range.x-direction-column{flex-direction:column}.x-date-range.x-direction-column-reverse{flex-direction:column-reverse}.x-date-range.x-direction-row{flex-direction:row}.x-date-range.x-direction-row-reverse{flex-direction:row-reverse}.x-date-range>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-date-range>label.x-text-align-start{text-align:start}.x-date-range>label.x-text-align-center{text-align:center}.x-date-range>label.x-text-align-end{text-align:end}.x-date-range.x-direction-row>label{padding:0 .5rem 0 0}.x-date-range.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-date-range.x-direction-column,.x-date-range.x-direction-column-reverse{align-items:inherit}.x-date-range-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-date-range-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size) + .45rem) * -1);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-date-range.x-invalid>label,.x-date-range.x-required>label{color:var(--x-danger)}.x-date-range.x-invalid .x-date-range-input x-icon,.x-date-range.x-required .x-date-range-input x-icon{color:var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error,.x-date-range.x-required .x-date-range-row .x-border-error{position:absolute;height:.5rem;width:.5rem;z-index:10}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-top-left,.x-date-range.x-required .x-date-range-row .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-top-right,.x-date-range.x-required .x-date-range-row .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-bottom-left,.x-date-range.x-required .x-date-range-row .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-date-range.x-invalid .x-date-range-row .x-border-error.x-bottom-right,.x-date-range.x-required .x-date-range-row .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-date-range-row{flex:1;display:flex;align-items:center;position:relative}.x-date-range-group{width:100%;font-size:var(--x-font-size);background-image:none;box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow)}.x-date-range-group .x-input-group{display:flex;align-items:center;position:relative}.x-date-range-group .x-input-group>x-input{flex:1;width:50%}.x-date-range-group .x-input-group>x-input input{padding-left:.4rem!important;padding-right:.4rem!important}.x-date-range-bordered .x-date-range-group{border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius)}.x-date-range-bordered .x-date-range-group .x-input-group>x-input input{background-color:transparent;border-radius:0}.x-date-range-bordered:not(.x-disabled) .x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-active-bar{position:absolute;height:.125rem;margin-left:.4rem;bottom:-.0625rem;width:calc(50% - 2.2rem);background-color:var(--x-primary);transition:var(--x-animation-duration-base)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}.x-date-range-active-start .x-date-range-active-bar{left:0}.x-date-range-active-end .x-date-range-active-bar{left:50%}.x-date-range-big>.x-date-range-row .x-date-range-input input{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-big>.x-date-range-row{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-date-range-large>.x-date-range-row .x-date-range-input input{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-large>.x-date-range-row{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-date-range-medium>.x-date-range-row .x-date-range-input input{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-medium>.x-date-range-row{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-date-range-small>.x-date-range-row .x-date-range-input input{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-small>.x-date-range-row{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-date-range-mini>.x-date-range-row .x-date-range-input input{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-date-range-mini>.x-date-range-row{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-date-range-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"] }]
|
|
2405
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.XConfigService }, { type: i0.ChangeDetectorRef }, { type: i2$1.XPortalService }, { type: i0.ViewContainerRef }, { type: i1.DatePipe }, { type: i5$1.Overlay }, { type: i3.XI18nService }]; }, propDecorators: { dateRange: [{
|
|
1806
2406
|
type: ViewChild,
|
|
1807
2407
|
args: ['dateRange', { static: true }]
|
|
1808
2408
|
}], inputGroup: [{
|
|
@@ -1836,6 +2436,7 @@ class XDatePickerModule {
|
|
|
1836
2436
|
XPortalModule,
|
|
1837
2437
|
XTimePickerModule,
|
|
1838
2438
|
XInputModule,
|
|
2439
|
+
XLinkModule,
|
|
1839
2440
|
XButtonModule,
|
|
1840
2441
|
XIconModule,
|
|
1841
2442
|
XI18nModule,
|
|
@@ -1851,6 +2452,7 @@ class XDatePickerModule {
|
|
|
1851
2452
|
XPortalModule,
|
|
1852
2453
|
XTimePickerModule,
|
|
1853
2454
|
XInputModule,
|
|
2455
|
+
XLinkModule,
|
|
1854
2456
|
XButtonModule,
|
|
1855
2457
|
XIconModule,
|
|
1856
2458
|
XI18nModule,
|
|
@@ -1887,6 +2489,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
1887
2489
|
XPortalModule,
|
|
1888
2490
|
XTimePickerModule,
|
|
1889
2491
|
XInputModule,
|
|
2492
|
+
XLinkModule,
|
|
1890
2493
|
XButtonModule,
|
|
1891
2494
|
XIconModule,
|
|
1892
2495
|
XI18nModule,
|
|
@@ -1901,4 +2504,3 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
|
|
|
1901
2504
|
|
|
1902
2505
|
export { XDatePickerComponent, XDatePickerModule, XDatePickerPortalComponent, XDatePickerPortalPrefix, XDatePickerPrefix, XDatePickerProperty, XDateRangeComponent, XDateRangePortalComponent, XDateRangePortalPrefix, XDateRangePrefix, XDateRangeProperty, XPickerDateComponent, XPickerDatePrefix, XPickerDateProperty, XPickerMonthComponent, XPickerMonthPrefix, XPickerMonthProperty, XPickerYearComponent, XPickerYearPrefix, XPickerYearProperty };
|
|
1903
2506
|
//# sourceMappingURL=ng-nest-ui-date-picker.mjs.map
|
|
1904
|
-
//# sourceMappingURL=ng-nest-ui-date-picker.mjs.map
|