ngx-material-entity 18.2.5 → 20.0.0
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/fesm2022/ngx-material-entity.mjs +165 -155
- package/fesm2022/ngx-material-entity.mjs.map +1 -1
- package/index.d.ts +4501 -3
- package/package.json +10 -12
- package/classes/base.builder.d.ts +0 -37
- package/classes/entity.model.d.ts +0 -27
- package/components/confirm-dialog/confirm-dialog-data.builder.d.ts +0 -24
- package/components/confirm-dialog/confirm-dialog-data.d.ts +0 -48
- package/components/confirm-dialog/confirm-dialog.component.d.ts +0 -36
- package/components/create-page/create-data.route.d.ts +0 -16
- package/components/create-page/create-page.component.d.ts +0 -141
- package/components/create-page/page-create-data.builder.d.ts +0 -18
- package/components/custom-table/custom-table-configuration.model.d.ts +0 -65
- package/components/custom-table/custom-table.component.d.ts +0 -111
- package/components/edit-page/edit-data.route.d.ts +0 -16
- package/components/edit-page/edit-page.component.d.ts +0 -167
- package/components/edit-page/page-edit-data.builder.d.ts +0 -18
- package/components/form/form.component.d.ts +0 -64
- package/components/input/array/array-date-input/array-date-input.component.d.ts +0 -17
- package/components/input/array/array-date-range-input/array-date-range-input.component.d.ts +0 -25
- package/components/input/array/array-date-time-input/array-date-time-input.component.d.ts +0 -26
- package/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.d.ts +0 -30
- package/components/input/array/array-string-chips-input/array-string-chips-input.component.d.ts +0 -36
- package/components/input/array/array-table.class.d.ts +0 -56
- package/components/input/base-input.component.d.ts +0 -64
- package/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.d.ts +0 -10
- package/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.d.ts +0 -13
- package/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.d.ts +0 -10
- package/components/input/custom/custom.component.d.ts +0 -13
- package/components/input/date/date-input/date-input.component.d.ts +0 -11
- package/components/input/date/date-range-input/date-range-input.component.d.ts +0 -22
- package/components/input/date/date-time-input/date-time-input.component.d.ts +0 -32
- package/components/input/file/file-default-input/file-default-input.component.d.ts +0 -11
- package/components/input/file/file-image-input/file-image-input.component.d.ts +0 -28
- package/components/input/file/file-input/file-input.component.d.ts +0 -45
- package/components/input/input.component.d.ts +0 -590
- package/components/input/number/number-dropdown-input/number-dropdown-input.component.d.ts +0 -24
- package/components/input/number/number-input/number-input.component.d.ts +0 -9
- package/components/input/number/number-slider-input/number-slider-input.component.d.ts +0 -10
- package/components/input/relations/references-many-input/references-many-input.component.d.ts +0 -43
- package/components/input/string/string-autocomplete-input/string-autocomplete-input.component.d.ts +0 -19
- package/components/input/string/string-dropdown-input/string-dropdown-input.component.d.ts +0 -24
- package/components/input/string/string-input/string-input.component.d.ts +0 -9
- package/components/input/string/string-password-input/string-password-input.component.d.ts +0 -31
- package/components/input/string/string-textbox-input/string-textbox-input.component.d.ts +0 -9
- package/components/table/create-dialog/create-data.builder.d.ts +0 -25
- package/components/table/create-dialog/create-entity-data.builder.d.ts +0 -21
- package/components/table/create-dialog/create-entity-data.d.ts +0 -19
- package/components/table/create-dialog/create-entity-dialog.component.d.ts +0 -77
- package/components/table/default.actions.d.ts +0 -25
- package/components/table/display-column-value/base-display-column-value.component.d.ts +0 -15
- package/components/table/display-column-value/display-column-value.component.d.ts +0 -26
- package/components/table/edit-dialog/edit-data.builder.d.ts +0 -44
- package/components/table/edit-dialog/edit-entity-data.d.ts +0 -27
- package/components/table/edit-dialog/edit-entity-dialog.component.d.ts +0 -118
- package/components/table/edit-dialog/edit-entity.builder.d.ts +0 -23
- package/components/table/table-data.builder.d.ts +0 -102
- package/components/table/table-data.d.ts +0 -340
- package/components/table/table.component.d.ts +0 -119
- package/components/tooltip/tooltip.component.d.ts +0 -14
- package/decorators/array/array-decorator-internal.data.d.ts +0 -129
- package/decorators/array/array-decorator.data.d.ts +0 -252
- package/decorators/array/array.decorator.d.ts +0 -9
- package/decorators/base/base-property.decorator.d.ts +0 -9
- package/decorators/base/decorator-types.enum.d.ts +0 -48
- package/decorators/base/dropdown-value.interface.d.ts +0 -14
- package/decorators/base/property-decorator-internal.data.d.ts +0 -41
- package/decorators/base/property-decorator.data.d.ts +0 -88
- package/decorators/boolean/boolean-decorator-internal.data.d.ts +0 -26
- package/decorators/boolean/boolean-decorator.data.d.ts +0 -39
- package/decorators/boolean/boolean.decorator.d.ts +0 -7
- package/decorators/custom/custom-decorator-internal.data.d.ts +0 -17
- package/decorators/custom/custom-decorator.data.d.ts +0 -35
- package/decorators/custom/custom.decorator.d.ts +0 -9
- package/decorators/date/date-decorator-internal.data.d.ts +0 -45
- package/decorators/date/date-decorator.data.d.ts +0 -126
- package/decorators/date/date.decorator.d.ts +0 -7
- package/decorators/file/file-decorator-internal.data.d.ts +0 -93
- package/decorators/file/file-decorator.data.d.ts +0 -88
- package/decorators/file/file.decorator.d.ts +0 -8
- package/decorators/has-many/has-many-decorator-internal.data.d.ts +0 -16
- package/decorators/has-many/has-many-decorator.data.d.ts +0 -34
- package/decorators/has-many/has-many.decorator.d.ts +0 -8
- package/decorators/number/number-decorator-internal.data.d.ts +0 -38
- package/decorators/number/number-decorator.data.d.ts +0 -63
- package/decorators/number/number.decorator.d.ts +0 -7
- package/decorators/object/object-decorator-internal.data.d.ts +0 -23
- package/decorators/object/object-decorator.data.d.ts +0 -42
- package/decorators/object/object.decorator.d.ts +0 -8
- package/decorators/references-many/references-many-decorator-internal.data.d.ts +0 -30
- package/decorators/references-many/references-many-decorator.data.d.ts +0 -63
- package/decorators/references-many/references-many.decorator.d.ts +0 -8
- package/decorators/references-one/references-one-decorator-internal.data.d.ts +0 -16
- package/decorators/references-one/references-one-decorator.data.d.ts +0 -32
- package/decorators/references-one/references-one.decorator.d.ts +0 -8
- package/decorators/string/string-decorator-internal.data.d.ts +0 -56
- package/decorators/string/string-decorator.data.d.ts +0 -116
- package/decorators/string/string.decorator.d.ts +0 -7
- package/default-global-configuration-values.d.ts +0 -13
- package/directives/drag-drop.directive.d.ts +0 -29
- package/directives/dynamic-style-class.directive.d.ts +0 -24
- package/directives/included-in.directive.d.ts +0 -14
- package/directives/number.directive.d.ts +0 -16
- package/directives/password-match.directive.d.ts +0 -14
- package/directives/tooltip.directive.d.ts +0 -42
- package/encapsulation/js-2-xml.utilities.d.ts +0 -14
- package/encapsulation/jszip.utilities.d.ts +0 -12
- package/encapsulation/lodash.utilities.d.ts +0 -60
- package/encapsulation/reflect.utilities.d.ts +0 -59
- package/encapsulation/uuid.utilities.d.ts +0 -10
- package/esm2022/classes/base.builder.mjs +0 -47
- package/esm2022/classes/entity.model.mjs +0 -26
- package/esm2022/components/confirm-dialog/confirm-dialog-data.builder.mjs +0 -57
- package/esm2022/components/confirm-dialog/confirm-dialog-data.mjs +0 -2
- package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +0 -71
- package/esm2022/components/create-page/create-data.route.mjs +0 -12
- package/esm2022/components/create-page/create-page.component.mjs +0 -276
- package/esm2022/components/create-page/page-create-data.builder.mjs +0 -30
- package/esm2022/components/custom-table/custom-table-configuration.model.mjs +0 -37
- package/esm2022/components/custom-table/custom-table.component.mjs +0 -213
- package/esm2022/components/edit-page/edit-data.route.mjs +0 -12
- package/esm2022/components/edit-page/edit-page.component.mjs +0 -362
- package/esm2022/components/edit-page/page-edit-data.builder.mjs +0 -33
- package/esm2022/components/form/form.component.mjs +0 -106
- package/esm2022/components/input/array/array-date-input/array-date-input.component.mjs +0 -56
- package/esm2022/components/input/array/array-date-range-input/array-date-range-input.component.mjs +0 -82
- package/esm2022/components/input/array/array-date-time-input/array-date-time-input.component.mjs +0 -82
- package/esm2022/components/input/array/array-string-autocomplete-chips/array-string-autocomplete-chips.component.mjs +0 -81
- package/esm2022/components/input/array/array-string-chips-input/array-string-chips-input.component.mjs +0 -74
- package/esm2022/components/input/array/array-table.class.mjs +0 -107
- package/esm2022/components/input/base-input.component.mjs +0 -102
- package/esm2022/components/input/boolean/boolean-checkbox-input/boolean-checkbox-input.component.mjs +0 -29
- package/esm2022/components/input/boolean/boolean-dropdown-input/boolean-dropdown-input.component.mjs +0 -40
- package/esm2022/components/input/boolean/boolean-toggle-input/boolean-toggle-input.component.mjs +0 -29
- package/esm2022/components/input/custom/custom.component.mjs +0 -28
- package/esm2022/components/input/date/date-input/date-input.component.mjs +0 -28
- package/esm2022/components/input/date/date-range-input/date-range-input.component.mjs +0 -84
- package/esm2022/components/input/date/date-time-input/date-time-input.component.mjs +0 -90
- package/esm2022/components/input/file/file-default-input/file-default-input.component.mjs +0 -18
- package/esm2022/components/input/file/file-image-input/file-image-input.component.mjs +0 -104
- package/esm2022/components/input/file/file-input/file-input.component.mjs +0 -228
- package/esm2022/components/input/input.component.mjs +0 -1361
- package/esm2022/components/input/number/number-dropdown-input/number-dropdown-input.component.mjs +0 -65
- package/esm2022/components/input/number/number-input/number-input.component.mjs +0 -23
- package/esm2022/components/input/number/number-slider-input/number-slider-input.component.mjs +0 -27
- package/esm2022/components/input/relations/references-many-input/references-many-input.component.mjs +0 -145
- package/esm2022/components/input/string/string-autocomplete-input/string-autocomplete-input.component.mjs +0 -56
- package/esm2022/components/input/string/string-dropdown-input/string-dropdown-input.component.mjs +0 -65
- package/esm2022/components/input/string/string-input/string-input.component.mjs +0 -23
- package/esm2022/components/input/string/string-password-input/string-password-input.component.mjs +0 -107
- package/esm2022/components/input/string/string-textbox-input/string-textbox-input.component.mjs +0 -24
- package/esm2022/components/table/create-dialog/create-data.builder.mjs +0 -56
- package/esm2022/components/table/create-dialog/create-entity-data.builder.mjs +0 -32
- package/esm2022/components/table/create-dialog/create-entity-data.mjs +0 -2
- package/esm2022/components/table/create-dialog/create-entity-dialog.component.mjs +0 -180
- package/esm2022/components/table/default.actions.mjs +0 -83
- package/esm2022/components/table/display-column-value/base-display-column-value.component.mjs +0 -27
- package/esm2022/components/table/display-column-value/display-column-value.component.mjs +0 -41
- package/esm2022/components/table/edit-dialog/edit-data.builder.mjs +0 -136
- package/esm2022/components/table/edit-dialog/edit-entity-data.mjs +0 -2
- package/esm2022/components/table/edit-dialog/edit-entity-dialog.component.mjs +0 -295
- package/esm2022/components/table/edit-dialog/edit-entity.builder.mjs +0 -39
- package/esm2022/components/table/table-data.builder.mjs +0 -304
- package/esm2022/components/table/table-data.mjs +0 -2
- package/esm2022/components/table/table.component.mjs +0 -324
- package/esm2022/components/tooltip/tooltip.component.mjs +0 -26
- package/esm2022/decorators/array/array-decorator-internal.data.mjs +0 -310
- package/esm2022/decorators/array/array-decorator.data.mjs +0 -51
- package/esm2022/decorators/array/array.decorator.mjs +0 -37
- package/esm2022/decorators/base/base-property.decorator.mjs +0 -17
- package/esm2022/decorators/base/decorator-types.enum.mjs +0 -35
- package/esm2022/decorators/base/dropdown-value.interface.mjs +0 -2
- package/esm2022/decorators/base/property-decorator-internal.data.mjs +0 -101
- package/esm2022/decorators/base/property-decorator.data.mjs +0 -59
- package/esm2022/decorators/boolean/boolean-decorator-internal.data.mjs +0 -45
- package/esm2022/decorators/boolean/boolean-decorator.data.mjs +0 -11
- package/esm2022/decorators/boolean/boolean.decorator.mjs +0 -21
- package/esm2022/decorators/custom/custom-decorator-internal.data.mjs +0 -34
- package/esm2022/decorators/custom/custom-decorator.data.mjs +0 -2
- package/esm2022/decorators/custom/custom.decorator.mjs +0 -13
- package/esm2022/decorators/date/date-decorator-internal.data.mjs +0 -92
- package/esm2022/decorators/date/date-decorator.data.mjs +0 -11
- package/esm2022/decorators/date/date.decorator.mjs +0 -22
- package/esm2022/decorators/file/file-decorator-internal.data.mjs +0 -143
- package/esm2022/decorators/file/file-decorator.data.mjs +0 -59
- package/esm2022/decorators/file/file.decorator.mjs +0 -25
- package/esm2022/decorators/has-many/has-many-decorator-internal.data.mjs +0 -41
- package/esm2022/decorators/has-many/has-many-decorator.data.mjs +0 -2
- package/esm2022/decorators/has-many/has-many.decorator.mjs +0 -13
- package/esm2022/decorators/number/number-decorator-internal.data.mjs +0 -68
- package/esm2022/decorators/number/number-decorator.data.mjs +0 -11
- package/esm2022/decorators/number/number.decorator.mjs +0 -22
- package/esm2022/decorators/object/object-decorator-internal.data.mjs +0 -42
- package/esm2022/decorators/object/object-decorator.data.mjs +0 -22
- package/esm2022/decorators/object/object.decorator.mjs +0 -20
- package/esm2022/decorators/references-many/references-many-decorator-internal.data.mjs +0 -55
- package/esm2022/decorators/references-many/references-many-decorator.data.mjs +0 -2
- package/esm2022/decorators/references-many/references-many.decorator.mjs +0 -13
- package/esm2022/decorators/references-one/references-one-decorator-internal.data.mjs +0 -34
- package/esm2022/decorators/references-one/references-one-decorator.data.mjs +0 -2
- package/esm2022/decorators/references-one/references-one.decorator.mjs +0 -12
- package/esm2022/decorators/string/string-decorator-internal.data.mjs +0 -119
- package/esm2022/decorators/string/string-decorator.data.mjs +0 -11
- package/esm2022/decorators/string/string.decorator.mjs +0 -29
- package/esm2022/default-global-configuration-values.mjs +0 -91
- package/esm2022/directives/drag-drop.directive.mjs +0 -60
- package/esm2022/directives/dynamic-style-class.directive.mjs +0 -51
- package/esm2022/directives/included-in.directive.mjs +0 -33
- package/esm2022/directives/number.directive.mjs +0 -37
- package/esm2022/directives/password-match.directive.mjs +0 -30
- package/esm2022/directives/tooltip.directive.mjs +0 -142
- package/esm2022/encapsulation/js-2-xml.utilities.mjs +0 -17
- package/esm2022/encapsulation/jszip.utilities.mjs +0 -16
- package/esm2022/encapsulation/lodash.utilities.mjs +0 -80
- package/esm2022/encapsulation/reflect.utilities.mjs +0 -79
- package/esm2022/encapsulation/uuid.utilities.mjs +0 -14
- package/esm2022/functions/default-false.function.mjs +0 -9
- package/esm2022/functions/default-style-classes.function.mjs +0 -7
- package/esm2022/functions/default-true.function.mjs +0 -9
- package/esm2022/functions/dropdown-values-to-function.function.mjs +0 -15
- package/esm2022/functions/get-changes-tooltip-content.function.mjs +0 -23
- package/esm2022/functions/get-config-value.function.mjs +0 -14
- package/esm2022/functions/get-validation-error-message.function.mjs +0 -54
- package/esm2022/functions/get-validation-errors-tooltip-content.function.mjs +0 -23
- package/esm2022/functions/is-async-function.function.mjs +0 -9
- package/esm2022/functions/table-column-value-to-sort-value.function.mjs +0 -33
- package/esm2022/global-configuration-values.mjs +0 -27
- package/esm2022/mocks/placeholder-data.png.mjs +0 -3
- package/esm2022/ngx-material-entity.mjs +0 -5
- package/esm2022/public-api.mjs +0 -68
- package/esm2022/services/entity.service.mjs +0 -269
- package/esm2022/services/unsaved-changes.guard.mjs +0 -13
- package/esm2022/utilities/date.utilities.mjs +0 -138
- package/esm2022/utilities/entity.utilities.mjs +0 -611
- package/esm2022/utilities/file.utilities.mjs +0 -172
- package/esm2022/utilities/selection.utilities.mjs +0 -49
- package/esm2022/utilities/validation.utilities.mjs +0 -543
- package/functions/default-false.function.d.ts +0 -6
- package/functions/default-style-classes.function.d.ts +0 -6
- package/functions/default-true.function.d.ts +0 -6
- package/functions/dropdown-values-to-function.function.d.ts +0 -11
- package/functions/get-changes-tooltip-content.function.d.ts +0 -13
- package/functions/get-config-value.function.d.ts +0 -7
- package/functions/get-validation-error-message.function.d.ts +0 -5
- package/functions/get-validation-errors-tooltip-content.function.d.ts +0 -12
- package/functions/is-async-function.function.d.ts +0 -6
- package/functions/table-column-value-to-sort-value.function.d.ts +0 -9
- package/global-configuration-values.d.ts +0 -205
- package/mocks/placeholder-data.png.d.ts +0 -1
- package/public-api.d.ts +0 -60
- package/services/entity.service.d.ts +0 -146
- package/services/unsaved-changes.guard.d.ts +0 -23
- package/utilities/date.utilities.d.ts +0 -92
- package/utilities/entity.utilities.d.ts +0 -236
- package/utilities/file.utilities.d.ts +0 -67
- package/utilities/selection.utilities.d.ts +0 -28
- package/utilities/validation.utilities.d.ts +0 -58
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/* eslint-disable unicorn/no-null */
|
|
2
|
-
import { Directive, Input } from '@angular/core';
|
|
3
|
-
import { NG_VALIDATORS } from '@angular/forms';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* A Validator that checks if the input value is one of the provided values of the "includedIn" array.
|
|
7
|
-
*/
|
|
8
|
-
export class IncludedInValidatorDirective {
|
|
9
|
-
/**
|
|
10
|
-
* The values that are valid for the input.
|
|
11
|
-
*/
|
|
12
|
-
includedIn;
|
|
13
|
-
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
14
|
-
validate(control) {
|
|
15
|
-
if (!this.includedIn?.length || !Boolean(control.value)) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
return this.includedIn.includes(control.value) ? null : { includedIn: { value: control.value, validValues: this.includedIn } };
|
|
19
|
-
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: IncludedInValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.7", type: IncludedInValidatorDirective, isStandalone: true, selector: "[includedIn]", inputs: { includedIn: "includedIn" }, providers: [{ provide: NG_VALIDATORS, useExisting: IncludedInValidatorDirective, multi: true }], ngImport: i0 });
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: IncludedInValidatorDirective, decorators: [{
|
|
24
|
-
type: Directive,
|
|
25
|
-
args: [{
|
|
26
|
-
selector: '[includedIn]',
|
|
27
|
-
providers: [{ provide: NG_VALIDATORS, useExisting: IncludedInValidatorDirective, multi: true }],
|
|
28
|
-
standalone: true
|
|
29
|
-
}]
|
|
30
|
-
}], propDecorators: { includedIn: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZWQtaW4uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZGlyZWN0aXZlcy9pbmNsdWRlZC1pbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBbUIsYUFBYSxFQUErQixNQUFNLGdCQUFnQixDQUFDOztBQUU3Rjs7R0FFRztBQU1ILE1BQU0sT0FBTyw0QkFBNEI7SUFFckM7O09BRUc7SUFFSCxVQUFVLENBQXlCO0lBRW5DLCtDQUErQztJQUMvQyxRQUFRLENBQUMsT0FBaUM7UUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RELE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztJQUNuSSxDQUFDO3VHQWRRLDRCQUE0QjsyRkFBNUIsNEJBQTRCLGlHQUgxQixDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzsyRkFHdEYsNEJBQTRCO2tCQUx4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyw4QkFBOEIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBQy9GLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs4QkFPRyxVQUFVO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSB1bmljb3JuL25vLW51bGwgKi9cbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIEEgVmFsaWRhdG9yIHRoYXQgY2hlY2tzIGlmIHRoZSBpbnB1dCB2YWx1ZSBpcyBvbmUgb2YgdGhlIHByb3ZpZGVkIHZhbHVlcyBvZiB0aGUgXCJpbmNsdWRlZEluXCIgYXJyYXkuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2luY2x1ZGVkSW5dJyxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBJbmNsdWRlZEluVmFsaWRhdG9yRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9XSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEluY2x1ZGVkSW5WYWxpZGF0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuXG4gICAgLyoqXG4gICAgICogVGhlIHZhbHVlcyB0aGF0IGFyZSB2YWxpZCBmb3IgdGhlIGlucHV0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgaW5jbHVkZWRJbiE6IHVua25vd25bXSB8IHVuZGVmaW5lZDtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sPHVua25vd24+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgICAgICBpZiAoIXRoaXMuaW5jbHVkZWRJbj8ubGVuZ3RoIHx8ICFCb29sZWFuKGNvbnRyb2wudmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5pbmNsdWRlZEluLmluY2x1ZGVzKGNvbnRyb2wudmFsdWUpID8gbnVsbCA6IHsgaW5jbHVkZWRJbjogeyB2YWx1ZTogY29udHJvbC52YWx1ZSwgdmFsaWRWYWx1ZXM6IHRoaXMuaW5jbHVkZWRJbiB9IH07XG4gICAgfVxufSJdfQ==
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostListener } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* A directive that only allows number inputs.
|
|
5
|
-
*/
|
|
6
|
-
export class NumberDirective {
|
|
7
|
-
el;
|
|
8
|
-
constructor(el) {
|
|
9
|
-
this.el = el;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Prevents the default event when a key is pressed that is not a valid number, eg. 'A', 'B', 'C', 'D' etc.
|
|
13
|
-
* @param e - The keydown event from the user.
|
|
14
|
-
*/
|
|
15
|
-
onKeyDown(e) {
|
|
16
|
-
if (!Number.isNaN(Number.parseInt(e.key))
|
|
17
|
-
|| ['.', ',', 'Escape', 'Enter', 'Delete', 'Backspace', 'Home', 'End', 'Left', 'Right', 'Tab'].includes(e.key)
|
|
18
|
-
|| (e.ctrlKey || e.metaKey) // && ['a', 'c', 'v', 'x', 'z'].includes(e.key)
|
|
19
|
-
) {
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
e.preventDefault();
|
|
23
|
-
}
|
|
24
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: NumberDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
25
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.7", type: NumberDirective, isStandalone: true, selector: "[number]", host: { listeners: { "keydown": "onKeyDown($event)" } }, ngImport: i0 });
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: NumberDirective, decorators: [{
|
|
28
|
-
type: Directive,
|
|
29
|
-
args: [{
|
|
30
|
-
selector: '[number]',
|
|
31
|
-
standalone: true
|
|
32
|
-
}]
|
|
33
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { onKeyDown: [{
|
|
34
|
-
type: HostListener,
|
|
35
|
-
args: ['keydown', ['$event']]
|
|
36
|
-
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2RpcmVjdGl2ZXMvbnVtYmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXBFOztHQUVHO0FBS0gsTUFBTSxPQUFPLGVBQWU7SUFDSztJQUE3QixZQUE2QixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFHLENBQUM7SUFFL0M7OztPQUdHO0lBRUgsU0FBUyxDQUFDLENBQWdCO1FBQ3RCLElBQ0ksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2VBQ2xDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2VBQzNHLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsK0NBQStDO1VBQzdFLENBQUM7WUFDQyxPQUFPO1FBQ1gsQ0FBQztRQUNELENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN2QixDQUFDO3VHQWpCUSxlQUFlOzJGQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjsrRUFTRyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB0aGF0IG9ubHkgYWxsb3dzIG51bWJlciBpbnB1dHMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW251bWJlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTnVtYmVyRGlyZWN0aXZlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudHMgdGhlIGRlZmF1bHQgZXZlbnQgd2hlbiBhIGtleSBpcyBwcmVzc2VkIHRoYXQgaXMgbm90IGEgdmFsaWQgbnVtYmVyLCBlZy4gJ0EnLCAnQicsICdDJywgJ0QnIGV0Yy5cbiAgICAgKiBAcGFyYW0gZSAtIFRoZSBrZXlkb3duIGV2ZW50IGZyb20gdGhlIHVzZXIuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duKGU6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIU51bWJlci5pc05hTihOdW1iZXIucGFyc2VJbnQoZS5rZXkpKVxuICAgICAgICAgICAgfHwgWycuJywgJywnLCAnRXNjYXBlJywgJ0VudGVyJywgJ0RlbGV0ZScsICdCYWNrc3BhY2UnLCAnSG9tZScsICdFbmQnLCAnTGVmdCcsICdSaWdodCcsICdUYWInXS5pbmNsdWRlcyhlLmtleSlcbiAgICAgICAgICAgIHx8IChlLmN0cmxLZXkgfHwgZS5tZXRhS2V5KSAvLyAmJiBbJ2EnLCAnYycsICd2JywgJ3gnLCAneiddLmluY2x1ZGVzKGUua2V5KVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxufSJdfQ==
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { NG_VALIDATORS } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* A directive that validates if a given password matches the control value.
|
|
6
|
-
*/
|
|
7
|
-
export class PasswordMatchValidatorDirective {
|
|
8
|
-
/**
|
|
9
|
-
* The password that the control value should be matched against.
|
|
10
|
-
*/
|
|
11
|
-
passwordMatch;
|
|
12
|
-
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
13
|
-
validate(control) {
|
|
14
|
-
// eslint-disable-next-line typescript/no-unsafe-assignment, unicorn/no-null
|
|
15
|
-
return this.passwordMatch == control.value ? null : { passwordMatch: { value: control.value } };
|
|
16
|
-
}
|
|
17
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: PasswordMatchValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
18
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.7", type: PasswordMatchValidatorDirective, isStandalone: true, selector: "[passwordMatch]", inputs: { passwordMatch: "passwordMatch" }, providers: [{ provide: NG_VALIDATORS, useExisting: PasswordMatchValidatorDirective, multi: true }], ngImport: i0 });
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: PasswordMatchValidatorDirective, decorators: [{
|
|
21
|
-
type: Directive,
|
|
22
|
-
args: [{
|
|
23
|
-
selector: '[passwordMatch]',
|
|
24
|
-
providers: [{ provide: NG_VALIDATORS, useExisting: PasswordMatchValidatorDirective, multi: true }],
|
|
25
|
-
standalone: true
|
|
26
|
-
}]
|
|
27
|
-
}], propDecorators: { passwordMatch: [{
|
|
28
|
-
type: Input
|
|
29
|
-
}] } });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtbWF0Y2guZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZGlyZWN0aXZlcy9wYXNzd29yZC1tYXRjaC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFtQixhQUFhLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7O0FBRTdGOztHQUVHO0FBTUgsTUFBTSxPQUFPLCtCQUErQjtJQUV4Qzs7T0FFRztJQUVILGFBQWEsQ0FBVTtJQUV2QiwrQ0FBK0M7SUFDL0MsUUFBUSxDQUFDLE9BQXdCO1FBQzdCLDRFQUE0RTtRQUM1RSxPQUFPLElBQUksQ0FBQyxhQUFhLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNwRyxDQUFDO3VHQVpRLCtCQUErQjsyRkFBL0IsK0JBQStCLDBHQUg3QixDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDOzsyRkFHekYsK0JBQStCO2tCQUwzQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLGlDQUFpQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDbEcsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQU9HLGFBQWE7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIEEgZGlyZWN0aXZlIHRoYXQgdmFsaWRhdGVzIGlmIGEgZ2l2ZW4gcGFzc3dvcmQgbWF0Y2hlcyB0aGUgY29udHJvbCB2YWx1ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcGFzc3dvcmRNYXRjaF0nLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IFBhc3N3b3JkTWF0Y2hWYWxpZGF0b3JEaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1dLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRNYXRjaFZhbGlkYXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGFzc3dvcmQgdGhhdCB0aGUgY29udHJvbCB2YWx1ZSBzaG91bGQgYmUgbWF0Y2hlZCBhZ2FpbnN0LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGFzc3dvcmRNYXRjaD86IHN0cmluZztcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9uby11bnNhZmUtYXNzaWdubWVudCwgdW5pY29ybi9uby1udWxsXG4gICAgICAgIHJldHVybiB0aGlzLnBhc3N3b3JkTWF0Y2ggPT0gY29udHJvbC52YWx1ZSA/IG51bGwgOiB7IHBhc3N3b3JkTWF0Y2g6IHsgdmFsdWU6IGNvbnRyb2wudmFsdWUgfSB9O1xuICAgIH1cbn0iXX0=
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* A directive that displays a tooltip on hover.
|
|
5
|
-
*/
|
|
6
|
-
export class TooltipDirective {
|
|
7
|
-
el;
|
|
8
|
-
renderer;
|
|
9
|
-
/**
|
|
10
|
-
* The content to display inside the tooltip.
|
|
11
|
-
*/
|
|
12
|
-
tooltip;
|
|
13
|
-
tooltipElement;
|
|
14
|
-
closeListeners = [];
|
|
15
|
-
openedByClick = false;
|
|
16
|
-
constructor(el, renderer) {
|
|
17
|
-
this.el = el;
|
|
18
|
-
this.renderer = renderer;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Toggles the tooltip.
|
|
22
|
-
* @param event - The click event, is used to stop the propagation that would trigger the global click listener.
|
|
23
|
-
*/
|
|
24
|
-
onClick(event) {
|
|
25
|
-
event.stopPropagation();
|
|
26
|
-
if (!this.tooltipElement) {
|
|
27
|
-
this.showTooltip();
|
|
28
|
-
this.registerCloseListeners();
|
|
29
|
-
this.openedByClick = true;
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
if (!this.openedByClick) {
|
|
33
|
-
this.openedByClick = true;
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
this.hideTooltip();
|
|
37
|
-
this.removeCloseListeners();
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Shows the tooltip.
|
|
41
|
-
*/
|
|
42
|
-
onMouseEnter() {
|
|
43
|
-
if (!this.tooltipElement) {
|
|
44
|
-
this.showTooltip();
|
|
45
|
-
this.registerCloseListeners();
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
if (this.openedByClick) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Hides the tooltip.
|
|
54
|
-
*/
|
|
55
|
-
onMouseLeave() {
|
|
56
|
-
if (this.openedByClick) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
this.hideTooltip();
|
|
60
|
-
this.removeCloseListeners();
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Hides the tooltip.
|
|
64
|
-
*/
|
|
65
|
-
onResize() {
|
|
66
|
-
this.hideTooltip();
|
|
67
|
-
this.removeCloseListeners();
|
|
68
|
-
}
|
|
69
|
-
showTooltip() {
|
|
70
|
-
if (this.tooltipElement) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
this.tooltipElement = this.renderer.createElement('div');
|
|
74
|
-
this.tooltipElement.innerHTML = this.tooltip;
|
|
75
|
-
this.renderer.setStyle(this.tooltipElement, 'z-index', '1000');
|
|
76
|
-
this.renderer.setStyle(this.tooltipElement, 'position', 'absolute');
|
|
77
|
-
this.renderer.setStyle(this.tooltipElement, 'padding', '4px 8px 4px 8px');
|
|
78
|
-
this.renderer.setStyle(this.tooltipElement, 'border-radius', '5px');
|
|
79
|
-
this.renderer.setStyle(this.tooltipElement, 'background-color', '#616161');
|
|
80
|
-
this.renderer.setStyle(this.tooltipElement, 'color', 'white');
|
|
81
|
-
this.renderer.setStyle(this.tooltipElement, 'max-height', '30vh');
|
|
82
|
-
this.renderer.setStyle(this.tooltipElement, 'max-width', '30vw');
|
|
83
|
-
this.renderer.setStyle(this.tooltipElement, 'overflow-y', 'scroll');
|
|
84
|
-
this.renderer.appendChild(this.el.nativeElement, this.tooltipElement);
|
|
85
|
-
const marginBottom = this.tooltipElement.clientHeight + this.el.nativeElement.clientHeight + 15;
|
|
86
|
-
this.renderer.setStyle(this.tooltipElement, 'margin-bottom', `${marginBottom}px`);
|
|
87
|
-
const marginLeft = this.tooltipElement.clientWidth + this.el.nativeElement.clientWidth - 50;
|
|
88
|
-
this.renderer.setStyle(this.tooltipElement, 'margin-left', `${marginLeft}px`);
|
|
89
|
-
}
|
|
90
|
-
registerCloseListeners() {
|
|
91
|
-
setTimeout(() => {
|
|
92
|
-
this.closeListeners.push(this.getCloseListener('click'), this.getCloseListener('touchmove'), this.getCloseListener('resize'));
|
|
93
|
-
}, 100);
|
|
94
|
-
}
|
|
95
|
-
getCloseListener(event) {
|
|
96
|
-
return this.renderer.listen('document', event, () => {
|
|
97
|
-
this.hideTooltip();
|
|
98
|
-
this.removeCloseListeners();
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
hideTooltip() {
|
|
102
|
-
if (this.tooltipElement) {
|
|
103
|
-
this.renderer.removeChild(this.el.nativeElement, this.tooltipElement);
|
|
104
|
-
this.tooltipElement = undefined;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
removeCloseListeners() {
|
|
108
|
-
for (const listener of this.closeListeners) {
|
|
109
|
-
listener();
|
|
110
|
-
}
|
|
111
|
-
this.closeListeners = [];
|
|
112
|
-
this.openedByClick = false;
|
|
113
|
-
}
|
|
114
|
-
ngOnDestroy() {
|
|
115
|
-
this.removeCloseListeners();
|
|
116
|
-
}
|
|
117
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
118
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.7", type: TooltipDirective, isStandalone: true, selector: "[tooltip]", inputs: { tooltip: "tooltip" }, host: { listeners: { "click": "onClick($event)", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "window:resize": "onResize()" } }, ngImport: i0 });
|
|
119
|
-
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
121
|
-
type: Directive,
|
|
122
|
-
args: [{
|
|
123
|
-
selector: '[tooltip]',
|
|
124
|
-
standalone: true
|
|
125
|
-
}]
|
|
126
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { tooltip: [{
|
|
127
|
-
type: Input,
|
|
128
|
-
args: [{ required: true }]
|
|
129
|
-
}], onClick: [{
|
|
130
|
-
type: HostListener,
|
|
131
|
-
args: ['click', ['$event']]
|
|
132
|
-
}], onMouseEnter: [{
|
|
133
|
-
type: HostListener,
|
|
134
|
-
args: ['mouseenter']
|
|
135
|
-
}], onMouseLeave: [{
|
|
136
|
-
type: HostListener,
|
|
137
|
-
args: ['mouseleave']
|
|
138
|
-
}], onResize: [{
|
|
139
|
-
type: HostListener,
|
|
140
|
-
args: ['window:resize']
|
|
141
|
-
}] } });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9kaXJlY3RpdmVzL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9qRzs7R0FFRztBQUtILE1BQU0sT0FBTyxnQkFBZ0I7SUFlSjtJQUNBO0lBZHJCOztPQUVHO0lBRUgsT0FBTyxDQUFVO0lBRVQsY0FBYyxDQUFlO0lBRTdCLGNBQWMsR0FBZSxFQUFFLENBQUM7SUFFaEMsYUFBYSxHQUFZLEtBQUssQ0FBQztJQUV2QyxZQUNxQixFQUFjLEVBQ2QsUUFBbUI7UUFEbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7SUFDckMsQ0FBQztJQUVKOzs7T0FHRztJQUVILE9BQU8sQ0FBQyxLQUFZO1FBQ2hCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztZQUMxQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDMUIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVEOztPQUVHO0lBRUgsWUFBWTtR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Z0JBQWdCOzJGQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjt1R0FPRyxPQUFPO3NCQUROLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQW1CekIsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFxQmpDLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQWdCMUIsWUFBWTtzQkFEWCxZQUFZO3VCQUFDLFlBQVk7Z0JBYTFCLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFRoZSB0eXBlIG9mIGEgZ2xvYmFsIGxpc3RlbmVyLiBJcyBhIGZ1bmN0aW9uIHRoYXQgc2ltcGx5IHVuc3Vic2NyaWJlcyB0aGUgbGlzdGVuZXIuXG4gKi9cbnR5cGUgTGlzdGVuZXIgPSAoKSA9PiB2b2lkO1xuXG4vKipcbiAqIEEgZGlyZWN0aXZlIHRoYXQgZGlzcGxheXMgYSB0b29sdGlwIG9uIGhvdmVyLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0b29sdGlwXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUb29sdGlwRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb250ZW50IHRvIGRpc3BsYXkgaW5zaWRlIHRoZSB0b29sdGlwLlxuICAgICAqL1xuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgdG9vbHRpcCE6IHN0cmluZztcblxuICAgIHByaXZhdGUgdG9vbHRpcEVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcblxuICAgIHByaXZhdGUgY2xvc2VMaXN0ZW5lcnM6IExpc3RlbmVyW10gPSBbXTtcblxuICAgIHByaXZhdGUgb3BlbmVkQnlDbGljazogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIFRvZ2dsZXMgdGhlIHRvb2x0aXAuXG4gICAgICogQHBhcmFtIGV2ZW50IC0gVGhlIGNsaWNrIGV2ZW50LCBpcyB1c2VkIHRvIHN0b3AgdGhlIHByb3BhZ2F0aW9uIHRoYXQgd291bGQgdHJpZ2dlciB0aGUgZ2xvYmFsIGNsaWNrIGxpc3RlbmVyLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKCF0aGlzLnRvb2x0aXBFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnNob3dUb29sdGlwKCk7XG4gICAgICAgICAgICB0aGlzLnJlZ2lzdGVyQ2xvc2VMaXN0ZW5lcnMoKTtcbiAgICAgICAgICAgIHRoaXMub3BlbmVkQnlDbGljayA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLm9wZW5lZEJ5Q2xpY2spIHtcbiAgICAgICAgICAgIHRoaXMub3BlbmVkQnlDbGljayA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgICAgICB0aGlzLnJlbW92ZUNsb3NlTGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvd3MgdGhlIHRvb2x0aXAuXG4gICAgICovXG4gICAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gICAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudG9vbHRpcEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd1Rvb2x0aXAoKTtcbiAgICAgICAgICAgIHRoaXMucmVnaXN0ZXJDbG9zZUxpc3RlbmVycygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9wZW5lZEJ5Q2xpY2spIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGVzIHRoZSB0b29sdGlwLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICAgIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMub3BlbmVkQnlDbGljaykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGlkZVRvb2x0aXAoKTtcbiAgICAgICAgdGhpcy5yZW1vdmVDbG9zZUxpc3RlbmVycygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGVzIHRoZSB0b29sdGlwLlxuICAgICAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICAgIG9uUmVzaXplKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2xvc2VMaXN0ZW5lcnMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNob3dUb29sdGlwKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50b29sdGlwRWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9vbHRpcEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICB0aGlzLnRvb2x0aXBFbGVtZW50LmlubmVySFRNTCA9IHRoaXMudG9vbHRpcDtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICd6LWluZGV4JywgJzEwMDAnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAncGFkZGluZycsICc0cHggOHB4IDRweCA4cHgnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAnYm9yZGVyLXJhZGl1cycsICc1cHgnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAnYmFja2dyb3VuZC1jb2xvcicsICcjNjE2MTYxJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ2NvbG9yJywgJ3doaXRlJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ21heC1oZWlnaHQnLCAnMzB2aCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdtYXgtd2lkdGgnLCAnMzB2dycpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdvdmVyZmxvdy15JywgJ3Njcm9sbCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy50b29sdGlwRWxlbWVudCk7XG5cbiAgICAgICAgY29uc3QgbWFyZ2luQm90dG9tOiBudW1iZXIgPSB0aGlzLnRvb2x0aXBFbGVtZW50LmNsaWVudEhlaWdodCArICh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNsaWVudEhlaWdodCArIDE1O1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdtYXJnaW4tYm90dG9tJywgYCR7bWFyZ2luQm90dG9tfXB4YCk7XG4gICAgICAgIGNvbnN0IG1hcmdpbkxlZnQ6IG51bWJlciA9IHRoaXMudG9vbHRpcEVsZW1lbnQuY2xpZW50V2lkdGggKyAodGhpcy5lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGllbnRXaWR0aCAtIDUwO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdtYXJnaW4tbGVmdCcsIGAke21hcmdpbkxlZnR9cHhgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyQ2xvc2VMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUxpc3RlbmVycy5wdXNoKFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2xvc2VMaXN0ZW5lcignY2xpY2snKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldENsb3NlTGlzdGVuZXIoJ3RvdWNobW92ZScpLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0Q2xvc2VMaXN0ZW5lcigncmVzaXplJylcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sIDEwMCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDbG9zZUxpc3RlbmVyKGV2ZW50OiBzdHJpbmcpOiBMaXN0ZW5lciB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCBldmVudCwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVDbG9zZUxpc3RlbmVycygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVUb29sdGlwKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50b29sdGlwRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMudG9vbHRpcEVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy50b29sdGlwRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlQ2xvc2VMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgbGlzdGVuZXIgb2YgdGhpcy5jbG9zZUxpc3RlbmVycykge1xuICAgICAgICAgICAgbGlzdGVuZXIoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsb3NlTGlzdGVuZXJzID0gW107XG4gICAgICAgIHRoaXMub3BlbmVkQnlDbGljayA9IGZhbHNlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUNsb3NlTGlzdGVuZXJzKCk7XG4gICAgfVxufSJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import * as js2xml from 'js2xmlparser';
|
|
2
|
-
/**
|
|
3
|
-
* Encapsulates functionality of the js2xml package.
|
|
4
|
-
*/
|
|
5
|
-
export class Js2XmlUtilities {
|
|
6
|
-
/**
|
|
7
|
-
* Returns a XML string representation of the specified object using the specified options.
|
|
8
|
-
* @param root - Name of the xml root element.
|
|
9
|
-
* @param value - The json value to convert. Will be a child of root.
|
|
10
|
-
* @param options - Additional options for the conversion.
|
|
11
|
-
* @returns The converted xml string.
|
|
12
|
-
*/
|
|
13
|
-
static parse(root, value, options) {
|
|
14
|
-
return js2xml.parse(root, value, options);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMtMi14bWwudXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZW5jYXBzdWxhdGlvbi9qcy0yLXhtbC51dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxjQUFjLENBQUM7QUFFdkM7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGVBQWU7SUFDakM7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFZLEVBQUUsS0FBYyxFQUFFLE9BQXlCO1FBQ2hFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGpzMnhtbCBmcm9tICdqczJ4bWxwYXJzZXInO1xuXG4vKipcbiAqIEVuY2Fwc3VsYXRlcyBmdW5jdGlvbmFsaXR5IG9mIHRoZSBqczJ4bWwgcGFja2FnZS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEpzMlhtbFV0aWxpdGllcyB7XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhIFhNTCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHNwZWNpZmllZCBvYmplY3QgdXNpbmcgdGhlIHNwZWNpZmllZCBvcHRpb25zLlxuICAgICAqIEBwYXJhbSByb290IC0gTmFtZSBvZiB0aGUgeG1sIHJvb3QgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUganNvbiB2YWx1ZSB0byBjb252ZXJ0LiBXaWxsIGJlIGEgY2hpbGQgb2Ygcm9vdC5cbiAgICAgKiBAcGFyYW0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgdGhlIGNvbnZlcnNpb24uXG4gICAgICogQHJldHVybnMgVGhlIGNvbnZlcnRlZCB4bWwgc3RyaW5nLlxuICAgICAqL1xuICAgIHN0YXRpYyBwYXJzZShyb290OiBzdHJpbmcsIHZhbHVlOiB1bmtub3duLCBvcHRpb25zPzoganMyeG1sLklPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGpzMnhtbC5wYXJzZShyb290LCB2YWx1ZSwgb3B0aW9ucyk7XG4gICAgfVxufSJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import JSZip from 'jszip';
|
|
2
|
-
// TODO: Find a way to use blobs with jest
|
|
3
|
-
/* istanbul ignore next */
|
|
4
|
-
/**
|
|
5
|
-
* Encapsulates JSZip functionality.
|
|
6
|
-
*/
|
|
7
|
-
export class JSZipUtilities {
|
|
8
|
-
/**
|
|
9
|
-
* Generates a new JSZip object that is correctly typed.
|
|
10
|
-
* @returns A new JSZip object.
|
|
11
|
-
*/
|
|
12
|
-
static new() {
|
|
13
|
-
return new JSZip();
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianN6aXAudXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZW5jYXBzdWxhdGlvbi9qc3ppcC51dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBSzFCLDBDQUEwQztBQUMxQywwQkFBMEI7QUFDMUI7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGNBQWM7SUFDaEM7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLEdBQUc7UUFDTixPQUFPLElBQUksS0FBSyxFQUFFLENBQUM7SUFDdkIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEpTWmlwIGZyb20gJ2pzemlwJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCB0eXBlIFppcCA9IEpTWmlwO1xuXG4vLyBUT0RPOiBGaW5kIGEgd2F5IHRvIHVzZSBibG9icyB3aXRoIGplc3Rcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4vKipcbiAqIEVuY2Fwc3VsYXRlcyBKU1ppcCBmdW5jdGlvbmFsaXR5LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSlNaaXBVdGlsaXRpZXMge1xuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyBhIG5ldyBKU1ppcCBvYmplY3QgdGhhdCBpcyBjb3JyZWN0bHkgdHlwZWQuXG4gICAgICogQHJldHVybnMgQSBuZXcgSlNaaXAgb2JqZWN0LlxuICAgICAqL1xuICAgIHN0YXRpYyBuZXcoKTogWmlwIHtcbiAgICAgICAgcmV0dXJuIG5ldyBKU1ppcCgpO1xuICAgIH1cbn0iXX0=
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import _ from 'lodash';
|
|
2
|
-
/**
|
|
3
|
-
* Encapsulates all functionality of lodash.
|
|
4
|
-
*/
|
|
5
|
-
export class LodashUtilities {
|
|
6
|
-
/**
|
|
7
|
-
* Performs a deep comparison between two values to determine if they are
|
|
8
|
-
* equivalent.
|
|
9
|
-
*
|
|
10
|
-
* **Note:** This method supports comparing arrays, array buffers, booleans,
|
|
11
|
-
* date objects, error objects, maps, numbers, `Object` objects, regexps,
|
|
12
|
-
* sets, strings, symbols, and typed arrays. `Object` objects are compared
|
|
13
|
-
* by their own, not inherited, enumerable properties. Functions and DOM
|
|
14
|
-
* nodes are **not** supported.
|
|
15
|
-
* @param value - The value to compare.
|
|
16
|
-
* @param other - The other value to compare.
|
|
17
|
-
* @returns Returns `true` if the values are equivalent, else `false`.
|
|
18
|
-
*/
|
|
19
|
-
static isEqual(value, other) {
|
|
20
|
-
return _.isEqual(value, other);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* This method is like _.clone except that it recursively clones value.
|
|
24
|
-
* @param value - The value to recursively clone.
|
|
25
|
-
* @returns Returns the deep cloned value.
|
|
26
|
-
*/
|
|
27
|
-
static cloneDeep(value) {
|
|
28
|
-
return _.cloneDeep(value);
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* The opposite of `_.pick`; this method creates an object composed of the
|
|
32
|
-
* own and inherited enumerable properties of `object` that are not omitted.
|
|
33
|
-
* @param object - The source object.
|
|
34
|
-
* @param paths - The property names to omit, specified
|
|
35
|
-
* individually or in arrays.
|
|
36
|
-
* @returns Returns the new object.
|
|
37
|
-
*/
|
|
38
|
-
static omit(object, ...paths) {
|
|
39
|
-
return _.omit(object, ...paths);
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Checks if `value` is `null` or `undefined`.
|
|
43
|
-
* @param value - The value to check.
|
|
44
|
-
* @returns Returns `true` if `value` is nullish, else `false`.
|
|
45
|
-
*/
|
|
46
|
-
// static isNil(value: unknown): value is null | undefined {
|
|
47
|
-
// return isNil(value);
|
|
48
|
-
// }
|
|
49
|
-
/**
|
|
50
|
-
* The opposite of `_.pickBy`; this method creates an object composed of the
|
|
51
|
-
* own and inherited enumerable properties of `object` that `predicate`
|
|
52
|
-
* doesn't return truthy for.
|
|
53
|
-
* @param object - The source object.
|
|
54
|
-
* @param predicate - The function invoked per property.
|
|
55
|
-
* @returns Returns the new object.
|
|
56
|
-
*/
|
|
57
|
-
// static omitBy<T extends object>(object: T | null | undefined, predicate: ValueKeyIteratee<T[keyof T]>): PartialObject<T> {
|
|
58
|
-
// return omitBy(object, predicate);
|
|
59
|
-
// }
|
|
60
|
-
/**
|
|
61
|
-
* Checks if value is classified as an Array object.
|
|
62
|
-
* @param value - The value to check.
|
|
63
|
-
* @returns Returns true if value is correctly classified, else false.
|
|
64
|
-
*/
|
|
65
|
-
static isArray(value) {
|
|
66
|
-
return _.isArray(value);
|
|
67
|
-
}
|
|
68
|
-
/* istanbul ignore next */
|
|
69
|
-
/**
|
|
70
|
-
* Checks if value is classified as an object that is not an array.
|
|
71
|
-
* @param value - The value to check.
|
|
72
|
-
* @returns Returns true if value is correctly classified, else false.
|
|
73
|
-
*/
|
|
74
|
-
static isObject(value) {
|
|
75
|
-
return value !== null
|
|
76
|
-
&& typeof value === 'object'
|
|
77
|
-
&& !LodashUtilities.isArray(value);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9kYXNoLnV0aWxpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2VuY2Fwc3VsYXRpb24vbG9kYXNoLnV0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkI7O0dBRUc7QUFDSCxNQUFNLE9BQWdCLGVBQWU7SUFFakM7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFjLEVBQUUsS0FBYztRQUN6QyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBSSxLQUFRO1FBQ3hCLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQXNDLE1BQTRCLEVBQUUsR0FBRyxLQUFrQjtRQUNoRyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCw0REFBNEQ7SUFDNUQsMkJBQTJCO0lBQzNCLElBQUk7SUFFSjs7Ozs7OztPQU9HO0lBQ0gsNkhBQTZIO0lBQzdILHdDQUF3QztJQUN4QyxJQUFJO0lBRUo7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBZTtRQUMxQixPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELDBCQUEwQjtJQUMxQjs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFlO1FBQzNCLE9BQU8sS0FBSyxLQUFLLElBQUk7ZUFDZCxPQUFPLEtBQUssS0FBSyxRQUFRO2VBQ3pCLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG4vKipcbiAqIEVuY2Fwc3VsYXRlcyBhbGwgZnVuY3Rpb25hbGl0eSBvZiBsb2Rhc2guXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMb2Rhc2hVdGlsaXRpZXMge1xuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgYSBkZWVwIGNvbXBhcmlzb24gYmV0d2VlbiB0d28gdmFsdWVzIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZVxuICAgICAqIGVxdWl2YWxlbnQuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2Qgc3VwcG9ydHMgY29tcGFyaW5nIGFycmF5cywgYXJyYXkgYnVmZmVycywgYm9vbGVhbnMsXG4gICAgICogZGF0ZSBvYmplY3RzLCBlcnJvciBvYmplY3RzLCBtYXBzLCBudW1iZXJzLCBgT2JqZWN0YCBvYmplY3RzLCByZWdleHBzLFxuICAgICAqIHNldHMsIHN0cmluZ3MsIHN5bWJvbHMsIGFuZCB0eXBlZCBhcnJheXMuIGBPYmplY3RgIG9iamVjdHMgYXJlIGNvbXBhcmVkXG4gICAgICogYnkgdGhlaXIgb3duLCBub3QgaW5oZXJpdGVkLCBlbnVtZXJhYmxlIHByb3BlcnRpZXMuIEZ1bmN0aW9ucyBhbmQgRE9NXG4gICAgICogbm9kZXMgYXJlICoqbm90Kiogc3VwcG9ydGVkLlxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSBvdGhlciAtIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEByZXR1cm5zIFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBzdGF0aWMgaXNFcXVhbCh2YWx1ZTogdW5rbm93biwgb3RoZXI6IHVua25vd24pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIF8uaXNFcXVhbCh2YWx1ZSwgb3RoZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgXy5jbG9uZSBleGNlcHQgdGhhdCBpdCByZWN1cnNpdmVseSBjbG9uZXMgdmFsdWUuXG4gICAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHJlY3Vyc2l2ZWx5IGNsb25lLlxuICAgICAqIEByZXR1cm5zIFJldHVybnMgdGhlIGRlZXAgY2xvbmVkIHZhbHVlLlxuICAgICAqL1xuICAgIHN0YXRpYyBjbG9uZURlZXA8VD4odmFsdWU6IFQpOiBUIHtcbiAgICAgICAgcmV0dXJuIF8uY2xvbmVEZWVwKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8ucGlja2A7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIHRoZVxuICAgICAqIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgcHJvcGVydGllcyBvZiBgb2JqZWN0YCB0aGF0IGFyZSBub3Qgb21pdHRlZC5cbiAgICAgKiBAcGFyYW0gb2JqZWN0IC0gVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHBhdGhzIC0gVGhlIHByb3BlcnR5IG5hbWVzIHRvIG9taXQsIHNwZWNpZmllZFxuICAgICAqIGluZGl2aWR1YWxseSBvciBpbiBhcnJheXMuXG4gICAgICogQHJldHVybnMgUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKi9cbiAgICBzdGF0aWMgb21pdDxUIGV4dGVuZHMgb2JqZWN0LCBLIGV4dGVuZHMga2V5b2YgVD4ob2JqZWN0OiBUIHwgbnVsbCB8IHVuZGVmaW5lZCwgLi4ucGF0aHM6IF8uTWFueTxLPltdKTogT21pdDxULCBLPiB7XG4gICAgICAgIHJldHVybiBfLm9taXQob2JqZWN0LCAuLi5wYXRocyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYG51bGxgIG9yIGB1bmRlZmluZWRgLlxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIG51bGxpc2gsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICAvLyBzdGF0aWMgaXNOaWwodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICAvLyAgICAgcmV0dXJuIGlzTmlsKHZhbHVlKTtcbiAgICAvLyB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8ucGlja0J5YDsgdGhpcyBtZXRob2QgY3JlYXRlcyBhbiBvYmplY3QgY29tcG9zZWQgb2YgdGhlXG4gICAgICogb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9mIGBvYmplY3RgIHRoYXQgYHByZWRpY2F0ZWBcbiAgICAgKiBkb2Vzbid0IHJldHVybiB0cnV0aHkgZm9yLlxuICAgICAqIEBwYXJhbSBvYmplY3QgLSBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gcHJlZGljYXRlIC0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIHByb3BlcnR5LlxuICAgICAqIEByZXR1cm5zIFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICovXG4gICAgLy8gc3RhdGljIG9taXRCeTxUIGV4dGVuZHMgb2JqZWN0PihvYmplY3Q6IFQgfCBudWxsIHwgdW5kZWZpbmVkLCBwcmVkaWNhdGU6IFZhbHVlS2V5SXRlcmF0ZWU8VFtrZXlvZiBUXT4pOiBQYXJ0aWFsT2JqZWN0PFQ+IHtcbiAgICAvLyAgICAgcmV0dXJuIG9taXRCeShvYmplY3QsIHByZWRpY2F0ZSk7XG4gICAgLy8gfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHZhbHVlIGlzIGNsYXNzaWZpZWQgYXMgYW4gQXJyYXkgb2JqZWN0LlxuICAgICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyBSZXR1cm5zIHRydWUgaWYgdmFsdWUgaXMgY29ycmVjdGx5IGNsYXNzaWZpZWQsIGVsc2UgZmFsc2UuXG4gICAgICovXG4gICAgc3RhdGljIGlzQXJyYXkodmFsdWU/OiB1bmtub3duKTogdmFsdWUgaXMgdW5rbm93bltdIHtcbiAgICAgICAgcmV0dXJuIF8uaXNBcnJheSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdmFsdWUgaXMgY2xhc3NpZmllZCBhcyBhbiBvYmplY3QgdGhhdCBpcyBub3QgYW4gYXJyYXkuXG4gICAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIFJldHVybnMgdHJ1ZSBpZiB2YWx1ZSBpcyBjb3JyZWN0bHkgY2xhc3NpZmllZCwgZWxzZSBmYWxzZS5cbiAgICAgKi9cbiAgICBzdGF0aWMgaXNPYmplY3QodmFsdWU/OiB1bmtub3duKTogdmFsdWUgaXMgb2JqZWN0IHtcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9PSBudWxsXG4gICAgICAgICAgICAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnXG4gICAgICAgICAgICAmJiAhTG9kYXNoVXRpbGl0aWVzLmlzQXJyYXkodmFsdWUpO1xuICAgIH1cbn0iXX0=
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
// eslint-disable-next-line eslintImport/no-unassigned-import
|
|
2
|
-
import 'reflect-metadata';
|
|
3
|
-
/**
|
|
4
|
-
* Encapsulates all functionality of Reflect.
|
|
5
|
-
*/
|
|
6
|
-
export class ReflectUtilities {
|
|
7
|
-
/**
|
|
8
|
-
* Gets the metadata value for the provided metadata key on the target object or its prototype chain.
|
|
9
|
-
* @param metadataKey - A key used to store and retrieve metadata.
|
|
10
|
-
* @param target - The target object on which the metadata is defined.
|
|
11
|
-
* @param propertyKey - The property key for the target.
|
|
12
|
-
* @returns The metadata value for the metadata key if found; otherwise, undefined.
|
|
13
|
-
*/
|
|
14
|
-
static getMetadata(metadataKey, target, propertyKey) {
|
|
15
|
-
return Reflect.getMetadata(metadataKey, target, propertyKey);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Returns the string and symbol keys of the own properties of an object. The own properties of an object
|
|
19
|
-
* are those that are defined directly on that object, and are not inherited from the object's prototype.
|
|
20
|
-
* @param target - Object that contains the own properties.
|
|
21
|
-
* @returns The keys of the given object.
|
|
22
|
-
*/
|
|
23
|
-
static ownKeys(target) {
|
|
24
|
-
const res = [];
|
|
25
|
-
for (const key in target) {
|
|
26
|
-
res.push(key);
|
|
27
|
-
}
|
|
28
|
-
return res;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Gets the property of target, equivalent to `target[propertyKey]`.
|
|
32
|
-
* @param target - Object that contains the property on itself or in its prototype chain.
|
|
33
|
-
* @param propertyKey - The property name.
|
|
34
|
-
* @returns The property of the target of the given key.
|
|
35
|
-
*/
|
|
36
|
-
static get(target, propertyKey) {
|
|
37
|
-
return Reflect.get(target, propertyKey);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Sets the property of target, equivalent to `target[propertyKey] = value`.
|
|
41
|
-
* @param target - Object that contains the property on itself or in its prototype chain.
|
|
42
|
-
* @param propertyKey - The property name.
|
|
43
|
-
* @param value - The value to set the property to.
|
|
44
|
-
* @returns If setting the value was successful.
|
|
45
|
-
*/
|
|
46
|
-
static set(target, propertyKey, value) {
|
|
47
|
-
return Reflect.set(target, propertyKey, value);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Equivalent to `propertyKey in target`.
|
|
51
|
-
* @param target - Object that contains the property on itself or in its prototype chain.
|
|
52
|
-
* @param propertyKey - Name of the property.
|
|
53
|
-
* @returns Whether or not the given target has the key.
|
|
54
|
-
*/
|
|
55
|
-
static has(target, propertyKey) {
|
|
56
|
-
return Reflect.has(target, propertyKey);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Checks if the targets key entry has a metadata value for the given metadata key.
|
|
60
|
-
* @returns Whether the metadata is null or not.
|
|
61
|
-
* @param metadataKey - The key of the metadata on the property.
|
|
62
|
-
* @param target - Object that contains the property on itself or in its prototype chain.
|
|
63
|
-
* @param propertyKey - The key of the target.
|
|
64
|
-
*/
|
|
65
|
-
static hasMetadata(metadataKey, target, propertyKey) {
|
|
66
|
-
return this.getMetadata(metadataKey, target, propertyKey) != undefined;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Define a unique metadata entry on the target.
|
|
70
|
-
* @param metadataKey - A key used to store and retrieve metadata.
|
|
71
|
-
* @param metadataValue - A value that contains attached metadata.
|
|
72
|
-
* @param target - The target object on which to define metadata.
|
|
73
|
-
* @param propertyKey - The property key for the target.
|
|
74
|
-
*/
|
|
75
|
-
static defineMetadata(metadataKey, metadataValue, target, propertyKey) {
|
|
76
|
-
Reflect.defineMetadata(metadataKey, metadataValue, target, propertyKey);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmbGVjdC51dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9lbmNhcHN1bGF0aW9uL3JlZmxlY3QudXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDtBQUM3RCxPQUFPLGtCQUFrQixDQUFDO0FBRTFCOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixnQkFBZ0I7SUFDbEM7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBbUIsV0FBbUIsRUFBRSxNQUFTLEVBQUUsV0FBb0I7UUFDckYsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBcUIsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQW1CLE1BQVM7UUFDdEMsTUFBTSxHQUFHLEdBQWdCLEVBQUUsQ0FBQztRQUM1QixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBbUIsTUFBUyxFQUFFLFdBQW9CO1FBQ3hELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxHQUFHLENBQW1CLE1BQVMsRUFBRSxXQUFvQixFQUFFLEtBQWM7UUFDeEUsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBbUIsTUFBUyxFQUFFLFdBQW9CO1FBQ3hELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQW1CLFdBQW1CLEVBQUUsTUFBUyxFQUFFLFdBQW9CO1FBQ3JGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLFdBQVcsQ0FBQyxJQUFJLFNBQVMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGNBQWMsQ0FDakIsV0FBb0IsRUFDcEIsYUFBc0IsRUFDdEIsTUFBUyxFQUNULFdBQW9CO1FBRXBCLE9BQU8sQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsV0FBcUIsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlc2xpbnRJbXBvcnQvbm8tdW5hc3NpZ25lZC1pbXBvcnRcbmltcG9ydCAncmVmbGVjdC1tZXRhZGF0YSc7XG5cbi8qKlxuICogRW5jYXBzdWxhdGVzIGFsbCBmdW5jdGlvbmFsaXR5IG9mIFJlZmxlY3QuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZWZsZWN0VXRpbGl0aWVzIHtcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBtZXRhZGF0YSB2YWx1ZSBmb3IgdGhlIHByb3ZpZGVkIG1ldGFkYXRhIGtleSBvbiB0aGUgdGFyZ2V0IG9iamVjdCBvciBpdHMgcHJvdG90eXBlIGNoYWluLlxuICAgICAqIEBwYXJhbSBtZXRhZGF0YUtleSAtIEEga2V5IHVzZWQgdG8gc3RvcmUgYW5kIHJldHJpZXZlIG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBUaGUgdGFyZ2V0IG9iamVjdCBvbiB3aGljaCB0aGUgbWV0YWRhdGEgaXMgZGVmaW5lZC5cbiAgICAgKiBAcGFyYW0gcHJvcGVydHlLZXkgLSBUaGUgcHJvcGVydHkga2V5IGZvciB0aGUgdGFyZ2V0LlxuICAgICAqIEByZXR1cm5zIFRoZSBtZXRhZGF0YSB2YWx1ZSBmb3IgdGhlIG1ldGFkYXRhIGtleSBpZiBmb3VuZDsgb3RoZXJ3aXNlLCB1bmRlZmluZWQuXG4gICAgICovXG4gICAgc3RhdGljIGdldE1ldGFkYXRhPFQgZXh0ZW5kcyBvYmplY3Q+KG1ldGFkYXRhS2V5OiBzdHJpbmcsIHRhcmdldDogVCwgcHJvcGVydHlLZXk6IGtleW9mIFQpOiB1bmtub3duIHtcbiAgICAgICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEobWV0YWRhdGFLZXksIHRhcmdldCwgcHJvcGVydHlLZXkgYXMgc3RyaW5nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBzdHJpbmcgYW5kIHN5bWJvbCBrZXlzIG9mIHRoZSBvd24gcHJvcGVydGllcyBvZiBhbiBvYmplY3QuIFRoZSBvd24gcHJvcGVydGllcyBvZiBhbiBvYmplY3RcbiAgICAgKiBhcmUgdGhvc2UgdGhhdCBhcmUgZGVmaW5lZCBkaXJlY3RseSBvbiB0aGF0IG9iamVjdCwgYW5kIGFyZSBub3QgaW5oZXJpdGVkIGZyb20gdGhlIG9iamVjdCdzIHByb3RvdHlwZS5cbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gT2JqZWN0IHRoYXQgY29udGFpbnMgdGhlIG93biBwcm9wZXJ0aWVzLlxuICAgICAqIEByZXR1cm5zIFRoZSBrZXlzIG9mIHRoZSBnaXZlbiBvYmplY3QuXG4gICAgICovXG4gICAgc3RhdGljIG93bktleXM8VCBleHRlbmRzIG9iamVjdD4odGFyZ2V0OiBUKTogKGtleW9mIFQpW10ge1xuICAgICAgICBjb25zdCByZXM6IChrZXlvZiBUKVtdID0gW107XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRhcmdldCkge1xuICAgICAgICAgICAgcmVzLnB1c2goa2V5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHByb3BlcnR5IG9mIHRhcmdldCwgZXF1aXZhbGVudCB0byBgdGFyZ2V0W3Byb3BlcnR5S2V5XWAuXG4gICAgICogQHBhcmFtIHRhcmdldCAtIE9iamVjdCB0aGF0IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSBvbiBpdHNlbGYgb3IgaW4gaXRzIHByb3RvdHlwZSBjaGFpbi5cbiAgICAgKiBAcGFyYW0gcHJvcGVydHlLZXkgLSBUaGUgcHJvcGVydHkgbmFtZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgcHJvcGVydHkgb2YgdGhlIHRhcmdldCBvZiB0aGUgZ2l2ZW4ga2V5LlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXQ8VCBleHRlbmRzIG9iamVjdD4odGFyZ2V0OiBULCBwcm9wZXJ0eUtleToga2V5b2YgVCk6IHVua25vd24ge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgcHJvcGVydHkgb2YgdGFyZ2V0LCBlcXVpdmFsZW50IHRvIGB0YXJnZXRbcHJvcGVydHlLZXldID0gdmFsdWVgLlxuICAgICAqIEBwYXJhbSB0YXJnZXQgLSBPYmplY3QgdGhhdCBjb250YWlucyB0aGUgcHJvcGVydHkgb24gaXRzZWxmIG9yIGluIGl0cyBwcm90b3R5cGUgY2hhaW4uXG4gICAgICogQHBhcmFtIHByb3BlcnR5S2V5IC0gVGhlIHByb3BlcnR5IG5hbWUuXG4gICAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldCB0aGUgcHJvcGVydHkgdG8uXG4gICAgICogQHJldHVybnMgSWYgc2V0dGluZyB0aGUgdmFsdWUgd2FzIHN1Y2Nlc3NmdWwuXG4gICAgICovXG4gICAgc3RhdGljIHNldDxUIGV4dGVuZHMgb2JqZWN0Pih0YXJnZXQ6IFQsIHByb3BlcnR5S2V5OiBrZXlvZiBULCB2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5zZXQodGFyZ2V0LCBwcm9wZXJ0eUtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEVxdWl2YWxlbnQgdG8gYHByb3BlcnR5S2V5IGluIHRhcmdldGAuXG4gICAgICogQHBhcmFtIHRhcmdldCAtIE9iamVjdCB0aGF0IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSBvbiBpdHNlbGYgb3IgaW4gaXRzIHByb3RvdHlwZSBjaGFpbi5cbiAgICAgKiBAcGFyYW0gcHJvcGVydHlLZXkgLSBOYW1lIG9mIHRoZSBwcm9wZXJ0eS5cbiAgICAgKiBAcmV0dXJucyBXaGV0aGVyIG9yIG5vdCB0aGUgZ2l2ZW4gdGFyZ2V0IGhhcyB0aGUga2V5LlxuICAgICAqL1xuICAgIHN0YXRpYyBoYXM8VCBleHRlbmRzIG9iamVjdD4odGFyZ2V0OiBULCBwcm9wZXJ0eUtleToga2V5b2YgVCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5oYXModGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSB0YXJnZXRzIGtleSBlbnRyeSBoYXMgYSBtZXRhZGF0YSB2YWx1ZSBmb3IgdGhlIGdpdmVuIG1ldGFkYXRhIGtleS5cbiAgICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBtZXRhZGF0YSBpcyBudWxsIG9yIG5vdC5cbiAgICAgKiBAcGFyYW0gbWV0YWRhdGFLZXkgLSBUaGUga2V5IG9mIHRoZSBtZXRhZGF0YSBvbiB0aGUgcHJvcGVydHkuXG4gICAgICogQHBhcmFtIHRhcmdldCAtIE9iamVjdCB0aGF0IGNvbnRhaW5zIHRoZSBwcm9wZXJ0eSBvbiBpdHNlbGYgb3IgaW4gaXRzIHByb3RvdHlwZSBjaGFpbi5cbiAgICAgKiBAcGFyYW0gcHJvcGVydHlLZXkgLSBUaGUga2V5IG9mIHRoZSB0YXJnZXQuXG4gICAgICovXG4gICAgc3RhdGljIGhhc01ldGFkYXRhPFQgZXh0ZW5kcyBvYmplY3Q+KG1ldGFkYXRhS2V5OiBzdHJpbmcsIHRhcmdldDogVCwgcHJvcGVydHlLZXk6IGtleW9mIFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGEobWV0YWRhdGFLZXksIHRhcmdldCwgcHJvcGVydHlLZXkpICE9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWZpbmUgYSB1bmlxdWUgbWV0YWRhdGEgZW50cnkgb24gdGhlIHRhcmdldC5cbiAgICAgKiBAcGFyYW0gbWV0YWRhdGFLZXkgLSBBIGtleSB1c2VkIHRvIHN0b3JlIGFuZCByZXRyaWV2ZSBtZXRhZGF0YS5cbiAgICAgKiBAcGFyYW0gbWV0YWRhdGFWYWx1ZSAtIEEgdmFsdWUgdGhhdCBjb250YWlucyBhdHRhY2hlZCBtZXRhZGF0YS5cbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gVGhlIHRhcmdldCBvYmplY3Qgb24gd2hpY2ggdG8gZGVmaW5lIG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSBwcm9wZXJ0eUtleSAtIFRoZSBwcm9wZXJ0eSBrZXkgZm9yIHRoZSB0YXJnZXQuXG4gICAgICovXG4gICAgc3RhdGljIGRlZmluZU1ldGFkYXRhPFQgZXh0ZW5kcyBvYmplY3Q+KFxuICAgICAgICBtZXRhZGF0YUtleTogdW5rbm93bixcbiAgICAgICAgbWV0YWRhdGFWYWx1ZTogdW5rbm93bixcbiAgICAgICAgdGFyZ2V0OiBULFxuICAgICAgICBwcm9wZXJ0eUtleToga2V5b2YgVFxuICAgICk6IHZvaWQge1xuICAgICAgICBSZWZsZWN0LmRlZmluZU1ldGFkYXRhKG1ldGFkYXRhS2V5LCBtZXRhZGF0YVZhbHVlLCB0YXJnZXQsIHByb3BlcnR5S2V5IGFzIHN0cmluZyk7XG4gICAgfVxufSJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as uuid from 'uuid';
|
|
2
|
-
/**
|
|
3
|
-
* Encapsulates functionality of the uuid package.
|
|
4
|
-
*/
|
|
5
|
-
export class UUIDUtilities {
|
|
6
|
-
/**
|
|
7
|
-
* Creates a new v4 uuid.
|
|
8
|
-
* @returns The created uuid.
|
|
9
|
-
*/
|
|
10
|
-
static create() {
|
|
11
|
-
return uuid.v4();
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXVpZC51dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtZW50aXR5L3NyYy9lbmNhcHN1bGF0aW9uL3V1aWQudXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRTdCOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixhQUFhO0lBQy9COzs7T0FHRztJQUNILE1BQU0sQ0FBQyxNQUFNO1FBQ1QsT0FBTyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDckIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXVpZCBmcm9tICd1dWlkJztcblxuLyoqXG4gKiBFbmNhcHN1bGF0ZXMgZnVuY3Rpb25hbGl0eSBvZiB0aGUgdXVpZCBwYWNrYWdlLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVVVJRFV0aWxpdGllcyB7XG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyB2NCB1dWlkLlxuICAgICAqIEByZXR1cm5zIFRoZSBjcmVhdGVkIHV1aWQuXG4gICAgICovXG4gICAgc3RhdGljIGNyZWF0ZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdXVpZC52NCgpO1xuICAgIH1cbn0iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The default false function.
|
|
3
|
-
* A boolean false is resolved to this.
|
|
4
|
-
* @returns False.
|
|
5
|
-
*/
|
|
6
|
-
export function defaultFalse() {
|
|
7
|
-
return false;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1mYWxzZS5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2Z1bmN0aW9ucy9kZWZhdWx0LWZhbHNlLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsWUFBWTtJQUN4QixPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGUgZGVmYXVsdCBmYWxzZSBmdW5jdGlvbi5cbiAqIEEgYm9vbGVhbiBmYWxzZSBpcyByZXNvbHZlZCB0byB0aGlzLlxuICogQHJldHVybnMgRmFsc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0RmFsc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xufSJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The default function to retrieve dynamic style classes.
|
|
3
|
-
* Returns an empty array.
|
|
4
|
-
*/
|
|
5
|
-
// eslint-disable-next-line typescript/no-explicit-any
|
|
6
|
-
export const defaultDynamicStyleClasses = () => [];
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1zdHlsZS1jbGFzc2VzLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZnVuY3Rpb25zL2RlZmF1bHQtc3R5bGUtY2xhc3Nlcy5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7O0dBR0c7QUFDSCxzREFBc0Q7QUFDdEQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQTZCLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNTdHlsZUNsYXNzZXMgfSBmcm9tICcuLi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLWRhdGEnO1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IGZ1bmN0aW9uIHRvIHJldHJpZXZlIGR5bmFtaWMgc3R5bGUgY2xhc3Nlcy5cbiAqIFJldHVybnMgYW4gZW1wdHkgYXJyYXkuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB0eXBlc2NyaXB0L25vLWV4cGxpY2l0LWFueVxuZXhwb3J0IGNvbnN0IGRlZmF1bHREeW5hbWljU3R5bGVDbGFzc2VzOiBEeW5hbWljU3R5bGVDbGFzc2VzPGFueT4gPSAoKSA9PiBbXTsiXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The default true function.
|
|
3
|
-
* A boolean true is resolved to this.
|
|
4
|
-
* @returns True.
|
|
5
|
-
*/
|
|
6
|
-
export function defaultTrue() {
|
|
7
|
-
return true;
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC10cnVlLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZnVuY3Rpb25zL2RlZmF1bHQtdHJ1ZS5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFdBQVc7SUFDdkIsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIGRlZmF1bHQgdHJ1ZSBmdW5jdGlvbi5cbiAqIEEgYm9vbGVhbiB0cnVlIGlzIHJlc29sdmVkIHRvIHRoaXMuXG4gKiBAcmV0dXJucyBUcnVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdFRydWUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG59Il19
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transforms the given dropdown values to an async function.
|
|
3
|
-
* @param dropdownValues - The dropdown values to transform.
|
|
4
|
-
* @returns An abstract function.
|
|
5
|
-
*/
|
|
6
|
-
// eslint-disable-next-line typescript/no-explicit-any
|
|
7
|
-
export function dropdownValuesToFunction(dropdownValues) {
|
|
8
|
-
if (Array.isArray(dropdownValues)) {
|
|
9
|
-
// eslint-disable-next-line typescript/require-await
|
|
10
|
-
return async () => dropdownValues;
|
|
11
|
-
}
|
|
12
|
-
// eslint-disable-next-line typescript/no-explicit-any
|
|
13
|
-
return async (e) => await dropdownValues(e);
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdmFsdWVzLXRvLWZ1bmN0aW9uLmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZnVuY3Rpb25zL2Ryb3Bkb3duLXZhbHVlcy10by1mdW5jdGlvbi5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQTs7OztHQUlHO0FBQ0gsc0RBQXNEO0FBQ3RELE1BQU0sVUFBVSx3QkFBd0IsQ0FBSSxjQUFpQztJQUN6RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxvREFBb0Q7UUFDcEQsT0FBTyxLQUFLLElBQUksRUFBRSxDQUFDLGNBQWMsQ0FBQztJQUN0QyxDQUFDO0lBQ0Qsc0RBQXNEO0lBQ3RELE9BQU8sS0FBSyxFQUFFLENBQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyb3Bkb3duVmFsdWUgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2Jhc2UvZHJvcGRvd24tdmFsdWUuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBHZW5lcmljIFR5cGUgZm9yIGFsbCBwb3NzaWJsZSB2YWx1ZXMgdGhhdCBjYW4gYmUgcHJvdmlkZWQgYXMgZHJvcGRvd24gdmFsdWVzLlxuICovXG5leHBvcnQgdHlwZSBEcm9wZG93blZhbHVlczxUPiA9IERyb3Bkb3duVmFsdWU8VCB8IHVuZGVmaW5lZD5bXVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB0eXBlc2NyaXB0L25vLWV4cGxpY2l0LWFueVxuICAgIHwgKChlbnRpdHk6IGFueSkgPT4gRHJvcGRvd25WYWx1ZTxUIHwgdW5kZWZpbmVkPltdKVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB0eXBlc2NyaXB0L25vLWV4cGxpY2l0LWFueVxuICAgIHwgKChlbnRpdHk6IGFueSkgPT4gUHJvbWlzZTxEcm9wZG93blZhbHVlPFQgfCB1bmRlZmluZWQ+W10+KTtcblxuLyoqXG4gKiBUcmFuc2Zvcm1zIHRoZSBnaXZlbiBkcm9wZG93biB2YWx1ZXMgdG8gYW4gYXN5bmMgZnVuY3Rpb24uXG4gKiBAcGFyYW0gZHJvcGRvd25WYWx1ZXMgLSBUaGUgZHJvcGRvd24gdmFsdWVzIHRvIHRyYW5zZm9ybS5cbiAqIEByZXR1cm5zIEFuIGFic3RyYWN0IGZ1bmN0aW9uLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9uby1leHBsaWNpdC1hbnlcbmV4cG9ydCBmdW5jdGlvbiBkcm9wZG93blZhbHVlc1RvRnVuY3Rpb248VD4oZHJvcGRvd25WYWx1ZXM6IERyb3Bkb3duVmFsdWVzPFQ+KTogKGVudGl0eTogYW55KSA9PiBQcm9taXNlPERyb3Bkb3duVmFsdWU8VCB8IHVuZGVmaW5lZD5bXT4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRyb3Bkb3duVmFsdWVzKSkge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHlwZXNjcmlwdC9yZXF1aXJlLWF3YWl0XG4gICAgICAgIHJldHVybiBhc3luYyAoKSA9PiBkcm9wZG93blZhbHVlcztcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHR5cGVzY3JpcHQvbm8tZXhwbGljaXQtYW55XG4gICAgcmV0dXJuIGFzeW5jIChlOiBhbnkpID0+IGF3YWl0IGRyb3Bkb3duVmFsdWVzKGUpO1xufSJdfQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { InjectionToken, inject } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* Provider for the changes tooltip title.
|
|
4
|
-
*/
|
|
5
|
-
export const NgxChangesTooltipTitle = new InjectionToken('Provider for the changes tooltip title.', {
|
|
6
|
-
providedIn: 'root',
|
|
7
|
-
factory: () => 'Changed Values:'
|
|
8
|
-
});
|
|
9
|
-
/**
|
|
10
|
-
* The default function that gets the changes tooltip content.
|
|
11
|
-
* @param changes - All changes for which the tooltip content should be generated.
|
|
12
|
-
* @returns A html string, containing a list of the name of each changed property.
|
|
13
|
-
*/
|
|
14
|
-
export function getChangesTooltipContent(changes) {
|
|
15
|
-
const title = inject(NgxChangesTooltipTitle);
|
|
16
|
-
let res = `${title}\n<br>\n<ul style="margin-bottom: 0px; padding-left: 16px;">`;
|
|
17
|
-
for (const change of changes) {
|
|
18
|
-
res = res.concat(`\n\t<li>${String(change.key)}</li>`);
|
|
19
|
-
}
|
|
20
|
-
res = res.concat('\n</ul>');
|
|
21
|
-
return res;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNoYW5nZXMtdG9vbHRpcC1jb250ZW50LmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLWVudGl0eS9zcmMvZnVuY3Rpb25zL2dldC1jaGFuZ2VzLXRvb2x0aXAtY29udGVudC5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUEyQixJQUFJLGNBQWMsQ0FDNUUseUNBQXlDLEVBQ3pDO0lBQ0ksVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGlCQUFpQjtDQUNuQyxDQUNKLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUFnRCxPQUFpQztJQUNySCxNQUFNLEtBQUssR0FBVyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUNyRCxJQUFJLEdBQUcsR0FBVyxHQUFHLEtBQUssOERBQThELENBQUM7SUFDekYsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzQixHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxXQUFXLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QixPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vY2xhc3Nlcy9lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgRGlmZmVyZW5jZSB9IGZyb20gJy4uL3V0aWxpdGllcy9lbnRpdHkudXRpbGl0aWVzJztcblxuLyoqXG4gKiBQcm92aWRlciBmb3IgdGhlIGNoYW5nZXMgdG9vbHRpcCB0aXRsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IE5neENoYW5nZXNUb29sdGlwVGl0bGU6IEluamVjdGlvblRva2VuPHN0cmluZz4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICAgJ1Byb3ZpZGVyIGZvciB0aGUgY2hhbmdlcyB0b29sdGlwIHRpdGxlLicsXG4gICAge1xuICAgICAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgICAgIGZhY3Rvcnk6ICgpID0+ICdDaGFuZ2VkIFZhbHVlczonXG4gICAgfVxuKTtcblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBmdW5jdGlvbiB0aGF0IGdldHMgdGhlIGNoYW5nZXMgdG9vbHRpcCBjb250ZW50LlxuICogQHBhcmFtIGNoYW5nZXMgLSBBbGwgY2hhbmdlcyBmb3Igd2hpY2ggdGhlIHRvb2x0aXAgY29udGVudCBzaG91bGQgYmUgZ2VuZXJhdGVkLlxuICogQHJldHVybnMgQSBodG1sIHN0cmluZywgY29udGFpbmluZyBhIGxpc3Qgb2YgdGhlIG5hbWUgb2YgZWFjaCBjaGFuZ2VkIHByb3BlcnR5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2hhbmdlc1Rvb2x0aXBDb250ZW50PEVudGl0eVR5cGUgZXh0ZW5kcyBCYXNlRW50aXR5VHlwZTxFbnRpdHlUeXBlPj4oY2hhbmdlczogRGlmZmVyZW5jZTxFbnRpdHlUeXBlPltdKTogc3RyaW5nIHtcbiAgICBjb25zdCB0aXRsZTogc3RyaW5nID0gaW5qZWN0KE5neENoYW5nZXNUb29sdGlwVGl0bGUpO1xuICAgIGxldCByZXM6IHN0cmluZyA9IGAke3RpdGxlfVxcbjxicj5cXG48dWwgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAwcHg7IHBhZGRpbmctbGVmdDogMTZweDtcIj5gO1xuICAgIGZvciAoY29uc3QgY2hhbmdlIG9mIGNoYW5nZXMpIHtcbiAgICAgICAgcmVzID0gcmVzLmNvbmNhdChgXFxuXFx0PGxpPiR7U3RyaW5nKGNoYW5nZS5rZXkpfTwvbGk+YCk7XG4gICAgfVxuICAgIHJlcyA9IHJlcy5jb25jYXQoJ1xcbjwvdWw+Jyk7XG4gICAgcmV0dXJuIHJlcztcbn0iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { CONFIG_NEEDS_UPDATE_KEY } from '../default-global-configuration-values';
|
|
2
|
-
/**
|
|
3
|
-
* Gets either the provided value or the default value, depending on if and what has been provided.
|
|
4
|
-
* @param defaultValue - The default value to fallback when nothing has been provided.
|
|
5
|
-
* @param value - The specific value configured by the user.
|
|
6
|
-
* @returns Value if it is not null and not the CONFIG_NEEDS_UPDATE_KEY, defaultValue otherwise.
|
|
7
|
-
*/
|
|
8
|
-
export function getConfigValue(defaultValue, value) {
|
|
9
|
-
if (value != undefined && value !== CONFIG_NEEDS_UPDATE_KEY) {
|
|
10
|
-
return value;
|
|
11
|
-
}
|
|
12
|
-
return defaultValue;
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNvbmZpZy12YWx1ZS5mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1lbnRpdHkvc3JjL2Z1bmN0aW9ucy9nZXQtY29uZmlnLXZhbHVlLmZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRWpGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBWSxZQUF1QixFQUFFLEtBQWlCO0lBQ2hGLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxLQUFLLEtBQUssdUJBQXVCLEVBQUUsQ0FBQztRQUMxRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsT0FBTyxZQUFZLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENPTkZJR19ORUVEU19VUERBVEVfS0VZIH0gZnJvbSAnLi4vZGVmYXVsdC1nbG9iYWwtY29uZmlndXJhdGlvbi12YWx1ZXMnO1xuXG4vKipcbiAqIEdldHMgZWl0aGVyIHRoZSBwcm92aWRlZCB2YWx1ZSBvciB0aGUgZGVmYXVsdCB2YWx1ZSwgZGVwZW5kaW5nIG9uIGlmIGFuZCB3aGF0IGhhcyBiZWVuIHByb3ZpZGVkLlxuICogQHBhcmFtIGRlZmF1bHRWYWx1ZSAtIFRoZSBkZWZhdWx0IHZhbHVlIHRvIGZhbGxiYWNrIHdoZW4gbm90aGluZyBoYXMgYmVlbiBwcm92aWRlZC5cbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBzcGVjaWZpYyB2YWx1ZSBjb25maWd1cmVkIGJ5IHRoZSB1c2VyLlxuICogQHJldHVybnMgVmFsdWUgaWYgaXQgaXMgbm90IG51bGwgYW5kIG5vdCB0aGUgQ09ORklHX05FRURTX1VQREFURV9LRVksIGRlZmF1bHRWYWx1ZSBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWdWYWx1ZTxWYWx1ZVR5cGU+KGRlZmF1bHRWYWx1ZTogVmFsdWVUeXBlLCB2YWx1ZT86IFZhbHVlVHlwZSk6IFZhbHVlVHlwZSB7XG4gICAgaWYgKHZhbHVlICE9IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gQ09ORklHX05FRURTX1VQREFURV9LRVkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xufSJdfQ==
|