@ni/nimble-angular 17.1.0 → 17.1.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.
- package/esm2020/table-column/date-text/ni-nimble-angular-table-column-date-text.mjs +5 -0
- package/esm2020/table-column/date-text/nimble-table-column-date-text.directive.mjs +305 -0
- package/esm2020/table-column/date-text/nimble-table-column-date-text.module.mjs +19 -0
- package/esm2020/table-column/date-text/public-api.mjs +3 -0
- package/esm2020/table-column/nimble-table-column-base.directive.mjs +7 -1
- package/fesm2015/ni-nimble-angular-table-column-date-text.mjs +327 -0
- package/fesm2015/ni-nimble-angular-table-column-date-text.mjs.map +1 -0
- package/fesm2015/ni-nimble-angular-table-column.mjs +6 -0
- package/fesm2015/ni-nimble-angular-table-column.mjs.map +1 -1
- package/fesm2020/ni-nimble-angular-table-column-date-text.mjs +327 -0
- package/fesm2020/ni-nimble-angular-table-column-date-text.mjs.map +1 -0
- package/fesm2020/ni-nimble-angular-table-column.mjs +6 -0
- package/fesm2020/ni-nimble-angular-table-column.mjs.map +1 -1
- package/package.json +10 -2
- package/table-column/date-text/index.d.ts +5 -0
- package/table-column/date-text/nimble-table-column-date-text.directive.d.ts +82 -0
- package/table-column/date-text/nimble-table-column-date-text.module.d.ts +9 -0
- package/table-column/date-text/public-api.d.ts +2 -0
- package/table-column/nimble-table-column-base.directive.d.ts +4 -2
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmktbmltYmxlLWFuZ3VsYXItdGFibGUtY29sdW1uLWRhdGUtdGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbi9kYXRlLXRleHQvbmktbmltYmxlLWFuZ3VsYXItdGFibGUtY29sdW1uLWRhdGUtdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { tableColumnDateTextTag } from '@ni/nimble-components/dist/esm/table-column/date-text';
|
|
3
|
+
import { toBooleanProperty, toNullableNumberProperty } from '@ni/nimble-angular/internal-utilities';
|
|
4
|
+
import { NimbleTableColumnBaseDirective } from '@ni/nimble-angular/table-column';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export { tableColumnDateTextTag };
|
|
7
|
+
/**
|
|
8
|
+
* Directive to provide Angular integration for the table column element for date text.
|
|
9
|
+
*/
|
|
10
|
+
export class NimbleTableColumnDateTextDirective extends NimbleTableColumnBaseDirective {
|
|
11
|
+
constructor(renderer, elementRef) {
|
|
12
|
+
super(renderer, elementRef);
|
|
13
|
+
}
|
|
14
|
+
get fieldName() {
|
|
15
|
+
return this.elementRef.nativeElement.fieldName;
|
|
16
|
+
}
|
|
17
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
18
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
19
|
+
set fieldName(value) {
|
|
20
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'fieldName', value);
|
|
21
|
+
}
|
|
22
|
+
get format() {
|
|
23
|
+
return this.elementRef.nativeElement.format;
|
|
24
|
+
}
|
|
25
|
+
set format(value) {
|
|
26
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'format', value);
|
|
27
|
+
}
|
|
28
|
+
get customLocaleMatcher() {
|
|
29
|
+
return this.elementRef.nativeElement.customLocaleMatcher;
|
|
30
|
+
}
|
|
31
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
32
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
33
|
+
set customLocaleMatcher(value) {
|
|
34
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customLocaleMatcher', value);
|
|
35
|
+
}
|
|
36
|
+
get customWeekday() {
|
|
37
|
+
return this.elementRef.nativeElement.customWeekday;
|
|
38
|
+
}
|
|
39
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
40
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
41
|
+
set customWeekday(value) {
|
|
42
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customWeekday', value);
|
|
43
|
+
}
|
|
44
|
+
get customEra() {
|
|
45
|
+
return this.elementRef.nativeElement.customEra;
|
|
46
|
+
}
|
|
47
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
48
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
49
|
+
set customEra(value) {
|
|
50
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customEra', value);
|
|
51
|
+
}
|
|
52
|
+
get customYear() {
|
|
53
|
+
return this.elementRef.nativeElement.customYear;
|
|
54
|
+
}
|
|
55
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
56
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
57
|
+
set customYear(value) {
|
|
58
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customYear', value);
|
|
59
|
+
}
|
|
60
|
+
get customMonth() {
|
|
61
|
+
return this.elementRef.nativeElement.customMonth;
|
|
62
|
+
}
|
|
63
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
64
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
65
|
+
set customMonth(value) {
|
|
66
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customMonth', value);
|
|
67
|
+
}
|
|
68
|
+
get customDay() {
|
|
69
|
+
return this.elementRef.nativeElement.customDay;
|
|
70
|
+
}
|
|
71
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
72
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
73
|
+
set customDay(value) {
|
|
74
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customDay', value);
|
|
75
|
+
}
|
|
76
|
+
get customHour() {
|
|
77
|
+
return this.elementRef.nativeElement.customHour;
|
|
78
|
+
}
|
|
79
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
80
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
81
|
+
set customHour(value) {
|
|
82
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customHour', value);
|
|
83
|
+
}
|
|
84
|
+
get customMinute() {
|
|
85
|
+
return this.elementRef.nativeElement.customMinute;
|
|
86
|
+
}
|
|
87
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
88
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
89
|
+
set customMinute(value) {
|
|
90
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customMinute', value);
|
|
91
|
+
}
|
|
92
|
+
get customSecond() {
|
|
93
|
+
return this.elementRef.nativeElement.customSecond;
|
|
94
|
+
}
|
|
95
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
96
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
97
|
+
set customSecond(value) {
|
|
98
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customSecond', value);
|
|
99
|
+
}
|
|
100
|
+
get customTimeZoneName() {
|
|
101
|
+
return this.elementRef.nativeElement.customTimeZoneName;
|
|
102
|
+
}
|
|
103
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
104
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
105
|
+
set customTimeZoneName(value) {
|
|
106
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customTimeZoneName', value);
|
|
107
|
+
}
|
|
108
|
+
get customFormatMatcher() {
|
|
109
|
+
return this.elementRef.nativeElement.customFormatMatcher;
|
|
110
|
+
}
|
|
111
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
112
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
113
|
+
set customFormatMatcher(value) {
|
|
114
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customFormatMatcher', value);
|
|
115
|
+
}
|
|
116
|
+
get customHour12() {
|
|
117
|
+
return this.elementRef.nativeElement.customHour12;
|
|
118
|
+
}
|
|
119
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
120
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
121
|
+
set customHour12(value) {
|
|
122
|
+
let convertedValue;
|
|
123
|
+
if (typeof value === 'boolean') {
|
|
124
|
+
convertedValue = value;
|
|
125
|
+
}
|
|
126
|
+
else if (value === undefined) {
|
|
127
|
+
convertedValue = undefined;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
convertedValue = value === 'true';
|
|
131
|
+
}
|
|
132
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customHour12', convertedValue);
|
|
133
|
+
}
|
|
134
|
+
get customTimeZone() {
|
|
135
|
+
return this.elementRef.nativeElement.customTimeZone;
|
|
136
|
+
}
|
|
137
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
138
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
139
|
+
set customTimeZone(value) {
|
|
140
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customTimeZone', value);
|
|
141
|
+
}
|
|
142
|
+
get customCalendar() {
|
|
143
|
+
return this.elementRef.nativeElement.customCalendar;
|
|
144
|
+
}
|
|
145
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
146
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
147
|
+
set customCalendar(value) {
|
|
148
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customCalendar', value);
|
|
149
|
+
}
|
|
150
|
+
get customDayPeriod() {
|
|
151
|
+
return this.elementRef.nativeElement.customDayPeriod;
|
|
152
|
+
}
|
|
153
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
154
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
155
|
+
set customDayPeriod(value) {
|
|
156
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customDayPeriod', value);
|
|
157
|
+
}
|
|
158
|
+
get customNumberingSystem() {
|
|
159
|
+
return this.elementRef.nativeElement.customNumberingSystem;
|
|
160
|
+
}
|
|
161
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
162
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
163
|
+
set customNumberingSystem(value) {
|
|
164
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customNumberingSystem', value);
|
|
165
|
+
}
|
|
166
|
+
get customDateStyle() {
|
|
167
|
+
return this.elementRef.nativeElement.customDateStyle;
|
|
168
|
+
}
|
|
169
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
170
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
171
|
+
set customDateStyle(value) {
|
|
172
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customDateStyle', value);
|
|
173
|
+
}
|
|
174
|
+
get customTimeStyle() {
|
|
175
|
+
return this.elementRef.nativeElement.customTimeStyle;
|
|
176
|
+
}
|
|
177
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
178
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
179
|
+
set customTimeStyle(value) {
|
|
180
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customTimeStyle', value);
|
|
181
|
+
}
|
|
182
|
+
get customHourCycle() {
|
|
183
|
+
return this.elementRef.nativeElement.customHourCycle;
|
|
184
|
+
}
|
|
185
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
186
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
187
|
+
set customHourCycle(value) {
|
|
188
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'customHourCycle', value);
|
|
189
|
+
}
|
|
190
|
+
get fractionalWidth() {
|
|
191
|
+
return this.elementRef.nativeElement.fractionalWidth;
|
|
192
|
+
}
|
|
193
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
194
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
195
|
+
set fractionalWidth(value) {
|
|
196
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'fractionalWidth', toNullableNumberProperty(value));
|
|
197
|
+
}
|
|
198
|
+
get minPixelWidth() {
|
|
199
|
+
return this.elementRef.nativeElement.minPixelWidth;
|
|
200
|
+
}
|
|
201
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
202
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
203
|
+
set minPixelWidth(value) {
|
|
204
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'minPixelWidth', toNullableNumberProperty(value));
|
|
205
|
+
}
|
|
206
|
+
get groupIndex() {
|
|
207
|
+
return this.elementRef.nativeElement.groupIndex;
|
|
208
|
+
}
|
|
209
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
210
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
211
|
+
set groupIndex(value) {
|
|
212
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'groupIndex', toNullableNumberProperty(value));
|
|
213
|
+
}
|
|
214
|
+
get groupingDisabled() {
|
|
215
|
+
return this.elementRef.nativeElement.groupingDisabled;
|
|
216
|
+
}
|
|
217
|
+
// Renaming because property should have camel casing, but attribute should not
|
|
218
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
219
|
+
set groupingDisabled(value) {
|
|
220
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'groupingDisabled', toBooleanProperty(value));
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
NimbleTableColumnDateTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnDateTextDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
224
|
+
NimbleTableColumnDateTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnDateTextDirective, selector: "nimble-table-column-date-text", inputs: { fieldName: ["field-name", "fieldName"], format: "format", customLocaleMatcher: ["custom-locale-matcher", "customLocaleMatcher"], customWeekday: ["custom-weekday", "customWeekday"], customEra: ["custom-era", "customEra"], customYear: ["custom-year", "customYear"], customMonth: ["custom-month", "customMonth"], customDay: ["custom-day", "customDay"], customHour: ["custom-hour", "customHour"], customMinute: ["custom-minute", "customMinute"], customSecond: ["custom-second", "customSecond"], customTimeZoneName: ["custom-time-zone-name", "customTimeZoneName"], customFormatMatcher: ["custom-format-matcher", "customFormatMatcher"], customHour12: ["custom-hour12", "customHour12"], customTimeZone: ["custom-time-zone", "customTimeZone"], customCalendar: ["custom-calendar", "customCalendar"], customDayPeriod: ["custom-day-period", "customDayPeriod"], customNumberingSystem: ["custom-numbering-system", "customNumberingSystem"], customDateStyle: ["custom-date-style", "customDateStyle"], customTimeStyle: ["custom-time-style", "customTimeStyle"], customHourCycle: ["custom-hour-cycle", "customHourCycle"], fractionalWidth: ["fractional-width", "fractionalWidth"], minPixelWidth: ["min-pixel-width", "minPixelWidth"], groupIndex: ["group-index", "groupIndex"], groupingDisabled: ["grouping-disabled", "groupingDisabled"] }, usesInheritance: true, ngImport: i0 });
|
|
225
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnDateTextDirective, decorators: [{
|
|
226
|
+
type: Directive,
|
|
227
|
+
args: [{
|
|
228
|
+
selector: 'nimble-table-column-date-text'
|
|
229
|
+
}]
|
|
230
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { fieldName: [{
|
|
231
|
+
type: Input,
|
|
232
|
+
args: ['field-name']
|
|
233
|
+
}], format: [{
|
|
234
|
+
type: Input
|
|
235
|
+
}], customLocaleMatcher: [{
|
|
236
|
+
type: Input,
|
|
237
|
+
args: ['custom-locale-matcher']
|
|
238
|
+
}], customWeekday: [{
|
|
239
|
+
type: Input,
|
|
240
|
+
args: ['custom-weekday']
|
|
241
|
+
}], customEra: [{
|
|
242
|
+
type: Input,
|
|
243
|
+
args: ['custom-era']
|
|
244
|
+
}], customYear: [{
|
|
245
|
+
type: Input,
|
|
246
|
+
args: ['custom-year']
|
|
247
|
+
}], customMonth: [{
|
|
248
|
+
type: Input,
|
|
249
|
+
args: ['custom-month']
|
|
250
|
+
}], customDay: [{
|
|
251
|
+
type: Input,
|
|
252
|
+
args: ['custom-day']
|
|
253
|
+
}], customHour: [{
|
|
254
|
+
type: Input,
|
|
255
|
+
args: ['custom-hour']
|
|
256
|
+
}], customMinute: [{
|
|
257
|
+
type: Input,
|
|
258
|
+
args: ['custom-minute']
|
|
259
|
+
}], customSecond: [{
|
|
260
|
+
type: Input,
|
|
261
|
+
args: ['custom-second']
|
|
262
|
+
}], customTimeZoneName: [{
|
|
263
|
+
type: Input,
|
|
264
|
+
args: ['custom-time-zone-name']
|
|
265
|
+
}], customFormatMatcher: [{
|
|
266
|
+
type: Input,
|
|
267
|
+
args: ['custom-format-matcher']
|
|
268
|
+
}], customHour12: [{
|
|
269
|
+
type: Input,
|
|
270
|
+
args: ['custom-hour12']
|
|
271
|
+
}], customTimeZone: [{
|
|
272
|
+
type: Input,
|
|
273
|
+
args: ['custom-time-zone']
|
|
274
|
+
}], customCalendar: [{
|
|
275
|
+
type: Input,
|
|
276
|
+
args: ['custom-calendar']
|
|
277
|
+
}], customDayPeriod: [{
|
|
278
|
+
type: Input,
|
|
279
|
+
args: ['custom-day-period']
|
|
280
|
+
}], customNumberingSystem: [{
|
|
281
|
+
type: Input,
|
|
282
|
+
args: ['custom-numbering-system']
|
|
283
|
+
}], customDateStyle: [{
|
|
284
|
+
type: Input,
|
|
285
|
+
args: ['custom-date-style']
|
|
286
|
+
}], customTimeStyle: [{
|
|
287
|
+
type: Input,
|
|
288
|
+
args: ['custom-time-style']
|
|
289
|
+
}], customHourCycle: [{
|
|
290
|
+
type: Input,
|
|
291
|
+
args: ['custom-hour-cycle']
|
|
292
|
+
}], fractionalWidth: [{
|
|
293
|
+
type: Input,
|
|
294
|
+
args: ['fractional-width']
|
|
295
|
+
}], minPixelWidth: [{
|
|
296
|
+
type: Input,
|
|
297
|
+
args: ['min-pixel-width']
|
|
298
|
+
}], groupIndex: [{
|
|
299
|
+
type: Input,
|
|
300
|
+
args: ['group-index']
|
|
301
|
+
}], groupingDisabled: [{
|
|
302
|
+
type: Input,
|
|
303
|
+
args: ['grouping-disabled']
|
|
304
|
+
}] } });
|
|
305
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1kYXRlLXRleHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmkvbmltYmxlLWFuZ3VsYXIvdGFibGUtY29sdW1uL2RhdGUtdGV4dC9uaW1ibGUtdGFibGUtY29sdW1uLWRhdGUtdGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUE0QixzQkFBc0IsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3pILE9BQU8sRUFBbUQsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNySixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFxQ2pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0FBRWxDOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLDhCQUFtRDtJQWlRdkcsWUFBbUIsUUFBbUIsRUFBRSxVQUEyQztRQUMvRSxLQUFLLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFsUUQsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ25ELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQWdDLFNBQVMsQ0FBQyxLQUF5QjtRQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ2hELENBQUM7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QTdELEtBQUs7dUJBQUMsdUJBQXVCO2dCQVVLLFlBQVk7c0JBQTlDLEtBQUs7dUJBQUMsZUFBZTtnQkFrQmdCLGNBQWM7c0JBQW5ELEtBQUs7dUJBQUMsa0JBQWtCO2dCQVVZLGNBQWM7c0JBQWxELEtBQUs7dUJBQUMsaUJBQWlCO2dCQVVlLGVBQWU7c0JBQXJELEtBQUs7dUJBQUMsbUJBQW1CO2dCQVVtQixxQkFBcUI7c0JBQWpFLEtBQUs7dUJBQUMseUJBQXlCO2dCQVVPLGVBQWU7c0JBQXJELEtBQUs7dUJBQUMsbUJBQW1CO2dCQVVhLGVBQWU7c0JBQXJELEtBQUs7dUJBQUMsbUJBQW1CO2dCQVVhLGVBQWU7c0JBQXJELEtBQUs7dUJBQUMsbUJBQW1CO2dCQVVZLGVBQWU7c0JBQXBELEtBQUs7dUJBQUMsa0JBQWtCO2dCQVVZLGFBQWE7c0JBQWpELEtBQUs7dUJBQUMsaUJBQWlCO2dCQVVTLFVBQVU7c0JBQTFDLEtBQUs7dUJBQUMsYUFBYTtnQkFVbUIsZ0JBQWdCO3NCQUF0RCxLQUFLO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHlwZSBUYWJsZUNvbHVtbkRhdGVUZXh0LCB0YWJsZUNvbHVtbkRhdGVUZXh0VGFnIH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlLWNvbHVtbi9kYXRlLXRleHQnO1xuaW1wb3J0IHsgQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUsIE51bWJlclZhbHVlT3JBdHRyaWJ1dGUsIHRvQm9vbGVhblByb3BlcnR5LCB0b051bGxhYmxlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAbmkvbmltYmxlLWFuZ3VsYXIvaW50ZXJuYWwtdXRpbGl0aWVzJztcbmltcG9ydCB7IE5pbWJsZVRhYmxlQ29sdW1uQmFzZURpcmVjdGl2ZSB9IGZyb20gJ0BuaS9uaW1ibGUtYW5ndWxhci90YWJsZS1jb2x1bW4nO1xuaW1wb3J0IHR5cGUge1xuICAgIERhdGVUZXh0Rm9ybWF0LFxuICAgIERhdGVTdHlsZSxcbiAgICBEYXlGb3JtYXQsXG4gICAgRGF5UGVyaW9kRm9ybWF0LFxuICAgIEVyYUZvcm1hdCxcbiAgICBGb3JtYXRNYXRjaGVyQWxnb3JpdGhtLFxuICAgIEhvdXJDeWNsZUZvcm1hdCxcbiAgICBIb3VyRm9ybWF0LFxuICAgIExvY2FsZU1hdGNoZXJBbGdvcml0aG0sXG4gICAgTWludXRlRm9ybWF0LFxuICAgIE1vbnRoRm9ybWF0LFxuICAgIFNlY29uZEZvcm1hdCxcbiAgICBUaW1lU3R5bGUsXG4gICAgVGltZVpvbmVOYW1lRm9ybWF0LFxuICAgIFdlZWtkYXlGb3JtYXQsXG4gICAgWWVhckZvcm1hdFxufSBmcm9tICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUtY29sdW1uL2RhdGUtdGV4dC90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIHsgVGFibGVDb2x1bW5EYXRlVGV4dCB9O1xuZXhwb3J0IHR5cGUgeyBEYXRlU3R5bGUgfTtcbmV4cG9ydCB0eXBlIHsgRGF0ZVRleHRGb3JtYXQgfTtcbmV4cG9ydCB0eXBlIHsgRGF5Rm9ybWF0IH07XG5leHBvcnQgdHlwZSB7IERheVBlcmlvZEZvcm1hdCB9O1xuZXhwb3J0IHR5cGUgeyBFcmFGb3JtYXQgfTtcbmV4cG9ydCB0eXBlIHsgRm9ybWF0TWF0Y2hlckFsZ29yaXRobSB9O1xuZXhwb3J0IHR5cGUgeyBIb3VyQ3ljbGVGb3JtYXQgfTtcbmV4cG9ydCB0eXBlIHsgSG91ckZvcm1hdCB9O1xuZXhwb3J0IHR5cGUgeyBMb2NhbGVNYXRjaGVyQWxnb3JpdGhtIH07XG5leHBvcnQgdHlwZSB7IE1pbnV0ZUZvcm1hdCB9O1xuZXhwb3J0IHR5cGUgeyBNb250aEZvcm1hdCB9O1xuZXhwb3J0IHR5cGUgeyBTZWNvbmRGb3JtYXQgfTtcbmV4cG9ydCB0eXBlIHsgVGltZVN0eWxlIH07XG5leHBvcnQgdHlwZSB7IFRpbWVab25lTmFtZUZvcm1hdCB9O1xuZXhwb3J0IHR5cGUgeyBXZWVrZGF5Rm9ybWF0IH07XG5leHBvcnQgdHlwZSB7IFllYXJGb3JtYXQgfTtcbmV4cG9ydCB7IHRhYmxlQ29sdW1uRGF0ZVRleHRUYWcgfTtcblxuLyoqXG4gKiBEaXJlY3RpdmUgdG8gcHJvdmlkZSBBbmd1bGFyIGludGVncmF0aW9uIGZvciB0aGUgdGFibGUgY29sdW1uIGVsZW1lbnQgZm9yIGRhdGUgdGV4dC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICduaW1ibGUtdGFibGUtY29sdW1uLWRhdGUtdGV4dCdcbn0pXG5leHBvcnQgY2xhc3MgTmltYmxlVGFibGVDb2x1bW5EYXRlVGV4dERpcmVjdGl2ZSBleHRlbmRzIE5pbWJsZVRhYmxlQ29sdW1uQmFzZURpcmVjdGl2ZTxUYWJsZUNvbHVtbkRhdGVUZXh0PiB7XG4gICAgcHVibGljIGdldCBmaWVsZE5hbWUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZpZWxkTmFtZTtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2ZpZWxkLW5hbWUnKSBwdWJsaWMgc2V0IGZpZWxkTmFtZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdmaWVsZE5hbWUnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBmb3JtYXQoKTogRGF0ZVRleHRGb3JtYXQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9ybWF0O1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXQgZm9ybWF0KHZhbHVlOiBEYXRlVGV4dEZvcm1hdCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZm9ybWF0JywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VzdG9tTG9jYWxlTWF0Y2hlcigpOiBMb2NhbGVNYXRjaGVyQWxnb3JpdGhtIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmN1c3RvbUxvY2FsZU1hdGNoZXI7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjdXN0b20tbG9jYWxlLW1hdGNoZXInKSBwdWJsaWMgc2V0IGN1c3RvbUxvY2FsZU1hdGNoZXIodmFsdWU6IExvY2FsZU1hdGNoZXJBbGdvcml0aG0pIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1c3RvbUxvY2FsZU1hdGNoZXInLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXN0b21XZWVrZGF5KCk6IFdlZWtkYXlGb3JtYXQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY3VzdG9tV2Vla2RheTtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2N1c3RvbS13ZWVrZGF5JykgcHVibGljIHNldCBjdXN0b21XZWVrZGF5KHZhbHVlOiBXZWVrZGF5Rm9ybWF0KSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXN0b21XZWVrZGF5JywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VzdG9tRXJhKCk6IEVyYUZvcm1hdCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jdXN0b21FcmE7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjdXN0b20tZXJhJykgcHVibGljIHNldCBjdXN0b21FcmEodmFsdWU6IEVyYUZvcm1hdCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3VzdG9tRXJhJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VzdG9tWWVhcigpOiBZZWFyRm9ybWF0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmN1c3RvbVllYXI7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjdXN0b20teWVhcicpIHB1YmxpYyBzZXQgY3VzdG9tWWVhcih2YWx1ZTogWWVhckZvcm1hdCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3VzdG9tWWVhcicsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGN1c3RvbU1vbnRoKCk6IE1vbnRoRm9ybWF0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmN1c3RvbU1vbnRoO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnY3VzdG9tLW1vbnRoJykgcHVibGljIHNldCBjdXN0b21Nb250aCh2YWx1ZTogTW9udGhGb3JtYXQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1c3RvbU1vbnRoJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VzdG9tRGF5KCk6IERheUZvcm1hdCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jdXN0b21EYXk7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjdXN0b20tZGF5JykgcHVibGljIHNldCBjdXN0b21EYXkodmFsdWU6IERheUZvcm1hdCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3VzdG9tRGF5JywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VzdG9tSG91cigpOiBIb3VyRm9ybWF0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmN1c3RvbUhvdXI7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjdXN0b20taG91cicpIHB1YmxpYyBzZXQgY3VzdG9tSG91cih2YWx1ZTogSG91ckZvcm1hdCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3VzdG9tSG91cicsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGN1c3RvbU1pbnV0ZSgpOiBNaW51dGVGb3JtYXQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY3VzdG9tTWludXRlO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnY3VzdG9tLW1pbnV0ZScpIHB1YmxpYyBzZXQgY3VzdG9tTWludXRlKHZhbHVlOiBNaW51dGVGb3JtYXQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1c3RvbU1pbnV0ZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGN1c3RvbVNlY29uZCgpOiBTZWNvbmRGb3JtYXQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY3VzdG9tU2Vjb25kO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnY3VzdG9tLXNlY29uZCcpIHB1YmxpYyBzZXQgY3VzdG9tU2Vjb25kKHZhbHVlOiBTZWNvbmRGb3JtYXQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1c3RvbVNlY29uZCcsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGN1c3RvbVRpbWVab25lTmFtZSgpOiBUaW1lWm9uZU5hbWVGb3JtYXQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY3VzdG9tVGltZVpvbmVOYW1lO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnY3VzdG9tLXRpbWUtem9uZS1uYW1lJykgcHVibGljIHNldCBjdXN0b21UaW1lWm9uZU5hbWUodmFsdWU6IFRpbWVab25lTmFtZUZvcm1hdCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3VzdG9tVGltZVpvbmVOYW1lJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VzdG9tRm9ybWF0TWF0Y2hlcigpOiBGb3JtYXRNYXRjaGVyQWxnb3JpdGhtIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmN1c3RvbUZvcm1hdE1hdGNoZXI7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjdXN0b20tZm9ybWF0LW1hdGNoZXInKSBwdWJsaWMgc2V0IGN1c3RvbUZvcm1hdE1hdGNoZXIodmFsdWU6IEZvcm1hdE1hdGNoZXJBbGdvcml0aG0pIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1c3RvbUZvcm1hdE1hdGNoZXInLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXN0b21Ib3VyMTIoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jdXN0b21Ib3VyMTI7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjdXN0b20taG91cjEyJykgcHVibGljIHNldCBjdXN0b21Ib3VyMTIodmFsdWU6IGJvb2xlYW4gfCAndHJ1ZScgfCAnZmFsc2UnIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGxldCBjb252ZXJ0ZWRWYWx1ZTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICBjb252ZXJ0ZWRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGNvbnZlcnRlZFZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29udmVydGVkVmFsdWUgPSB2YWx1ZSA9PT0gJ3RydWUnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXN0b21Ib3VyMTInLCBjb252ZXJ0ZWRWYWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXN0b21UaW1lWm9uZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY3VzdG9tVGltZVpvbmU7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjdXN0b20tdGltZS16b25lJykgcHVibGljIHNldCBjdXN0b21UaW1lWm9uZSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXN0b21UaW1lWm9uZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGN1c3RvbUNhbGVuZGFyKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jdXN0b21DYWxlbmRhcjtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2N1c3RvbS1jYWxlbmRhcicpIHB1YmxpYyBzZXQgY3VzdG9tQ2FsZW5kYXIodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3VzdG9tQ2FsZW5kYXInLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXN0b21EYXlQZXJpb2QoKTogRGF5UGVyaW9kRm9ybWF0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmN1c3RvbURheVBlcmlvZDtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2N1c3RvbS1kYXktcGVyaW9kJykgcHVibGljIHNldCBjdXN0b21EYXlQZXJpb2QodmFsdWU6IERheVBlcmlvZEZvcm1hdCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3VzdG9tRGF5UGVyaW9kJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VzdG9tTnVtYmVyaW5nU3lzdGVtKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jdXN0b21OdW1iZXJpbmdTeXN0ZW07XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjdXN0b20tbnVtYmVyaW5nLXN5c3RlbScpIHB1YmxpYyBzZXQgY3VzdG9tTnVtYmVyaW5nU3lzdGVtKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1c3RvbU51bWJlcmluZ1N5c3RlbScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGN1c3RvbURhdGVTdHlsZSgpOiBEYXRlU3R5bGUge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY3VzdG9tRGF0ZVN0eWxlO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnY3VzdG9tLWRhdGUtc3R5bGUnKSBwdWJsaWMgc2V0IGN1c3RvbURhdGVTdHlsZSh2YWx1ZTogRGF0ZVN0eWxlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjdXN0b21EYXRlU3R5bGUnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjdXN0b21UaW1lU3R5bGUoKTogVGltZVN0eWxlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmN1c3RvbVRpbWVTdHlsZTtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2N1c3RvbS10aW1lLXN0eWxlJykgcHVibGljIHNldCBjdXN0b21UaW1lU3R5bGUodmFsdWU6IFRpbWVTdHlsZSkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY3VzdG9tVGltZVN0eWxlJywgdmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY3VzdG9tSG91ckN5Y2xlKCk6IEhvdXJDeWNsZUZvcm1hdCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jdXN0b21Ib3VyQ3ljbGU7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjdXN0b20taG91ci1jeWNsZScpIHB1YmxpYyBzZXQgY3VzdG9tSG91ckN5Y2xlKHZhbHVlOiBIb3VyQ3ljbGVGb3JtYXQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2N1c3RvbUhvdXJDeWNsZScsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGZyYWN0aW9uYWxXaWR0aCgpOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZyYWN0aW9uYWxXaWR0aDtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2ZyYWN0aW9uYWwtd2lkdGgnKSBwdWJsaWMgc2V0IGZyYWN0aW9uYWxXaWR0aCh2YWx1ZTogTnVtYmVyVmFsdWVPckF0dHJpYnV0ZSB8IG51bGwgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2ZyYWN0aW9uYWxXaWR0aCcsIHRvTnVsbGFibGVOdW1iZXJQcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWluUGl4ZWxXaWR0aCgpOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm1pblBpeGVsV2lkdGg7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdtaW4tcGl4ZWwtd2lkdGgnKSBwdWJsaWMgc2V0IG1pblBpeGVsV2lkdGgodmFsdWU6IE51bWJlclZhbHVlT3JBdHRyaWJ1dGUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdtaW5QaXhlbFdpZHRoJywgdG9OdWxsYWJsZU51bWJlclByb3BlcnR5KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBncm91cEluZGV4KCk6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ3JvdXBJbmRleDtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2dyb3VwLWluZGV4JykgcHVibGljIHNldCBncm91cEluZGV4KHZhbHVlOiBOdW1iZXJWYWx1ZU9yQXR0cmlidXRlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZ3JvdXBJbmRleCcsIHRvTnVsbGFibGVOdW1iZXJQcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZ3JvdXBpbmdEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lmdyb3VwaW5nRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdncm91cGluZy1kaXNhYmxlZCcpIHB1YmxpYyBzZXQgZ3JvdXBpbmdEaXNhYmxlZCh2YWx1ZTogQm9vbGVhblZhbHVlT3JBdHRyaWJ1dGUpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2dyb3VwaW5nRGlzYWJsZWQnLCB0b0Jvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihyZW5kZXJlcjogUmVuZGVyZXIyLCBlbGVtZW50UmVmOiBFbGVtZW50UmVmPFRhYmxlQ29sdW1uRGF0ZVRleHQ+KSB7XG4gICAgICAgIHN1cGVyKHJlbmRlcmVyLCBlbGVtZW50UmVmKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NimbleTableColumnDateTextDirective } from './nimble-table-column-date-text.directive';
|
|
4
|
+
import '@ni/nimble-components/dist/esm/table-column/text';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class NimbleTableColumnDateTextModule {
|
|
7
|
+
}
|
|
8
|
+
NimbleTableColumnDateTextModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnDateTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
NimbleTableColumnDateTextModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnDateTextModule, declarations: [NimbleTableColumnDateTextDirective], imports: [CommonModule], exports: [NimbleTableColumnDateTextDirective] });
|
|
10
|
+
NimbleTableColumnDateTextModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnDateTextModule, imports: [CommonModule] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnDateTextModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
declarations: [NimbleTableColumnDateTextDirective],
|
|
15
|
+
imports: [CommonModule],
|
|
16
|
+
exports: [NimbleTableColumnDateTextDirective]
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1kYXRlLXRleHQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmkvbmltYmxlLWFuZ3VsYXIvdGFibGUtY29sdW1uL2RhdGUtdGV4dC9uaW1ibGUtdGFibGUtY29sdW1uLWRhdGUtdGV4dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFL0YsT0FBTyxrREFBa0QsQ0FBQzs7QUFPMUQsTUFBTSxPQUFPLCtCQUErQjs7NEhBQS9CLCtCQUErQjs2SEFBL0IsK0JBQStCLGlCQUp6QixrQ0FBa0MsYUFDdkMsWUFBWSxhQUNaLGtDQUFrQzs2SEFFbkMsK0JBQStCLFlBSDlCLFlBQVk7MkZBR2IsK0JBQStCO2tCQUwzQyxRQUFRO21CQUFDO29CQUNOLFlBQVksRUFBRSxDQUFDLGtDQUFrQyxDQUFDO29CQUNsRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2lCQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmltYmxlVGFibGVDb2x1bW5EYXRlVGV4dERpcmVjdGl2ZSB9IGZyb20gJy4vbmltYmxlLXRhYmxlLWNvbHVtbi1kYXRlLXRleHQuZGlyZWN0aXZlJztcblxuaW1wb3J0ICdAbmkvbmltYmxlLWNvbXBvbmVudHMvZGlzdC9lc20vdGFibGUtY29sdW1uL3RleHQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW05pbWJsZVRhYmxlQ29sdW1uRGF0ZVRleHREaXJlY3RpdmVdLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtOaW1ibGVUYWJsZUNvbHVtbkRhdGVUZXh0RGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBOaW1ibGVUYWJsZUNvbHVtbkRhdGVUZXh0TW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './nimble-table-column-date-text.directive';
|
|
2
|
+
export * from './nimble-table-column-date-text.module';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbi9kYXRlLXRleHQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25pbWJsZS10YWJsZS1jb2x1bW4tZGF0ZS10ZXh0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL25pbWJsZS10YWJsZS1jb2x1bW4tZGF0ZS10ZXh0Lm1vZHVsZSc7Il19
|
|
@@ -59,6 +59,12 @@ export class NimbleTableColumnBaseDirective {
|
|
|
59
59
|
set sortIndex(value) {
|
|
60
60
|
this.renderer.setProperty(this.elementRef.nativeElement, 'sortIndex', toNullableNumberProperty(value));
|
|
61
61
|
}
|
|
62
|
+
checkValidity() {
|
|
63
|
+
return this.elementRef.nativeElement.checkValidity();
|
|
64
|
+
}
|
|
65
|
+
get validity() {
|
|
66
|
+
return this.elementRef.nativeElement.validity;
|
|
67
|
+
}
|
|
62
68
|
}
|
|
63
69
|
NimbleTableColumnBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NimbleTableColumnBaseDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
64
70
|
NimbleTableColumnBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: NimbleTableColumnBaseDirective, inputs: { columnId: ["column-id", "columnId"], actionMenuSlot: ["action-menu-slot", "actionMenuSlot"], actionMenuLabel: ["action-menu-label", "actionMenuLabel"], columnHidden: ["column-hidden", "columnHidden"], sortDirection: ["sort-direction", "sortDirection"], sortIndex: ["sort-index", "sortIndex"] }, ngImport: i0 });
|
|
@@ -83,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
83
89
|
type: Input,
|
|
84
90
|
args: ['sort-index']
|
|
85
91
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmltYmxlLXRhYmxlLWNvbHVtbi1iYXNlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pL25pbWJsZS1hbmd1bGFyL3RhYmxlLWNvbHVtbi9uaW1ibGUtdGFibGUtY29sdW1uLWJhc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBR3hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3RGLE9BQU8sRUFBbUQsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFFckosT0FBTyxFQUFFLHdCQUF3QixFQUFtRCxDQUFDO0FBRXJGOztHQUVHO0FBRUgsTUFBTSxPQUFPLDhCQUE4QjtJQTZEdkMsWUFBc0MsUUFBbUIsRUFBcUIsVUFBeUI7UUFBakUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFxQixlQUFVLEdBQVYsVUFBVSxDQUFlO0lBQUcsQ0FBQztJQTVEM0csSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDbEQsQ0FBQztJQUVELCtFQUErRTtJQUMvRSwyREFBMkQ7SUFDM0QsSUFBK0IsUUFBUSxDQUFDLEtBQXlCO1FBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsSUFBVyxjQUFjO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDO0lBQ3hELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQXNDLGNBQWMsQ0FBQyxLQUF5QjtRQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDO0lBQ3pELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQXVDLGVBQWUsQ0FBQyxLQUF5QjtRQUM1RSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBQ3RELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQW1DLFlBQVksQ0FBQyxLQUE4QjtRQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO0lBQ3ZELENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsMkRBQTJEO0lBQzNELElBQW9DLGFBQWEsQ0FBQyxLQUErQjtRQUM3RSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsK0VBQStFO0lBQy9FLDJEQUEyRDtJQUMzRCxJQUFnQyxTQUFTLENBQUMsS0FBZ0Q7UUFDdEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUlNLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDbEQsQ0FBQzs7MkhBckVRLDhCQUE4QjsrR0FBOUIsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBRDFDLFNBQVM7eUhBUXlCLFFBQVE7c0JBQXRDLEtBQUs7dUJBQUMsV0FBVztnQkFVb0IsY0FBYztzQkFBbkQsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBVWMsZUFBZTtzQkFBckQsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBVVMsWUFBWTtzQkFBOUMsS0FBSzt1QkFBQyxlQUFlO2dCQVVjLGFBQWE7c0JBQWhELEtBQUs7dUJBQUMsZ0JBQWdCO2dCQVVTLFNBQVM7c0JBQXhDLEtBQUs7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBUYWJsZUNvbHVtbiB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS1jb2x1bW4vYmFzZSc7XG5pbXBvcnQgdHlwZSB7IERlbGVnYXRlZEV2ZW50RXZlbnREZXRhaWxzLCBUYWJsZUNvbHVtblZhbGlkaXR5IH0gZnJvbSAnQG5pL25pbWJsZS1jb21wb25lbnRzL2Rpc3QvZXNtL3RhYmxlLWNvbHVtbi9iYXNlL3R5cGVzJztcbmltcG9ydCB7IFRhYmxlQ29sdW1uU29ydERpcmVjdGlvbiB9IGZyb20gJ0BuaS9uaW1ibGUtY29tcG9uZW50cy9kaXN0L2VzbS90YWJsZS90eXBlcyc7XG5pbXBvcnQgeyBCb29sZWFuVmFsdWVPckF0dHJpYnV0ZSwgTnVtYmVyVmFsdWVPckF0dHJpYnV0ZSwgdG9Cb29sZWFuUHJvcGVydHksIHRvTnVsbGFibGVOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0BuaS9uaW1ibGUtYW5ndWxhci9pbnRlcm5hbC11dGlsaXRpZXMnO1xuXG5leHBvcnQgeyBUYWJsZUNvbHVtblNvcnREaXJlY3Rpb24sIERlbGVnYXRlZEV2ZW50RXZlbnREZXRhaWxzLCBUYWJsZUNvbHVtblZhbGlkaXR5IH07XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgdGFibGUgY29sdW1uIGRpcmVjdGl2ZXMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIE5pbWJsZVRhYmxlQ29sdW1uQmFzZURpcmVjdGl2ZTxUIGV4dGVuZHMgVGFibGVDb2x1bW4+IHtcbiAgICBwdWJsaWMgZ2V0IGNvbHVtbklkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb2x1bW5JZDtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ2NvbHVtbi1pZCcpIHB1YmxpYyBzZXQgY29sdW1uSWQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY29sdW1uSWQnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBhY3Rpb25NZW51U2xvdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYWN0aW9uTWVudVNsb3Q7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdhY3Rpb24tbWVudS1zbG90JykgcHVibGljIHNldCBhY3Rpb25NZW51U2xvdCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdhY3Rpb25NZW51U2xvdCcsIHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGFjdGlvbk1lbnVMYWJlbCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYWN0aW9uTWVudUxhYmVsO1xuICAgIH1cblxuICAgIC8vIFJlbmFtaW5nIGJlY2F1c2UgcHJvcGVydHkgc2hvdWxkIGhhdmUgY2FtZWwgY2FzaW5nLCBidXQgYXR0cmlidXRlIHNob3VsZCBub3RcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnYWN0aW9uLW1lbnUtbGFiZWwnKSBwdWJsaWMgc2V0IGFjdGlvbk1lbnVMYWJlbCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdhY3Rpb25NZW51TGFiZWwnLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBjb2x1bW5IaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb2x1bW5IaWRkZW47XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdjb2x1bW4taGlkZGVuJykgcHVibGljIHNldCBjb2x1bW5IaWRkZW4odmFsdWU6IEJvb2xlYW5WYWx1ZU9yQXR0cmlidXRlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjb2x1bW5IaWRkZW4nLCB0b0Jvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc29ydERpcmVjdGlvbigpOiBUYWJsZUNvbHVtblNvcnREaXJlY3Rpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc29ydERpcmVjdGlvbjtcbiAgICB9XG5cbiAgICAvLyBSZW5hbWluZyBiZWNhdXNlIHByb3BlcnR5IHNob3VsZCBoYXZlIGNhbWVsIGNhc2luZywgYnV0IGF0dHJpYnV0ZSBzaG91bGQgbm90XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ3NvcnQtZGlyZWN0aW9uJykgcHVibGljIHNldCBzb3J0RGlyZWN0aW9uKHZhbHVlOiBUYWJsZUNvbHVtblNvcnREaXJlY3Rpb24pIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3NvcnREaXJlY3Rpb24nLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBzb3J0SW5kZXgoKTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zb3J0SW5kZXg7XG4gICAgfVxuXG4gICAgLy8gUmVuYW1pbmcgYmVjYXVzZSBwcm9wZXJ0eSBzaG91bGQgaGF2ZSBjYW1lbCBjYXNpbmcsIGJ1dCBhdHRyaWJ1dGUgc2hvdWxkIG5vdFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCdzb3J0LWluZGV4JykgcHVibGljIHNldCBzb3J0SW5kZXgodmFsdWU6IE51bWJlclZhbHVlT3JBdHRyaWJ1dGUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdzb3J0SW5kZXgnLCB0b051bGxhYmxlTnVtYmVyUHJvcGVydHkodmFsdWUpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByb3RlY3RlZCByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPFQ+KSB7fVxuXG4gICAgcHVibGljIGNoZWNrVmFsaWRpdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jaGVja1ZhbGlkaXR5KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB2YWxpZGl0eSgpOiBUYWJsZUNvbHVtblZhbGlkaXR5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbGlkaXR5O1xuICAgIH1cbn0iXX0=
|