@fundamental-ngx/cdk 0.54.2-rc.9 → 0.55.0-rc.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/fundamental-ngx-cdk-data-source.mjs +7 -7
- package/fesm2022/fundamental-ngx-cdk-forms.mjs +21 -14
- package/fesm2022/fundamental-ngx-cdk-forms.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-cdk-utils.mjs +361 -312
- package/fesm2022/fundamental-ngx-cdk-utils.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-cdk.mjs +4 -4
- package/forms/cva/cva.directive.d.ts +7 -3
- package/package.json +8 -16
- package/utils/abstract-fd-ngx-class.d.ts +1 -1
- package/utils/directives/overflow-list/overflow-list.directive.d.ts +7 -0
- package/utils/drag-and-drop/dnd-item/dnd-item.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.d.ts +1 -1
- package/utils/drag-and-drop/dnd-list/dnd-list.directive.d.ts +1 -1
- package/utils/drag-and-drop/drag-and-drop.module.d.ts +7 -7
- package/utils/toast/base-toast-positions.d.ts +16 -16
- package/utils/toast/classes/base-toast-animated-container.component.d.ts +1 -1
- package/utils/toast/classes/base-toast-container.component.d.ts +1 -1
- package/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-container.component.d.ts +1 -1
- package/esm2022/data-source/base/abstract-data-provider.class.mjs +0 -142
- package/esm2022/data-source/base/base-data-source.class.mjs +0 -112
- package/esm2022/data-source/data-source.directive.mjs +0 -95
- package/esm2022/data-source/data-source.module.mjs +0 -16
- package/esm2022/data-source/fundamental-ngx-cdk-data-source.mjs +0 -5
- package/esm2022/data-source/helpers/apply-datasource-directive.mjs +0 -7
- package/esm2022/data-source/helpers/common.mjs +0 -17
- package/esm2022/data-source/helpers/is-datasource.mjs +0 -7
- package/esm2022/data-source/index.mjs +0 -9
- package/esm2022/data-source/models/data-source-provider.mjs +0 -2
- package/esm2022/data-source/models/data-source.mjs +0 -2
- package/esm2022/data-source/models/index.mjs +0 -4
- package/esm2022/data-source/models/matching-strategy.mjs +0 -7
- package/esm2022/data-source/tokens.mjs +0 -6
- package/esm2022/forms/cva/cva-control.class.mjs +0 -42
- package/esm2022/forms/cva/cva.directive.mjs +0 -321
- package/esm2022/forms/forms.module.mjs +0 -16
- package/esm2022/forms/fundamental-ngx-cdk-forms.mjs +0 -5
- package/esm2022/forms/helpers/state.mjs +0 -7
- package/esm2022/forms/index.mjs +0 -13
- package/esm2022/forms/models/control-type.model.mjs +0 -2
- package/esm2022/forms/models/cva.mjs +0 -2
- package/esm2022/forms/models/form-error.mjs +0 -2
- package/esm2022/forms/models/form-field.mjs +0 -9
- package/esm2022/forms/models/form-state.mjs +0 -2
- package/esm2022/forms/models/select-item.mjs +0 -14
- package/esm2022/forms/tokens/form-field-control.token.mjs +0 -3
- package/esm2022/forms/tokens/form-field.token.mjs +0 -3
- package/esm2022/fundamental-ngx-cdk.mjs +0 -5
- package/esm2022/fundamental-ngx.module.mjs +0 -19
- package/esm2022/index.mjs +0 -5
- package/esm2022/utils/abstract-fd-ngx-class.mjs +0 -61
- package/esm2022/utils/async-strategy/function-strategy.class.mjs +0 -12
- package/esm2022/utils/async-strategy/index.mjs +0 -7
- package/esm2022/utils/async-strategy/observable-strategy.class.mjs +0 -13
- package/esm2022/utils/async-strategy/promise-strategy.class.mjs +0 -12
- package/esm2022/utils/async-strategy/select-strategy.class.mjs +0 -23
- package/esm2022/utils/async-strategy/subscription-strategy.interface.mjs +0 -2
- package/esm2022/utils/async-strategy/value-strategy.class.mjs +0 -10
- package/esm2022/utils/coercion/array.mjs +0 -7
- package/esm2022/utils/components/dynamic-portal/dynamic-portal.component.mjs +0 -98
- package/esm2022/utils/components/index.mjs +0 -2
- package/esm2022/utils/consts/error-messages.mjs +0 -6
- package/esm2022/utils/consts/index.mjs +0 -5
- package/esm2022/utils/consts/overflow-priority-score.mjs +0 -8
- package/esm2022/utils/consts/unicode-letters.regex.mjs +0 -11
- package/esm2022/utils/consts/unicode-numbers.regex.mjs +0 -8
- package/esm2022/utils/datatypes/color-accent.datatype.mjs +0 -2
- package/esm2022/utils/datatypes/hash.datatype.mjs +0 -2
- package/esm2022/utils/datatypes/index.mjs +0 -5
- package/esm2022/utils/datatypes/object-nesting.types.mjs +0 -2
- package/esm2022/utils/datatypes/size.datatype.mjs +0 -2
- package/esm2022/utils/decorators/apply-css-class.decorator.mjs +0 -61
- package/esm2022/utils/decorators/apply-css-style.decorator.mjs +0 -26
- package/esm2022/utils/decorators/coerce-boolean.mjs +0 -7
- package/esm2022/utils/decorators/coerce-css-pixel.mjs +0 -4
- package/esm2022/utils/decorators/index.mjs +0 -6
- package/esm2022/utils/decorators/setter-alternator.mjs +0 -18
- package/esm2022/utils/deprecated-selector.class.mjs +0 -35
- package/esm2022/utils/directives/auto-complete/auto-complete.directive.mjs +0 -135
- package/esm2022/utils/directives/auto-complete/auto-complete.module.mjs +0 -17
- package/esm2022/utils/directives/breakpoints/breakpoint.directive.mjs +0 -156
- package/esm2022/utils/directives/breakpoints/responsive-breakpoints.mjs +0 -19
- package/esm2022/utils/directives/clicked/clicked-behavior.module.mjs +0 -35
- package/esm2022/utils/directives/clicked/clicked-event.plugin.mjs +0 -79
- package/esm2022/utils/directives/clicked/clicked.directive.mjs +0 -36
- package/esm2022/utils/directives/clicked/element-click.observable.mjs +0 -21
- package/esm2022/utils/directives/clicked/fdk-clicked-provider.service.mjs +0 -48
- package/esm2022/utils/directives/clicked/index.mjs +0 -6
- package/esm2022/utils/directives/clicked/provide-fdk-clicked.mjs +0 -29
- package/esm2022/utils/directives/disabled/default-disabled-view-modifier.mjs +0 -12
- package/esm2022/utils/directives/disabled/disabled-behavior.directive.mjs +0 -84
- package/esm2022/utils/directives/disabled/disabled-behavior.interface.mjs +0 -2
- package/esm2022/utils/directives/disabled/disabled-behavior.module.mjs +0 -16
- package/esm2022/utils/directives/disabled/disabled-view-modifier.interface.mjs +0 -2
- package/esm2022/utils/directives/disabled/disabled.observer.mjs +0 -35
- package/esm2022/utils/directives/disabled/fdk-disabled-provider.service.mjs +0 -101
- package/esm2022/utils/directives/disabled/fdk-disabled.token.mjs +0 -3
- package/esm2022/utils/directives/disabled/index.mjs +0 -9
- package/esm2022/utils/directives/disabled/set-disabled-state.mjs +0 -18
- package/esm2022/utils/directives/focus-key-manager/focus-key-manager-helpers.module.mjs +0 -17
- package/esm2022/utils/directives/focus-key-manager/focus-key-manager-item.directive.mjs +0 -67
- package/esm2022/utils/directives/focus-key-manager/focus-key-manager-list.directive.mjs +0 -88
- package/esm2022/utils/directives/focus-key-manager/focus-key-manager.tokens.mjs +0 -3
- package/esm2022/utils/directives/focus-key-manager/index.mjs +0 -5
- package/esm2022/utils/directives/focusable-grid/focusable-grid.directive.mjs +0 -164
- package/esm2022/utils/directives/focusable-grid/focusable-grid.module.mjs +0 -17
- package/esm2022/utils/directives/focusable-grid/focusable-grid.tokens.mjs +0 -3
- package/esm2022/utils/directives/focusable-grid/index.mjs +0 -4
- package/esm2022/utils/directives/focusable-item/focusable-item.directive.mjs +0 -198
- package/esm2022/utils/directives/focusable-item/focusable-item.module.mjs +0 -16
- package/esm2022/utils/directives/focusable-item/focusable-item.tokens.mjs +0 -3
- package/esm2022/utils/directives/focusable-item/focusable-list.position.mjs +0 -2
- package/esm2022/utils/directives/focusable-item/focusable.item.mjs +0 -2
- package/esm2022/utils/directives/focusable-item/focusable.observer.mjs +0 -46
- package/esm2022/utils/directives/focusable-item/get-item-element.mjs +0 -14
- package/esm2022/utils/directives/focusable-item/index.mjs +0 -9
- package/esm2022/utils/directives/focusable-item/indirect-focusable-item.directive.mjs +0 -44
- package/esm2022/utils/directives/focusable-item/is-element-focusable-by-default.mjs +0 -32
- package/esm2022/utils/directives/focusable-item/is-item-focusable.mjs +0 -8
- package/esm2022/utils/directives/focusable-list/focusable-list.directive.mjs +0 -300
- package/esm2022/utils/directives/focusable-list/focusable-list.module.mjs +0 -17
- package/esm2022/utils/directives/focusable-list/focusable-list.tokens.mjs +0 -3
- package/esm2022/utils/directives/focusable-list/index.mjs +0 -6
- package/esm2022/utils/directives/focusable-list/indirect-focusable-list.directive.mjs +0 -59
- package/esm2022/utils/directives/focusable-list/scroll.mjs +0 -43
- package/esm2022/utils/directives/ignore-click-on-selection/ignore-click-on-selection.directive.mjs +0 -55
- package/esm2022/utils/directives/ignore-click-on-selection/ignore-click-on-selection.module.mjs +0 -16
- package/esm2022/utils/directives/ignore-click-on-selection/tokens.mjs +0 -3
- package/esm2022/utils/directives/index.mjs +0 -35
- package/esm2022/utils/directives/initial-focus/initial-focus.directive.mjs +0 -99
- package/esm2022/utils/directives/initial-focus/initial-focus.module.mjs +0 -16
- package/esm2022/utils/directives/intersection-spy/intersection-spy.directive.mjs +0 -42
- package/esm2022/utils/directives/line-clamp/line-clamp.directive.mjs +0 -213
- package/esm2022/utils/directives/line-clamp/line-clamp.module.mjs +0 -16
- package/esm2022/utils/directives/only-digits/only-digits.directive.mjs +0 -206
- package/esm2022/utils/directives/only-digits/only-digits.module.mjs +0 -16
- package/esm2022/utils/directives/overflow-list/overflow-list-item.directive.mjs +0 -18
- package/esm2022/utils/directives/overflow-list/overflow-list.directive.mjs +0 -114
- package/esm2022/utils/directives/overflow-list/overflow-list.module.mjs +0 -17
- package/esm2022/utils/directives/readonly/default-readonly-view-modifier.mjs +0 -12
- package/esm2022/utils/directives/readonly/fdk-readonly-provider.service.mjs +0 -101
- package/esm2022/utils/directives/readonly/fdk-readonly.token.mjs +0 -3
- package/esm2022/utils/directives/readonly/index.mjs +0 -10
- package/esm2022/utils/directives/readonly/readonly-behavior.directive.mjs +0 -67
- package/esm2022/utils/directives/readonly/readonly-behavior.interface.mjs +0 -2
- package/esm2022/utils/directives/readonly/readonly-behavior.module.mjs +0 -16
- package/esm2022/utils/directives/readonly/readonly-view-modifier.interface.mjs +0 -2
- package/esm2022/utils/directives/readonly/readonly.observer.mjs +0 -33
- package/esm2022/utils/directives/readonly/set-readonly-state.mjs +0 -14
- package/esm2022/utils/directives/repeat/repeat.directive.mjs +0 -34
- package/esm2022/utils/directives/repeat/repeat.module.mjs +0 -16
- package/esm2022/utils/directives/resize/resize-handle.directive.mjs +0 -18
- package/esm2022/utils/directives/resize/resize.directive.mjs +0 -241
- package/esm2022/utils/directives/resize/resize.module.mjs +0 -17
- package/esm2022/utils/directives/resize-observer/index.mjs +0 -2
- package/esm2022/utils/directives/resize-observer/resize-observer.directive.mjs +0 -29
- package/esm2022/utils/directives/selectable-list/index.mjs +0 -8
- package/esm2022/utils/directives/selectable-list/select-component-root.token.mjs +0 -3
- package/esm2022/utils/directives/selectable-list/selectable-item.directive.mjs +0 -147
- package/esm2022/utils/directives/selectable-list/selectable-item.token.mjs +0 -3
- package/esm2022/utils/directives/selectable-list/selectable-list.directive.mjs +0 -85
- package/esm2022/utils/directives/selectable-list/selectable-list.module.mjs +0 -17
- package/esm2022/utils/directives/selectable-list/selectable-list.tokens.mjs +0 -3
- package/esm2022/utils/directives/selectable-list/selection.service.mjs +0 -138
- package/esm2022/utils/directives/template/template.directive.mjs +0 -25
- package/esm2022/utils/directives/template/template.module.mjs +0 -16
- package/esm2022/utils/directives/truncate/truncate.directive.mjs +0 -94
- package/esm2022/utils/directives/truncate/truncate.module.mjs +0 -16
- package/esm2022/utils/drag-and-drop/dnd-item/dnd-item.directive.mjs +0 -274
- package/esm2022/utils/drag-and-drop/dnd-keyboard-group/dnd-keyboard-group.directive.mjs +0 -88
- package/esm2022/utils/drag-and-drop/dnd-keyboard-item/dnd-keyboard-item.directive.mjs +0 -83
- package/esm2022/utils/drag-and-drop/dnd-list/dnd-list.directive.mjs +0 -378
- package/esm2022/utils/drag-and-drop/dnd.interfaces.mjs +0 -2
- package/esm2022/utils/drag-and-drop/drag-and-drop.module.mjs +0 -22
- package/esm2022/utils/drag-and-drop/index.mjs +0 -8
- package/esm2022/utils/drag-and-drop/tokens.mjs +0 -4
- package/esm2022/utils/dynamic-component/dynamic-component-config.mjs +0 -2
- package/esm2022/utils/dynamic-component/dynamic-component-container.mjs +0 -32
- package/esm2022/utils/dynamic-component/dynamic-component-injector.mjs +0 -20
- package/esm2022/utils/dynamic-component/dynamic-component.service.mjs +0 -100
- package/esm2022/utils/dynamic-component/index.mjs +0 -5
- package/esm2022/utils/functions/consumer-provider-factory.mjs +0 -12
- package/esm2022/utils/functions/element-size.mjs +0 -23
- package/esm2022/utils/functions/get-document-font-size.mjs +0 -9
- package/esm2022/utils/functions/index.mjs +0 -14
- package/esm2022/utils/functions/intersection-observable.mjs +0 -26
- package/esm2022/utils/functions/is-compact-density.mjs +0 -11
- package/esm2022/utils/functions/is-odd.mjs +0 -9
- package/esm2022/utils/functions/key-util.mjs +0 -90
- package/esm2022/utils/functions/module-deprecations-provider.mjs +0 -18
- package/esm2022/utils/functions/parser-file-size.mjs +0 -37
- package/esm2022/utils/functions/random-color-accent.mjs +0 -5
- package/esm2022/utils/functions/resize-observable.mjs +0 -33
- package/esm2022/utils/functions/scroll.mjs +0 -19
- package/esm2022/utils/functions/uuidv4-generator.mjs +0 -12
- package/esm2022/utils/fundamental-ngx-cdk-utils.mjs +0 -5
- package/esm2022/utils/helpers/destroy-observable.mjs +0 -12
- package/esm2022/utils/helpers/dfs.mjs +0 -47
- package/esm2022/utils/helpers/get-native-element.mjs +0 -19
- package/esm2022/utils/helpers/index.mjs +0 -6
- package/esm2022/utils/helpers/range-selector.mjs +0 -117
- package/esm2022/utils/helpers/warn-once.mjs +0 -9
- package/esm2022/utils/index.mjs +0 -25
- package/esm2022/utils/interfaces/content-density.mjs +0 -2
- package/esm2022/utils/interfaces/css-class-builder.interface.mjs +0 -2
- package/esm2022/utils/interfaces/css-style-builder.interface.mjs +0 -2
- package/esm2022/utils/interfaces/has-element-ref.interface.mjs +0 -2
- package/esm2022/utils/interfaces/index.mjs +0 -8
- package/esm2022/utils/interfaces/keyboard-support-item.interface.mjs +0 -2
- package/esm2022/utils/interfaces/module-deprecation.interface.mjs +0 -2
- package/esm2022/utils/interfaces/require.interface.mjs +0 -2
- package/esm2022/utils/list-item/list-item-utils.mjs +0 -3
- package/esm2022/utils/models/nullable.mjs +0 -2
- package/esm2022/utils/pipes/async-or-sync.pipe.mjs +0 -35
- package/esm2022/utils/pipes/displayFn.pipe.mjs +0 -18
- package/esm2022/utils/pipes/filter-strings.pipe.mjs +0 -31
- package/esm2022/utils/pipes/index.mjs +0 -12
- package/esm2022/utils/pipes/is-compact.pipe.mjs +0 -16
- package/esm2022/utils/pipes/make-async.pipe.mjs +0 -24
- package/esm2022/utils/pipes/pipe.module.mjs +0 -65
- package/esm2022/utils/pipes/safe.pipe.mjs +0 -37
- package/esm2022/utils/pipes/search-highlight.pipe.mjs +0 -40
- package/esm2022/utils/pipes/truncate.pipe.mjs +0 -18
- package/esm2022/utils/pipes/two-digits.pipe.mjs +0 -23
- package/esm2022/utils/pipes/value-by-path.pipe.mjs +0 -16
- package/esm2022/utils/services/content-density.service.mjs +0 -35
- package/esm2022/utils/services/destroyed.service.mjs +0 -26
- package/esm2022/utils/services/focus-trap.service.mjs +0 -92
- package/esm2022/utils/services/index.mjs +0 -10
- package/esm2022/utils/services/keyboard-support/keyboard-support.service.mjs +0 -73
- package/esm2022/utils/services/local-storage.service.mjs +0 -38
- package/esm2022/utils/services/observers/attribute.observer.mjs +0 -81
- package/esm2022/utils/services/resize-observer.service.mjs +0 -92
- package/esm2022/utils/services/rtl.service.mjs +0 -32
- package/esm2022/utils/services/tabbable-element.service.mjs +0 -43
- package/esm2022/utils/toast/base-toast-animations.mjs +0 -22
- package/esm2022/utils/toast/base-toast-positions.mjs +0 -108
- package/esm2022/utils/toast/base-toast.service.mjs +0 -261
- package/esm2022/utils/toast/classes/action-dismissible/base-toast-action-dismissible-ref.mjs +0 -36
- package/esm2022/utils/toast/classes/base-toast-animated-container.component.mjs +0 -87
- package/esm2022/utils/toast/classes/base-toast-config.mjs +0 -23
- package/esm2022/utils/toast/classes/base-toast-container.component.mjs +0 -72
- package/esm2022/utils/toast/classes/base-toast-overlay-container.mjs +0 -25
- package/esm2022/utils/toast/classes/base-toast-ref.mjs +0 -45
- package/esm2022/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-config.mjs +0 -19
- package/esm2022/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-container.component.mjs +0 -39
- package/esm2022/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible-ref.mjs +0 -23
- package/esm2022/utils/toast/classes/duration-dismissible/base-toast-duration-dismissible.service.mjs +0 -25
- package/esm2022/utils/toast/index.mjs +0 -16
- package/esm2022/utils/toast/interfaces/toast-container-component.interface.mjs +0 -2
- package/esm2022/utils/toast/interfaces/toast-duration-dismissible-container-component.interface.mjs +0 -2
- package/esm2022/utils/toast/interfaces/toast-text-component.interface.mjs +0 -2
- package/esm2022/utils/tokens/module-deprecations.token.mjs +0 -3
- package/esm2022/utils/tokens/viewport-size.observable.mjs +0 -20
- package/esm2022/utils/typecheck.mjs +0 -75
- package/esm2022/utils/utils.module.mjs +0 -131
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, Directive, EventEmitter, inject, Input, Output } from '@angular/core';
|
|
2
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { BehaviorSubject, Subscription } from 'rxjs';
|
|
4
|
-
import { isDataSource } from './helpers/is-datasource';
|
|
5
|
-
import { FD_DATA_SOURCE_TRANSFORMER } from './tokens';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class DataSourceDirective {
|
|
8
|
-
constructor() {
|
|
9
|
-
/**
|
|
10
|
-
* Emits when the data source object has been changed.
|
|
11
|
-
*/
|
|
12
|
-
this.dataSourceChanged = new EventEmitter();
|
|
13
|
-
/**
|
|
14
|
-
* Event emitted when datasource content has been changed.
|
|
15
|
-
*/
|
|
16
|
-
this.dataChanged = new EventEmitter();
|
|
17
|
-
/**
|
|
18
|
-
* Event emitted when data provider loading state has been changed.
|
|
19
|
-
*/
|
|
20
|
-
this.isLoading = new EventEmitter();
|
|
21
|
-
/**
|
|
22
|
-
* Data stream. Emits when new data retrieved.
|
|
23
|
-
*/
|
|
24
|
-
this.dataChanged$ = new BehaviorSubject([]);
|
|
25
|
-
/** @hidden */
|
|
26
|
-
this._destroyRef = inject(DestroyRef);
|
|
27
|
-
/** @hidden */
|
|
28
|
-
this._dsSubscription = new Subscription();
|
|
29
|
-
/** @hidden */
|
|
30
|
-
this._dataSourceTransformer = inject(FD_DATA_SOURCE_TRANSFORMER);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Data source.
|
|
34
|
-
* @param source
|
|
35
|
-
*/
|
|
36
|
-
set dataSource(source) {
|
|
37
|
-
this._dataSource = source;
|
|
38
|
-
this._initializeDataSource();
|
|
39
|
-
this.dataSourceChanged.next();
|
|
40
|
-
}
|
|
41
|
-
get dataSource() {
|
|
42
|
-
return this._dataSource;
|
|
43
|
-
}
|
|
44
|
-
/** @hidden */
|
|
45
|
-
ngOnDestroy() {
|
|
46
|
-
this.dataSourceProvider?.unsubscribe();
|
|
47
|
-
this._dsSubscription?.unsubscribe();
|
|
48
|
-
}
|
|
49
|
-
/** @Hidden */
|
|
50
|
-
_toDataStream(source) {
|
|
51
|
-
return !source
|
|
52
|
-
? undefined
|
|
53
|
-
: this._dataSourceTransformer
|
|
54
|
-
? this._dataSourceTransformer.parse(source)
|
|
55
|
-
: undefined;
|
|
56
|
-
}
|
|
57
|
-
/** @hidden */
|
|
58
|
-
_initializeDataSource() {
|
|
59
|
-
if (isDataSource(this.dataSource)) {
|
|
60
|
-
this.dataSourceProvider?.unsubscribe();
|
|
61
|
-
this._dsSubscription?.unsubscribe();
|
|
62
|
-
}
|
|
63
|
-
// Convert whatever comes in as DataSource, so we can work with it identically
|
|
64
|
-
this.dataSourceProvider = this._toDataStream(this.dataSource);
|
|
65
|
-
if (!this.dataSourceProvider) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
this._dsSubscription = new Subscription();
|
|
69
|
-
this._dsSubscription.add(this.dataSourceProvider.dataLoading
|
|
70
|
-
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
71
|
-
.subscribe((isLoading) => this.isLoading.emit(isLoading)));
|
|
72
|
-
this._dsSubscription.add(this.dataSourceProvider.dataChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe((data) => {
|
|
73
|
-
this.dataChanged.emit(data);
|
|
74
|
-
this.dataChanged$.next(data);
|
|
75
|
-
}));
|
|
76
|
-
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DataSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
78
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: DataSourceDirective, isStandalone: true, selector: "[fdkDataSource]", inputs: { dataSource: "dataSource" }, outputs: { dataSourceChanged: "dataSourceChanged", dataChanged: "dataChanged", isLoading: "isLoading" }, ngImport: i0 }); }
|
|
79
|
-
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DataSourceDirective, decorators: [{
|
|
81
|
-
type: Directive,
|
|
82
|
-
args: [{
|
|
83
|
-
selector: '[fdkDataSource]',
|
|
84
|
-
standalone: true
|
|
85
|
-
}]
|
|
86
|
-
}], propDecorators: { dataSourceChanged: [{
|
|
87
|
-
type: Output
|
|
88
|
-
}], dataChanged: [{
|
|
89
|
-
type: Output
|
|
90
|
-
}], isLoading: [{
|
|
91
|
-
type: Output
|
|
92
|
-
}], dataSource: [{
|
|
93
|
-
type: Input
|
|
94
|
-
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQU10RCxNQUFNLE9BQU8sbUJBQW1CO0lBSmhDO1FBT0k7O1dBRUc7UUFFTSxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRXREOztXQUVHO1FBRU0sZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRS9DOztXQUVHO1FBRU0sY0FBUyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFvQmpEOztXQUVHO1FBQ00saUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUVyRCxjQUFjO1FBQ0ssZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFLcEQsY0FBYztRQUNOLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3QyxjQUFjO1FBQ0csMkJBQXNCLEdBQUcsTUFBTSxDQUF5QiwwQkFBMEIsQ0FBQyxDQUFDO0tBOEN4RztJQS9FRzs7O09BR0c7SUFDSCxJQUNJLFVBQVUsQ0FBQyxNQUErQjtRQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBc0JELGNBQWM7SUFDZCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWM7SUFDSixhQUFhLENBQUMsTUFBNEI7UUFDaEQsT0FBTyxDQUFDLE1BQU07WUFDVixDQUFDLENBQUMsU0FBUztZQUNYLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCO2dCQUMzQixDQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7Z0JBQzNDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDdEIsQ0FBQztJQUVELGNBQWM7SUFDTixxQkFBcUI7UUFDekIsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxDQUFDO1lBRXZDLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDeEMsQ0FBQztRQUNELDhFQUE4RTtRQUM5RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzNCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVzthQUM5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQzFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDaEUsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM5RixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQzs4R0FuR1EsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQVFZLGlCQUFpQjtzQkFEekIsTUFBTTtnQkFPRSxXQUFXO3NCQURuQixNQUFNO2dCQU9FLFNBQVM7c0JBRGpCLE1BQU07Z0JBUUgsVUFBVTtzQkFEYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIGluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaXNEYXRhU291cmNlIH0gZnJvbSAnLi9oZWxwZXJzL2lzLWRhdGFzb3VyY2UnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSwgRGF0YVNvdXJjZVBhcnNlciwgRGF0YVNvdXJjZVByb3ZpZGVyIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgRkRfREFUQV9TT1VSQ0VfVFJBTlNGT1JNRVIgfSBmcm9tICcuL3Rva2Vucyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2Zka0RhdGFTb3VyY2VdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VEaXJlY3RpdmU8VCA9IGFueSwgUCBleHRlbmRzIERhdGFTb3VyY2VQcm92aWRlcjxUPiA9IERhdGFTb3VyY2VQcm92aWRlcjxUPj5cbiAgICBpbXBsZW1lbnRzIE9uRGVzdHJveVxue1xuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gdGhlIGRhdGEgc291cmNlIG9iamVjdCBoYXMgYmVlbiBjaGFuZ2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGRhdGFTb3VyY2VDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgZW1pdHRlZCB3aGVuIGRhdGFzb3VyY2UgY29udGVudCBoYXMgYmVlbiBjaGFuZ2VkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGRhdGFDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxUW10+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBlbWl0dGVkIHdoZW4gZGF0YSBwcm92aWRlciBsb2FkaW5nIHN0YXRlIGhhcyBiZWVuIGNoYW5nZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgaXNMb2FkaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqXG4gICAgICogRGF0YSBzb3VyY2UuXG4gICAgICogQHBhcmFtIHNvdXJjZVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGRhdGFTb3VyY2Uoc291cmNlOiBEYXRhU291cmNlPFQsIFA+IHwgbnVsbCkge1xuICAgICAgICB0aGlzLl9kYXRhU291cmNlID0gc291cmNlO1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplRGF0YVNvdXJjZSgpO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2VDaGFuZ2VkLm5leHQoKTtcbiAgICB9XG5cbiAgICBnZXQgZGF0YVNvdXJjZSgpOiBEYXRhU291cmNlPFQsIFA+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kYXRhU291cmNlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZGF0YVNvdXJjZVByb3ZpZGVyOiBQIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogRGF0YSBzdHJlYW0uIEVtaXRzIHdoZW4gbmV3IGRhdGEgcmV0cmlldmVkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRhdGFDaGFuZ2VkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VFtdPihbXSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGF0YVNvdXJjZTogRGF0YVNvdXJjZTxULCBQPiB8IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2RzU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kYXRhU291cmNlVHJhbnNmb3JtZXIgPSBpbmplY3Q8RGF0YVNvdXJjZVBhcnNlcjxULCBQPj4oRkRfREFUQV9TT1VSQ0VfVFJBTlNGT1JNRVIpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlUHJvdmlkZXI/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuX2RzU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBASGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF90b0RhdGFTdHJlYW0oc291cmNlOiBEYXRhU291cmNlPFQ+IHwgbnVsbCk6IFAgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gIXNvdXJjZVxuICAgICAgICAgICAgPyB1bmRlZmluZWRcbiAgICAgICAgICAgIDogdGhpcy5fZGF0YVNvdXJjZVRyYW5zZm9ybWVyXG4gICAgICAgICAgICAgID8gdGhpcy5fZGF0YVNvdXJjZVRyYW5zZm9ybWVyLnBhcnNlKHNvdXJjZSlcbiAgICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pbml0aWFsaXplRGF0YVNvdXJjZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzRGF0YVNvdXJjZSh0aGlzLmRhdGFTb3VyY2UpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2VQcm92aWRlcj8udW5zdWJzY3JpYmUoKTtcblxuICAgICAgICAgICAgdGhpcy5fZHNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ29udmVydCB3aGF0ZXZlciBjb21lcyBpbiBhcyBEYXRhU291cmNlLCBzbyB3ZSBjYW4gd29yayB3aXRoIGl0IGlkZW50aWNhbGx5XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZVByb3ZpZGVyID0gdGhpcy5fdG9EYXRhU3RyZWFtKHRoaXMuZGF0YVNvdXJjZSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmRhdGFTb3VyY2VQcm92aWRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZHNTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5fZHNTdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlUHJvdmlkZXIuZGF0YUxvYWRpbmdcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoaXNMb2FkaW5nKSA9PiB0aGlzLmlzTG9hZGluZy5lbWl0KGlzTG9hZGluZykpXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5fZHNTdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlUHJvdmlkZXIuZGF0YUNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YUNoYW5nZWQuZW1pdChkYXRhKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFDaGFuZ2VkJC5uZXh0KGRhdGEpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { DataSourceDirective } from './data-source.directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class DataSourceModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DataSourceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: DataSourceModule, imports: [DataSourceDirective], exports: [DataSourceDirective] }); }
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DataSourceModule }); }
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: DataSourceModule, decorators: [{
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
imports: [DataSourceDirective],
|
|
13
|
-
exports: [DataSourceDirective]
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvZGF0YS1zb3VyY2UvZGF0YS1zb3VyY2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBTTlELE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLFlBSGYsbUJBQW1CLGFBQ25CLG1CQUFtQjsrR0FFcEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUo1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUM5QixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZURpcmVjdGl2ZSB9IGZyb20gJy4vZGF0YS1zb3VyY2UuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbRGF0YVNvdXJjZURpcmVjdGl2ZV0sXG4gICAgZXhwb3J0czogW0RhdGFTb3VyY2VEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNkay1kYXRhLXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL2RhdGEtc291cmNlL2Z1bmRhbWVudGFsLW5neC1jZGstZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { DataSourceDirective } from '../data-source.directive';
|
|
2
|
-
export const applyDatasourceDirective = {
|
|
3
|
-
directive: DataSourceDirective,
|
|
4
|
-
inputs: ['dataSource'],
|
|
5
|
-
outputs: ['dataChanged']
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbHktZGF0YXNvdXJjZS1kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9kYXRhLXNvdXJjZS9oZWxwZXJzL2FwcGx5LWRhdGFzb3VyY2UtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQU0zQjtJQUNOLFNBQVMsRUFBRSxtQkFBbUI7SUFDOUIsTUFBTSxFQUFFLENBQUMsWUFBWSxDQUFDO0lBQ3RCLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztDQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YVNvdXJjZURpcmVjdGl2ZSB9IGZyb20gJy4uL2RhdGEtc291cmNlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBhcHBseURhdGFzb3VyY2VEaXJlY3RpdmU6XG4gICAgfCBUeXBlPHVua25vd24+XG4gICAgfCB7XG4gICAgICAgICAgZGlyZWN0aXZlOiBUeXBlPHVua25vd24+O1xuICAgICAgICAgIGlucHV0cz86IHN0cmluZ1tdO1xuICAgICAgICAgIG91dHB1dHM/OiBzdHJpbmdbXTtcbiAgICAgIH0gPSB7XG4gICAgZGlyZWN0aXZlOiBEYXRhU291cmNlRGlyZWN0aXZlLFxuICAgIGlucHV0czogWydkYXRhU291cmNlJ10sXG4gICAgb3V0cHV0czogWydkYXRhQ2hhbmdlZCddXG59O1xuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { isBlank, isStringMap, isType } from '@fundamental-ngx/cdk/utils';
|
|
2
|
-
/** @Hidden */
|
|
3
|
-
export function getMatchingStrategyStartsWithPerTermReqexp(value) {
|
|
4
|
-
return new RegExp(`(\\s|^)(${value})`, 'gi');
|
|
5
|
-
}
|
|
6
|
-
/** @hidden */
|
|
7
|
-
export function objectValues(obj) {
|
|
8
|
-
return Object.keys(obj).map((key) => obj[key]);
|
|
9
|
-
}
|
|
10
|
-
/** @hidden */
|
|
11
|
-
export function objectToName(target) {
|
|
12
|
-
if (isBlank(target) || (!isStringMap(target) && !isType(target))) {
|
|
13
|
-
throw new Error(' Cannot convert. Uknown object');
|
|
14
|
-
}
|
|
15
|
-
return isType(target) ? target.prototype.constructor.name : target.constructor.name;
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvZGF0YS1zb3VyY2UvaGVscGVycy9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJMUUsY0FBYztBQUNkLE1BQU0sVUFBVSwwQ0FBMEMsQ0FBQyxLQUFhO0lBQ3BFLE9BQU8sSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsY0FBYztBQUNkLE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBUTtJQUNqQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsY0FBYztBQUNkLE1BQU0sVUFBVSxZQUFZLENBQUMsTUFBVztJQUNwQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvRCxNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0FBQ3hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc0JsYW5rLCBpc1N0cmluZ01hcCwgaXNUeXBlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBQcm92aWRlclBhcmFtcyA9IFJlYWRvbmx5TWFwPHN0cmluZywgYW55PjtcblxuLyoqIEBIaWRkZW4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXRjaGluZ1N0cmF0ZWd5U3RhcnRzV2l0aFBlclRlcm1SZXFleHAodmFsdWU6IHN0cmluZyk6IFJlZ0V4cCB7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoYChcXFxcc3xeKSgke3ZhbHVlfSlgLCAnZ2knKTtcbn1cblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvYmplY3RWYWx1ZXMob2JqOiBhbnkpOiBhbnlbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikubWFwKChrZXkpID0+IG9ialtrZXldKTtcbn1cblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvYmplY3RUb05hbWUodGFyZ2V0OiBhbnkpOiBzdHJpbmcge1xuICAgIGlmIChpc0JsYW5rKHRhcmdldCkgfHwgKCFpc1N0cmluZ01hcCh0YXJnZXQpICYmICFpc1R5cGUodGFyZ2V0KSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCcgQ2Fubm90IGNvbnZlcnQuIFVrbm93biBvYmplY3QnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXNUeXBlKHRhcmdldCkgPyB0YXJnZXQucHJvdG90eXBlLmNvbnN0cnVjdG9yLm5hbWUgOiB0YXJnZXQuY29uc3RydWN0b3IubmFtZTtcbn1cbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Checks whether passed value is a valid data source.
|
|
3
|
-
*/
|
|
4
|
-
export function isDataSource(value) {
|
|
5
|
-
return value && typeof value.unsubscribe === 'function' && value.dataChanges;
|
|
6
|
-
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZGF0YXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL2RhdGEtc291cmNlL2hlbHBlcnMvaXMtZGF0YXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7R0FFRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQVUsS0FBVTtJQUM1QyxPQUFPLEtBQUssSUFBSSxPQUFPLEtBQUssQ0FBQyxXQUFXLEtBQUssVUFBVSxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUM7QUFDakYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTb3VyY2VQcm92aWRlciB9IGZyb20gJy4uL21vZGVscy9kYXRhLXNvdXJjZS1wcm92aWRlcic7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgcGFzc2VkIHZhbHVlIGlzIGEgdmFsaWQgZGF0YSBzb3VyY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGFTb3VyY2U8VCA9IGFueT4odmFsdWU6IGFueSk6IHZhbHVlIGlzIERhdGFTb3VyY2VQcm92aWRlcjxUPiB7XG4gICAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZS51bnN1YnNjcmliZSA9PT0gJ2Z1bmN0aW9uJyAmJiB2YWx1ZS5kYXRhQ2hhbmdlcztcbn1cbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './data-source.module';
|
|
2
|
-
export * from './base/abstract-data-provider.class';
|
|
3
|
-
export * from './base/base-data-source.class';
|
|
4
|
-
export * from './data-source.directive';
|
|
5
|
-
export * from './helpers/apply-datasource-directive';
|
|
6
|
-
export * from './helpers/is-datasource';
|
|
7
|
-
export * from './models';
|
|
8
|
-
export * from './tokens';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9kYXRhLXNvdXJjZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0YS1zb3VyY2UubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9iYXNlL2Fic3RyYWN0LWRhdGEtcHJvdmlkZXIuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9iYXNlL2Jhc2UtZGF0YS1zb3VyY2UuY2xhc3MnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhLXNvdXJjZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWxwZXJzL2FwcGx5LWRhdGFzb3VyY2UtZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycy9pcy1kYXRhc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW5zJztcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9kYXRhLXNvdXJjZS9tb2RlbHMvZGF0YS1zb3VyY2UtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBEYXRhIHNvdXJjZSBwcm92aWRlciBjbGFzcyBjb250cm9scyB0aGUgZGF0YSBzdHJlYW0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVNvdXJjZVByb3ZpZGVyPFQgPSBhbnk+IHtcbiAgICAvKipcbiAgICAgKiBTdHJlYW0gZW1pdHMgd2hlbiBuZXcgZGF0YSBoYXMgYmVlbiByZXF1ZXN0ZWQuXG4gICAgICovXG4gICAgZGF0YVJlcXVlc3RlZDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICAvKipcbiAgICAgKiBTdHJlYW0gZW1pdHMgd2hlbiBuZXcgZGF0YSBoYXMgYmVlbiBsb2FkZWQuXG4gICAgICovXG4gICAgZGF0YVJlY2VpdmVkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAgIC8qKlxuICAgICAqIFN0cmVhbSBlbWl0cyB3aGVuIGxvYWRpbmcgc3RhdGUgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICAgKi9cbiAgICBkYXRhTG9hZGluZzogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICAvKiogU3RyZWFtIGVtaXRzIHdoZW4gZGF0YSBjaGFuZ2VkLiAqL1xuICAgIGRhdGFDaGFuZ2VzOiBPYnNlcnZhYmxlPFRbXT47XG4gICAgLyoqIENsb3NlcyB0aGUgZGF0YSBzdHJlYW0uICovXG4gICAgdW5zdWJzY3JpYmUoKTogdm9pZDtcbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9kYXRhLXNvdXJjZS9tb2RlbHMvZGF0YS1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdGFTb3VyY2VQcm92aWRlciB9IGZyb20gJy4vZGF0YS1zb3VyY2UtcHJvdmlkZXInO1xuXG4vKipcbiAqIEFjY2VwdGFibGUgZGF0YSBzb3VyY2UgdHlwZXMuXG4gKi9cbmV4cG9ydCB0eXBlIERhdGFTb3VyY2U8VCA9IGFueSwgUCBleHRlbmRzIERhdGFTb3VyY2VQcm92aWRlcjxUPiA9IERhdGFTb3VyY2VQcm92aWRlcjxUPj4gPSBQIHwgT2JzZXJ2YWJsZTxUW10+IHwgVFtdO1xuXG4vKipcbiAqIERhdGEgc291cmNlIHBhcnNlciBpcyBhIHNwZWNpYWwgY2xhc3MgdGhhdCBwYXJzZXMgaW5jb21pbmcgZGF0YSBpbnRvIGFwcHJvcHJpYXRlIGRhdGEgc291cmNlIHByb3ZpZGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTb3VyY2VQYXJzZXI8VCA9IGFueSwgUCBleHRlbmRzIERhdGFTb3VyY2VQcm92aWRlcjxUPiA9IERhdGFTb3VyY2VQcm92aWRlcjxUPj4ge1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgd2hpY2ggZGF0YSBwcm92aWRlciBjbGFzcyB0byBpbml0aWF0ZS5cbiAgICAgKiBAcGFyYW0gc291cmNlIGRhdGEgc291cmNlIHRvIGJlIHBhcnNlZC5cbiAgICAgKi9cbiAgICBwYXJzZShzb3VyY2U6IERhdGFTb3VyY2U8VD4pOiBQIHwgdW5kZWZpbmVkO1xufVxuIl19
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './data-source';
|
|
2
|
-
export * from './data-source-provider';
|
|
3
|
-
export * from './matching-strategy';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9kYXRhLXNvdXJjZS9tb2RlbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRhLXNvdXJjZSc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtc291cmNlLXByb3ZpZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbWF0Y2hpbmctc3RyYXRlZ3knO1xuIl19
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export var MatchingStrategy;
|
|
2
|
-
(function (MatchingStrategy) {
|
|
3
|
-
MatchingStrategy["STARTS_WITH_PER_TERM"] = "starts with per term";
|
|
4
|
-
MatchingStrategy["STARTS_WITH"] = "starts with";
|
|
5
|
-
MatchingStrategy["CONTAINS"] = "contains";
|
|
6
|
-
})(MatchingStrategy || (MatchingStrategy = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2hpbmctc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9kYXRhLXNvdXJjZS9tb2RlbHMvbWF0Y2hpbmctc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZ0JBSVg7QUFKRCxXQUFZLGdCQUFnQjtJQUN4QixpRUFBNkMsQ0FBQTtJQUM3QywrQ0FBMkIsQ0FBQTtJQUMzQix5Q0FBcUIsQ0FBQTtBQUN6QixDQUFDLEVBSlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUkzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1hdGNoaW5nU3RyYXRlZ3kge1xuICAgIFNUQVJUU19XSVRIX1BFUl9URVJNID0gJ3N0YXJ0cyB3aXRoIHBlciB0ZXJtJyxcbiAgICBTVEFSVFNfV0lUSCA9ICdzdGFydHMgd2l0aCcsXG4gICAgQ09OVEFJTlMgPSAnY29udGFpbnMnXG59XG5cbmV4cG9ydCB0eXBlIE1hdGNoQnkgPSAoaXRlbTogYW55KSA9PiBhbnk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWF0Y2hpbmdCeSB7XG4gICAgZmlyc3RCeTogTWF0Y2hCeTtcbiAgICBzZWNvbmRhcnlCeT86IE1hdGNoQnk7XG59XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
/**
|
|
3
|
-
* Injection token used for passing custom datasource transformer into DataSourceProvider.
|
|
4
|
-
*/
|
|
5
|
-
export const FD_DATA_SOURCE_TRANSFORMER = new InjectionToken('FdDataSourceTransformer');
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jZGsvZGF0YS1zb3VyY2UvdG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBbUIseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhU291cmNlUGFyc2VyIH0gZnJvbSAnLi9tb2RlbHMvZGF0YS1zb3VyY2UnO1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB1c2VkIGZvciBwYXNzaW5nIGN1c3RvbSBkYXRhc291cmNlIHRyYW5zZm9ybWVyIGludG8gRGF0YVNvdXJjZVByb3ZpZGVyLlxuICovXG5leHBvcnQgY29uc3QgRkRfREFUQV9TT1VSQ0VfVFJBTlNGT1JNRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48RGF0YVNvdXJjZVBhcnNlcj4oJ0ZkRGF0YVNvdXJjZVRyYW5zZm9ybWVyJyk7XG4iXX0=
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, DestroyRef, inject, Injectable } from '@angular/core';
|
|
2
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { CvaDirective } from './cva.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
/**
|
|
6
|
-
* Base ControlValueAccessor control class.
|
|
7
|
-
* Used in conjunction with CvaDirective.
|
|
8
|
-
*
|
|
9
|
-
* This class performs generic change detection based on `CvaDirective` outputs.
|
|
10
|
-
*/
|
|
11
|
-
export class CvaControl {
|
|
12
|
-
constructor() {
|
|
13
|
-
/**
|
|
14
|
-
* Control value accessor directive instance.
|
|
15
|
-
*/
|
|
16
|
-
this.cvaDirective = inject(CvaDirective, {
|
|
17
|
-
self: true,
|
|
18
|
-
optional: true
|
|
19
|
-
});
|
|
20
|
-
/**
|
|
21
|
-
* Change detector instance.
|
|
22
|
-
*/
|
|
23
|
-
this._changeDetector = inject(ChangeDetectorRef);
|
|
24
|
-
/** @Hidden */
|
|
25
|
-
this._destroyRef = inject(DestroyRef);
|
|
26
|
-
}
|
|
27
|
-
/** @hidden */
|
|
28
|
-
listenToChanges() {
|
|
29
|
-
this.cvaDirective?.markForCheck.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
30
|
-
this._changeDetector.detectChanges();
|
|
31
|
-
});
|
|
32
|
-
this.cvaDirective?.detectChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {
|
|
33
|
-
this._changeDetector.detectChanges();
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: CvaControl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
37
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: CvaControl }); }
|
|
38
|
-
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: CvaControl, decorators: [{
|
|
40
|
-
type: Injectable
|
|
41
|
-
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ZhLWNvbnRyb2wuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nkay9mb3Jtcy9jdmEvY3ZhLWNvbnRyb2wuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFL0M7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQU8sVUFBVTtJQUR2QjtRQUVJOztXQUVHO1FBQ0ksaUJBQVksR0FBRyxNQUFNLENBQWtCLFlBQVksRUFBRTtZQUN4RCxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ08sb0JBQWUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUV0RCxjQUFjO1FBQ0osZ0JBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0FZOUM7SUFWRyxjQUFjO0lBQ2QsZUFBZTtRQUNYLElBQUksQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RGLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN2RixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0ExQlEsVUFBVTtrSEFBVixVQUFVOzsyRkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERlc3Ryb3lSZWYsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQ3ZhRGlyZWN0aXZlIH0gZnJvbSAnLi9jdmEuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBCYXNlIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGNvbnRyb2wgY2xhc3MuXG4gKiBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggQ3ZhRGlyZWN0aXZlLlxuICpcbiAqIFRoaXMgY2xhc3MgcGVyZm9ybXMgZ2VuZXJpYyBjaGFuZ2UgZGV0ZWN0aW9uIGJhc2VkIG9uIGBDdmFEaXJlY3RpdmVgIG91dHB1dHMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdmFDb250cm9sPFQ+IHtcbiAgICAvKipcbiAgICAgKiBDb250cm9sIHZhbHVlIGFjY2Vzc29yIGRpcmVjdGl2ZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3ZhRGlyZWN0aXZlID0gaW5qZWN0PEN2YURpcmVjdGl2ZTxUPj4oQ3ZhRGlyZWN0aXZlLCB7XG4gICAgICAgIHNlbGY6IHRydWUsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgZGV0ZWN0b3IgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIF9jaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgICAvKiogQEhpZGRlbiAqL1xuICAgIHByb3RlY3RlZCBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbGlzdGVuVG9DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN2YURpcmVjdGl2ZT8ubWFya0ZvckNoZWNrLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmN2YURpcmVjdGl2ZT8uZGV0ZWN0Q2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
-
import { Directive, ElementRef, EventEmitter, Input, Output, ViewChild, computed, inject, isDevMode, signal } from '@angular/core';
|
|
3
|
-
import { ControlContainer, NgControl, NgForm } from '@angular/forms';
|
|
4
|
-
import { Subject, Subscription } from 'rxjs';
|
|
5
|
-
import { isValidControlState } from '../helpers/state';
|
|
6
|
-
import { FD_FORM_FIELD_CONTROL } from '../tokens/form-field-control.token';
|
|
7
|
-
import { FD_FORM_FIELD } from '../tokens/form-field.token';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
let randomId = 0;
|
|
10
|
-
export class CvaDirective {
|
|
11
|
-
/**
|
|
12
|
-
* The state of the form control - applies css classes.
|
|
13
|
-
* Can be 'success', 'error', 'warning', 'default', 'information'.
|
|
14
|
-
*
|
|
15
|
-
* @default 'default'
|
|
16
|
-
*/
|
|
17
|
-
set state(state) {
|
|
18
|
-
if (!state || isValidControlState(state)) {
|
|
19
|
-
this._state$.set(state);
|
|
20
|
-
}
|
|
21
|
-
else if (isDevMode()) {
|
|
22
|
-
console.warn(`Provided value "${state}" is not a valid option for FormStates type`);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
get state() {
|
|
26
|
-
return this.normalizedState$();
|
|
27
|
-
}
|
|
28
|
-
/** Whether the input is disabled */
|
|
29
|
-
set disabled(value) {
|
|
30
|
-
this.setDisabledState(value);
|
|
31
|
-
}
|
|
32
|
-
get disabled() {
|
|
33
|
-
if (this.ngControl && this.ngControl.disabled !== null) {
|
|
34
|
-
return this.ngControl.disabled;
|
|
35
|
-
}
|
|
36
|
-
return this._disabled;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Tell the component if we are in editing mode.
|
|
40
|
-
*/
|
|
41
|
-
set editable(value) {
|
|
42
|
-
const newVal = coerceBooleanProperty(value);
|
|
43
|
-
if (this._editable !== newVal) {
|
|
44
|
-
this._editable = newVal;
|
|
45
|
-
this._markForCheck();
|
|
46
|
-
this.stateChanges.next('editable');
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
get editable() {
|
|
50
|
-
return this._editable;
|
|
51
|
-
}
|
|
52
|
-
/** Whether control has errors */
|
|
53
|
-
get controlInvalid() {
|
|
54
|
-
return this._controlInvalid$();
|
|
55
|
-
}
|
|
56
|
-
/** @hidden */
|
|
57
|
-
constructor() {
|
|
58
|
-
/**
|
|
59
|
-
* Emits when change detection is needed.
|
|
60
|
-
*/
|
|
61
|
-
this.detectChanges = new EventEmitter();
|
|
62
|
-
/**
|
|
63
|
-
* Emits when mark for changes detection is needed.
|
|
64
|
-
*/
|
|
65
|
-
this.markForCheck = new EventEmitter();
|
|
66
|
-
/**
|
|
67
|
-
* See @FormFieldControl
|
|
68
|
-
*/
|
|
69
|
-
this.focused = false;
|
|
70
|
-
/**
|
|
71
|
-
* See @FormFieldControl
|
|
72
|
-
*/
|
|
73
|
-
this.stateChanges = new Subject();
|
|
74
|
-
/** @hidden */
|
|
75
|
-
this.formField = inject(FD_FORM_FIELD, {
|
|
76
|
-
skipSelf: true,
|
|
77
|
-
optional: true
|
|
78
|
-
});
|
|
79
|
-
/**
|
|
80
|
-
* NgControl instance.
|
|
81
|
-
*/
|
|
82
|
-
this.ngControl = inject(NgControl, {
|
|
83
|
-
optional: true,
|
|
84
|
-
host: true
|
|
85
|
-
});
|
|
86
|
-
/**
|
|
87
|
-
* Form container instance. Usually ngForm or FormGroup directives.
|
|
88
|
-
*/
|
|
89
|
-
this.controlContainer = inject(ControlContainer, {
|
|
90
|
-
optional: true,
|
|
91
|
-
skipSelf: true
|
|
92
|
-
});
|
|
93
|
-
/**
|
|
94
|
-
* Separate NgForm instance. For cases when formGroup is used with the form itself.
|
|
95
|
-
*/
|
|
96
|
-
this.ngForm = inject(NgForm, {
|
|
97
|
-
optional: true,
|
|
98
|
-
skipSelf: true
|
|
99
|
-
});
|
|
100
|
-
/** @hidden */
|
|
101
|
-
this.normalizedState$ = computed(() => {
|
|
102
|
-
const storedState = this._state$();
|
|
103
|
-
if (storedState) {
|
|
104
|
-
return storedState;
|
|
105
|
-
}
|
|
106
|
-
if (!this._controlInvalid$()) {
|
|
107
|
-
return 'default';
|
|
108
|
-
}
|
|
109
|
-
return this.formField?.getPriorityState() || 'default';
|
|
110
|
-
});
|
|
111
|
-
/**
|
|
112
|
-
* Element reference.
|
|
113
|
-
*/
|
|
114
|
-
this.elementRef = inject(ElementRef);
|
|
115
|
-
/** @hidden */
|
|
116
|
-
this._subscriptions = new Subscription();
|
|
117
|
-
/** @hidden */
|
|
118
|
-
this._defaultId = `fd-input-id-${randomId++}`;
|
|
119
|
-
/** ID for the Element */
|
|
120
|
-
// eslint-disable-next-line @typescript-eslint/member-ordering
|
|
121
|
-
this.id = this._defaultId;
|
|
122
|
-
/** @hidden */
|
|
123
|
-
this._editable = true;
|
|
124
|
-
/**
|
|
125
|
-
* @hidden
|
|
126
|
-
*/
|
|
127
|
-
this._controlInvalid$ = signal(false);
|
|
128
|
-
/** @hidden */
|
|
129
|
-
this._parentControl = inject(FD_FORM_FIELD_CONTROL, {
|
|
130
|
-
skipSelf: true,
|
|
131
|
-
optional: true
|
|
132
|
-
});
|
|
133
|
-
/**
|
|
134
|
-
* @hidden
|
|
135
|
-
* The state of the form control - applies css classes.
|
|
136
|
-
* Can be `success`, `error`, `warning`, `information` or 'default'
|
|
137
|
-
*/
|
|
138
|
-
this._state$ = signal(null);
|
|
139
|
-
/** @hidden */
|
|
140
|
-
this.onChange = () => { };
|
|
141
|
-
/** @hidden */
|
|
142
|
-
this.onTouched = () => { };
|
|
143
|
-
if (this.ngControl) {
|
|
144
|
-
this.ngControl.valueAccessor = this;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
/** @hidden */
|
|
148
|
-
ngOnInit() {
|
|
149
|
-
// There may be cases when one form control is used as a base to build another form control.
|
|
150
|
-
if (!this._parentControl) {
|
|
151
|
-
this.formField?.registerFormFieldControl(this);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Re-validate and emit event to parent container on every CD cycle as they are some errors
|
|
156
|
-
* that we can't subscribe to.
|
|
157
|
-
*/
|
|
158
|
-
ngDoCheck() {
|
|
159
|
-
if (this.ngControl) {
|
|
160
|
-
this.updateErrorState();
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
/** @hidden */
|
|
164
|
-
ngAfterViewInit() {
|
|
165
|
-
if (this.ngControl) {
|
|
166
|
-
this._subscriptions.add(this.ngControl.statusChanges?.subscribe(() => {
|
|
167
|
-
this._markForCheck();
|
|
168
|
-
}));
|
|
169
|
-
}
|
|
170
|
-
const labelAndHelpId = `fdp-form-label-content-${this.id}`;
|
|
171
|
-
// if not specified, associate label and inline help ids with the input,
|
|
172
|
-
// else add these ids to the specified ones
|
|
173
|
-
if (!this.ariaLabelledBy) {
|
|
174
|
-
this.ariaLabelledBy = labelAndHelpId;
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
this.ariaLabelledBy += ' ' + labelAndHelpId;
|
|
178
|
-
}
|
|
179
|
-
this._markForCheck();
|
|
180
|
-
}
|
|
181
|
-
/** @hidden */
|
|
182
|
-
registerOnChange(fn) {
|
|
183
|
-
this.onChange = fn;
|
|
184
|
-
}
|
|
185
|
-
/** @hidden */
|
|
186
|
-
registerOnTouched(fn) {
|
|
187
|
-
this.onTouched = fn;
|
|
188
|
-
}
|
|
189
|
-
/** @hidden */
|
|
190
|
-
ngOnDestroy() {
|
|
191
|
-
this._subscriptions.unsubscribe();
|
|
192
|
-
this.stateChanges.complete();
|
|
193
|
-
this.formField?.unregisterFormFieldControl(this);
|
|
194
|
-
}
|
|
195
|
-
/** @hidden */
|
|
196
|
-
setDisabledState(isDisabled) {
|
|
197
|
-
const newState = coerceBooleanProperty(isDisabled);
|
|
198
|
-
this._markForCheck();
|
|
199
|
-
if (newState !== this._disabled) {
|
|
200
|
-
this._disabled = newState;
|
|
201
|
-
this.stateChanges.next('setDisabledState');
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Method for setting the value
|
|
206
|
-
* @param value
|
|
207
|
-
*/
|
|
208
|
-
writeValue(value) {
|
|
209
|
-
this.value = value;
|
|
210
|
-
this.stateChanges.next('writeValue');
|
|
211
|
-
this._markForCheck();
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
*
|
|
215
|
-
* Keeps track of element focus
|
|
216
|
-
*/
|
|
217
|
-
_onFocusChanged(isFocused) {
|
|
218
|
-
if (isFocused !== this.focused && (!this.disabled || !isFocused)) {
|
|
219
|
-
this.focused = isFocused;
|
|
220
|
-
this.stateChanges.next('_onFocusChanged');
|
|
221
|
-
}
|
|
222
|
-
if (!isFocused) {
|
|
223
|
-
this.onTouched();
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Handles even when we click on parent container which is the FormField Wrapping this
|
|
228
|
-
* control
|
|
229
|
-
*/
|
|
230
|
-
onContainerClick(event) {
|
|
231
|
-
this.focus(event);
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* In most of the cases when working with input element directly you should be just find to assign
|
|
235
|
-
* variable to this element
|
|
236
|
-
*
|
|
237
|
-
* ```
|
|
238
|
-
* <input #inputElementRef fd-form-control ...>
|
|
239
|
-
* ```
|
|
240
|
-
*
|
|
241
|
-
* and this default behavior used. For other cases implement focus.
|
|
242
|
-
*
|
|
243
|
-
*/
|
|
244
|
-
focus(event) {
|
|
245
|
-
if (this._elementRef && !this.focused) {
|
|
246
|
-
this._elementRef.nativeElement.focus(event);
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Need re-validates errors on every CD iteration to make sure we are also
|
|
251
|
-
* covering non-control errors, errors that happens outside of this control
|
|
252
|
-
*/
|
|
253
|
-
updateErrorState() {
|
|
254
|
-
const parent = this.ngForm;
|
|
255
|
-
const parentControlContainer = this.controlContainer;
|
|
256
|
-
const control = this.ngControl ? this.ngControl.control : null;
|
|
257
|
-
const newStatusIsError = !!(control?.invalid &&
|
|
258
|
-
(control.dirty || control.touched || parent?.submitted || parentControlContainer?.submitted));
|
|
259
|
-
if (newStatusIsError !== this._controlInvalid$()) {
|
|
260
|
-
this._controlInvalid$.set(newStatusIsError);
|
|
261
|
-
this.stateChanges.next('updateErrorState');
|
|
262
|
-
this._markForCheck();
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* Used to change the value of a control.
|
|
267
|
-
* @param value the value to be applied
|
|
268
|
-
* @param emitOnChange whether to emit "onChange" event.
|
|
269
|
-
* Should be "false", if the change is made programmatically (internally) by the control, "true" otherwise
|
|
270
|
-
*/
|
|
271
|
-
setValue(value, emitOnChange = true) {
|
|
272
|
-
if (value !== this.value) {
|
|
273
|
-
this.writeValue(value);
|
|
274
|
-
if (emitOnChange) {
|
|
275
|
-
this.onChange(value);
|
|
276
|
-
}
|
|
277
|
-
this._markForCheck();
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
/** @hidden */
|
|
281
|
-
_markForCheck() {
|
|
282
|
-
this.markForCheck.emit();
|
|
283
|
-
}
|
|
284
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: CvaDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
285
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.3", type: CvaDirective, isStandalone: true, selector: "[fdkCva]", inputs: { placeholder: "placeholder", state: "state", stateMessage: "stateMessage", disabled: "disabled", readonly: "readonly", ariaLabelledBy: "ariaLabelledBy", ariaLabel: "ariaLabel", editable: "editable", name: "name", id: "id" }, outputs: { detectChanges: "detectChanges", markForCheck: "markForCheck" }, viewQueries: [{ propertyName: "_elementRef", first: true, predicate: ["inputElementRef"], descendants: true, read: ElementRef, static: true }], ngImport: i0 }); }
|
|
286
|
-
}
|
|
287
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: CvaDirective, decorators: [{
|
|
288
|
-
type: Directive,
|
|
289
|
-
args: [{
|
|
290
|
-
selector: '[fdkCva]',
|
|
291
|
-
standalone: true
|
|
292
|
-
}]
|
|
293
|
-
}], ctorParameters: () => [], propDecorators: { placeholder: [{
|
|
294
|
-
type: Input
|
|
295
|
-
}], state: [{
|
|
296
|
-
type: Input
|
|
297
|
-
}], stateMessage: [{
|
|
298
|
-
type: Input
|
|
299
|
-
}], disabled: [{
|
|
300
|
-
type: Input
|
|
301
|
-
}], readonly: [{
|
|
302
|
-
type: Input
|
|
303
|
-
}], ariaLabelledBy: [{
|
|
304
|
-
type: Input
|
|
305
|
-
}], ariaLabel: [{
|
|
306
|
-
type: Input
|
|
307
|
-
}], editable: [{
|
|
308
|
-
type: Input
|
|
309
|
-
}], name: [{
|
|
310
|
-
type: Input
|
|
311
|
-
}], detectChanges: [{
|
|
312
|
-
type: Output
|
|
313
|
-
}], markForCheck: [{
|
|
314
|
-
type: Output
|
|
315
|
-
}], _elementRef: [{
|
|
316
|
-
type: ViewChild,
|
|
317
|
-
args: ['inputElementRef', { static: true, read: ElementRef }]
|
|
318
|
-
}], id: [{
|
|
319
|
-
type: Input
|
|
320
|
-
}] } });
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ZhLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL2Zvcm1zL2N2YS9jdmEuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBRUgsU0FBUyxFQUVULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEVBQ1QsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBcUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhHLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSXZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFM0QsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBTWpCLE1BQU0sT0FBTyxZQUFZO0lBZXJCOzs7OztPQUtHO0lBQ0gsSUFDSSxLQUFLLENBQUMsS0FBMkI7UUFDakMsSUFBSSxDQUFDLEtBQUssSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUM7YUFBTSxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsS0FBSyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFB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LEVBQUUsVUFBVTtvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3dEQWNHLFdBQVc7c0JBRFYsS0FBSztnQkFVRixLQUFLO3NCQURSLEtBQUs7Z0JBY04sWUFBWTtzQkFEWCxLQUFLO2dCQUtGLFFBQVE7c0JBRFgsS0FBSztnQkFlTixRQUFRO3NCQURQLEtBQUs7Z0JBS04sY0FBYztzQkFEYixLQUFLO2dCQUtOLFNBQVM7c0JBRFIsS0FBSztnQkFPRixRQUFRO3NCQURYLEtBQUs7Z0JBaUJOLElBQUk7c0JBREgsS0FBSztnQkFPTixhQUFhO3NCQURaLE1BQU07Z0JBT1AsWUFBWTtzQkFEWCxNQUFNO2dCQU9HLFdBQVc7c0JBRHBCLFNBQVM7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBa0ZoRSxFQUFFO3NCQURELEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgRGlyZWN0aXZlLFxuICAgIERvQ2hlY2ssXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIGNvbXB1dGVkLFxuICAgIGluamVjdCxcbiAgICBpc0Rldk1vZGUsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOZ0NvbnRyb2wsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEhhc0VsZW1lbnRSZWYsIE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc1ZhbGlkQ29udHJvbFN0YXRlIH0gZnJvbSAnLi4vaGVscGVycy9zdGF0ZSc7XG5pbXBvcnQgeyBCYXNlQ1ZBIH0gZnJvbSAnLi4vbW9kZWxzL2N2YSc7XG5pbXBvcnQgeyBGb3JtRmllbGQsIEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICcuLi9tb2RlbHMvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBGb3JtU3RhdGVzIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0tc3RhdGUnO1xuaW1wb3J0IHsgRkRfRk9STV9GSUVMRF9DT05UUk9MIH0gZnJvbSAnLi4vdG9rZW5zL2Zvcm0tZmllbGQtY29udHJvbC50b2tlbic7XG5pbXBvcnQgeyBGRF9GT1JNX0ZJRUxEIH0gZnJvbSAnLi4vdG9rZW5zL2Zvcm0tZmllbGQudG9rZW4nO1xuXG5sZXQgcmFuZG9tSWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZGtDdmFdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEN2YURpcmVjdGl2ZTxUID0gYW55PlxuICAgIGltcGxlbWVudHNcbiAgICAgICAgSGFzRWxlbWVudFJlZixcbiAgICAgICAgQmFzZUNWQSxcbiAgICAgICAgRm9ybUZpZWxkQ29udHJvbCxcbiAgICAgICAgT25Jbml0LFxuICAgICAgICBEb0NoZWNrLFxuICAgICAgICBBZnRlclZpZXdJbml0LFxuICAgICAgICBPbkRlc3Ryb3ksXG4gICAgICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gICAgLyoqIElucHV0IHBsYWNlaG9sZGVyICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogIFRoZSBzdGF0ZSBvZiB0aGUgZm9ybSBjb250cm9sIC0gYXBwbGllcyBjc3MgY2xhc3Nlcy5cbiAgICAgKiAgQ2FuIGJlICdzdWNjZXNzJywgJ2Vycm9yJywgJ3dhcm5pbmcnLCAnZGVmYXVsdCcsICdpbmZvcm1hdGlvbicuXG4gICAgICpcbiAgICAgKiBAZGVmYXVsdCAnZGVmYXVsdCdcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBzdGF0ZShzdGF0ZTogTnVsbGFibGU8Rm9ybVN0YXRlcz4pIHtcbiAgICAgICAgaWYgKCFzdGF0ZSB8fCBpc1ZhbGlkQ29udHJvbFN0YXRlKHN0YXRlKSkge1xuICAgICAgICAgICAgdGhpcy5fc3RhdGUkLnNldChzdGF0ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgUHJvdmlkZWQgdmFsdWUgXCIke3N0YXRlfVwiIGlzIG5vdCBhIHZhbGlkIG9wdGlvbiBmb3IgRm9ybVN0YXRlcyB0eXBlYCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHN0YXRlKCk6IEZvcm1TdGF0ZXMge1xuICAgICAgICByZXR1cm4gdGhpcy5ub3JtYWxpemVkU3RhdGUkKCk7XG4gICAgfVxuXG4gICAgLyoqIEhvbGRzIHRoZSBtZXNzYWdlIHdpdGggcmVzcGVjdCB0byBzdGF0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhdGVNZXNzYWdlOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGlucHV0IGlzIGRpc2FibGVkICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zZXREaXNhYmxlZFN0YXRlKHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuZGlzYWJsZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbC5kaXNhYmxlZDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmVhZE9ubHkgVmFsdWUgdG8gTWFyayBjb21wb25lbnQgcmVhZCBvbmx5XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByZWFkb25seTogYm9vbGVhbjtcblxuICAgIC8qKiBCaW5kcyB0byBjb250cm9sIGFyaWEtbGFiZWxsZWRCeSBhdHRyaWJ1dGUgKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbGxlZEJ5OiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqIFNldHMgY29udHJvbCBhcmlhLWxhYmVsIGF0dHJpYnV0ZSB2YWx1ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsOiBOdWxsYWJsZTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogVGVsbCB0aGUgY29tcG9uZW50IGlmIHdlIGFyZSBpbiBlZGl0aW5nIG1vZGUuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgZWRpdGFibGUodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICBjb25zdCBuZXdWYWwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5fZWRpdGFibGUgIT09IG5ld1ZhbCkge1xuICAgICAgICAgICAgdGhpcy5fZWRpdGFibGUgPSBuZXdWYWw7XG4gICAgICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoJ2VkaXRhYmxlJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGVkaXRhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWRpdGFibGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgY29udHJvbC5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIG5hbWU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gY2hhbmdlIGRldGVjdGlvbiBpcyBuZWVkZWQuXG4gICAgICovXG4gICAgQE91dHB1dCgpXG4gICAgZGV0ZWN0Q2hhbmdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gbWFyayBmb3IgY2hhbmdlcyBkZXRlY3Rpb24gaXMgbmVlZGVkLlxuICAgICAqL1xuICAgIEBPdXRwdXQoKVxuICAgIG1hcmtGb3JDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIFJlZmVyZW5jZSB0byBpbnRlcm5hbCBJbnB1dCBlbGVtZW50XG4gICAgICovXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRFbGVtZW50UmVmJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgICBwcm90ZWN0ZWQgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHZhbHVlOiBUO1xuXG4gICAgLyoqIHNldCB3aGVuIGlucHV0IGZpZWxkIGlzIG1hbmRhdG9yeSBmb3JtIGZpZWxkICovXG4gICAgcmVxdWlyZWQ6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBTZWUgQEZvcm1GaWVsZENvbnRyb2xcbiAgICAgKi9cbiAgICBmb2N1c2VkID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBjb250cm9sIGhhcyBlcnJvcnMgKi9cbiAgICBnZXQgY29udHJvbEludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250cm9sSW52YWxpZCQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWUgQEZvcm1GaWVsZENvbnRyb2xcbiAgICAgKi9cbiAgICByZWFkb25seSBzdGF0ZUNoYW5nZXM6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgZm9ybUZpZWxkOiBGb3JtRmllbGQgfCBudWxsID0gaW5qZWN0KEZEX0ZPUk1fRklFTEQsIHtcbiAgICAgICAgc2tpcFNlbGY6IHRydWUsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBOZ0NvbnRyb2wgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgbmdDb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgaG9zdDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogRm9ybSBjb250YWluZXIgaW5zdGFuY2UuIFVzdWFsbHkgbmdGb3JtIG9yIEZvcm1Hcm91cCBkaXJlY3RpdmVzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNvbnRyb2xDb250YWluZXIgPSBpbmplY3QoQ29udHJvbENvbnRhaW5lciwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgc2tpcFNlbGY6IHRydWVcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFNlcGFyYXRlIE5nRm9ybSBpbnN0YW5jZS4gRm9yIGNhc2VzIHdoZW4gZm9ybUdyb3VwIGlzIHVzZWQgd2l0aCB0aGUgZm9ybSBpdHNlbGYuXG4gICAgICovXG4gICAgcmVhZG9ubHkgbmdGb3JtID0gaW5qZWN0KE5nRm9ybSwge1xuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgc2tpcFNlbGY6IHRydWVcbiAgICB9KTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVhZG9ubHkgbm9ybWFsaXplZFN0YXRlJCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3Qgc3RvcmVkU3RhdGUgPSB0aGlzLl9zdGF0ZSQoKTtcbiAgICAgICAgaWYgKHN0b3JlZFN0YXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RvcmVkU3RhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuX2NvbnRyb2xJbnZhbGlkJCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2RlZmF1bHQnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkPy5nZXRQcmlvcml0eVN0YXRlKCkgfHwgJ2RlZmF1bHQnO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogRWxlbWVudCByZWZlcmVuY2UuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF9zdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9kZWZhdWx0SWQgPSBgZmQtaW5wdXQtaWQtJHtyYW5kb21JZCsrfWA7XG5cbiAgICAvKiogSUQgZm9yIHRoZSBFbGVtZW50ICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgICBASW5wdXQoKVxuICAgIGlkOiBzdHJpbmcgPSB0aGlzLl9kZWZhdWx0SWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZWRpdGFibGUgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRyb2xJbnZhbGlkJCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3BhcmVudENvbnRyb2wgPSBpbmplY3QoRkRfRk9STV9GSUVMRF9DT05UUk9MLCB7XG4gICAgICAgIHNraXBTZWxmOiB0cnVlLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoZSBzdGF0ZSBvZiB0aGUgZm9ybSBjb250cm9sIC0gYXBwbGllcyBjc3MgY2xhc3Nlcy5cbiAgICAgKiBDYW4gYmUgYHN1Y2Nlc3NgLCBgZXJyb3JgLCBgd2FybmluZ2AsIGBpbmZvcm1hdGlvbmAgb3IgJ2RlZmF1bHQnXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGUkID0gc2lnbmFsPE51bGxhYmxlPEZvcm1TdGF0ZXM+PihudWxsKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvblRvdWNoZWQgPSAoKTogdm9pZCA9PiB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIFRoZXJlIG1heSBiZSBjYXNlcyB3aGVuIG9uZSBmb3JtIGNvbnRyb2wgaXMgdXNlZCBhcyBhIGJhc2UgdG8gYnVpbGQgYW5vdGhlciBmb3JtIGNvbnRyb2wuXG4gICAgICAgIGlmICghdGhpcy5fcGFyZW50Q29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtRmllbGQ/LnJlZ2lzdGVyRm9ybUZpZWxkQ29udHJvbCh0aGlzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlLXZhbGlkYXRlIGFuZCBlbWl0IGV2ZW50IHRvIHBhcmVudCBjb250YWluZXIgb24gZXZlcnkgQ0QgY3ljbGUgYXMgdGhleSBhcmUgc29tZSBlcnJvcnNcbiAgICAgKiB0aGF0IHdlIGNhbid0IHN1YnNjcmliZSB0by5cbiAgICAgKi9cbiAgICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVFcnJvclN0YXRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmdDb250cm9sKSB7XG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgICAgICAgICB0aGlzLm5nQ29udHJvbC5zdGF0dXNDaGFuZ2VzPy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxhYmVsQW5kSGVscElkID0gYGZkcC1mb3JtLWxhYmVsLWNvbnRlbnQtJHt0aGlzLmlkfWA7XG4gICAgICAgIC8vIGlmIG5vdCBzcGVjaWZpZWQsIGFzc29jaWF0ZSBsYWJlbCBhbmQgaW5saW5lIGhlbHAgaWRzIHdpdGggdGhlIGlucHV0LFxuICAgICAgICAvLyBlbHNlIGFkZCB0aGVzZSBpZHMgdG8gdGhlIHNwZWNpZmllZCBvbmVzXG4gICAgICAgIGlmICghdGhpcy5hcmlhTGFiZWxsZWRCeSkge1xuICAgICAgICAgICAgdGhpcy5hcmlhTGFiZWxsZWRCeSA9IGxhYmVsQW5kSGVscElkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hcmlhTGFiZWxsZWRCeSArPSAnICcgKyBsYWJlbEFuZEhlbHBJZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBhbnkpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gICAgICAgIHRoaXMuZm9ybUZpZWxkPy51bnJlZ2lzdGVyRm9ybUZpZWxkQ29udHJvbCh0aGlzKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogQm9vbGVhbklucHV0KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5ld1N0YXRlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KGlzRGlzYWJsZWQpO1xuICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgaWYgKG5ld1N0YXRlICE9PSB0aGlzLl9kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBuZXdTdGF0ZTtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoJ3NldERpc2FibGVkU3RhdGUnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCBmb3Igc2V0dGluZyB0aGUgdmFsdWVcbiAgICAgKiBAcGFyYW0gdmFsdWVcbiAgICAgKi9cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgnd3JpdGVWYWx1ZScpO1xuICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEtlZXBzIHRyYWNrIG9mIGVsZW1lbnQgZm9jdXNcbiAgICAgKi9cbiAgICBfb25Gb2N1c0NoYW5nZWQoaXNGb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChpc0ZvY3VzZWQgIT09IHRoaXMuZm9jdXNlZCAmJiAoIXRoaXMuZGlzYWJsZWQgfHwgIWlzRm9jdXNlZCkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IGlzRm9jdXNlZDtcbiAgICAgICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoJ19vbkZvY3VzQ2hhbmdlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFpc0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVzIGV2ZW4gd2hlbiB3ZSBjbGljayBvbiBwYXJlbnQgY29udGFpbmVyIHdoaWNoIGlzIHRoZSBGb3JtRmllbGQgV3JhcHBpbmcgdGhpc1xuICAgICAqIGNvbnRyb2xcbiAgICAgKi9cbiAgICBvbkNvbnRhaW5lckNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXMoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluIG1vc3Qgb2YgdGhlIGNhc2VzIHdoZW4gd29ya2luZyB3aXRoIGlucHV0IGVsZW1lbnQgZGlyZWN0bHkgeW91IHNob3VsZCBiZSBqdXN0IGZpbmQgdG8gYXNzaWduXG4gICAgICogdmFyaWFibGUgdG8gdGhpcyBlbGVtZW50XG4gICAgICpcbiAgICAgKiBgYGBcbiAgICAgKiA8aW5wdXQgI2lucHV0RWxlbWVudFJlZiBmZC1mb3JtLWNvbnRyb2wgLi4uPlxuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogYW5kIHRoaXMgZGVmYXVsdCBiZWhhdmlvciB1c2VkLiBGb3Igb3RoZXIgY2FzZXMgaW1wbGVtZW50IGZvY3VzLlxuICAgICAqXG4gICAgICovXG4gICAgZm9jdXMoZXZlbnQ/OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9lbGVtZW50UmVmICYmICF0aGlzLmZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cyhldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgTmVlZCByZS12YWxpZGF0ZXMgZXJyb3JzIG9uIGV2ZXJ5IENEIGl0ZXJhdGlvbiB0byBtYWtlIHN1cmUgd2UgYXJlIGFsc29cbiAgICAgKiAgY292ZXJpbmcgbm9uLWNvbnRyb2wgZXJyb3JzLCBlcnJvcnMgdGhhdCBoYXBwZW5zIG91dHNpZGUgb2YgdGhpcyBjb250cm9sXG4gICAgICovXG4gICAgdXBkYXRlRXJyb3JTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5uZ0Zvcm07XG4gICAgICAgIGNvbnN0IHBhcmVudENvbnRyb2xDb250YWluZXIgPSB0aGlzLmNvbnRyb2xDb250YWluZXI7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLm5nQ29udHJvbCA/ICh0aGlzLm5nQ29udHJvbC5jb250cm9sIGFzIEZvcm1Db250cm9sKSA6IG51bGw7XG4gICAgICAgIGNvbnN0IG5ld1N0YXR1c0lzRXJyb3IgPSAhIShcbiAgICAgICAgICAgIGNvbnRyb2w/LmludmFsaWQgJiZcbiAgICAgICAgICAgIChjb250cm9sLmRpcnR5IHx8IGNvbnRyb2wudG91Y2hlZCB8fCBwYXJlbnQ/LnN1Ym1pdHRlZCB8fCAocGFyZW50Q29udHJvbENvbnRhaW5lciBhcyBhbnkpPy5zdWJtaXR0ZWQpXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKG5ld1N0YXR1c0lzRXJyb3IgIT09IHRoaXMuX2NvbnRyb2xJbnZhbGlkJCgpKSB7XG4gICAgICAgICAgICB0aGlzLl9jb250cm9sSW52YWxpZCQuc2V0KG5ld1N0YXR1c0lzRXJyb3IpO1xuICAgICAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgndXBkYXRlRXJyb3JTdGF0ZScpO1xuICAgICAgICAgICAgdGhpcy5fbWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIHRvIGNoYW5nZSB0aGUgdmFsdWUgb2YgYSBjb250cm9sLlxuICAgICAqIEBwYXJhbSB2YWx1ZSB0aGUgdmFsdWUgdG8gYmUgYXBwbGllZFxuICAgICAqIEBwYXJhbSBlbWl0T25DaGFuZ2Ugd2hldGhlciB0byBlbWl0IFwib25DaGFuZ2VcIiBldmVudC5cbiAgICAgKiBTaG91bGQgYmUgXCJmYWxzZVwiLCBpZiB0aGUgY2hhbmdlIGlzIG1hZGUgcHJvZ3JhbW1hdGljYWxseSAoaW50ZXJuYWxseSkgYnkgdGhlIGNvbnRyb2wsIFwidHJ1ZVwiIG90aGVyd2lzZVxuICAgICAqL1xuICAgIHNldFZhbHVlKHZhbHVlOiBULCBlbWl0T25DaGFuZ2UgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChlbWl0T25DaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX21hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9tYXJrRm9yQ2hlY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFya0ZvckNoZWNrLmVtaXQoKTtcbiAgICB9XG59XG4iXX0=
|