@imihai/angular-datetime-picker 21.0.0 → 21.0.2

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.
Files changed (115) hide show
  1. package/assets/style/picker.min.css +1 -0
  2. package/fesm2022/imihai-angular-datetime-picker.mjs +5845 -0
  3. package/fesm2022/imihai-angular-datetime-picker.mjs.map +1 -0
  4. package/imihai-angular-datetime-picker-21.0.2.tgz +0 -0
  5. package/package.json +33 -77
  6. package/types/imihai-angular-datetime-picker.d.ts +2193 -0
  7. package/.browserslistrc +0 -9
  8. package/.editorconfig +0 -13
  9. package/.eslintrc.js +0 -208
  10. package/.github/workflows/ci_test.yml +0 -35
  11. package/.prettierrc +0 -2
  12. package/.travis.yml +0 -16
  13. package/LICENSE +0 -22
  14. package/README.md +0 -194
  15. package/angular.json +0 -221
  16. package/e2e/protractor.conf.js +0 -28
  17. package/e2e/src/app.e2e-spec.ts +0 -14
  18. package/e2e/src/app.po.ts +0 -11
  19. package/e2e/tsconfig.e2e.json +0 -13
  20. package/projects/picker/karma.conf.js +0 -62
  21. package/projects/picker/ng-package.json +0 -7
  22. package/projects/picker/package.json +0 -28
  23. package/projects/picker/src/lib/date-time/adapter/date-time-adapter.class.ts +0 -313
  24. package/projects/picker/src/lib/date-time/adapter/date-time-format.class.ts +0 -18
  25. package/projects/picker/src/lib/date-time/adapter/luxon-date-time-adapter.class.ts +0 -307
  26. package/projects/picker/src/lib/date-time/adapter/luxon-date-time-format.class.ts +0 -11
  27. package/projects/picker/src/lib/date-time/adapter/luxon-date-time.module.ts +0 -31
  28. package/projects/picker/src/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-adapter.class.ts +0 -356
  29. package/projects/picker/src/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-format.class.ts +0 -14
  30. package/projects/picker/src/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time.module.ts +0 -26
  31. package/projects/picker/src/lib/date-time/calendar-body.component.html +0 -38
  32. package/projects/picker/src/lib/date-time/calendar-body.component.scss +0 -0
  33. package/projects/picker/src/lib/date-time/calendar-body.component.spec.ts +0 -120
  34. package/projects/picker/src/lib/date-time/calendar-body.component.ts +0 -190
  35. package/projects/picker/src/lib/date-time/calendar-month-view.component.html +0 -47
  36. package/projects/picker/src/lib/date-time/calendar-month-view.component.scss +0 -16
  37. package/projects/picker/src/lib/date-time/calendar-month-view.component.spec.ts +0 -394
  38. package/projects/picker/src/lib/date-time/calendar-month-view.component.ts +0 -705
  39. package/projects/picker/src/lib/date-time/calendar-multi-year-view.component.html +0 -44
  40. package/projects/picker/src/lib/date-time/calendar-multi-year-view.component.scss +0 -0
  41. package/projects/picker/src/lib/date-time/calendar-multi-year-view.component.spec.ts +0 -343
  42. package/projects/picker/src/lib/date-time/calendar-multi-year-view.component.ts +0 -465
  43. package/projects/picker/src/lib/date-time/calendar-year-view.component.html +0 -16
  44. package/projects/picker/src/lib/date-time/calendar-year-view.component.scss +0 -0
  45. package/projects/picker/src/lib/date-time/calendar-year-view.component.spec.ts +0 -381
  46. package/projects/picker/src/lib/date-time/calendar-year-view.component.ts +0 -549
  47. package/projects/picker/src/lib/date-time/calendar.component.html +0 -169
  48. package/projects/picker/src/lib/date-time/calendar.component.scss +0 -0
  49. package/projects/picker/src/lib/date-time/calendar.component.spec.ts +0 -592
  50. package/projects/picker/src/lib/date-time/calendar.component.ts +0 -496
  51. package/projects/picker/src/lib/date-time/date-time-inline.component.html +0 -1
  52. package/projects/picker/src/lib/date-time/date-time-inline.component.scss +0 -4
  53. package/projects/picker/src/lib/date-time/date-time-inline.component.ts +0 -365
  54. package/projects/picker/src/lib/date-time/date-time-picker-animation-event.ts +0 -4
  55. package/projects/picker/src/lib/date-time/date-time-picker-container.component.html +0 -126
  56. package/projects/picker/src/lib/date-time/date-time-picker-container.component.scss +0 -0
  57. package/projects/picker/src/lib/date-time/date-time-picker-container.component.ts +0 -631
  58. package/projects/picker/src/lib/date-time/date-time-picker-input.directive.ts +0 -851
  59. package/projects/picker/src/lib/date-time/date-time-picker-intl.service.ts +0 -76
  60. package/projects/picker/src/lib/date-time/date-time-picker-trigger.directive.ts +0 -88
  61. package/projects/picker/src/lib/date-time/date-time-picker.component.html +0 -0
  62. package/projects/picker/src/lib/date-time/date-time-picker.component.scss +0 -0
  63. package/projects/picker/src/lib/date-time/date-time-picker.component.spec.ts +0 -2648
  64. package/projects/picker/src/lib/date-time/date-time-picker.component.ts +0 -731
  65. package/projects/picker/src/lib/date-time/date-time.class.ts +0 -256
  66. package/projects/picker/src/lib/date-time/date-time.module.ts +0 -61
  67. package/projects/picker/src/lib/date-time/numberedFixLen.pipe.ts +0 -28
  68. package/projects/picker/src/lib/date-time/options-provider.ts +0 -44
  69. package/projects/picker/src/lib/date-time/timer-box.component.html +0 -79
  70. package/projects/picker/src/lib/date-time/timer-box.component.scss +0 -0
  71. package/projects/picker/src/lib/date-time/timer-box.component.ts +0 -175
  72. package/projects/picker/src/lib/date-time/timer.component.html +0 -58
  73. package/projects/picker/src/lib/date-time/timer.component.scss +0 -0
  74. package/projects/picker/src/lib/date-time/timer.component.spec.ts +0 -399
  75. package/projects/picker/src/lib/date-time/timer.component.ts +0 -371
  76. package/projects/picker/src/lib/dialog/dialog-config.class.ts +0 -220
  77. package/projects/picker/src/lib/dialog/dialog-container.component.html +0 -1
  78. package/projects/picker/src/lib/dialog/dialog-container.component.scss +0 -0
  79. package/projects/picker/src/lib/dialog/dialog-container.component.ts +0 -231
  80. package/projects/picker/src/lib/dialog/dialog-ref.class.ts +0 -178
  81. package/projects/picker/src/lib/dialog/dialog.module.ts +0 -25
  82. package/projects/picker/src/lib/dialog/dialog.service.ts +0 -353
  83. package/projects/picker/src/lib/utils/array.utils.ts +0 -12
  84. package/projects/picker/src/lib/utils/constants.ts +0 -59
  85. package/projects/picker/src/lib/utils/date.utils.ts +0 -97
  86. package/projects/picker/src/lib/utils/index.ts +0 -5
  87. package/projects/picker/src/lib/utils/object.utils.ts +0 -29
  88. package/projects/picker/src/public_api.ts +0 -56
  89. package/projects/picker/src/sass/picker.scss +0 -743
  90. package/projects/picker/src/test-helpers.ts +0 -125
  91. package/projects/picker/src/test.ts +0 -52
  92. package/projects/picker/tsconfig.lib.json +0 -18
  93. package/projects/picker/tsconfig.lib.prod.json +0 -7
  94. package/projects/picker/tsconfig.spec.json +0 -17
  95. package/projects/picker/tslint.json +0 -8
  96. package/src/app/app.component.html +0 -77
  97. package/src/app/app.component.scss +0 -32
  98. package/src/app/app.component.spec.ts +0 -16
  99. package/src/app/app.component.ts +0 -35
  100. package/src/assets/.gitkeep +0 -0
  101. package/src/environments/environment.prod.ts +0 -3
  102. package/src/environments/environment.ts +0 -16
  103. package/src/favicon.ico +0 -0
  104. package/src/index.html +0 -14
  105. package/src/karma.conf.js +0 -31
  106. package/src/main.ts +0 -16
  107. package/src/polyfills.ts +0 -53
  108. package/src/styles.scss +0 -7
  109. package/src/test.ts +0 -50
  110. package/src/tsconfig.app.json +0 -16
  111. package/src/tsconfig.spec.json +0 -18
  112. package/src/tslint.json +0 -17
  113. package/tsconfig.base.json +0 -29
  114. package/tsconfig.json +0 -30
  115. package/tslint.json +0 -130
