@anglr/select 16.1.0 → 17.0.0-beta.20260702112309
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/changelog.md +37 -0
- package/es2022/src/components/option/option.component.js +13 -8
- package/es2022/src/components/option/option.component.js.map +1 -1
- package/es2022/src/components/optionGroup/optgroup.component.js +6 -5
- package/es2022/src/components/optionGroup/optgroup.component.js.map +1 -1
- package/es2022/src/components/select/select.component.js +33 -21
- package/es2022/src/components/select/select.component.js.map +1 -1
- package/es2022/src/directives/highlightInstance/highlightInstance.directive.js +80 -0
- package/es2022/src/directives/highlightInstance/highlightInstance.directive.js.map +1 -0
- package/es2022/src/directives/highlightSearch/highlightSearch.directive.js +114 -0
- package/es2022/src/directives/highlightSearch/highlightSearch.directive.js.map +1 -0
- package/es2022/src/directives/highlightText/highlightText.directive.js +63 -0
- package/es2022/src/directives/highlightText/highlightText.directive.js.map +1 -0
- package/es2022/src/directives/index.js +3 -0
- package/es2022/src/directives/index.js.map +1 -1
- package/es2022/src/directives/normalStateTagTemplate/normalStateTagTemplate.directive.js +3 -3
- package/es2022/src/directives/normalStateTemplate/normalStateTemplate.directive.js +3 -3
- package/es2022/src/directives/optionGroupTemplate/optionGroupTemplate.directive.js +3 -3
- package/es2022/src/directives/optionTemplate/optionTemplate.directive.js +3 -3
- package/es2022/src/directives/selectAbsolute/selectAbsolute.directive.js +3 -3
- package/es2022/src/directives/selectControlValueAccessor/selectControlValueAccessor.directive.js +7 -5
- package/es2022/src/directives/selectControlValueAccessor/selectControlValueAccessor.directive.js.map +1 -1
- package/es2022/src/directives/selectEdit/selectEdit.directive.js +3 -3
- package/es2022/src/directives/selectFormControl/selectFormControl.directive.js +11 -7
- package/es2022/src/directives/selectFormControl/selectFormControl.directive.js.map +1 -1
- package/es2022/src/directives/selectMultipleKeepPopup/selectMultipleKeepPopup.directive.js +3 -3
- package/es2022/src/directives/selectNoCarret/selectNoCarret.directive.js +3 -3
- package/es2022/src/directives/selectPlaceholder/selectPlaceholder.directive.js +5 -4
- package/es2022/src/directives/selectPlaceholder/selectPlaceholder.directive.js.map +1 -1
- package/es2022/src/directives/withDirectAccess/withDirectAccess.directive.js +5 -4
- package/es2022/src/directives/withDirectAccess/withDirectAccess.directive.js.map +1 -1
- package/es2022/src/interfaces/plugins/popup/popup.interface.js.map +1 -1
- package/es2022/src/misc/classes/codeOptionsGatherer/codeOptionsGatherer.interface.js +6 -3
- package/es2022/src/misc/classes/codeOptionsGatherer/codeOptionsGatherer.interface.js.map +1 -1
- package/es2022/src/misc/classes/selectBus/selectBus.js +11 -7
- package/es2022/src/misc/classes/selectBus/selectBus.js.map +1 -1
- package/es2022/src/misc/classes/selectPluginInstances/selectPluginInstances.js +18 -9
- package/es2022/src/misc/classes/selectPluginInstances/selectPluginInstances.js.map +1 -1
- package/es2022/src/modules/select.module.js +4 -4
- package/es2022/src/pipes/addNewOption/addNewOption.pipe.js +3 -3
- package/es2022/src/pipes/displayOptionValue/displayOptionValue.pipe.js +7 -5
- package/es2022/src/pipes/displayOptionValue/displayOptionValue.pipe.js.map +1 -1
- package/es2022/src/pipes/displayValue/displayValue.pipe.js +9 -6
- package/es2022/src/pipes/displayValue/displayValue.pipe.js.map +1 -1
- package/es2022/src/pipes/getPlugin/getPlugin.pipe.js +3 -3
- package/es2022/src/pipes/groupedListOptions/groupedListOptions.pipe.js +3 -3
- package/es2022/src/pipes/hasValue/hasValue.pipe.js +3 -3
- package/es2022/src/pipes/optionCssClasses/optionCssClasses.pipe.js +3 -3
- package/es2022/src/plugins/interactions/simpleInteractions/simpleInteractions.component.js +3 -3
- package/es2022/src/plugins/keyboardHandler/simpleKeyboardHandler/simpleKeyboardHandler.component.js +3 -3
- package/es2022/src/plugins/liveSearch/editLiveSearch/editLiveSearch.component.js +13 -8
- package/es2022/src/plugins/liveSearch/editLiveSearch/editLiveSearch.component.js.map +1 -1
- package/es2022/src/plugins/liveSearch/filterLiveSearch/filterLiveSearch.component.js +7 -5
- package/es2022/src/plugins/liveSearch/filterLiveSearch/filterLiveSearch.component.js.map +1 -1
- package/es2022/src/plugins/liveSearch/noLiveSearch/noLiveSearch.component.js +7 -5
- package/es2022/src/plugins/liveSearch/noLiveSearch/noLiveSearch.component.js.map +1 -1
- package/es2022/src/plugins/normalState/editNormalState/editNormalState.component.js +9 -6
- package/es2022/src/plugins/normalState/editNormalState/editNormalState.component.js.map +1 -1
- package/es2022/src/plugins/normalState/simpleNormalState/simpleNormalState.component.js +5 -4
- package/es2022/src/plugins/normalState/simpleNormalState/simpleNormalState.component.js.map +1 -1
- package/es2022/src/plugins/optionsHandler/noOptionsHandler/noOptionsHandler.component.js +7 -5
- package/es2022/src/plugins/optionsHandler/noOptionsHandler/noOptionsHandler.component.js.map +1 -1
- package/es2022/src/plugins/optionsHandler/optionsHandlerBase.js +9 -6
- package/es2022/src/plugins/optionsHandler/optionsHandlerBase.js.map +1 -1
- package/es2022/src/plugins/optionsHandler/simpleOptionsHandler/simpleOptionsHandler.component.js +7 -5
- package/es2022/src/plugins/optionsHandler/simpleOptionsHandler/simpleOptionsHandler.component.js.map +1 -1
- package/es2022/src/plugins/popup/simplePopup/simplePopup.component.js +11 -5
- package/es2022/src/plugins/popup/simplePopup/simplePopup.component.js.map +1 -1
- package/es2022/src/plugins/positioner/commonPositioner/commonPositioner.component.js +3 -3
- package/es2022/src/plugins/positioner/noPositioner/noPositioner.component.js +3 -3
- package/es2022/src/plugins/positioner/popoverPositioner/popoverPositioner.component.js +3 -3
- package/es2022/src/plugins/valueHandler/dynamicValueHandler/dynamicValueHandler.component.js +13 -8
- package/es2022/src/plugins/valueHandler/dynamicValueHandler/dynamicValueHandler.component.js.map +1 -1
- package/es2022/src/plugins/valueHandler/staticValueHandler/staticValueHandler.component.js +7 -5
- package/es2022/src/plugins/valueHandler/staticValueHandler/staticValueHandler.component.js.map +1 -1
- package/package.json +19 -27
- package/src/directives/highlightInstance/highlightInstance.directive.d.ts +42 -0
- package/src/directives/highlightInstance/highlightInstance.directive.d.ts.map +1 -0
- package/src/directives/highlightSearch/highlightSearch.directive.d.ts +50 -0
- package/src/directives/highlightSearch/highlightSearch.directive.d.ts.map +1 -0
- package/src/directives/highlightText/highlightText.directive.d.ts +28 -0
- package/src/directives/highlightText/highlightText.directive.d.ts.map +1 -0
- package/src/directives/index.d.ts +3 -0
- package/src/directives/index.d.ts.map +1 -1
- package/src/interfaces/plugins/popup/popup.interface.d.ts +4 -0
- package/src/interfaces/plugins/popup/popup.interface.d.ts.map +1 -1
- package/src/plugins/liveSearch/filterLiveSearch/filterLiveSearch.component.d.ts +1 -1
- package/src/plugins/liveSearch/filterLiveSearch/filterLiveSearch.component.d.ts.map +1 -1
- package/src/plugins/popup/simplePopup/simplePopup.component.d.ts +2 -1
- package/src/plugins/popup/simplePopup/simplePopup.component.d.ts.map +1 -1
- package/src/plugins/popup/simplePopup/simplePopup.component.html +2 -2
- package/styles/components/_popup.scss +6 -0
- package/styles/core/_defaultTheme.scss +5 -0
- package/version.bak +1 -1
|
@@ -8,7 +8,8 @@ export class CodeOptionsGatherer {
|
|
|
8
8
|
/**
|
|
9
9
|
* Array of all available options for select
|
|
10
10
|
*/
|
|
11
|
-
this.availableOptionsSignal = signal(null,
|
|
11
|
+
this.availableOptionsSignal = signal(null, /* @ts-ignore */
|
|
12
|
+
...(ngDevMode ? [{ debugName: "availableOptionsSignal" }] : /* istanbul ignore next */ []));
|
|
12
13
|
}
|
|
13
14
|
//######################### public properties - implementation of OptionsGatherer #########################
|
|
14
15
|
/**
|
|
@@ -26,8 +27,10 @@ export class CodeOptionsGatherer {
|
|
|
26
27
|
const availableOptions = [];
|
|
27
28
|
for (const option of options) {
|
|
28
29
|
const opt = option;
|
|
29
|
-
opt.active = signal(false,
|
|
30
|
-
|
|
30
|
+
opt.active = signal(false, /* @ts-ignore */
|
|
31
|
+
...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
|
|
32
|
+
opt.selected = signal(false, /* @ts-ignore */
|
|
33
|
+
...(ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []));
|
|
31
34
|
opt.index = 0;
|
|
32
35
|
availableOptions.push(opt);
|
|
33
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codeOptionsGatherer.interface.js","sourceRoot":"","sources":["../../../../../src/misc/classes/codeOptionsGatherer/codeOptionsGatherer.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAyB,MAAM,eAAe,CAAC;AAI7D;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAAhC;QAEI,sEAAsE;QAEtE;;WAEG;QACO,2BAAsB,GAAwE,MAAM,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"codeOptionsGatherer.interface.js","sourceRoot":"","sources":["../../../../../src/misc/classes/codeOptionsGatherer/codeOptionsGatherer.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAyB,MAAM,eAAe,CAAC;AAI7D;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAAhC;QAEI,sEAAsE;QAEtE;;WAEG;QACO,2BAAsB,GAAwE,MAAM,CAAC,IAAI;mGAAC,CAAC;IAmCzH,CAAC;IAjCG,2GAA2G;IAE3G;;OAEG;IACH,IAAW,gBAAgB;QAEvB,OAAO,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC;IACpD,CAAC;IAED,oEAAoE;IAEpE;;;OAGG;IACI,mBAAmB,CAAC,OAAwC;QAE/D,MAAM,gBAAgB,GAAG,EAAiC,CAAC;QAE3D,KAAI,MAAM,MAAM,IAAI,OAAO,EAC3B,CAAC;YACG,MAAM,GAAG,GAA8B,MAAmC,CAAC;YAE3E,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK;uFAAC,CAAC;YAC3B,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK;yFAAC,CAAC;YAC7B,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;YAEd,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;CACJ","sourcesContent":["import {signal, Signal, WritableSignal} from '@angular/core';\n\nimport {OptionsGatherer, SelectOption, SelectOptionState} from '../../../interfaces';\n\n/**\n * Options gatherer used for obtaining select options from code\n */\nexport class CodeOptionsGatherer<TValue = unknown> implements OptionsGatherer<TValue>\n{\n //######################### protected fields #########################\n\n /**\n * Array of all available options for select\n */\n protected availableOptionsSignal: WritableSignal<readonly SelectOptionState<TValue>[]|null|undefined> = signal(null);\n\n //######################### public properties - implementation of OptionsGatherer #########################\n\n /**\n * @inheritdoc\n */\n public get availableOptions(): Signal<readonly SelectOptionState<TValue>[]|null|undefined>\n {\n return this.availableOptionsSignal.asReadonly();\n }\n\n //######################### public methods #########################\n\n /**\n * Sets available options\n * @param options - Options to be set\n */\n public setAvailableOptions(options: readonly SelectOption<TValue>[]): void\n {\n const availableOptions = [] as SelectOptionState<TValue>[];\n\n for(const option of options)\n {\n const opt: SelectOptionState<TValue> = option as SelectOptionState<TValue>;\n\n opt.active = signal(false);\n opt.selected = signal(false);\n opt.index = 0;\n\n availableOptions.push(opt);\n }\n\n this.availableOptionsSignal.set(availableOptions);\n }\n}\n"]}
|
|
@@ -15,11 +15,13 @@ export class SelectBus {
|
|
|
15
15
|
/**
|
|
16
16
|
* Currently selected options of Select
|
|
17
17
|
*/
|
|
18
|
-
this.selectedOptions = signal(null,
|
|
18
|
+
this.selectedOptions = signal(null, /* @ts-ignore */
|
|
19
|
+
...(ngDevMode ? [{ debugName: "selectedOptions" }] : /* istanbul ignore next */ []));
|
|
19
20
|
/**
|
|
20
21
|
* Indicates whether is popup visible or not
|
|
21
22
|
*/
|
|
22
|
-
this.popupVisible = signal(false,
|
|
23
|
+
this.popupVisible = signal(false, /* @ts-ignore */
|
|
24
|
+
...(ngDevMode ? [{ debugName: "popupVisible" }] : /* istanbul ignore next */ []));
|
|
23
25
|
/**
|
|
24
26
|
* Occurs when option is being to be activated
|
|
25
27
|
*/
|
|
@@ -43,11 +45,13 @@ export class SelectBus {
|
|
|
43
45
|
/**
|
|
44
46
|
* Indication whether Select has focus
|
|
45
47
|
*/
|
|
46
|
-
this.hasFocus = signal(false,
|
|
48
|
+
this.hasFocus = signal(false, /* @ts-ignore */
|
|
49
|
+
...(ngDevMode ? [{ debugName: "hasFocus" }] : /* istanbul ignore next */ []));
|
|
47
50
|
/**
|
|
48
51
|
* Computed indication whether Select has focus
|
|
49
52
|
*/
|
|
50
|
-
this.hasFocusComputed = computed(() => this.hasFocus(),
|
|
53
|
+
this.hasFocusComputed = computed(() => this.hasFocus(), /* @ts-ignore */
|
|
54
|
+
...(ngDevMode ? [{ debugName: "hasFocusComputed" }] : /* istanbul ignore next */ []));
|
|
51
55
|
/**
|
|
52
56
|
* Occurs when select internals receives focus
|
|
53
57
|
*/
|
|
@@ -81,10 +85,10 @@ export class SelectBus {
|
|
|
81
85
|
setFocus() {
|
|
82
86
|
this.focusSet.next();
|
|
83
87
|
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
85
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
88
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SelectBus, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
89
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SelectBus }); }
|
|
86
90
|
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
91
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SelectBus, decorators: [{
|
|
88
92
|
type: Injectable
|
|
89
93
|
}] });
|
|
90
94
|
//# sourceMappingURL=selectBus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectBus.js","sourceRoot":"","sources":["../../../../../src/misc/classes/selectBus/selectBus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAc,MAAM,EAA0B,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;;AAI7B;;GAEG;AAEH,MAAM,OAAO,SAAS;IADtB;QAGI,uEAAuE;QAEvE;;WAEG;QACa,OAAE,GAAW,MAAM,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QAgBpD;;WAEG;QACa,oBAAe,GAAyF,MAAM,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"selectBus.js","sourceRoot":"","sources":["../../../../../src/misc/classes/selectBus/selectBus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAc,MAAM,EAA0B,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAC,OAAO,EAAC,MAAM,MAAM,CAAC;;AAI7B;;GAEG;AAEH,MAAM,OAAO,SAAS;IADtB;QAGI,uEAAuE;QAEvE;;WAEG;QACa,OAAE,GAAW,MAAM,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QAgBpD;;WAEG;QACa,oBAAe,GAAyF,MAAM,CAAC,IAAI;4FAAC,CAAC;QAErI;;WAEG;QACa,iBAAY,GAA4B,MAAM,CAAC,KAAK;yFAAC,CAAC;QAEtE;;WAEG;QACa,mBAAc,GAAoD,IAAI,OAAO,EAA0C,CAAC;QAExI;;WAEG;QACa,mBAAc,GAAkD,IAAI,OAAO,EAAwC,CAAC;QAEpI;;WAEG;QACa,cAAS,GAAyB,IAAI,OAAO,EAAe,CAAC;QAE7E;;WAEG;QACa,cAAS,GAAyB,IAAI,OAAO,EAAe,CAAC;QAE7E;;WAEG;QACa,eAAU,GAAoD,IAAI,OAAO,EAA0C,CAAC;QAEpI;;WAEG;QACa,aAAQ,GAA4B,MAAM,CAAC,KAAK;qFAAC,CAAC;QAElE;;WAEG;QACa,qBAAgB,GAAoB,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE;6FAAC,CAAC;QAEpF;;WAEG;QACa,mBAAc,GAAyB,IAAI,OAAO,EAAe,CAAC;QAElF;;WAEG;QACa,kBAAa,GAAyB,IAAI,OAAO,EAAe,CAAC;QAEjF;;WAEG;QACa,aAAQ,GAAkB,IAAI,OAAO,EAAQ,CAAC;QAE9D,gFAAgF;QAEhF;;WAEG;QACa,UAAK,GAAyB,IAAI,OAAO,EAAe,CAAC;QAEzE;;WAEG;QACa,UAAK,GAAyB,IAAI,OAAO,EAAe,CAAC;QAEzE;;WAEG;QACa,SAAI,GAAyB,IAAI,OAAO,EAAe,CAAC;KAW3E;IATG,6EAA6E;IAE7E;;OAEG;IACI,QAAQ;QAEX,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;8GA5GQ,SAAS;kHAAT,SAAS;;2FAAT,SAAS;kBADrB,UAAU","sourcesContent":["import {Injectable, ElementRef, signal, WritableSignal, Signal, computed} from '@angular/core';\nimport {generateId} from '@jscrpt/common';\nimport {Subject} from 'rxjs';\n\nimport {SelectEvents, SelectBusOptions, SelectEvent, SelectOptionState, KeyboardAction} from '../../../interfaces';\n\n/**\n * Class represents centralized bus for internal communication\n */\n@Injectable()\nexport class SelectBus<TValue = unknown, TPublicValue = TValue, TAction = string> implements SelectEvents\n{\n //######################### public properties #########################\n\n /**\n * Unique id of select\n */\n public readonly id: string = `$id${generateId(10)}`;\n\n /**\n * Options passed to select\n *\n * Initialized in constructor of select\n */\n public selectOptions!: Signal<SelectBusOptions<TValue, TPublicValue>>;\n\n /**\n * HTML element that represents select itself\n *\n * Initialized in constructor of select\n */\n public selectElement!: Signal<ElementRef<HTMLElement>>;\n\n /**\n * Currently selected options of Select\n */\n public readonly selectedOptions: WritableSignal<SelectOptionState<TValue>|SelectOptionState<TValue>[]|undefined|null> = signal(null);\n\n /**\n * Indicates whether is popup visible or not\n */\n public readonly popupVisible: WritableSignal<boolean> = signal(false);\n\n /**\n * Occurs when option is being to be activated\n */\n public readonly optionActivate: Subject<SelectEvent<SelectOptionState<TValue>>> = new Subject<SelectEvent<SelectOptionState<TValue>>>();\n\n /**\n * Occurs when certain keys on keyboard are pressed\n */\n public readonly keyboardAction: Subject<SelectEvent<KeyboardAction<TAction>>> = new Subject<SelectEvent<KeyboardAction<TAction>>>();\n\n /**\n * Occurs when popup should be shown\n */\n public readonly showPopup: Subject<SelectEvent> = new Subject<SelectEvent>();\n\n /**\n * Occurs when popup should be hidden\n */\n public readonly hidePopup: Subject<SelectEvent> = new Subject<SelectEvent>();\n\n /**\n * Occurs when option needs to be marked as active (hovered or keyboard focused)\n */\n public readonly markOption: Subject<SelectEvent<SelectOptionState<TValue>>> = new Subject<SelectEvent<SelectOptionState<TValue>>>();\n\n /**\n * Indication whether Select has focus\n */\n public readonly hasFocus: WritableSignal<boolean> = signal(false);\n\n /**\n * Computed indication whether Select has focus\n */\n public readonly hasFocusComputed: Signal<boolean> = computed(() => this.hasFocus());\n\n /**\n * Occurs when select internals receives focus\n */\n public readonly internalsFocus: Subject<SelectEvent> = new Subject<SelectEvent>();\n\n /**\n * Occurs when select internals loses focus\n */\n public readonly internalsBlur: Subject<SelectEvent> = new Subject<SelectEvent>();\n\n /**\n * Occurs when focus is set on select\n */\n public readonly focusSet: Subject<void> = new Subject<void>();\n\n //######################### public properties - events #########################\n\n /**\n * @inheritdoc\n */\n public readonly focus: Subject<SelectEvent> = new Subject<SelectEvent>();\n\n /**\n * @inheritdoc\n */\n public readonly click: Subject<SelectEvent> = new Subject<SelectEvent>();\n\n /**\n * @inheritdoc\n */\n public readonly blur: Subject<SelectEvent> = new Subject<SelectEvent>();\n\n //######################### public methods - events #########################\n\n /**\n * @inheritdoc\n */\n public setFocus(): void\n {\n this.focusSet.next();\n }\n}\n"]}
|
|
@@ -8,39 +8,48 @@ export class SelectPluginInstances {
|
|
|
8
8
|
/**
|
|
9
9
|
* Instance of plugin that handles interactions of plugins and select
|
|
10
10
|
*/
|
|
11
|
-
this.interactions = signal(null,
|
|
11
|
+
this.interactions = signal(null, /* @ts-ignore */
|
|
12
|
+
...(ngDevMode ? [{ debugName: "interactions" }] : /* istanbul ignore next */ []));
|
|
12
13
|
/**
|
|
13
14
|
* Instance of plugin that handles keyboard input from user
|
|
14
15
|
*/
|
|
15
|
-
this.keyboardHandler = signal(null,
|
|
16
|
+
this.keyboardHandler = signal(null, /* @ts-ignore */
|
|
17
|
+
...(ngDevMode ? [{ debugName: "keyboardHandler" }] : /* istanbul ignore next */ []));
|
|
16
18
|
/**
|
|
17
19
|
* Instance of plugin that is used for live search of options
|
|
18
20
|
*/
|
|
19
|
-
this.liveSearch = signal(null,
|
|
21
|
+
this.liveSearch = signal(null, /* @ts-ignore */
|
|
22
|
+
...(ngDevMode ? [{ debugName: "liveSearch" }] : /* istanbul ignore next */ []));
|
|
20
23
|
/**
|
|
21
24
|
* Instance of plugin that is used for displaying normal state of selected value
|
|
22
25
|
*/
|
|
23
|
-
this.normalState = signal(null,
|
|
26
|
+
this.normalState = signal(null, /* @ts-ignore */
|
|
27
|
+
...(ngDevMode ? [{ debugName: "normalState" }] : /* istanbul ignore next */ []));
|
|
24
28
|
/**
|
|
25
29
|
* Instance of plugin that is used for handling available options
|
|
26
30
|
*/
|
|
27
|
-
this.optionsHandler = signal(null,
|
|
31
|
+
this.optionsHandler = signal(null, /* @ts-ignore */
|
|
32
|
+
...(ngDevMode ? [{ debugName: "optionsHandler" }] : /* istanbul ignore next */ []));
|
|
28
33
|
/**
|
|
29
34
|
* Instance of plugin that handles displaying popup
|
|
30
35
|
*/
|
|
31
|
-
this.popup = signal(null,
|
|
36
|
+
this.popup = signal(null, /* @ts-ignore */
|
|
37
|
+
...(ngDevMode ? [{ debugName: "popup" }] : /* istanbul ignore next */ []));
|
|
32
38
|
/**
|
|
33
39
|
* Instance of plugin that handles positioning of popup
|
|
34
40
|
*/
|
|
35
|
-
this.positioner = signal(null,
|
|
41
|
+
this.positioner = signal(null, /* @ts-ignore */
|
|
42
|
+
...(ngDevMode ? [{ debugName: "positioner" }] : /* istanbul ignore next */ []));
|
|
36
43
|
/**
|
|
37
44
|
* Instance of plugin that is used for displaying readonly state of selected value
|
|
38
45
|
*/
|
|
39
|
-
this.readonlyState = signal(null,
|
|
46
|
+
this.readonlyState = signal(null, /* @ts-ignore */
|
|
47
|
+
...(ngDevMode ? [{ debugName: "readonlyState" }] : /* istanbul ignore next */ []));
|
|
40
48
|
/**
|
|
41
49
|
* Instance of plugin that is used for storing and handling value of select
|
|
42
50
|
*/
|
|
43
|
-
this.valueHandler = signal(null,
|
|
51
|
+
this.valueHandler = signal(null, /* @ts-ignore */
|
|
52
|
+
...(ngDevMode ? [{ debugName: "valueHandler" }] : /* istanbul ignore next */ []));
|
|
44
53
|
}
|
|
45
54
|
/**
|
|
46
55
|
* Instance of plugin that handles interactions of plugins and select
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectPluginInstances.js","sourceRoot":"","sources":["../../../../../src/misc/classes/selectPluginInstances/selectPluginInstances.ts"],"names":[],"mappings":"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","sourcesContent":["import {signal, WritableSignal} from '@angular/core';\n\nimport {Interactions, KeyboardHandler, LiveSearch, NormalState, OptionsHandler, Popup, Positioner, ReadonlyState, SelectPlugin, ValueHandler} from '../../../interfaces';\nimport {SelectPluginType} from '../../enums';\n\n/**\n * Implementation of GridPluginInstances\n */\nexport class SelectPluginInstances<TValue = unknown, TPublicValue = TValue> implements Record<SelectPluginType, SelectPlugin<unknown, TValue, TPublicValue>>\n{\n //######################### public properties #########################\n\n /**\n * Instance of plugin that handles interactions of plugins and select\n */\n public interactions: WritableSignal<Interactions<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that handles keyboard input from user\n */\n public keyboardHandler: WritableSignal<KeyboardHandler<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that is used for live search of options\n */\n public liveSearch: WritableSignal<LiveSearch<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that is used for displaying normal state of selected value\n */\n public normalState: WritableSignal<NormalState<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that is used for handling available options\n */\n public optionsHandler: WritableSignal<OptionsHandler<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that handles displaying popup\n */\n public popup: WritableSignal<Popup<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that handles positioning of popup\n */\n public positioner: WritableSignal<Positioner<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that is used for displaying readonly state of selected value\n */\n public readonlyState: WritableSignal<ReadonlyState<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that is used for storing and handling value of select\n */\n public valueHandler: WritableSignal<ValueHandler<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that handles interactions of plugins and select\n */\n public get Interactions(): Interactions<TValue, TPublicValue>\n {\n const interactions = this.interactions();\n\n if(!interactions)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of Interactions');\n }\n\n return interactions;\n }\n public set Interactions(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.interactions.set(value as Interactions<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that handles keyboard input from user\n */\n public get KeyboardHandler(): KeyboardHandler<TValue, TPublicValue>\n {\n const keyboardHandler = this.keyboardHandler();\n\n if(!keyboardHandler)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of KeyboardHandler');\n }\n\n return keyboardHandler;\n }\n public set KeyboardHandler(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.keyboardHandler.set(value as KeyboardHandler<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that is used for live search of options\n */\n public get LiveSearch(): LiveSearch<TValue, TPublicValue>\n {\n const liveSearch = this.liveSearch();\n\n if(!liveSearch)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of LiveSearch');\n }\n\n return liveSearch;\n }\n public set LiveSearch(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.liveSearch.set(value as LiveSearch<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that is used for displaying normal state of selected value\n */\n public get NormalState(): NormalState<TValue, TPublicValue>\n {\n const normalState = this.normalState();\n\n if(!normalState)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of NormalState');\n }\n\n return normalState;\n }\n public set NormalState(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.normalState.set(value as NormalState<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that is used for handling available options\n */\n public get OptionsHandler(): OptionsHandler<TValue, TPublicValue>\n {\n const optionsHandler = this.optionsHandler();\n\n if(!optionsHandler)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of OptionsHandler');\n }\n\n return optionsHandler;\n }\n public set OptionsHandler(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.optionsHandler.set(value as OptionsHandler<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that handles displaying popup\n */\n public get Popup(): Popup<TValue, TPublicValue>\n {\n const popup = this.popup();\n\n if(!popup)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of Popup');\n }\n\n return popup;\n }\n public set Popup(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.popup.set(value as Popup<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that handles positioning of popup\n */\n public get Positioner(): Positioner<TValue, TPublicValue>\n {\n const positioner = this.positioner();\n\n if(!positioner)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of Positioner');\n }\n\n return positioner;\n }\n public set Positioner(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.positioner.set(value as Positioner<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that is used for displaying readonly state of selected value\n */\n public get ReadonlyState(): ReadonlyState<TValue, TPublicValue>\n {\n const readonlyState = this.readonlyState();\n\n if(!readonlyState)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of ReadonlyState');\n }\n\n return readonlyState;\n }\n public set ReadonlyState(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.readonlyState.set(value as ReadonlyState<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that is used for storing and handling value of select\n */\n public get ValueHandler(): ValueHandler<TValue, TPublicValue>\n {\n const valueHandler = this.valueHandler();\n\n if(!valueHandler)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of ValueHandler');\n }\n\n return valueHandler;\n }\n public set ValueHandler(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.valueHandler.set(value as ValueHandler<TValue, TPublicValue>);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"selectPluginInstances.js","sourceRoot":"","sources":["../../../../../src/misc/classes/selectPluginInstances/selectPluginInstances.ts"],"names":[],"mappings":"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","sourcesContent":["import {signal, WritableSignal} from '@angular/core';\n\nimport {Interactions, KeyboardHandler, LiveSearch, NormalState, OptionsHandler, Popup, Positioner, ReadonlyState, SelectPlugin, ValueHandler} from '../../../interfaces';\nimport {SelectPluginType} from '../../enums';\n\n/**\n * Implementation of GridPluginInstances\n */\nexport class SelectPluginInstances<TValue = unknown, TPublicValue = TValue> implements Record<SelectPluginType, SelectPlugin<unknown, TValue, TPublicValue>>\n{\n //######################### public properties #########################\n\n /**\n * Instance of plugin that handles interactions of plugins and select\n */\n public interactions: WritableSignal<Interactions<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that handles keyboard input from user\n */\n public keyboardHandler: WritableSignal<KeyboardHandler<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that is used for live search of options\n */\n public liveSearch: WritableSignal<LiveSearch<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that is used for displaying normal state of selected value\n */\n public normalState: WritableSignal<NormalState<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that is used for handling available options\n */\n public optionsHandler: WritableSignal<OptionsHandler<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that handles displaying popup\n */\n public popup: WritableSignal<Popup<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that handles positioning of popup\n */\n public positioner: WritableSignal<Positioner<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that is used for displaying readonly state of selected value\n */\n public readonlyState: WritableSignal<ReadonlyState<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that is used for storing and handling value of select\n */\n public valueHandler: WritableSignal<ValueHandler<TValue, TPublicValue>|undefined|null> = signal(null);\n\n /**\n * Instance of plugin that handles interactions of plugins and select\n */\n public get Interactions(): Interactions<TValue, TPublicValue>\n {\n const interactions = this.interactions();\n\n if(!interactions)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of Interactions');\n }\n\n return interactions;\n }\n public set Interactions(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.interactions.set(value as Interactions<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that handles keyboard input from user\n */\n public get KeyboardHandler(): KeyboardHandler<TValue, TPublicValue>\n {\n const keyboardHandler = this.keyboardHandler();\n\n if(!keyboardHandler)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of KeyboardHandler');\n }\n\n return keyboardHandler;\n }\n public set KeyboardHandler(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.keyboardHandler.set(value as KeyboardHandler<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that is used for live search of options\n */\n public get LiveSearch(): LiveSearch<TValue, TPublicValue>\n {\n const liveSearch = this.liveSearch();\n\n if(!liveSearch)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of LiveSearch');\n }\n\n return liveSearch;\n }\n public set LiveSearch(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.liveSearch.set(value as LiveSearch<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that is used for displaying normal state of selected value\n */\n public get NormalState(): NormalState<TValue, TPublicValue>\n {\n const normalState = this.normalState();\n\n if(!normalState)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of NormalState');\n }\n\n return normalState;\n }\n public set NormalState(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.normalState.set(value as NormalState<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that is used for handling available options\n */\n public get OptionsHandler(): OptionsHandler<TValue, TPublicValue>\n {\n const optionsHandler = this.optionsHandler();\n\n if(!optionsHandler)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of OptionsHandler');\n }\n\n return optionsHandler;\n }\n public set OptionsHandler(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.optionsHandler.set(value as OptionsHandler<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that handles displaying popup\n */\n public get Popup(): Popup<TValue, TPublicValue>\n {\n const popup = this.popup();\n\n if(!popup)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of Popup');\n }\n\n return popup;\n }\n public set Popup(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.popup.set(value as Popup<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that handles positioning of popup\n */\n public get Positioner(): Positioner<TValue, TPublicValue>\n {\n const positioner = this.positioner();\n\n if(!positioner)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of Positioner');\n }\n\n return positioner;\n }\n public set Positioner(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.positioner.set(value as Positioner<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that is used for displaying readonly state of selected value\n */\n public get ReadonlyState(): ReadonlyState<TValue, TPublicValue>\n {\n const readonlyState = this.readonlyState();\n\n if(!readonlyState)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of ReadonlyState');\n }\n\n return readonlyState;\n }\n public set ReadonlyState(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.readonlyState.set(value as ReadonlyState<TValue, TPublicValue>);\n }\n\n /**\n * Instance of plugin that is used for storing and handling value of select\n */\n public get ValueHandler(): ValueHandler<TValue, TPublicValue>\n {\n const valueHandler = this.valueHandler();\n\n if(!valueHandler)\n {\n throw new Error('SelectPluginInstances: missing plugin instance of ValueHandler');\n }\n\n return valueHandler;\n }\n public set ValueHandler(value: SelectPlugin<unknown, TValue, TPublicValue>)\n {\n this.valueHandler.set(value as ValueHandler<TValue, TPublicValue>);\n }\n}\n"]}
|
|
@@ -5,15 +5,15 @@ import * as i0 from "@angular/core";
|
|
|
5
5
|
* Module for select and its options
|
|
6
6
|
*/
|
|
7
7
|
export class SelectModule {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: SelectModule, imports: [Option,
|
|
10
10
|
Select,
|
|
11
11
|
OptionGroup], exports: [Option,
|
|
12
12
|
Select,
|
|
13
13
|
OptionGroup] }); }
|
|
14
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
14
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SelectModule }); }
|
|
15
15
|
}
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SelectModule, decorators: [{
|
|
17
17
|
type: NgModule,
|
|
18
18
|
args: [{
|
|
19
19
|
imports: [
|
|
@@ -26,10 +26,10 @@ export class AddNewOption {
|
|
|
26
26
|
}
|
|
27
27
|
return `${this.pluginInstances.Popup.options.texts.addNewOption} `;
|
|
28
28
|
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
30
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AddNewOption, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
30
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: AddNewOption, isStandalone: true, name: "addNewOption" }); }
|
|
31
31
|
}
|
|
32
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: AddNewOption, decorators: [{
|
|
33
33
|
type: Pipe,
|
|
34
34
|
args: [{ name: 'addNewOption' }]
|
|
35
35
|
}] });
|
|
@@ -19,7 +19,8 @@ export class DisplayOptionValue {
|
|
|
19
19
|
/**
|
|
20
20
|
* Function used for obtaining display value of option, used for transforming option into string
|
|
21
21
|
*/
|
|
22
|
-
this.displayOptionValue = computed(() => this.selectBus.selectOptions().displayOptionValue ?? this.selectBus.selectOptions().displaySelectedValue,
|
|
22
|
+
this.displayOptionValue = computed(() => this.selectBus.selectOptions().displayOptionValue ?? this.selectBus.selectOptions().displaySelectedValue, /* @ts-ignore */
|
|
23
|
+
...(ngDevMode ? [{ debugName: "displayOptionValue" }] : /* istanbul ignore next */ []));
|
|
23
24
|
}
|
|
24
25
|
//######################### public methods - implementation of PipeTransform #########################
|
|
25
26
|
/**
|
|
@@ -33,14 +34,15 @@ export class DisplayOptionValue {
|
|
|
33
34
|
this.logger.verbose('Select: DisplayOptionValue: transforming selected options {{@(4)options}}', { options: option });
|
|
34
35
|
const displayOptionValue = this.displayOptionValue();
|
|
35
36
|
return displayOptionValue(option);
|
|
36
|
-
},
|
|
37
|
+
}, /* @ts-ignore */
|
|
38
|
+
...(ngDevMode ? [{ debugName: "computedValue" }] : /* istanbul ignore next */ []));
|
|
37
39
|
}
|
|
38
40
|
return this.computedValue?.() ?? '';
|
|
39
41
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
41
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DisplayOptionValue, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
43
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: DisplayOptionValue, isStandalone: true, name: "displayOptionValue", pure: false }); }
|
|
42
44
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DisplayOptionValue, decorators: [{
|
|
44
46
|
type: Pipe,
|
|
45
47
|
args: [{ name: 'displayOptionValue', pure: false }]
|
|
46
48
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displayOptionValue.pipe.js","sourceRoot":"","sources":["../../../../src/pipes/displayOptionValue/displayOptionValue.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAwB,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAC,MAAM,EAAS,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;;AAG7C;;GAEG;AAEH,MAAM,OAAO,kBAAkB;IAD/B;QAGI,sEAAsE;QAEtE;;WAEG;QACO,cAAS,GAAsB,MAAM,CAAoB,SAAS,CAAC,CAAC;QAE9E;;WAEG;QACO,WAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;QAY1C;;WAEG;QACO,uBAAkB,GAAoC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,kBAAkB,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"displayOptionValue.pipe.js","sourceRoot":"","sources":["../../../../src/pipes/displayOptionValue/displayOptionValue.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAwB,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAC,MAAM,EAAS,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;;AAG7C;;GAEG;AAEH,MAAM,OAAO,kBAAkB;IAD/B;QAGI,sEAAsE;QAEtE;;WAEG;QACO,cAAS,GAAsB,MAAM,CAAoB,SAAS,CAAC,CAAC;QAE9E;;WAEG;QACO,WAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;QAY1C;;WAEG;QACO,uBAAkB,GAAoC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,kBAAkB,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,oBAAoB;+FAAC,CAAC;KA0B5L;IAxBG,sGAAsG;IAEtG;;;OAGG;IACI,SAAS,CAAC,MAA4B;QAEzC,IAAG,IAAI,CAAC,UAAU,KAAK,MAAM,EAC7B,CAAC;YACG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YAEzB,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE;gBAE/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2EAA2E,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;gBAEpH,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAErD,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;8FAAC,CAAC;QACP,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;8GApDQ,kBAAkB;4GAAlB,kBAAkB;;2FAAlB,kBAAkB;kBAD9B,IAAI;mBAAC,EAAC,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,KAAK,EAAC","sourcesContent":["import {computed, inject, Pipe, PipeTransform, Signal} from '@angular/core';\nimport {LOGGER, Logger} from '@anglr/common';\n\nimport {SelectOption} from '../../interfaces';\nimport {SelectBus} from '../../misc/classes';\nimport {DisplayTextFunc} from '../../misc/types';\n\n/**\n * Pipe to transform select option into string\n */\n@Pipe({name: 'displayOptionValue', pure: false})\nexport class DisplayOptionValue<TValue = unknown> implements PipeTransform\n{\n //######################### protected fields #########################\n\n /**\n * Select bus used in Select for comunication between plugins and Select\n */\n protected selectBus: SelectBus<TValue> = inject<SelectBus<TValue>>(SelectBus);\n\n /**\n * Logger used for logging in this pipe\n */\n protected logger: Logger = inject(LOGGER);\n\n /**\n * Last option provided to transform function, used for optimization of transform function to prevent unnecessary calculations in case the same option is provided again\n */\n protected lastOption: SelectOption<TValue>|Array<SelectOption<TValue>>|undefined|null;\n\n /**\n * Computed value of the transform function, used for optimization to prevent unnecessary calculations\n */\n protected computedValue: Signal<string>|undefined|null;\n\n /**\n * Function used for obtaining display value of option, used for transforming option into string\n */\n protected displayOptionValue: Signal<DisplayTextFunc<TValue>> = computed(() => this.selectBus.selectOptions().displayOptionValue ?? this.selectBus.selectOptions().displaySelectedValue);\n\n //######################### public methods - implementation of PipeTransform #########################\n\n /**\n * Transforms option into string\n * @param option - Option to be transformed into text\n */\n public transform(option: SelectOption<TValue>): string\n {\n if(this.lastOption !== option)\n {\n this.lastOption = option;\n\n this.computedValue = computed(() =>\n {\n this.logger.verbose('Select: DisplayOptionValue: transforming selected options {{@(4)options}}', {options: option});\n\n const displayOptionValue = this.displayOptionValue();\n\n return displayOptionValue(option);\n });\n }\n\n return this.computedValue?.() ?? '';\n }\n}\n"]}
|
|
@@ -20,11 +20,13 @@ export class DisplayValue {
|
|
|
20
20
|
/**
|
|
21
21
|
* Placeholder for select, used in case there is no option selected
|
|
22
22
|
*/
|
|
23
|
-
this.placeholder = computed(() => this.selectBus.selectOptions().placeholder,
|
|
23
|
+
this.placeholder = computed(() => this.selectBus.selectOptions().placeholder, /* @ts-ignore */
|
|
24
|
+
...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
24
25
|
/**
|
|
25
26
|
* Function used for obtaining display value of option, used for transforming selected option into string
|
|
26
27
|
*/
|
|
27
|
-
this.displaySelectedValue = computed(() => this.selectBus.selectOptions().displaySelectedValue,
|
|
28
|
+
this.displaySelectedValue = computed(() => this.selectBus.selectOptions().displaySelectedValue, /* @ts-ignore */
|
|
29
|
+
...(ngDevMode ? [{ debugName: "displaySelectedValue" }] : /* istanbul ignore next */ []));
|
|
28
30
|
}
|
|
29
31
|
//######################### public methods - implementation of PipeTransform #########################
|
|
30
32
|
/**
|
|
@@ -46,14 +48,15 @@ export class DisplayValue {
|
|
|
46
48
|
return option.map(displaySelectedValue).join(', ');
|
|
47
49
|
}
|
|
48
50
|
return displaySelectedValue(option);
|
|
49
|
-
},
|
|
51
|
+
}, /* @ts-ignore */
|
|
52
|
+
...(ngDevMode ? [{ debugName: "computedValue" }] : /* istanbul ignore next */ []));
|
|
50
53
|
}
|
|
51
54
|
return this.computedValue?.() ?? '';
|
|
52
55
|
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
54
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DisplayValue, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
57
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: DisplayValue, isStandalone: true, name: "displayValue", pure: false }); }
|
|
55
58
|
}
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: DisplayValue, decorators: [{
|
|
57
60
|
type: Pipe,
|
|
58
61
|
args: [{ name: 'displayValue', pure: false }]
|
|
59
62
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displayValue.pipe.js","sourceRoot":"","sources":["../../../../src/pipes/displayValue/displayValue.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAwB,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAC,MAAM,EAAS,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;;AAG7C;;GAEG;AAEH,MAAM,OAAO,YAAY;IADzB;QAGI,sEAAsE;QAEtE;;WAEG;QACO,cAAS,GAAsB,MAAM,CAAoB,SAAS,CAAC,CAAC;QAE9E;;WAEG;QACO,WAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;QAiB1C;;WAEG;QACO,gBAAW,GAAmB,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"displayValue.pipe.js","sourceRoot":"","sources":["../../../../src/pipes/displayValue/displayValue.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAwB,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAC,MAAM,EAAS,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAGvC,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;;AAG7C;;GAEG;AAEH,MAAM,OAAO,YAAY;IADzB;QAGI,sEAAsE;QAEtE;;WAEG;QACO,cAAS,GAAsB,MAAM,CAAoB,SAAS,CAAC,CAAC;QAE9E;;WAEG;QACO,WAAM,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC;QAiB1C;;WAEG;QACO,gBAAW,GAAmB,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,WAAW;wFAAC,CAAC;QAEnG;;WAEG;QACO,yBAAoB,GAAoC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,oBAAoB;iGAAC,CAAC;KAsCzI;IApCG,sGAAsG;IAEtG;;;;OAIG;IACI,SAAS,CAAC,MAAuE,EAAE,sBAA6C,SAAS;QAE5I,IAAG,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,uBAAuB,KAAK,mBAAmB,EACrF,CAAC;YACG,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;YACzB,IAAI,CAAC,uBAAuB,GAAG,mBAAmB,CAAC;YAEnD,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE;gBAE/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,qEAAqE,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC;gBAE9G,IAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAC/D,CAAC;oBACG,OAAO,mBAAmB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrD,CAAC;gBAED,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAEzD,IAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACxB,CAAC;oBACG,OAAO,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC;8FAAC,CAAC;QACP,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;8GA1EQ,YAAY;4GAAZ,YAAY;;2FAAZ,YAAY;kBADxB,IAAI;mBAAC,EAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,KAAK,EAAC","sourcesContent":["import {computed, inject, Pipe, PipeTransform, Signal} from '@angular/core';\nimport {LOGGER, Logger} from '@anglr/common';\nimport {isBlank} from '@jscrpt/common';\n\nimport {SelectOption} from '../../interfaces';\nimport {SelectBus} from '../../misc/classes';\nimport {DisplayTextFunc} from '../../misc/types';\n\n/**\n * Pipe to transform select selected option into string\n */\n@Pipe({name: 'displayValue', pure: false})\nexport class DisplayValue<TValue = unknown> implements PipeTransform\n{\n //######################### protected fields #########################\n\n /**\n * Select bus used in Select for comunication between plugins and Select\n */\n protected selectBus: SelectBus<TValue> = inject<SelectBus<TValue>>(SelectBus);\n\n /**\n * Logger used for logging in this pipe\n */\n protected logger: Logger = inject(LOGGER);\n\n /**\n * Last option provided to transform function, used for optimization of transform function to prevent unnecessary calculations in case the same option is provided again\n */\n protected lastOption: SelectOption<TValue>|Array<SelectOption<TValue>>|undefined|null;\n\n /**\n * Last placeholder override provided to transform function, used for optimization of transform function to prevent unnecessary calculations in case the same placeholder override is provided again\n */\n protected lastPlaceholderOverride: string|undefined|null;\n\n /**\n * Computed value of the transform function, used for optimization to prevent unnecessary calculations\n */\n protected computedValue: Signal<string>|undefined|null;\n\n /**\n * Placeholder for select, used in case there is no option selected\n */\n protected placeholder: Signal<string> = computed(() => this.selectBus.selectOptions().placeholder);\n\n /**\n * Function used for obtaining display value of option, used for transforming selected option into string\n */\n protected displaySelectedValue: Signal<DisplayTextFunc<TValue>> = computed(() => this.selectBus.selectOptions().displaySelectedValue);\n\n //######################### public methods - implementation of PipeTransform #########################\n\n /**\n * Transforms selected option into string\n * @param option - Selected options to be transformed into text\n * @param placeholderOverride - Placeholder override to be used instead of default placeholder\n */\n public transform(option: SelectOption<TValue>|Array<SelectOption<TValue>>|undefined|null, placeholderOverride: string|undefined|null = undefined): string\n {\n if(this.lastOption !== option || this.lastPlaceholderOverride !== placeholderOverride)\n {\n this.lastOption = option;\n this.lastPlaceholderOverride = placeholderOverride;\n\n this.computedValue = computed(() =>\n {\n this.logger.verbose('Select: DisplayValue: transforming selected options {{@(4)options}}', {options: option});\n\n if(isBlank(option) || (Array.isArray(option) && !option.length))\n {\n return placeholderOverride ?? this.placeholder();\n }\n\n const displaySelectedValue = this.displaySelectedValue();\n\n if(Array.isArray(option))\n {\n return option.map(displaySelectedValue).join(', ');\n }\n\n return displaySelectedValue(option);\n });\n }\n\n return this.computedValue?.() ?? '';\n }\n}\n"]}
|
|
@@ -7,10 +7,10 @@ export class GetPlugin {
|
|
|
7
7
|
transform(plugin, pluginType) {
|
|
8
8
|
return plugin.selectPlugins[pluginType];
|
|
9
9
|
}
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: GetPlugin, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
11
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: GetPlugin, isStandalone: true, name: "getPlugin" }); }
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: GetPlugin, decorators: [{
|
|
14
14
|
type: Pipe,
|
|
15
15
|
args: [{ name: 'getPlugin' }]
|
|
16
16
|
}] });
|
|
@@ -36,10 +36,10 @@ export class GroupedListOptions {
|
|
|
36
36
|
}
|
|
37
37
|
return [result, index];
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: GroupedListOptions, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
40
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: GroupedListOptions, isStandalone: true, name: "groupedListOptions" }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: GroupedListOptions, decorators: [{
|
|
43
43
|
type: Pipe,
|
|
44
44
|
args: [{ name: 'groupedListOptions' }]
|
|
45
45
|
}] });
|
|
@@ -12,10 +12,10 @@ export class HasValue {
|
|
|
12
12
|
transform(value) {
|
|
13
13
|
return hasValue(value);
|
|
14
14
|
}
|
|
15
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
16
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: HasValue, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
16
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: HasValue, isStandalone: true, name: "hasValue" }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: HasValue, decorators: [{
|
|
19
19
|
type: Pipe,
|
|
20
20
|
args: [{ name: 'hasValue' }]
|
|
21
21
|
}] });
|
|
@@ -18,10 +18,10 @@ export class OptionCssClasses {
|
|
|
18
18
|
...group ? [cssClasses.inGroup] : [],
|
|
19
19
|
];
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
22
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OptionCssClasses, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
22
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.4", ngImport: i0, type: OptionCssClasses, isStandalone: true, name: "optionCssClasses", pure: false }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: OptionCssClasses, decorators: [{
|
|
25
25
|
type: Pipe,
|
|
26
26
|
args: [{ name: 'optionCssClasses', pure: false }]
|
|
27
27
|
}] });
|
|
@@ -159,14 +159,14 @@ export class SimpleInteractions {
|
|
|
159
159
|
this.clickOutsideUnregister?.();
|
|
160
160
|
this.initSubscriptions.unsubscribe();
|
|
161
161
|
}
|
|
162
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
163
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
162
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SimpleInteractions, deps: [{ token: INTERACTIONS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
163
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: SimpleInteractions, isStandalone: true, selector: "simple-interactions", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
164
164
|
}
|
|
165
165
|
__decorate([
|
|
166
166
|
CopyOptionsAsSignal(),
|
|
167
167
|
__metadata("design:type", Object)
|
|
168
168
|
], SimpleInteractions.prototype, "options", void 0);
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SimpleInteractions, decorators: [{
|
|
170
170
|
type: Component,
|
|
171
171
|
args: [{
|
|
172
172
|
selector: 'simple-interactions',
|
package/es2022/src/plugins/keyboardHandler/simpleKeyboardHandler/simpleKeyboardHandler.component.js
CHANGED
|
@@ -167,8 +167,8 @@ export class SimpleKeyboardHandler {
|
|
|
167
167
|
}, this.options.selectFirstDebounceTimeout);
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
171
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
170
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SimpleKeyboardHandler, deps: [{ token: KEYBOARD_HANDLER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
171
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.4", type: SimpleKeyboardHandler, isStandalone: true, selector: "simple-keyboard-handler", ngImport: i0, template: '', isInline: true }); }
|
|
172
172
|
}
|
|
173
173
|
__decorate([
|
|
174
174
|
CopyOptionsAsSignal(),
|
|
@@ -186,7 +186,7 @@ __decorate([
|
|
|
186
186
|
__metadata("design:paramtypes", [KeyboardEvent]),
|
|
187
187
|
__metadata("design:returntype", void 0)
|
|
188
188
|
], SimpleKeyboardHandler.prototype, "handleKeyboardEvents", null);
|
|
189
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: SimpleKeyboardHandler, decorators: [{
|
|
190
190
|
type: Component,
|
|
191
191
|
args: [{
|
|
192
192
|
selector: 'simple-keyboard-handler',
|
|
@@ -33,7 +33,8 @@ export class EditLiveSearch {
|
|
|
33
33
|
/**
|
|
34
34
|
* Indication whether input search value is empty
|
|
35
35
|
*/
|
|
36
|
-
this.emptyInputSignal = signal(true,
|
|
36
|
+
this.emptyInputSignal = signal(true, /* @ts-ignore */
|
|
37
|
+
...(ngDevMode ? [{ debugName: "emptyInputSignal" }] : /* istanbul ignore next */ []));
|
|
37
38
|
/**
|
|
38
39
|
* Instance of logger for logging purposes
|
|
39
40
|
*/
|
|
@@ -41,7 +42,8 @@ export class EditLiveSearch {
|
|
|
41
42
|
/**
|
|
42
43
|
* Value of search input holding value that was set by user
|
|
43
44
|
*/
|
|
44
|
-
this.valueOutput = signal('',
|
|
45
|
+
this.valueOutput = signal('', /* @ts-ignore */
|
|
46
|
+
...(ngDevMode ? [{ debugName: "valueOutput" }] : /* istanbul ignore next */ []));
|
|
45
47
|
/**
|
|
46
48
|
* Reference to document object for DOM operations
|
|
47
49
|
*/
|
|
@@ -64,7 +66,8 @@ export class EditLiveSearch {
|
|
|
64
66
|
*/
|
|
65
67
|
this.htmlInput = viewChild.required('htmlInput');
|
|
66
68
|
this.options = deepCopyWithArrayOverride(defaultOptions, options);
|
|
67
|
-
this.search = computed(() => this.valueOutput(),
|
|
69
|
+
this.search = computed(() => this.valueOutput(), /* @ts-ignore */
|
|
70
|
+
...(ngDevMode ? [{ debugName: "search" }] : /* istanbul ignore next */ []));
|
|
68
71
|
const ref = afterRenderEffect(() => {
|
|
69
72
|
if (this.pluginElement.nativeElement.parentElement?.nodeName == 'NG-SELECT') {
|
|
70
73
|
this.logger.verbose('Select: Live Search: removing plugin from DOM');
|
|
@@ -85,8 +88,10 @@ export class EditLiveSearch {
|
|
|
85
88
|
}
|
|
86
89
|
});
|
|
87
90
|
this.cssClasses = computed(() => [this.options.cssClasses.searchElement,
|
|
88
|
-
...(this.selectBus.selectOptions().multiple ? [...this.options.cssClasses.multiple.split(' ')] : [...this.options.cssClasses.single.split(' ')])],
|
|
89
|
-
|
|
91
|
+
...(this.selectBus.selectOptions().multiple ? [...this.options.cssClasses.multiple.split(' ')] : [...this.options.cssClasses.single.split(' ')])], /* @ts-ignore */
|
|
92
|
+
...(ngDevMode ? [{ debugName: "cssClasses" }] : /* istanbul ignore next */ []));
|
|
93
|
+
this.activeDescendant = computed(() => `${this.selectBus.id}-${this.selectPlugins.optionsHandler()?.listOptions()?.find(option => option.active())?.index}`, /* @ts-ignore */
|
|
94
|
+
...(ngDevMode ? [{ debugName: "activeDescendant" }] : /* istanbul ignore next */ []));
|
|
90
95
|
}
|
|
91
96
|
//######################### public methods - implementation of OnDestroy #########################
|
|
92
97
|
/**
|
|
@@ -166,14 +171,14 @@ export class EditLiveSearch {
|
|
|
166
171
|
this.emptyInputSignal.set(true);
|
|
167
172
|
this.valueOutput.set('');
|
|
168
173
|
}
|
|
169
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
170
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
174
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditLiveSearch, deps: [{ token: LIVE_SEARCH_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
175
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.4", type: EditLiveSearch, isStandalone: true, selector: "edit-live-search", host: { properties: { "class": "options.cssClasses.componentElement" } }, viewQueries: [{ propertyName: "htmlInput", first: true, predicate: ["htmlInput"], descendants: true, isSignal: true }], ngImport: i0, template: "<input #htmlInput\n type=\"text\"\n aria-autocomplete=\"list\"\n autocorrect=\"off\"\n autocapitalize=\"none\"\n autocomplete=\"off\"\n role=\"combobox\"\n [attr.aria-expanded]=\"selectBus.popupVisible()\"\n [attr.aria-label]=\"selectBus.selectedOptions() | displayValue | localize\"\n [attr.aria-controls]=\"selectBus.popupVisible() ? selectBus.id : null\"\n [attr.aria-activedescendant]=\"selectBus.popupVisible() ? activeDescendant() : null\"\n [attr.aria-label]=\"selectBus.selectedOptions() | displayValue | localize\"\n [class]=\"cssClasses()\"\n [tooltip]=\"selectBus.selectedOptions() | displayValue | localize\"\n [disabled]=\"selectBus.selectOptions().readonly\"\n [placeholder]=\"(!(selectBus.selectedOptions() | hasValue) ? selectBus.selectOptions().placeholder : '') | localize\"\n (click)=\"click()\"\n (focus)=\"handleFocus()\"\n (blur)=\"blur()\"\n (input)=\"input($event)\">", dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "allowHtml", "template", "tooltipOptions", "tooltipVisible", "containerElement"] }, { kind: "pipe", type: HasValue, name: "hasValue" }, { kind: "pipe", type: DisplayValue, name: "displayValue" }, { kind: "pipe", type: LocalizePipe, name: "localize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
171
176
|
}
|
|
172
177
|
__decorate([
|
|
173
178
|
CopyOptionsAsSignal(),
|
|
174
179
|
__metadata("design:type", Object)
|
|
175
180
|
], EditLiveSearch.prototype, "options", void 0);
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: EditLiveSearch, decorators: [{
|
|
177
182
|
type: Component,
|
|
178
183
|
args: [{ selector: 'edit-live-search', host: {
|
|
179
184
|
'[class]': 'options.cssClasses.componentElement',
|