@imihai/angular-datetime-picker 22.0.0 → 22.0.8

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 (113) hide show
  1. package/assets/style/picker.min.css +1 -0
  2. package/fesm2022/imihai-angular-datetime-picker.mjs +5843 -0
  3. package/fesm2022/imihai-angular-datetime-picker.mjs.map +1 -0
  4. package/imihai-angular-datetime-picker-22.0.8.tgz +0 -0
  5. package/package.json +34 -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/angular.json +0 -221
  14. package/e2e/protractor.conf.js +0 -28
  15. package/e2e/src/app.e2e-spec.ts +0 -14
  16. package/e2e/src/app.po.ts +0 -11
  17. package/e2e/tsconfig.e2e.json +0 -13
  18. package/projects/picker/karma.conf.js +0 -62
  19. package/projects/picker/ng-package.json +0 -7
  20. package/projects/picker/package.json +0 -23
  21. package/projects/picker/src/lib/date-time/adapter/date-time-adapter.class.ts +0 -313
  22. package/projects/picker/src/lib/date-time/adapter/date-time-format.class.ts +0 -18
  23. package/projects/picker/src/lib/date-time/adapter/luxon-date-time-adapter.class.ts +0 -307
  24. package/projects/picker/src/lib/date-time/adapter/luxon-date-time-format.class.ts +0 -11
  25. package/projects/picker/src/lib/date-time/adapter/luxon-date-time.module.ts +0 -31
  26. package/projects/picker/src/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-adapter.class.ts +0 -356
  27. package/projects/picker/src/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time-format.class.ts +0 -14
  28. package/projects/picker/src/lib/date-time/adapter/unix-timestamp-adapter/unix-timestamp-date-time.module.ts +0 -26
  29. package/projects/picker/src/lib/date-time/calendar-body.component.html +0 -38
  30. package/projects/picker/src/lib/date-time/calendar-body.component.scss +0 -0
  31. package/projects/picker/src/lib/date-time/calendar-body.component.spec.ts +0 -120
  32. package/projects/picker/src/lib/date-time/calendar-body.component.ts +0 -190
  33. package/projects/picker/src/lib/date-time/calendar-month-view.component.html +0 -47
  34. package/projects/picker/src/lib/date-time/calendar-month-view.component.scss +0 -16
  35. package/projects/picker/src/lib/date-time/calendar-month-view.component.spec.ts +0 -394
  36. package/projects/picker/src/lib/date-time/calendar-month-view.component.ts +0 -705
  37. package/projects/picker/src/lib/date-time/calendar-multi-year-view.component.html +0 -44
  38. package/projects/picker/src/lib/date-time/calendar-multi-year-view.component.scss +0 -0
  39. package/projects/picker/src/lib/date-time/calendar-multi-year-view.component.spec.ts +0 -343
  40. package/projects/picker/src/lib/date-time/calendar-multi-year-view.component.ts +0 -465
  41. package/projects/picker/src/lib/date-time/calendar-year-view.component.html +0 -16
  42. package/projects/picker/src/lib/date-time/calendar-year-view.component.scss +0 -0
  43. package/projects/picker/src/lib/date-time/calendar-year-view.component.spec.ts +0 -381
  44. package/projects/picker/src/lib/date-time/calendar-year-view.component.ts +0 -549
  45. package/projects/picker/src/lib/date-time/calendar.component.html +0 -169
  46. package/projects/picker/src/lib/date-time/calendar.component.scss +0 -0
  47. package/projects/picker/src/lib/date-time/calendar.component.spec.ts +0 -592
  48. package/projects/picker/src/lib/date-time/calendar.component.ts +0 -496
  49. package/projects/picker/src/lib/date-time/date-time-inline.component.html +0 -1
  50. package/projects/picker/src/lib/date-time/date-time-inline.component.scss +0 -4
  51. package/projects/picker/src/lib/date-time/date-time-inline.component.ts +0 -365
  52. package/projects/picker/src/lib/date-time/date-time-picker-animation-event.ts +0 -4
  53. package/projects/picker/src/lib/date-time/date-time-picker-container.component.html +0 -126
  54. package/projects/picker/src/lib/date-time/date-time-picker-container.component.scss +0 -0
  55. package/projects/picker/src/lib/date-time/date-time-picker-container.component.ts +0 -631
  56. package/projects/picker/src/lib/date-time/date-time-picker-input.directive.ts +0 -851
  57. package/projects/picker/src/lib/date-time/date-time-picker-intl.service.ts +0 -76
  58. package/projects/picker/src/lib/date-time/date-time-picker-trigger.directive.ts +0 -88
  59. package/projects/picker/src/lib/date-time/date-time-picker.component.html +0 -0
  60. package/projects/picker/src/lib/date-time/date-time-picker.component.scss +0 -0
  61. package/projects/picker/src/lib/date-time/date-time-picker.component.spec.ts +0 -2648
  62. package/projects/picker/src/lib/date-time/date-time-picker.component.ts +0 -731
  63. package/projects/picker/src/lib/date-time/date-time.class.ts +0 -256
  64. package/projects/picker/src/lib/date-time/date-time.module.ts +0 -61
  65. package/projects/picker/src/lib/date-time/numberedFixLen.pipe.ts +0 -28
  66. package/projects/picker/src/lib/date-time/options-provider.ts +0 -44
  67. package/projects/picker/src/lib/date-time/timer-box.component.html +0 -79
  68. package/projects/picker/src/lib/date-time/timer-box.component.scss +0 -0
  69. package/projects/picker/src/lib/date-time/timer-box.component.ts +0 -175
  70. package/projects/picker/src/lib/date-time/timer.component.html +0 -58
  71. package/projects/picker/src/lib/date-time/timer.component.scss +0 -0
  72. package/projects/picker/src/lib/date-time/timer.component.spec.ts +0 -399
  73. package/projects/picker/src/lib/date-time/timer.component.ts +0 -371
  74. package/projects/picker/src/lib/dialog/dialog-config.class.ts +0 -220
  75. package/projects/picker/src/lib/dialog/dialog-container.component.html +0 -1
  76. package/projects/picker/src/lib/dialog/dialog-container.component.scss +0 -0
  77. package/projects/picker/src/lib/dialog/dialog-container.component.ts +0 -231
  78. package/projects/picker/src/lib/dialog/dialog-ref.class.ts +0 -178
  79. package/projects/picker/src/lib/dialog/dialog.module.ts +0 -25
  80. package/projects/picker/src/lib/dialog/dialog.service.ts +0 -353
  81. package/projects/picker/src/lib/utils/array.utils.ts +0 -12
  82. package/projects/picker/src/lib/utils/constants.ts +0 -59
  83. package/projects/picker/src/lib/utils/date.utils.ts +0 -97
  84. package/projects/picker/src/lib/utils/index.ts +0 -5
  85. package/projects/picker/src/lib/utils/object.utils.ts +0 -29
  86. package/projects/picker/src/public_api.ts +0 -56
  87. package/projects/picker/src/sass/picker.scss +0 -743
  88. package/projects/picker/src/test-helpers.ts +0 -125
  89. package/projects/picker/src/test.ts +0 -52
  90. package/projects/picker/tsconfig.lib.json +0 -19
  91. package/projects/picker/tsconfig.lib.prod.json +0 -7
  92. package/projects/picker/tsconfig.spec.json +0 -17
  93. package/projects/picker/tslint.json +0 -8
  94. package/src/app/app.component.html +0 -77
  95. package/src/app/app.component.scss +0 -32
  96. package/src/app/app.component.spec.ts +0 -16
  97. package/src/app/app.component.ts +0 -35
  98. package/src/assets/.gitkeep +0 -0
  99. package/src/environments/environment.prod.ts +0 -3
  100. package/src/environments/environment.ts +0 -16
  101. package/src/favicon.ico +0 -0
  102. package/src/index.html +0 -14
  103. package/src/karma.conf.js +0 -31
  104. package/src/main.ts +0 -16
  105. package/src/polyfills.ts +0 -53
  106. package/src/styles.scss +0 -7
  107. package/src/test.ts +0 -50
  108. package/src/tsconfig.app.json +0 -16
  109. package/src/tsconfig.spec.json +0 -18
  110. package/src/tslint.json +0 -17
  111. package/tsconfig.base.json +0 -31
  112. package/tsconfig.json +0 -30
  113. 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
- }