@@ -1,44 +0,0 @@
1
- <button class="owl-dt-control-button owl-dt-control-arrow-button"
2
- [disabled]="!previousEnabled()" [attr.aria-label]="prevButtonLabel"
3
- type="button" tabindex="0" (click)="prevYearList($event)">
4
- <span class="owl-dt-control-button-content" tabindex="-1">
5
- <!-- <editor-fold desc="SVG Arrow Left"> -->
6
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
7
- version="1.1" x="0px" y="0px" viewBox="0 0 250.738 250.738"
8
- style="enable-background:new 0 0 250.738 250.738;" xml:space="preserve"
9
- width="100%" height="100%">
10
- <path style="fill-rule: evenodd; clip-rule: evenodd;" d="M96.633,125.369l95.053-94.533c7.101-7.055,7.101-18.492,0-25.546 c-7.1-7.054-18.613-7.054-25.714,0L58.989,111.689c-3.784,3.759-5.487,8.759-5.238,13.68c-0.249,4.922,1.454,9.921,5.238,13.681 l106.983,106.398c7.101,7.055,18.613,7.055,25.714,0c7.101-7.054,7.101-18.491,0-25.544L96.633,125.369z"/>
11
- </svg>
12
- <!-- </editor-fold> -->
13
- </span>
14
- </button>
15
- <table class="owl-dt-calendar-table owl-dt-calendar-multi-year-table">
16
- <thead class="owl-dt-calendar-header">
17
- <tr>
18
- <th colspan="3">{{tableHeader}}</th>
19
- </tr>
20
- </thead>
21
- <tbody owl-date-time-calendar-body role="grid"
22
- [rows]="years" [numCols]="3" [cellRatio]="3 / 7"
23
- [activeCell]="activeCell"
24
- [todayValue]="todayYear"
25
- [selectedValues]="selectedYears"
26
- [selectMode]="selectMode"
27
- (keydown)="handleCalendarKeydown($event)"
28
- (select)="selectCalendarCell($event)"></tbody>
29
- </table>
30
- <button class="owl-dt-control-button owl-dt-control-arrow-button"
31
- [disabled]="!nextEnabled()" [attr.aria-label]="nextButtonLabel"
32
- type="button" tabindex="0" (click)="nextYearList($event)">
33
- <span class="owl-dt-control-button-content" tabindex="-1">
34
- <!-- <editor-fold desc="SVG Arrow Right"> -->
35
- <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
36
- viewBox="0 0 250.738 250.738" style="enable-background:new 0 0 250.738 250.738;" xml:space="preserve">
37
- <path style="fill-rule:evenodd;clip-rule:evenodd;" d="M191.75,111.689L84.766,5.291c-7.1-7.055-18.613-7.055-25.713,0
38
- c-7.101,7.054-7.101,18.49,0,25.544l95.053,94.534l-95.053,94.533c-7.101,7.054-7.101,18.491,0,25.545
39
- c7.1,7.054,18.613,7.054,25.713,0L191.75,139.05c3.784-3.759,5.487-8.759,5.238-13.681
40
- C197.237,120.447,195.534,115.448,191.75,111.689z"/>
41
- </svg>
42
- <!-- </editor-fold> -->
43
- </span>
44
- </button>
@@ -1,343 +0,0 @@
1
- /**
2
- * calendar-multi-year-view.component.spec
3
- */
4
-
5
- import { ComponentFixture, TestBed } from '@angular/core/testing';
6
- import { OwlDateTimeIntl } from './date-time-picker-intl.service';
7
- import { OwlNativeDateTimeModule } from './adapter/native-date-time.module';
8
- import { OwlDateTimeModule } from './date-time.module';
9
- import { Component, DebugElement } from '@angular/core';
10
- import { By } from '@angular/platform-browser';
11
- import {
12
- OwlMultiYearViewComponent,
13
- } from './calendar-multi-year-view.component';
14
- import { dispatchMouseEvent, dispatchKeyboardEvent } from '../../test-helpers';
15
- import {
16
- DOWN_ARROW,
17
- END,
18
- HOME,
19
- LEFT_ARROW,
20
- PAGE_DOWN,
21
- PAGE_UP,
22
- RIGHT_ARROW,
23
- UP_ARROW
24
- } from '@angular/cdk/keycodes';
25
- import { Options, OptionsTokens } from './options-provider';
26
-
27
- const JAN = 0,
28
- FEB = 1,
29
- MAR = 2,
30
- APR = 3,
31
- MAY = 4,
32
- JUN = 5,
33
- JUL = 6,
34
- AUG = 7,
35
- SEP = 8,
36
- OCT = 9,
37
- NOV = 10,
38
- DEC = 11;
39
-
40
- const YEAR_ROWS = 7;
41
- const YEARS_PER_ROW = 3;
42
-
43
- describe('OwlMultiYearViewComponent', () => {
44
- beforeEach(() => {
45
- TestBed.configureTestingModule({
46
- imports: [OwlNativeDateTimeModule, OwlDateTimeModule],
47
- declarations: [
48
- StandardMultiYearViewComponent,
49
- MultiYearViewWithDateFilterComponent
50
- ],
51
- providers: [OwlDateTimeIntl, {
52
- provide: OptionsTokens.multiYear,
53
- useFactory: () =>
54
- ({
55
- yearRows: YEAR_ROWS,
56
- yearsPerRow: YEARS_PER_ROW,
57
- } as Options['multiYear']),
58
- },]
59
- }).compileComponents();
60
- });
61
-
62
- describe('standard multi-years view', () => {
63
- let fixture: ComponentFixture<StandardMultiYearViewComponent>;
64
- let testComponent: StandardMultiYearViewComponent;
65
- let multiYearViewDebugElement: DebugElement;
66
- let multiYearViewElement: HTMLElement;
67
- let multiYearViewInstance: OwlMultiYearViewComponent<Date>;
68
-
69
- beforeEach(() => {
70
- fixture = TestBed.createComponent(StandardMultiYearViewComponent);
71
- fixture.detectChanges();
72
-
73
- multiYearViewDebugElement = fixture.debugElement.query(
74
- By.directive(OwlMultiYearViewComponent)
75
- );
76
- multiYearViewElement = multiYearViewDebugElement.nativeElement;
77
- testComponent = fixture.componentInstance;
78
- multiYearViewInstance = multiYearViewDebugElement.componentInstance;
79
- });
80
-
81
- it('should have correct number of years', () => {
82
- const cellEls = multiYearViewElement.querySelectorAll(
83
- '.owl-dt-calendar-cell'
84
- );
85
- expect(cellEls.length).toBe(YEARS_PER_ROW * YEAR_ROWS);
86
- });
87
-
88
- it('should shows selected year if in same range', () => {
89
- const selectedElContent = multiYearViewElement.querySelector(
90
- '.owl-dt-calendar-cell-selected.owl-dt-calendar-cell-content'
91
- );
92
- expect(selectedElContent.innerHTML.trim()).toBe('2020');
93
- });
94
-
95
- it('should NOT show selected year if in different range', () => {
96
- testComponent.selected = new Date(2040, JAN, 10);
97
- fixture.detectChanges();
98
-
99
- const selectedElContent = multiYearViewElement.querySelector(
100
- '.owl-calendar-body-selected.owl-dt-calendar-cell-content'
101
- );
102
- expect(selectedElContent).toBeNull();
103
- });
104
-
105
- it('should fire change event on cell clicked', () => {
106
- const cellDecember = multiYearViewElement.querySelector(
107
- '[aria-label="2030"]'
108
- );
109
- dispatchMouseEvent(cellDecember, 'click');
110
- fixture.detectChanges();
111
-
112
- const selectedElContent = multiYearViewElement.querySelector(
113
- '.owl-dt-calendar-cell-active .owl-dt-calendar-cell-content'
114
- );
115
- expect(selectedElContent.innerHTML.trim()).toBe('2030');
116
- });
117
-
118
- it('should mark active date', () => {
119
- const cell2017 = multiYearViewElement.querySelector(
120
- '[aria-label="2018"]'
121
- );
122
- expect((cell2017 as HTMLElement).innerText.trim()).toBe('2018');
123
- expect(cell2017.classList).toContain('owl-dt-calendar-cell-active');
124
- });
125
-
126
- it('should decrement year on left arrow press', () => {
127
- const calendarBodyEl = multiYearViewElement.querySelector(
128
- '.owl-dt-calendar-body'
129
- );
130
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', LEFT_ARROW);
131
- fixture.detectChanges();
132
-
133
- expect(multiYearViewInstance.pickerMoment).toEqual(
134
- new Date(2017, JAN, 5)
135
- );
136
-
137
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', LEFT_ARROW);
138
- fixture.detectChanges();
139
-
140
- expect(multiYearViewInstance.pickerMoment).toEqual(
141
- new Date(2016, JAN, 5)
142
- );
143
- });
144
-
145
- it('should increment year on right arrow press', () => {
146
- const calendarBodyEl = multiYearViewElement.querySelector(
147
- '.owl-dt-calendar-body'
148
- );
149
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', RIGHT_ARROW);
150
- fixture.detectChanges();
151
-
152
- expect(multiYearViewInstance.pickerMoment).toEqual(
153
- new Date(2019, JAN, 5)
154
- );
155
-
156
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', RIGHT_ARROW);
157
- fixture.detectChanges();
158
-
159
- expect(multiYearViewInstance.pickerMoment).toEqual(
160
- new Date(2020, JAN, 5)
161
- );
162
- });
163
-
164
- it('should go up a row on up arrow press', () => {
165
- const calendarBodyEl = multiYearViewElement.querySelector(
166
- '.owl-dt-calendar-body'
167
- );
168
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', UP_ARROW);
169
- fixture.detectChanges();
170
-
171
- expect(multiYearViewInstance.pickerMoment).toEqual(
172
- new Date(2018 - YEARS_PER_ROW, JAN, 5)
173
- );
174
-
175
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', UP_ARROW);
176
- fixture.detectChanges();
177
-
178
- expect(multiYearViewInstance.pickerMoment).toEqual(
179
- new Date(2018 - YEARS_PER_ROW * 2, JAN, 5)
180
- );
181
- });
182
-
183
- it('should go down a row on down arrow press', () => {
184
- const calendarBodyEl = multiYearViewElement.querySelector(
185
- '.owl-dt-calendar-body'
186
- );
187
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', DOWN_ARROW);
188
- fixture.detectChanges();
189
-
190
- expect(multiYearViewInstance.pickerMoment).toEqual(
191
- new Date(2018 + YEARS_PER_ROW, JAN, 5)
192
- );
193
-
194
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', DOWN_ARROW);
195
- fixture.detectChanges();
196
-
197
- expect(multiYearViewInstance.pickerMoment).toEqual(
198
- new Date(2018 + YEARS_PER_ROW * 2, JAN, 5)
199
- );
200
- });
201
-
202
- it('should go to first year in current range on home press', () => {
203
- const calendarBodyEl = multiYearViewElement.querySelector(
204
- '.owl-dt-calendar-body'
205
- );
206
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', HOME);
207
- fixture.detectChanges();
208
-
209
- expect(multiYearViewInstance.pickerMoment).toEqual(
210
- new Date(2016, JAN, 5)
211
- );
212
-
213
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', HOME);
214
- fixture.detectChanges();
215
-
216
- expect(multiYearViewInstance.pickerMoment).toEqual(
217
- new Date(2016, JAN, 5)
218
- );
219
- });
220
-
221
- it('should go to last year in current range on end press', () => {
222
- const calendarBodyEl = multiYearViewElement.querySelector(
223
- '.owl-dt-calendar-body'
224
- );
225
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', END);
226
- fixture.detectChanges();
227
-
228
- expect(multiYearViewInstance.pickerMoment).toEqual(
229
- new Date(2036, JAN, 5)
230
- );
231
-
232
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', END);
233
- fixture.detectChanges();
234
-
235
- expect(multiYearViewInstance.pickerMoment).toEqual(
236
- new Date(2036, JAN, 5)
237
- );
238
- });
239
-
240
- it('should go to same index in previous year range page up press', () => {
241
- const calendarBodyEl = multiYearViewElement.querySelector(
242
- '.owl-dt-calendar-body'
243
- );
244
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', PAGE_UP);
245
- fixture.detectChanges();
246
-
247
- expect(multiYearViewInstance.pickerMoment).toEqual(
248
- new Date(2018 - YEARS_PER_ROW * YEAR_ROWS, JAN, 5)
249
- );
250
-
251
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', PAGE_UP);
252
- fixture.detectChanges();
253
-
254
- expect(multiYearViewInstance.pickerMoment).toEqual(
255
- new Date(2018 - YEARS_PER_ROW * YEAR_ROWS * 2, JAN, 5)
256
- );
257
- });
258
-
259
- it('should go to same index in next year range on page down press', () => {
260
- const calendarBodyEl = multiYearViewElement.querySelector(
261
- '.owl-dt-calendar-body'
262
- );
263
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', PAGE_DOWN);
264
- fixture.detectChanges();
265
-
266
- expect(multiYearViewInstance.pickerMoment).toEqual(
267
- new Date(2018 + YEARS_PER_ROW * YEAR_ROWS, JAN, 5)
268
- );
269
-
270
- dispatchKeyboardEvent(calendarBodyEl, 'keydown', PAGE_DOWN);
271
- fixture.detectChanges();
272
-
273
- expect(multiYearViewInstance.pickerMoment).toEqual(
274
- new Date(2018 + YEARS_PER_ROW * YEAR_ROWS * 2, JAN, 5)
275
- );
276
- });
277
- });
278
-
279
- describe('multi-years view with date filter', () => {
280
- let fixture: ComponentFixture<MultiYearViewWithDateFilterComponent>;
281
- let multiYearViewElement: Element;
282
-
283
- beforeEach(() => {
284
- fixture = TestBed.createComponent(
285
- MultiYearViewWithDateFilterComponent
286
- );
287
- fixture.detectChanges();
288
-
289
- const multiYearViewDebugElement = fixture.debugElement.query(
290
- By.directive(OwlMultiYearViewComponent)
291
- );
292
- multiYearViewElement = multiYearViewDebugElement.nativeElement;
293
- });
294
-
295
- it('should disable filtered years', () => {
296
- const cell2018 = multiYearViewElement.querySelector(
297
- '[aria-label="2018"]'
298
- );
299
- const cell2019 = multiYearViewElement.querySelector(
300
- '[aria-label="2019"]'
301
- );
302
- expect(cell2019.classList).not.toContain(
303
- 'owl-dt-calendar-cell-disabled'
304
- );
305
- expect(cell2018.classList).toContain(
306
- 'owl-dt-calendar-cell-disabled'
307
- );
308
- });
309
- });
310
- });
311
-
312
- @Component({
313
- standalone: false,
314
- template: `
315
- <owl-date-time-multi-year-view
316
- [selected]="selected"
317
- [(pickerMoment)]="pickerMoment"
318
- (change)="handleChange($event)"></owl-date-time-multi-year-view>
319
- `
320
- })
321
- class StandardMultiYearViewComponent {
322
- selected = new Date(2020, JAN, 10);
323
- pickerMoment = new Date(2018, JAN, 5);
324
-
325
- handleChange(date: Date): void {
326
- this.pickerMoment = new Date(date);
327
- }
328
- }
329
-
330
- @Component({
331
- standalone: false,
332
- template: `
333
- <owl-date-time-multi-year-view
334
- [(pickerMoment)]="pickerMoment"
335
- [dateFilter]="dateFilter"></owl-date-time-multi-year-view>
336
- `
337
- })
338
- class MultiYearViewWithDateFilterComponent {
339
- pickerMoment = new Date(2018, JAN, 1);
340
- dateFilter(date: Date) {
341
- return date.getFullYear() !== 2018;
342
- }
343
- }