@anglr/select 16.0.0-beta.20260410084106 → 16.0.0-beta.20260415081804
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 +6 -1
- package/es2022/extensions/src/extensions/getSearch.js.map +1 -1
- package/es2022/extensions/src/extensions/getValue.js.map +1 -1
- package/es2022/extensions/src/extensions/setReadonly.js.map +1 -1
- package/es2022/extensions/src/extensions/setValue.js.map +1 -1
- package/es2022/src/components/select/select.component.js +0 -6
- package/es2022/src/components/select/select.component.js.map +1 -1
- package/es2022/src/directives/normalStateTemplate/normalStateTemplate.directive.js.map +1 -1
- package/es2022/src/directives/optionGroupTemplate/optionGroupTemplate.directive.js.map +1 -1
- package/es2022/src/directives/selectAbsolute/selectAbsolute.directive.js.map +1 -1
- package/es2022/src/directives/selectControlValueAccessor/selectControlValueAccessor.directive.js.map +1 -1
- package/es2022/src/directives/selectEdit/selectEdit.directive.js.map +1 -1
- package/es2022/src/directives/selectFormControl/selectFormControl.directive.js.map +1 -1
- package/es2022/src/directives/selectMultipleKeepPopup/selectMultipleKeepPopup.directive.js.map +1 -1
- package/es2022/src/directives/selectNoCarret/selectNoCarret.directive.js.map +1 -1
- package/es2022/src/directives/selectPlaceholder/selectPlaceholder.directive.js.map +1 -1
- package/es2022/src/directives/withDirectAccess/withDirectAccess.directive.js.map +1 -1
- package/es2022/src/interfaces/normalStateContext/normalStateContext.interface.js.map +1 -1
- package/es2022/src/interfaces/normalStateTagContext/normalStateTagContext.interface.js.map +1 -1
- package/es2022/src/interfaces/pluginDescription/pluginDescription.interface.js.map +1 -1
- package/es2022/src/interfaces/plugins/interactions/interactions.interface.js.map +1 -1
- package/es2022/src/interfaces/plugins/keyboardHandler/keyboardHandler.interface.js.map +1 -1
- package/es2022/src/interfaces/plugins/liveSearch/liveSearch.interface.js.map +1 -1
- package/es2022/src/interfaces/plugins/normalState/normalState.interface.js.map +1 -1
- package/es2022/src/interfaces/plugins/optionsHandler/optionsHandler.interface.js.map +1 -1
- package/es2022/src/interfaces/plugins/popup/popup.interface.js.map +1 -1
- package/es2022/src/interfaces/plugins/positioner/positioner.interface.js.map +1 -1
- package/es2022/src/interfaces/plugins/readonlyState/readonlyState.interface.js.map +1 -1
- package/es2022/src/interfaces/plugins/valueHandler/dynamicValueHandler.interface.js.map +1 -1
- package/es2022/src/interfaces/plugins/valueHandler/valueHandler.interface.js.map +1 -1
- package/es2022/src/interfaces/popupContext/popupContext.interface.js.map +1 -1
- package/es2022/src/interfaces/selectApi/selectApi.interface.js.map +1 -1
- package/es2022/src/interfaces/selectBusOptions/selectBusOptions.interface.js.map +1 -1
- package/es2022/src/interfaces/selectOptions/selectOptions.interface.js.map +1 -1
- package/es2022/src/interfaces/selectPlugin/selectPlugin.interface.js.map +1 -1
- package/es2022/src/interfaces/selectPluginTypes/selectPluginTypes.interface.js.map +1 -1
- package/es2022/src/interfaces/templateGatherer/templateGatherer.interface.js.map +1 -1
- package/es2022/src/misc/classes/selectBus/selectBus.js.map +1 -1
- package/es2022/src/misc/classes/selectPluginInstances/selectPluginInstances.js.map +1 -1
- package/es2022/src/misc/types.js.map +1 -1
- package/es2022/src/misc/utils.js.map +1 -1
- package/es2022/src/modules/index.js +1 -1
- package/es2022/src/modules/index.js.map +1 -1
- package/es2022/src/modules/{ngSelect.module.js → select.module.js} +1 -1
- package/es2022/src/modules/select.module.js.map +1 -0
- package/es2022/src/plugins/interactions/simpleInteractions/simpleInteractions.component.js.map +1 -1
- package/es2022/src/plugins/keyboardHandler/simpleKeyboardHandler/simpleKeyboardHandler.component.js.map +1 -1
- package/es2022/src/plugins/liveSearch/editLiveSearch/editLiveSearch.component.js.map +1 -1
- package/es2022/src/plugins/liveSearch/filterLiveSearch/filterLiveSearch.component.js.map +1 -1
- package/es2022/src/plugins/liveSearch/noLiveSearch/noLiveSearch.component.js.map +1 -1
- package/es2022/src/plugins/normalState/editNormalState/editNormalState.component.js +2 -2
- package/es2022/src/plugins/normalState/editNormalState/editNormalState.component.js.map +1 -1
- package/es2022/src/plugins/normalState/simpleNormalState/simpleNormalState.component.js.map +1 -1
- package/es2022/src/plugins/optionsHandler/noOptionsHandler/noOptionsHandler.component.js +2 -1
- package/es2022/src/plugins/optionsHandler/noOptionsHandler/noOptionsHandler.component.js.map +1 -1
- package/es2022/src/plugins/optionsHandler/optionsHandlerBase.js.map +1 -1
- package/es2022/src/plugins/optionsHandler/simpleOptionsHandler/simpleOptionsHandler.component.js +3 -2
- package/es2022/src/plugins/optionsHandler/simpleOptionsHandler/simpleOptionsHandler.component.js.map +1 -1
- package/es2022/src/plugins/popup/simplePopup/simplePopup.component.js.map +1 -1
- package/es2022/src/plugins/positioner/commonPositioner/commonPositioner.component.js.map +1 -1
- package/es2022/src/plugins/positioner/noPositioner/noPositioner.component.js.map +1 -1
- package/es2022/src/plugins/positioner/popoverPositioner/popoverPositioner.component.js.map +1 -1
- package/es2022/src/plugins/valueHandler/dynamicValueHandler/dynamicValueHandler.component.js.map +1 -1
- package/es2022/src/plugins/valueHandler/staticValueHandler/staticValueHandler.component.js.map +1 -1
- package/extensions/src/extensions/getSearch.d.ts +1 -1
- package/extensions/src/extensions/getSearch.d.ts.map +1 -1
- package/extensions/src/extensions/getValue.d.ts +1 -1
- package/extensions/src/extensions/getValue.d.ts.map +1 -1
- package/extensions/src/extensions/setReadonly.d.ts +1 -1
- package/extensions/src/extensions/setReadonly.d.ts.map +1 -1
- package/extensions/src/extensions/setValue.d.ts +1 -1
- package/extensions/src/extensions/setValue.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/select/select.component.d.ts +26 -26
- package/src/components/select/select.component.d.ts.map +1 -1
- package/src/directives/normalStateTemplate/normalStateTemplate.directive.d.ts +2 -2
- package/src/directives/normalStateTemplate/normalStateTemplate.directive.d.ts.map +1 -1
- package/src/directives/optionGroupTemplate/optionGroupTemplate.directive.d.ts +6 -2
- package/src/directives/optionGroupTemplate/optionGroupTemplate.directive.d.ts.map +1 -1
- package/src/directives/selectAbsolute/selectAbsolute.directive.d.ts +4 -4
- package/src/directives/selectAbsolute/selectAbsolute.directive.d.ts.map +1 -1
- package/src/directives/selectControlValueAccessor/selectControlValueAccessor.directive.d.ts +8 -8
- package/src/directives/selectControlValueAccessor/selectControlValueAccessor.directive.d.ts.map +1 -1
- package/src/directives/selectEdit/selectEdit.directive.d.ts +4 -4
- package/src/directives/selectEdit/selectEdit.directive.d.ts.map +1 -1
- package/src/directives/selectFormControl/selectFormControl.directive.d.ts +6 -6
- package/src/directives/selectFormControl/selectFormControl.directive.d.ts.map +1 -1
- package/src/directives/selectMultipleKeepPopup/selectMultipleKeepPopup.directive.d.ts +4 -4
- package/src/directives/selectMultipleKeepPopup/selectMultipleKeepPopup.directive.d.ts.map +1 -1
- package/src/directives/selectNoCarret/selectNoCarret.directive.d.ts +4 -4
- package/src/directives/selectNoCarret/selectNoCarret.directive.d.ts.map +1 -1
- package/src/directives/selectPlaceholder/selectPlaceholder.directive.d.ts +4 -4
- package/src/directives/selectPlaceholder/selectPlaceholder.directive.d.ts.map +1 -1
- package/src/directives/withDirectAccess/withDirectAccess.directive.d.ts +5 -5
- package/src/directives/withDirectAccess/withDirectAccess.directive.d.ts.map +1 -1
- package/src/interfaces/normalStateContext/normalStateContext.interface.d.ts +2 -2
- package/src/interfaces/normalStateContext/normalStateContext.interface.d.ts.map +1 -1
- package/src/interfaces/normalStateTagContext/normalStateTagContext.interface.d.ts +2 -2
- package/src/interfaces/normalStateTagContext/normalStateTagContext.interface.d.ts.map +1 -1
- package/src/interfaces/pluginDescription/pluginDescription.interface.d.ts +0 -5
- package/src/interfaces/pluginDescription/pluginDescription.interface.d.ts.map +1 -1
- package/src/interfaces/plugins/interactions/interactions.interface.d.ts +1 -1
- package/src/interfaces/plugins/interactions/interactions.interface.d.ts.map +1 -1
- package/src/interfaces/plugins/keyboardHandler/keyboardHandler.interface.d.ts +1 -1
- package/src/interfaces/plugins/keyboardHandler/keyboardHandler.interface.d.ts.map +1 -1
- package/src/interfaces/plugins/liveSearch/liveSearch.interface.d.ts +1 -1
- package/src/interfaces/plugins/liveSearch/liveSearch.interface.d.ts.map +1 -1
- package/src/interfaces/plugins/normalState/normalState.interface.d.ts +1 -1
- package/src/interfaces/plugins/normalState/normalState.interface.d.ts.map +1 -1
- package/src/interfaces/plugins/optionsHandler/optionsHandler.interface.d.ts +5 -1
- package/src/interfaces/plugins/optionsHandler/optionsHandler.interface.d.ts.map +1 -1
- package/src/interfaces/plugins/popup/popup.interface.d.ts +1 -1
- package/src/interfaces/plugins/popup/popup.interface.d.ts.map +1 -1
- package/src/interfaces/plugins/positioner/positioner.interface.d.ts +1 -1
- package/src/interfaces/plugins/positioner/positioner.interface.d.ts.map +1 -1
- package/src/interfaces/plugins/readonlyState/readonlyState.interface.d.ts +1 -1
- package/src/interfaces/plugins/readonlyState/readonlyState.interface.d.ts.map +1 -1
- package/src/interfaces/plugins/valueHandler/dynamicValueHandler.interface.d.ts +2 -2
- package/src/interfaces/plugins/valueHandler/dynamicValueHandler.interface.d.ts.map +1 -1
- package/src/interfaces/plugins/valueHandler/valueHandler.interface.d.ts +3 -3
- package/src/interfaces/plugins/valueHandler/valueHandler.interface.d.ts.map +1 -1
- package/src/interfaces/popupContext/popupContext.interface.d.ts +2 -2
- package/src/interfaces/popupContext/popupContext.interface.d.ts.map +1 -1
- package/src/interfaces/selectApi/selectApi.interface.d.ts +14 -14
- package/src/interfaces/selectApi/selectApi.interface.d.ts.map +1 -1
- package/src/interfaces/selectBusOptions/selectBusOptions.interface.d.ts +3 -3
- package/src/interfaces/selectBusOptions/selectBusOptions.interface.d.ts.map +1 -1
- package/src/interfaces/selectOptions/selectOptions.interface.d.ts +2 -2
- package/src/interfaces/selectOptions/selectOptions.interface.d.ts.map +1 -1
- package/src/interfaces/selectPlugin/selectPlugin.interface.d.ts +4 -4
- package/src/interfaces/selectPlugin/selectPlugin.interface.d.ts.map +1 -1
- package/src/interfaces/selectPluginTypes/selectPluginTypes.interface.d.ts +10 -10
- package/src/interfaces/selectPluginTypes/selectPluginTypes.interface.d.ts.map +1 -1
- package/src/interfaces/templateGatherer/templateGatherer.interface.d.ts +4 -4
- package/src/interfaces/templateGatherer/templateGatherer.interface.d.ts.map +1 -1
- package/src/misc/classes/selectBus/selectBus.d.ts +4 -4
- package/src/misc/classes/selectBus/selectBus.d.ts.map +1 -1
- package/src/misc/classes/selectPluginInstances/selectPluginInstances.d.ts +28 -28
- package/src/misc/classes/selectPluginInstances/selectPluginInstances.d.ts.map +1 -1
- package/src/misc/types.d.ts +4 -4
- package/src/misc/types.d.ts.map +1 -1
- package/src/misc/utils.d.ts +6 -6
- package/src/misc/utils.d.ts.map +1 -1
- package/src/modules/index.d.ts +1 -1
- package/src/modules/index.d.ts.map +1 -1
- package/src/modules/{ngSelect.module.d.ts → select.module.d.ts} +1 -1
- package/src/modules/select.module.d.ts.map +1 -0
- package/src/plugins/interactions/simpleInteractions/simpleInteractions.component.d.ts +5 -5
- package/src/plugins/interactions/simpleInteractions/simpleInteractions.component.d.ts.map +1 -1
- package/src/plugins/keyboardHandler/simpleKeyboardHandler/simpleKeyboardHandler.component.d.ts +5 -5
- package/src/plugins/keyboardHandler/simpleKeyboardHandler/simpleKeyboardHandler.component.d.ts.map +1 -1
- package/src/plugins/liveSearch/editLiveSearch/editLiveSearch.component.d.ts +5 -5
- package/src/plugins/liveSearch/editLiveSearch/editLiveSearch.component.d.ts.map +1 -1
- package/src/plugins/liveSearch/filterLiveSearch/filterLiveSearch.component.d.ts +5 -5
- package/src/plugins/liveSearch/filterLiveSearch/filterLiveSearch.component.d.ts.map +1 -1
- package/src/plugins/liveSearch/noLiveSearch/noLiveSearch.component.d.ts +5 -5
- package/src/plugins/liveSearch/noLiveSearch/noLiveSearch.component.d.ts.map +1 -1
- package/src/plugins/normalState/editNormalState/editNormalState.component.d.ts +5 -5
- package/src/plugins/normalState/editNormalState/editNormalState.component.d.ts.map +1 -1
- package/src/plugins/normalState/editNormalState/editNormalState.component.html +1 -1
- package/src/plugins/normalState/simpleNormalState/simpleNormalState.component.d.ts +5 -5
- package/src/plugins/normalState/simpleNormalState/simpleNormalState.component.d.ts.map +1 -1
- package/src/plugins/optionsHandler/noOptionsHandler/noOptionsHandler.component.d.ts +3 -3
- package/src/plugins/optionsHandler/noOptionsHandler/noOptionsHandler.component.d.ts.map +1 -1
- package/src/plugins/optionsHandler/optionsHandlerBase.d.ts +5 -5
- package/src/plugins/optionsHandler/optionsHandlerBase.d.ts.map +1 -1
- package/src/plugins/optionsHandler/simpleOptionsHandler/simpleOptionsHandler.component.d.ts +3 -3
- package/src/plugins/optionsHandler/simpleOptionsHandler/simpleOptionsHandler.component.d.ts.map +1 -1
- package/src/plugins/popup/simplePopup/simplePopup.component.d.ts +5 -5
- package/src/plugins/popup/simplePopup/simplePopup.component.d.ts.map +1 -1
- package/src/plugins/positioner/commonPositioner/commonPositioner.component.d.ts +5 -5
- package/src/plugins/positioner/commonPositioner/commonPositioner.component.d.ts.map +1 -1
- package/src/plugins/positioner/noPositioner/noPositioner.component.d.ts +5 -5
- package/src/plugins/positioner/noPositioner/noPositioner.component.d.ts.map +1 -1
- package/src/plugins/positioner/popoverPositioner/popoverPositioner.component.d.ts +5 -5
- package/src/plugins/positioner/popoverPositioner/popoverPositioner.component.d.ts.map +1 -1
- package/src/plugins/valueHandler/dynamicValueHandler/dynamicValueHandler.component.d.ts +9 -9
- package/src/plugins/valueHandler/dynamicValueHandler/dynamicValueHandler.component.d.ts.map +1 -1
- package/src/plugins/valueHandler/staticValueHandler/staticValueHandler.component.d.ts +9 -9
- package/src/plugins/valueHandler/staticValueHandler/staticValueHandler.component.d.ts.map +1 -1
- package/styles/components/_popup.scss +2 -1
- package/styles/themes/dark.scss +1 -0
- package/styles/themes/light.scss +1 -0
- package/version.bak +1 -1
- package/es2022/src/misc/extensions/getValue.js +0 -17
- package/es2022/src/misc/extensions/getValue.js.map +0 -1
- package/es2022/src/misc/extensions/index.js +0 -7
- package/es2022/src/misc/extensions/index.js.map +0 -1
- package/es2022/src/misc/extensions/onFocus.js +0 -15
- package/es2022/src/misc/extensions/onFocus.js.map +0 -1
- package/es2022/src/misc/extensions/setReadonly.js +0 -23
- package/es2022/src/misc/extensions/setReadonly.js.map +0 -1
- package/es2022/src/misc/extensions/setValue.js +0 -18
- package/es2022/src/misc/extensions/setValue.js.map +0 -1
- package/es2022/src/misc/extensions/valueChange.js +0 -18
- package/es2022/src/misc/extensions/valueChange.js.map +0 -1
- package/es2022/src/modules/ngSelect.module.js.map +0 -1
- package/es2022/src/modules/ngSelectEdit.module.js +0 -40
- package/es2022/src/modules/ngSelectEdit.module.js.map +0 -1
- package/src/misc/extensions/getValue.d.ts +0 -1
- package/src/misc/extensions/getValue.d.ts.map +0 -1
- package/src/misc/extensions/index.d.ts +0 -1
- package/src/misc/extensions/index.d.ts.map +0 -1
- package/src/misc/extensions/onFocus.d.ts +0 -1
- package/src/misc/extensions/onFocus.d.ts.map +0 -1
- package/src/misc/extensions/setReadonly.d.ts +0 -1
- package/src/misc/extensions/setReadonly.d.ts.map +0 -1
- package/src/misc/extensions/setValue.d.ts +0 -1
- package/src/misc/extensions/setValue.d.ts.map +0 -1
- package/src/misc/extensions/valueChange.d.ts +0 -1
- package/src/misc/extensions/valueChange.d.ts.map +0 -1
- package/src/modules/ngSelect.module.d.ts.map +0 -1
- package/src/modules/ngSelectEdit.module.d.ts +0 -1
- package/src/modules/ngSelectEdit.module.d.ts.map +0 -1
package/changelog.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## Version 16.0.0 (2026-04-
|
|
3
|
+
## Version 16.0.0 (2026-04-15)
|
|
4
4
|
|
|
5
5
|
### Features
|
|
6
6
|
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
- new `OptionsHandlerOptions` interface, that represents options for options handler plugin
|
|
64
64
|
- **properties**
|
|
65
65
|
- `newOptionGetter` allows adding new option to select when defined
|
|
66
|
+
- `newOptionOnlyWhenNoOptions` indication that add new option only when there are no options available
|
|
66
67
|
- new `SimpleOptionsHandlerOptions` interface, that represents options for simple options handler plugin
|
|
67
68
|
- **properties**
|
|
68
69
|
- `listSelected` indication whether display selected option in list of available options
|
|
@@ -185,6 +186,10 @@
|
|
|
185
186
|
- removed `DynamicOptionsGatherer` class
|
|
186
187
|
- removed `GetOptionsCallback` interface
|
|
187
188
|
- removed `DynamicOptionsGathererOptions` interface
|
|
189
|
+
- removed `NgSelectEditModule` module
|
|
190
|
+
- use `SelectEdit` directive instead
|
|
191
|
+
- updated `NgSelectModule`
|
|
192
|
+
- renamed to `SelectModule`
|
|
188
193
|
- updated `TemplateGatherer` interface
|
|
189
194
|
- all properties are changed to `Signal` with possible `undefined` or `null` value
|
|
190
195
|
- updated `OptionsGatherer` interface
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSearch.js","sourceRoot":"","sources":["../../../../extensions/src/extensions/getSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/D;;GAEG;AACH,MAAM,UAAU,SAAS;IAErB,OAAO,MAAM,CAAC,EAAE;QAEZ,IAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EACxB,CAAC;YACG,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEjE,OAAO,UAAU,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC,CAAC;AACN,CAAC","sourcesContent":["import {SelectFunction, SelectPluginType} from '@anglr/select';\n\n/**\n * Gets current search value of Select (LiveSearch plugin), its reactive\n */\nexport function getSearch<TValue, TCssClasses>(): SelectFunction<string, TValue, TCssClasses>\n{\n return select =>\n {\n if(!select.initialized())\n {\n return '';\n }\n\n const liveSearch = select.getPlugin(SelectPluginType.LiveSearch);\n\n return liveSearch.search();\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"getSearch.js","sourceRoot":"","sources":["../../../../extensions/src/extensions/getSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/D;;GAEG;AACH,MAAM,UAAU,SAAS;IAErB,OAAO,MAAM,CAAC,EAAE;QAEZ,IAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EACxB,CAAC;YACG,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEjE,OAAO,UAAU,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC,CAAC;AACN,CAAC","sourcesContent":["import {SelectFunction, SelectPluginType} from '@anglr/select';\n\n/**\n * Gets current search value of Select (LiveSearch plugin), its reactive\n */\nexport function getSearch<TValue, TPublicValue, TCssClasses>(): SelectFunction<string, TValue, TPublicValue, TCssClasses>\n{\n return select =>\n {\n if(!select.initialized())\n {\n return '';\n }\n\n const liveSearch = select.getPlugin(SelectPluginType.LiveSearch);\n\n return liveSearch.search();\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getValue.js","sourceRoot":"","sources":["../../../../extensions/src/extensions/getValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/D;;GAEG;AACH,MAAM,UAAU,QAAQ;IAEpB,OAAO,MAAM,CAAC,EAAE;QAEZ,IAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EACxB,CAAC;YACG,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAErE,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC,CAAC;AACN,CAAC","sourcesContent":["import {SelectFunction, SelectPluginType} from '@anglr/select';\n\n/**\n * Gets current value of Select, its reactive\n */\nexport function getValue<TValue, TCssClasses>(): SelectFunction<
|
|
1
|
+
{"version":3,"file":"getValue.js","sourceRoot":"","sources":["../../../../extensions/src/extensions/getValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE/D;;GAEG;AACH,MAAM,UAAU,QAAQ;IAEpB,OAAO,MAAM,CAAC,EAAE;QAEZ,IAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EACxB,CAAC;YACG,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAErE,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC,CAAC;AACN,CAAC","sourcesContent":["import {SelectFunction, SelectPluginType} from '@anglr/select';\n\n/**\n * Gets current value of Select, its reactive\n */\nexport function getValue<TValue, TPublicValue, TCssClasses>(): SelectFunction<TPublicValue|TPublicValue[]|undefined|null, TValue, TPublicValue, TCssClasses>\n{\n return select =>\n {\n if(!select.initialized())\n {\n return undefined;\n }\n\n const valueHandler = select.getPlugin(SelectPluginType.ValueHandler);\n\n return valueHandler.value();\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setReadonly.js","sourceRoot":"","sources":["../../../../extensions/src/extensions/setReadonly.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,WAAW,
|
|
1
|
+
{"version":3,"file":"setReadonly.js","sourceRoot":"","sources":["../../../../extensions/src/extensions/setReadonly.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAoC,WAAoB,IAAI;IAEnF,OAAO,MAAM,CAAC,EAAE;QAEZ,MAAM,OAAO,GACb;YACI,QAAQ,EAAE,QAAQ;SACrB,CAAC;QAEF,MAAM,CAAC,aAAa,GAAG,OAA2D,CAAC;IACvF,CAAC,CAAC;AACN,CAAC","sourcesContent":["import {SelectAction, SelectOptions} from '@anglr/select';\nimport {RecursivePartial} from '@jscrpt/common';\n\n/**\n * Sets Select as readonly, non editable\n * @param readonly - Indication whether is select readonly or not, if omitted defaults to true\n */\nexport function setReadonly<TValue, TPublicValue, TCssClasses>(readonly: boolean = true): SelectAction<TValue, TPublicValue, TCssClasses>\n{\n return select =>\n {\n const options: RecursivePartial<SelectOptions<TValue, TPublicValue, TCssClasses>> =\n {\n readonly: readonly,\n };\n\n select.selectOptions = options as SelectOptions<TValue, TPublicValue, TCssClasses>;\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setValue.js","sourceRoot":"","sources":["../../../../extensions/src/extensions/setValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,QAAQ,
|
|
1
|
+
{"version":3,"file":"setValue.js","sourceRoot":"","sources":["../../../../extensions/src/extensions/setValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAE7D;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAoC,KAAiD;IAEzG,OAAO,MAAM,CAAC,EAAE;QAEZ,IAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EACxB,CAAC;YACG,OAAO;QACX,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAErE,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;AACN,CAAC","sourcesContent":["import {SelectAction, SelectPluginType} from '@anglr/select';\n\n/**\n * Sets value of Select\n * @param value - Value to be set into select\n */\nexport function setValue<TValue, TPublicValue, TCssClasses>(value: TPublicValue|TPublicValue[]|undefined|null): SelectAction<TValue, TPublicValue, TCssClasses>\n{\n return select =>\n {\n if(!select.initialized())\n {\n return;\n }\n\n const valueHandler = select.getPlugin(SelectPluginType.ValueHandler);\n\n valueHandler.setValue(value);\n };\n}\n"]}
|
|
@@ -372,7 +372,6 @@ export class Select {
|
|
|
372
372
|
return;
|
|
373
373
|
}
|
|
374
374
|
const type = resolveForwardRef(pluginDescription.type);
|
|
375
|
-
let newInstance = false;
|
|
376
375
|
//new type provided
|
|
377
376
|
if (type != this.pluginTypes[pluginType]) {
|
|
378
377
|
this.logger.verbose('Select: creating plugin instance for "{{type}}"', { type: pluginType });
|
|
@@ -382,15 +381,10 @@ export class Select {
|
|
|
382
381
|
const component = pluginViewContainer.createComponent(type);
|
|
383
382
|
component.changeDetectorRef.detectChanges();
|
|
384
383
|
this.pluginInstances[pluginType] = component.instance;
|
|
385
|
-
newInstance = true;
|
|
386
384
|
if (pluginType == SelectPluginType.Popup) {
|
|
387
385
|
this.popupComponentRef = component;
|
|
388
386
|
}
|
|
389
387
|
}
|
|
390
|
-
//only call when new instance of plugin was created
|
|
391
|
-
if (newInstance) {
|
|
392
|
-
pluginDescription.instanceCallback?.(this.pluginInstances[pluginType]);
|
|
393
|
-
}
|
|
394
388
|
//options are available, set them
|
|
395
389
|
if (pluginDescription.options) {
|
|
396
390
|
this.logger.verbose('Select: setting options for "{{type}}" plugin, options: {{@(4)options}}', { type: pluginType, options: pluginDescription.options });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.component.js","sourceRoot":"","sources":["../../../../src/components/select/select.component.ts","../../../../src/components/select/select.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, Input, viewChild, ViewContainerRef, Signal, WritableSignal, signal, Inject, Optional, Type, resolveForwardRef, FactoryProvider, effect, forwardRef, Attribute, ElementRef, computed, input, booleanAttribute, InputSignalWithTransform, ComponentRef, DOCUMENT, TemplateRef, contentChild, contentChildren} from '@angular/core';\nimport {getHostElement, LOGGER, Logger} from '@anglr/common';\nimport {isPresent, RecursivePartial, renderToBody, normalizeAccent} from '@jscrpt/common';\nimport {deepCopyWithArrayOverride} from '@jscrpt/common/lodash';\n\nimport {InitState, Interactions, InteractionsOptions, KeyboardHandler, KeyboardHandlerOptions, LiveSearch, LiveSearchOptions, NormalState, NormalStateContext, NormalStateOptions, NormalStateTagContext, OptionsGatherer, OptionsHandler, OptionsHandlerOptions, PluginDescription, Popup, PopupContext, PopupOptions, Positioner, PositionerOptions, ReadonlyState, ReadonlyStateOptions, SelectApi, SelectCssClasses, SelectEvents, SelectOption, SelectOptions, SelectOptionState, SelectPlugin, TemplateGatherer, ValueHandler, ValueHandlerOptions} from '../../interfaces';\nimport {INTERACTIONS_TYPE, KEYBOARD_HANDLER_TYPE, LIVE_SEARCH_TYPE, NORMAL_STATE_TYPE, OPTIONS_HANDLER_TYPE, POPUP_TYPE, POSITIONER_TYPE, READONLY_STATE_TYPE, SELECT_OPTIONS, VALUE_HANDLER_TYPE} from '../../misc/tokens';\nimport {SelectPluginType} from '../../misc/enums';\nimport {SelectBus, SelectPluginInstances} from '../../misc/classes';\nimport {CommonPositioner, StaticValueHandler, SimpleInteractions, SimpleOptionsHandler, SimpleKeyboardHandler, SimpleNormalState, SimplePopup, NoLiveSearch} from '../../plugins';\nimport {CopyOptionsAsSignal} from '../../decorators';\nimport {SelectAction, SelectFunction} from '../../misc/types';\nimport {NormalStateTagTemplate, NormalStateTemplate, OptionTemplate} from '../../directives';\nimport {Option} from '../option/option.component';\n\n//TODO: optimize options change detection, currently it is based on reference change, but it could be optimized by checking only changed properties, or by using signals for options properties\n\n/**\n * Default 'SelectOptions'\n */\nconst defaultOptions: Omit<SelectOptions, 'optionsGatherer'|'templateGatherer'> =\n{\n absolute: false,\n multiple: false,\n readonly: false,\n containerElement: 'div.select-component',\n placeholder: 'please select value',\n closeOnSelect: true,\n displaySelectedValue: option => option.text(),\n valueExtractor: (option: SelectOption) => option.value(),\n valueComparer: (source, target) => source === target,\n textExtractor: (option: SelectOption) => option.text(),\n normalize: <TText extends string|undefined|null>(value: TText) => isPresent(value) ? normalizeAccent(value) as TText : value,\n textCompare: (source: string, target: string) => !!source.match(new RegExp(target, 'i')),\n cssClasses:\n {\n visualContainer: 'visual-container',\n selectElement: 'select-component',\n },\n plugins:\n {\n interactions: <PluginDescription<Interactions, InteractionsOptions>>\n {\n type: forwardRef(() => SimpleInteractions),\n },\n keyboardHandler: <PluginDescription<KeyboardHandler, KeyboardHandlerOptions>>\n {\n type: forwardRef(() => SimpleKeyboardHandler),\n },\n liveSearch: <PluginDescription<LiveSearch, LiveSearchOptions>>\n {\n type: forwardRef(() => NoLiveSearch),\n },\n normalState: <PluginDescription<NormalState, NormalStateOptions>>\n {\n type: forwardRef(() => SimpleNormalState),\n },\n optionsHandler: <PluginDescription<OptionsHandler, OptionsHandlerOptions>>\n {\n type: forwardRef(() => SimpleOptionsHandler),\n },\n popup: <PluginDescription<Popup, PopupOptions>>\n {\n type: forwardRef(() => SimplePopup),\n },\n positioner: <PluginDescription<Positioner, PositionerOptions>>\n {\n type: forwardRef(() => CommonPositioner),\n },\n readonlyState: <PluginDescription<ReadonlyState, ReadonlyStateOptions>>\n {\n type: forwardRef(() => SimpleNormalState),\n },\n valueHandler: <PluginDescription<ValueHandler, ValueHandlerOptions>>\n {\n type: forwardRef(() => StaticValueHandler),\n },\n },\n};\n\n/**\n * Component that represents Select itself, allows selection of value from options\n */\n@Component(\n{\n selector: 'ng-select',\n templateUrl: 'select.component.html',\n styleUrl: 'select.component.css',\n host:\n {\n '[class]': 'selectOptions.cssClasses.selectElement',\n },\n providers:\n [\n <FactoryProvider>\n {\n provide: SelectPluginInstances,\n useFactory: () => new SelectPluginInstances(),\n },\n SelectBus,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Select<TValue = unknown> implements SelectApi<TValue, SelectCssClasses>, OptionsGatherer<TValue>, TemplateGatherer<TValue>\n{\n //######################### protected fields #########################\n\n /**\n * Instance of popup component used for positioning over page body when absolute option is true\n */\n protected popupComponentRef: ComponentRef<Popup>|undefined|null;\n\n /**\n * Object storing current used plugin type\n */\n protected pluginTypes: Record<SelectPluginType, Type<SelectPlugin>|undefined|null> =\n {\n Interactions: null,\n KeyboardHandler: null,\n LiveSearch: null,\n NormalState: null,\n OptionsHandler: null,\n Popup: null,\n Positioner: null,\n ReadonlyState: null,\n ValueHandler: null,\n };\n\n /**\n * Signal that holds init state of live search plugin\n */\n protected liveSearchInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of interactions plugin\n */\n protected interactionsInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of options handler plugin\n */\n protected optionsHandlerInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of positioner plugin\n */\n protected positionerInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of keyboard plugin\n */\n protected keyboardInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of value handler plugin\n */\n protected valueHandlerInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of readonly state plugin\n */\n protected readonlyStateInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of normal state plugin\n */\n protected normalStateInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of popup plugin\n */\n protected popupInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Initialization state of all plugin init options\n */\n protected optionsInit: Signal<InitState> = computed(() => ({initialized: this.normalStateInit() &&\n this.keyboardInit() &&\n this.popupInit() &&\n this.positionerInit() &&\n this.readonlyStateInit() &&\n this.valueHandlerInit() &&\n this.liveSearchInit() &&\n this.interactionsInit() &&\n this.optionsHandlerInit()}));\n\n /**\n * Information whether is select initialized or not, changes when Select is initialized or reinitialized, if value is false Select was not initialized yet\n */\n protected initializedSignal: WritableSignal<boolean> = signal(false);\n\n //######################### protected properties - children #########################\n\n /**\n * Container used for rendering live search plugin\n */\n protected liveSearchContainer: Signal<ViewContainerRef> = viewChild.required('liveSearch', {read: ViewContainerRef});\n\n /**\n * Container used for rendering interactions plugin\n */\n protected interactionsContainer: Signal<ViewContainerRef> = viewChild.required('interactions', {read: ViewContainerRef});\n\n /**\n * Container used for rendering options handler plugin\n */\n protected optionsHandlerContainer: Signal<ViewContainerRef> = viewChild.required('optionsHandler', {read: ViewContainerRef});\n\n /**\n * Container used for rendering positioner plugin\n */\n protected positionerContainer: Signal<ViewContainerRef> = viewChild.required('positioner', {read: ViewContainerRef});\n\n /**\n * Container used for rendering keyboard handler plugin\n */\n protected keyboardHandlerContainer: Signal<ViewContainerRef> = viewChild.required('keyboardHandler', {read: ViewContainerRef});\n\n /**\n * Container used for rendering value handler plugin\n */\n protected valueHandlerContainer: Signal<ViewContainerRef> = viewChild.required('valueHandler', {read: ViewContainerRef});\n\n /**\n * Container used for rendering readonly state plugin\n */\n protected readonlyStateContainer: Signal<ViewContainerRef> = viewChild.required('readonlyState', {read: ViewContainerRef});\n\n /**\n * Container used for rendering normal state plugin\n */\n protected normalStateContainer: Signal<ViewContainerRef> = viewChild.required('normalState', {read: ViewContainerRef});\n\n /**\n * Container used for rendering popup plugin\n */\n protected popupContainer: Signal<ViewContainerRef> = viewChild.required('popup', {read: ViewContainerRef});\n\n //######################### public properties #########################\n\n /**\n * @inheritdoc\n */\n @CopyOptionsAsSignal()\n public selectOptions: SelectOptions<TValue, SelectCssClasses>;\n\n //######################### public properties - inputs #########################\n\n /**\n * Gets or sets Select options\n */\n @Input({alias: 'selectOptions'})\n public get selectOptionsInput(): SelectOptions<TValue, SelectCssClasses>\n {\n return this.selectOptions;\n }\n public set selectOptionsInput(value: RecursivePartial<SelectOptions<TValue, SelectCssClasses>>)\n {\n this.selectOptions = value as SelectOptions<TValue, SelectCssClasses>;\n }\n\n /**\n * Indication whether should be Select disabled or not\n */\n public disabled: InputSignalWithTransform<boolean, string | boolean> = input<boolean, boolean|string>(false, {transform: booleanAttribute});\n\n /**\n * Indication whether should be Select readonly or not\n */\n public readonly: InputSignalWithTransform<boolean, string | boolean> = input<boolean, boolean|string>(false, {transform: booleanAttribute});\n\n //######################### public properties - implementation of SelectApi #########################\n\n /**\n * @inheritdoc\n */\n public get initialized(): Signal<boolean>\n {\n return this.initializedSignal.asReadonly();\n }\n\n /**\n * @inheritdoc\n */\n public get events(): SelectEvents\n {\n return this.bus;\n }\n\n //######################### public properties - implementation of TemplateGatherer #########################\n\n /**\n * @inheritdoc\n */\n public readonly normalStateTemplate: Signal<TemplateRef<NormalStateContext<TValue>>|undefined|null> = contentChild(NormalStateTemplate, {read: TemplateRef});\n\n /**\n * @inheritdoc\n */\n public readonly optionTemplate: Signal<TemplateRef<PopupContext<TValue>>|undefined|null> = contentChild(OptionTemplate, {read: TemplateRef});\n\n /**\n * @inheritdoc\n */\n public readonly normalStateTagTemplate: Signal<TemplateRef<NormalStateTagContext<TValue>>|undefined|null> = contentChild(NormalStateTagTemplate, {read: TemplateRef});\n\n //######################### public properties - implementation of OptionsGatherer #########################\n\n /**\n * Array of all available options for select\n */\n public readonly availableOptions: Signal<readonly SelectOptionState<TValue>[]|undefined|null> = contentChildren<SelectOptionState<TValue>>(Option, {descendants: true});\n\n //######################### constructors #########################\n constructor(protected pluginInstances: SelectPluginInstances,\n protected bus: SelectBus<TValue>,\n @Inject(LOGGER) protected logger: Logger,\n element: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) document: HTMLDocument,\n @Attribute('multiple') multiple?: string|null,\n @Inject(NORMAL_STATE_TYPE) @Optional() normalStateType?: Type<NormalState>|null,\n @Inject(KEYBOARD_HANDLER_TYPE) @Optional() keyboardHandlerType?: Type<KeyboardHandler>|null,\n @Inject(POPUP_TYPE) @Optional() popupType?: Type<Popup>|null,\n @Inject(POSITIONER_TYPE) @Optional() positionerType?: Type<Positioner>|null,\n @Inject(READONLY_STATE_TYPE) @Optional() readonlyStateType?: Type<ReadonlyState>|null,\n @Inject(VALUE_HANDLER_TYPE) @Optional() valueHandlerType?: Type<ValueHandler>|null,\n @Inject(LIVE_SEARCH_TYPE) @Optional() liveSearchType?: Type<LiveSearch>|null,\n @Inject(INTERACTIONS_TYPE) @Optional() interactionsType?: Type<Interactions>|null,\n @Inject(OPTIONS_HANDLER_TYPE) @Optional() optionsHandlerType?: Type<OptionsHandler>|null,\n @Inject(SELECT_OPTIONS) @Optional() options?: RecursivePartial<SelectOptions<TValue, SelectCssClasses>>|null,)\n {\n //is present (value is not important)\n const multipleDefault = isPresent(multiple);\n const opts: RecursivePartial<SelectOptions<TValue, SelectCssClasses>> = deepCopyWithArrayOverride({}, options);\n\n opts.plugins ??= {};\n\n if(keyboardHandlerType)\n {\n opts.plugins.keyboardHandler ??= {};\n opts.plugins.keyboardHandler.type = keyboardHandlerType;\n }\n\n if(normalStateType)\n {\n opts.plugins.normalState ??= {};\n opts.plugins.normalState.type = normalStateType;\n }\n\n if(popupType)\n {\n opts.plugins.popup ??= {};\n opts.plugins.popup.type = popupType;\n }\n\n if(positionerType)\n {\n opts.plugins.positioner ??= {};\n opts.plugins.positioner.type = positionerType;\n }\n\n if(readonlyStateType)\n {\n opts.plugins.readonlyState ??= {};\n opts.plugins.readonlyState.type = readonlyStateType;\n }\n\n if(valueHandlerType)\n {\n opts.plugins.valueHandler ??= {};\n opts.plugins.valueHandler.type = valueHandlerType;\n }\n\n if(liveSearchType)\n {\n opts.plugins.liveSearch ??= {};\n opts.plugins.liveSearch.type = liveSearchType;\n }\n\n if(interactionsType)\n {\n opts.plugins.interactions ??= {};\n opts.plugins.interactions.type = interactionsType;\n }\n\n if(optionsHandlerType)\n {\n opts.plugins.optionsHandler ??= {};\n opts.plugins.optionsHandler.type = optionsHandlerType;\n }\n\n this.selectOptions = deepCopyWithArrayOverride(\n <RecursivePartial<SelectOptions<TValue, SelectCssClasses>>>\n {\n optionsGatherer: this,\n templateGatherer: this,\n },\n defaultOptions as SelectOptions<TValue, SelectCssClasses>,\n <RecursivePartial<SelectOptions<TValue>>>\n {\n multiple: multipleDefault,\n },\n opts);\n\n this.logger.verbose('Select: ctor options initialized {{@(4)options}}', {options: this.selectOptions});\n\n bus.selectElement = signal(element).asReadonly();\n bus.selectOptions = computed(() => this.selectOptions);\n\n //dynamic update of readonly state in options\n effect(() =>\n {\n const readonly = this.readonly() || this.disabled();\n\n this.selectOptions =\n <RecursivePartial<SelectOptions<TValue>>>\n {\n readonly: readonly,\n } as SelectOptions<TValue, SelectCssClasses>;\n\n this.logger.verbose('Select: readonly updated {{readonly}}', {readonly});\n });\n\n //create and initialize options for static plugins\n effect(async () =>\n {\n const selectOptions = this.selectOptions;\n const liveSearchContainer = this.liveSearchContainer();\n const interactionsContainer = this.interactionsContainer();\n const optionsHandlerContainer = this.optionsHandlerContainer();\n const positionerContainer = this.positionerContainer();\n const keyboardHandlerContainer = this.keyboardHandlerContainer();\n const valueHandlerContainer = this.valueHandlerContainer();\n\n await this.createPlugin(selectOptions.plugins?.liveSearch, SelectPluginType.LiveSearch, liveSearchContainer, this.liveSearchInit);\n await this.createPlugin(selectOptions.plugins?.interactions, SelectPluginType.Interactions, interactionsContainer, this.interactionsInit);\n await this.createPlugin(selectOptions.plugins?.optionsHandler, SelectPluginType.OptionsHandler, optionsHandlerContainer, this.optionsHandlerInit);\n await this.createPlugin(selectOptions.plugins?.positioner, SelectPluginType.Positioner, positionerContainer, this.positionerInit);\n await this.createPlugin(selectOptions.plugins?.keyboardHandler, SelectPluginType.KeyboardHandler, keyboardHandlerContainer, this.keyboardInit);\n await this.createPlugin(selectOptions.plugins?.valueHandler, SelectPluginType.ValueHandler, valueHandlerContainer, this.valueHandlerInit);\n });\n\n //create and initialize options for state plugins (normal and readonly)\n effect(() =>\n {\n const readonlyStateContainer = this.readonlyStateContainer();\n const normalStateContainer = this.normalStateContainer();\n const selectOptions = this.selectOptions;\n\n if(selectOptions.readonly)\n {\n this.destroyPlugin(SelectPluginType.NormalState, normalStateContainer, this.normalStateInit);\n this.normalStateInit.set(true);\n this.createPlugin(this.selectOptions.plugins?.readonlyState, SelectPluginType.ReadonlyState, readonlyStateContainer, this.readonlyStateInit);\n }\n else\n {\n this.destroyPlugin(SelectPluginType.ReadonlyState, readonlyStateContainer, this.readonlyStateInit);\n this.readonlyStateInit.set(true);\n this.createPlugin(this.selectOptions.plugins?.normalState, SelectPluginType.NormalState, normalStateContainer, this.normalStateInit);\n }\n });\n\n //create and initialize options for popup plugin, allows absolute positioning\n effect(() =>\n {\n const selectOptions = this.selectOptions;\n const popupContainer = this.popupContainer();\n\n this.destroyPlugin(SelectPluginType.Popup, popupContainer, this.popupInit);\n this.createPlugin(this.selectOptions.plugins?.popup, SelectPluginType.Popup, this.popupContainer(), this.popupInit);\n\n if(selectOptions.absolute && this.popupComponentRef)\n {\n const element = getHostElement(this.popupComponentRef);\n\n if(!element)\n {\n throw new Error('Could not get element of popup component');\n }\n\n renderToBody(document, element, selectOptions.containerElement);\n }\n });\n\n //initialize plugins when all options are initialized\n effect(() =>\n {\n this.initializedSignal.set(false);\n\n if(this.optionsInit().initialized)\n {\n this.initializedSignal.set(true);\n }\n });\n }\n\n //######################### public methods #########################\n\n /**\n * @inheritdoc\n */\n public getPlugin(pluginType: SelectPluginType.Interactions): Interactions<TValue>;\n public getPlugin(pluginType: SelectPluginType.KeyboardHandler): KeyboardHandler<TValue>;\n public getPlugin(pluginType: SelectPluginType.LiveSearch): LiveSearch<TValue>;\n public getPlugin(pluginType: SelectPluginType.NormalState): NormalState<TValue>;\n public getPlugin(pluginType: SelectPluginType.OptionsHandler): OptionsHandler<TValue>;\n public getPlugin(pluginType: SelectPluginType.Popup): Popup<TValue>;\n public getPlugin(pluginType: SelectPluginType.Positioner): Positioner<TValue>;\n public getPlugin(pluginType: SelectPluginType.ReadonlyState): ReadonlyState;\n public getPlugin(pluginType: SelectPluginType.ValueHandler): ValueHandler<TValue>;\n public getPlugin<PluginInstance extends SelectPlugin<TValue>>(pluginType: SelectPluginType): PluginInstance\n {\n return this.pluginInstances[pluginType] as PluginInstance;\n }\n\n /**\n * @inheritdoc\n */\n public execute(...actions: SelectAction<TValue, SelectCssClasses>[])\n {\n if(!actions)\n {\n return;\n }\n\n actions.forEach(action => action(this));\n }\n\n /**\n * @inheritdoc\n */\n public executeAndReturn<TResult>(func: SelectFunction<TResult, TValue, SelectCssClasses>): TResult\n {\n if(!func)\n {\n throw new Error('Function is required');\n }\n\n return func(this);\n }\n\n // //######################### protected methods #########################\n\n /**\n * Creates plugin\n * @param pluginDescription - Information about plugin that should be created\n * @param pluginType - Key of plugin used for pluginInstances\n * @param pluginViewContainer - Container where should be plugin created\n * @param initOptions - Signal that hold information about init options state for this plugin\n */\n protected async createPlugin<TPlugin extends SelectPlugin>(pluginDescription: PluginDescription<TPlugin>|undefined|null,\n pluginType: SelectPluginType,\n pluginViewContainer: ViewContainerRef,\n initOptions: WritableSignal<boolean>,): Promise<void>\n {\n this.logger.verbose('Select: creating plugin \"{{type}}\", with type \"{{typ}}\"', {type: pluginType, typ: pluginDescription?.type});\n\n if(!pluginDescription?.type)\n {\n this.destroyPlugin(pluginType, pluginViewContainer, initOptions);\n\n return;\n }\n\n const type = resolveForwardRef(pluginDescription.type);\n let newInstance = false;\n\n //new type provided\n if(type != this.pluginTypes[pluginType])\n {\n this.logger.verbose('Select: creating plugin instance for \"{{type}}\"', {type: pluginType});\n\n initOptions.set(false);\n this.pluginTypes[pluginType] = type;\n pluginViewContainer.clear();\n\n const component = pluginViewContainer.createComponent(type);\n component.changeDetectorRef.detectChanges();\n this.pluginInstances[pluginType] = component.instance;\n newInstance = true;\n\n if(pluginType == SelectPluginType.Popup)\n {\n this.popupComponentRef = component as ComponentRef<Popup>;\n }\n }\n\n //only call when new instance of plugin was created\n if(newInstance)\n {\n pluginDescription.instanceCallback?.(this.pluginInstances[pluginType] as TPlugin);\n }\n\n //options are available, set them\n if(pluginDescription.options)\n {\n this.logger.verbose('Select: setting options for \"{{type}}\" plugin, options: {{@(4)options}}', {type: pluginType, options: pluginDescription.options});\n\n initOptions.set(false);\n this.pluginInstances[pluginType].options = pluginDescription.options;\n }\n\n this.logger.verbose('Select: options initialized for \"{{type}}\" plugin', {type: pluginType});\n initOptions.set(true);\n }\n\n /**\n * Destroys plugin\n * @param pluginType - Plugin type to be destroyed\n * @param plugiViewContainer - Container which will be emptied\n * @param initOptions - Signal that hold information about init options state for this plugin\n */\n protected destroyPlugin(pluginType: SelectPluginType,\n pluginViewContainer: ViewContainerRef,\n initOptions: WritableSignal<boolean>,): void\n {\n if(pluginType == SelectPluginType.Popup)\n {\n this.popupComponentRef = null;\n }\n\n this.logger.verbose('Select: destroying plugin \"{{type}}\"', {type: pluginType});\n\n pluginViewContainer.clear();\n initOptions.set(false);\n this.pluginTypes[pluginType] = null;\n }\n}\n","<ng-container #liveSearch />\r\n<ng-container #interactions />\r\n<ng-container #optionsHandler />\r\n<ng-container #positioner />\r\n<ng-container #keyboardHandler />\r\n<ng-container #valueHandler />\r\n\r\n<div [class]=\"selectOptions.cssClasses.visualContainer\">\r\n <ng-container #readonlyState />\r\n <ng-container #normalState />\r\n <ng-container #popup />\r\n</div>\r\n"]}
|
|
1
|
+
{"version":3,"file":"select.component.js","sourceRoot":"","sources":["../../../../src/components/select/select.component.ts","../../../../src/components/select/select.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, Input, viewChild, ViewContainerRef, Signal, WritableSignal, signal, Inject, Optional, Type, resolveForwardRef, FactoryProvider, effect, forwardRef, Attribute, ElementRef, computed, input, booleanAttribute, InputSignalWithTransform, ComponentRef, DOCUMENT, TemplateRef, contentChild, contentChildren} from '@angular/core';\nimport {getHostElement, LOGGER, Logger} from '@anglr/common';\nimport {isPresent, RecursivePartial, renderToBody, normalizeAccent} from '@jscrpt/common';\nimport {deepCopyWithArrayOverride} from '@jscrpt/common/lodash';\n\nimport {InitState, Interactions, InteractionsOptions, KeyboardHandler, KeyboardHandlerOptions, LiveSearch, LiveSearchOptions, NormalState, NormalStateContext, NormalStateOptions, NormalStateTagContext, OptionsGatherer, OptionsHandler, OptionsHandlerOptions, PluginDescription, Popup, PopupContext, PopupOptions, Positioner, PositionerOptions, ReadonlyState, ReadonlyStateOptions, SelectApi, SelectCssClasses, SelectEvents, SelectOption, SelectOptions, SelectOptionState, SelectPlugin, TemplateGatherer, ValueHandler, ValueHandlerOptions} from '../../interfaces';\nimport {INTERACTIONS_TYPE, KEYBOARD_HANDLER_TYPE, LIVE_SEARCH_TYPE, NORMAL_STATE_TYPE, OPTIONS_HANDLER_TYPE, POPUP_TYPE, POSITIONER_TYPE, READONLY_STATE_TYPE, SELECT_OPTIONS, VALUE_HANDLER_TYPE} from '../../misc/tokens';\nimport {SelectPluginType} from '../../misc/enums';\nimport {SelectBus, SelectPluginInstances} from '../../misc/classes';\nimport {CommonPositioner, StaticValueHandler, SimpleInteractions, SimpleOptionsHandler, SimpleKeyboardHandler, SimpleNormalState, SimplePopup, NoLiveSearch} from '../../plugins';\nimport {CopyOptionsAsSignal} from '../../decorators';\nimport {SelectAction, SelectFunction} from '../../misc/types';\nimport {NormalStateTagTemplate, NormalStateTemplate, OptionTemplate} from '../../directives';\nimport {Option} from '../option/option.component';\n\n//TODO: optimize options change detection, currently it is based on reference change, but it could be optimized by checking only changed properties, or by using signals for options properties\n\n/**\n * Default 'SelectOptions'\n */\nconst defaultOptions: Omit<SelectOptions, 'optionsGatherer'|'templateGatherer'> =\n{\n absolute: false,\n multiple: false,\n readonly: false,\n containerElement: 'div.select-component',\n placeholder: 'please select value',\n closeOnSelect: true,\n displaySelectedValue: option => option.text(),\n valueExtractor: (option: SelectOption) => option.value(),\n valueComparer: (source, target) => source === target,\n textExtractor: (option: SelectOption) => option.text(),\n normalize: <TText extends string|undefined|null>(value: TText) => isPresent(value) ? normalizeAccent(value) as TText : value,\n textCompare: (source: string, target: string) => !!source.match(new RegExp(target, 'i')),\n cssClasses:\n {\n visualContainer: 'visual-container',\n selectElement: 'select-component',\n },\n plugins:\n {\n interactions: <PluginDescription<Interactions, InteractionsOptions>>\n {\n type: forwardRef(() => SimpleInteractions),\n },\n keyboardHandler: <PluginDescription<KeyboardHandler, KeyboardHandlerOptions>>\n {\n type: forwardRef(() => SimpleKeyboardHandler),\n },\n liveSearch: <PluginDescription<LiveSearch, LiveSearchOptions>>\n {\n type: forwardRef(() => NoLiveSearch),\n },\n normalState: <PluginDescription<NormalState, NormalStateOptions>>\n {\n type: forwardRef(() => SimpleNormalState),\n },\n optionsHandler: <PluginDescription<OptionsHandler, OptionsHandlerOptions>>\n {\n type: forwardRef(() => SimpleOptionsHandler),\n },\n popup: <PluginDescription<Popup, PopupOptions>>\n {\n type: forwardRef(() => SimplePopup),\n },\n positioner: <PluginDescription<Positioner, PositionerOptions>>\n {\n type: forwardRef(() => CommonPositioner),\n },\n readonlyState: <PluginDescription<ReadonlyState, ReadonlyStateOptions>>\n {\n type: forwardRef(() => SimpleNormalState),\n },\n valueHandler: <PluginDescription<ValueHandler, ValueHandlerOptions>>\n {\n type: forwardRef(() => StaticValueHandler),\n },\n },\n};\n\n/**\n * Component that represents Select itself, allows selection of value from options\n */\n@Component(\n{\n selector: 'ng-select',\n templateUrl: 'select.component.html',\n styleUrl: 'select.component.css',\n host:\n {\n '[class]': 'selectOptions.cssClasses.selectElement',\n },\n providers:\n [\n <FactoryProvider>\n {\n provide: SelectPluginInstances,\n useFactory: () => new SelectPluginInstances(),\n },\n SelectBus,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class Select<TValue = unknown, TPublicValue = TValue> implements SelectApi<TValue, TPublicValue, SelectCssClasses>, OptionsGatherer<TValue>, TemplateGatherer<TValue, TPublicValue>\n{\n //######################### protected fields #########################\n\n /**\n * Instance of popup component used for positioning over page body when absolute option is true\n */\n protected popupComponentRef: ComponentRef<Popup<TValue, TPublicValue>>|undefined|null;\n\n /**\n * Object storing current used plugin type\n */\n protected pluginTypes: Record<SelectPluginType, Type<SelectPlugin<unknown, TValue, TPublicValue>>|undefined|null> =\n {\n Interactions: null,\n KeyboardHandler: null,\n LiveSearch: null,\n NormalState: null,\n OptionsHandler: null,\n Popup: null,\n Positioner: null,\n ReadonlyState: null,\n ValueHandler: null,\n };\n\n /**\n * Signal that holds init state of live search plugin\n */\n protected liveSearchInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of interactions plugin\n */\n protected interactionsInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of options handler plugin\n */\n protected optionsHandlerInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of positioner plugin\n */\n protected positionerInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of keyboard plugin\n */\n protected keyboardInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of value handler plugin\n */\n protected valueHandlerInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of readonly state plugin\n */\n protected readonlyStateInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of normal state plugin\n */\n protected normalStateInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Signal that holds init state of popup plugin\n */\n protected popupInit: WritableSignal<boolean> = signal(false);\n\n /**\n * Initialization state of all plugin init options\n */\n protected optionsInit: Signal<InitState> = computed(() => ({initialized: this.normalStateInit() &&\n this.keyboardInit() &&\n this.popupInit() &&\n this.positionerInit() &&\n this.readonlyStateInit() &&\n this.valueHandlerInit() &&\n this.liveSearchInit() &&\n this.interactionsInit() &&\n this.optionsHandlerInit()}));\n\n /**\n * Information whether is select initialized or not, changes when Select is initialized or reinitialized, if value is false Select was not initialized yet\n */\n protected initializedSignal: WritableSignal<boolean> = signal(false);\n\n //######################### protected properties - children #########################\n\n /**\n * Container used for rendering live search plugin\n */\n protected liveSearchContainer: Signal<ViewContainerRef> = viewChild.required('liveSearch', {read: ViewContainerRef});\n\n /**\n * Container used for rendering interactions plugin\n */\n protected interactionsContainer: Signal<ViewContainerRef> = viewChild.required('interactions', {read: ViewContainerRef});\n\n /**\n * Container used for rendering options handler plugin\n */\n protected optionsHandlerContainer: Signal<ViewContainerRef> = viewChild.required('optionsHandler', {read: ViewContainerRef});\n\n /**\n * Container used for rendering positioner plugin\n */\n protected positionerContainer: Signal<ViewContainerRef> = viewChild.required('positioner', {read: ViewContainerRef});\n\n /**\n * Container used for rendering keyboard handler plugin\n */\n protected keyboardHandlerContainer: Signal<ViewContainerRef> = viewChild.required('keyboardHandler', {read: ViewContainerRef});\n\n /**\n * Container used for rendering value handler plugin\n */\n protected valueHandlerContainer: Signal<ViewContainerRef> = viewChild.required('valueHandler', {read: ViewContainerRef});\n\n /**\n * Container used for rendering readonly state plugin\n */\n protected readonlyStateContainer: Signal<ViewContainerRef> = viewChild.required('readonlyState', {read: ViewContainerRef});\n\n /**\n * Container used for rendering normal state plugin\n */\n protected normalStateContainer: Signal<ViewContainerRef> = viewChild.required('normalState', {read: ViewContainerRef});\n\n /**\n * Container used for rendering popup plugin\n */\n protected popupContainer: Signal<ViewContainerRef> = viewChild.required('popup', {read: ViewContainerRef});\n\n //######################### public properties #########################\n\n /**\n * @inheritdoc\n */\n @CopyOptionsAsSignal()\n public selectOptions: SelectOptions<TValue, TPublicValue, SelectCssClasses>;\n\n //######################### public properties - inputs #########################\n\n /**\n * Gets or sets Select options\n */\n @Input({alias: 'selectOptions'})\n public get selectOptionsInput(): SelectOptions<TValue, TPublicValue, SelectCssClasses>\n {\n return this.selectOptions;\n }\n public set selectOptionsInput(value: RecursivePartial<SelectOptions<TValue, TPublicValue, SelectCssClasses>>)\n {\n this.selectOptions = value as SelectOptions<TValue, TPublicValue, SelectCssClasses>;\n }\n\n /**\n * Indication whether should be Select disabled or not\n */\n public disabled: InputSignalWithTransform<boolean, string|boolean> = input<boolean, boolean|string>(false, {transform: booleanAttribute});\n\n /**\n * Indication whether should be Select readonly or not\n */\n public readonly: InputSignalWithTransform<boolean, string|boolean> = input<boolean, boolean|string>(false, {transform: booleanAttribute});\n\n //######################### public properties - implementation of SelectApi #########################\n\n /**\n * @inheritdoc\n */\n public get initialized(): Signal<boolean>\n {\n return this.initializedSignal.asReadonly();\n }\n\n /**\n * @inheritdoc\n */\n public get events(): SelectEvents\n {\n return this.bus;\n }\n\n //######################### public properties - implementation of TemplateGatherer #########################\n\n /**\n * @inheritdoc\n */\n public readonly normalStateTemplate: Signal<TemplateRef<NormalStateContext<TValue, TPublicValue>>|undefined|null> = contentChild(NormalStateTemplate, {read: TemplateRef});\n\n /**\n * @inheritdoc\n */\n public readonly optionTemplate: Signal<TemplateRef<PopupContext<TValue, TPublicValue>>|undefined|null> = contentChild(OptionTemplate, {read: TemplateRef});\n\n /**\n * @inheritdoc\n */\n public readonly normalStateTagTemplate: Signal<TemplateRef<NormalStateTagContext<TValue, TPublicValue>>|undefined|null> = contentChild(NormalStateTagTemplate, {read: TemplateRef});\n\n //######################### public properties - implementation of OptionsGatherer #########################\n\n /**\n * Array of all available options for select\n */\n public readonly availableOptions: Signal<readonly SelectOptionState<TValue>[]|undefined|null> = contentChildren<SelectOptionState<TValue>>(Option, {descendants: true});\n\n //######################### constructors #########################\n constructor(protected pluginInstances: SelectPluginInstances<TValue, TPublicValue>,\n protected bus: SelectBus<TValue, TPublicValue>,\n @Inject(LOGGER) protected logger: Logger,\n element: ElementRef<HTMLElement>,\n @Inject(DOCUMENT) document: HTMLDocument,\n @Attribute('multiple') multiple?: string|null,\n @Inject(NORMAL_STATE_TYPE) @Optional() normalStateType?: Type<NormalState<TValue, TPublicValue>>|null,\n @Inject(KEYBOARD_HANDLER_TYPE) @Optional() keyboardHandlerType?: Type<KeyboardHandler<TValue, TPublicValue>>|null,\n @Inject(POPUP_TYPE) @Optional() popupType?: Type<Popup<TValue, TPublicValue>>|null,\n @Inject(POSITIONER_TYPE) @Optional() positionerType?: Type<Positioner<TValue, TPublicValue>>|null,\n @Inject(READONLY_STATE_TYPE) @Optional() readonlyStateType?: Type<ReadonlyState<TValue, TPublicValue>>|null,\n @Inject(VALUE_HANDLER_TYPE) @Optional() valueHandlerType?: Type<ValueHandler<TValue, TPublicValue>>|null,\n @Inject(LIVE_SEARCH_TYPE) @Optional() liveSearchType?: Type<LiveSearch<TValue, TPublicValue>>|null,\n @Inject(INTERACTIONS_TYPE) @Optional() interactionsType?: Type<Interactions<TValue, TPublicValue>>|null,\n @Inject(OPTIONS_HANDLER_TYPE) @Optional() optionsHandlerType?: Type<OptionsHandler<TValue, TPublicValue>>|null,\n @Inject(SELECT_OPTIONS) @Optional() options?: RecursivePartial<SelectOptions<TValue, TPublicValue, SelectCssClasses>>|null,)\n {\n //is present (value is not important)\n const multipleDefault = isPresent(multiple);\n const opts: RecursivePartial<SelectOptions<TValue, TPublicValue, SelectCssClasses>> = deepCopyWithArrayOverride({}, options);\n\n opts.plugins ??= {};\n\n if(keyboardHandlerType)\n {\n opts.plugins.keyboardHandler ??= {};\n opts.plugins.keyboardHandler.type = keyboardHandlerType;\n }\n\n if(normalStateType)\n {\n opts.plugins.normalState ??= {};\n opts.plugins.normalState.type = normalStateType;\n }\n\n if(popupType)\n {\n opts.plugins.popup ??= {};\n opts.plugins.popup.type = popupType;\n }\n\n if(positionerType)\n {\n opts.plugins.positioner ??= {};\n opts.plugins.positioner.type = positionerType;\n }\n\n if(readonlyStateType)\n {\n opts.plugins.readonlyState ??= {};\n opts.plugins.readonlyState.type = readonlyStateType;\n }\n\n if(valueHandlerType)\n {\n opts.plugins.valueHandler ??= {};\n opts.plugins.valueHandler.type = valueHandlerType;\n }\n\n if(liveSearchType)\n {\n opts.plugins.liveSearch ??= {};\n opts.plugins.liveSearch.type = liveSearchType;\n }\n\n if(interactionsType)\n {\n opts.plugins.interactions ??= {};\n opts.plugins.interactions.type = interactionsType;\n }\n\n if(optionsHandlerType)\n {\n opts.plugins.optionsHandler ??= {};\n opts.plugins.optionsHandler.type = optionsHandlerType;\n }\n\n this.selectOptions = deepCopyWithArrayOverride(\n <RecursivePartial<SelectOptions<TValue, TPublicValue, SelectCssClasses>>>\n {\n optionsGatherer: this,\n templateGatherer: this,\n },\n defaultOptions as SelectOptions<TValue, TPublicValue, SelectCssClasses>,\n <RecursivePartial<SelectOptions<TValue, TPublicValue, SelectCssClasses>>>\n {\n multiple: multipleDefault,\n },\n opts);\n\n this.logger.verbose('Select: ctor options initialized {{@(4)options}}', {options: this.selectOptions});\n\n bus.selectElement = signal(element).asReadonly();\n bus.selectOptions = computed(() => this.selectOptions);\n\n //dynamic update of readonly state in options\n effect(() =>\n {\n const readonly = this.readonly() || this.disabled();\n\n this.selectOptions =\n <RecursivePartial<SelectOptions<TValue, TPublicValue, SelectCssClasses>>>\n {\n readonly: readonly,\n } as SelectOptions<TValue, TPublicValue, SelectCssClasses>;\n\n this.logger.verbose('Select: readonly updated {{readonly}}', {readonly});\n });\n\n //create and initialize options for static plugins\n effect(async () =>\n {\n const selectOptions = this.selectOptions;\n const liveSearchContainer = this.liveSearchContainer();\n const interactionsContainer = this.interactionsContainer();\n const optionsHandlerContainer = this.optionsHandlerContainer();\n const positionerContainer = this.positionerContainer();\n const keyboardHandlerContainer = this.keyboardHandlerContainer();\n const valueHandlerContainer = this.valueHandlerContainer();\n\n await this.createPlugin(selectOptions.plugins?.liveSearch, SelectPluginType.LiveSearch, liveSearchContainer, this.liveSearchInit);\n await this.createPlugin(selectOptions.plugins?.interactions, SelectPluginType.Interactions, interactionsContainer, this.interactionsInit);\n await this.createPlugin(selectOptions.plugins?.optionsHandler, SelectPluginType.OptionsHandler, optionsHandlerContainer, this.optionsHandlerInit);\n await this.createPlugin(selectOptions.plugins?.positioner, SelectPluginType.Positioner, positionerContainer, this.positionerInit);\n await this.createPlugin(selectOptions.plugins?.keyboardHandler, SelectPluginType.KeyboardHandler, keyboardHandlerContainer, this.keyboardInit);\n await this.createPlugin(selectOptions.plugins?.valueHandler, SelectPluginType.ValueHandler, valueHandlerContainer, this.valueHandlerInit);\n });\n\n //create and initialize options for state plugins (normal and readonly)\n effect(() =>\n {\n const readonlyStateContainer = this.readonlyStateContainer();\n const normalStateContainer = this.normalStateContainer();\n const selectOptions = this.selectOptions;\n\n if(selectOptions.readonly)\n {\n this.destroyPlugin(SelectPluginType.NormalState, normalStateContainer, this.normalStateInit);\n this.normalStateInit.set(true);\n this.createPlugin(this.selectOptions.plugins?.readonlyState, SelectPluginType.ReadonlyState, readonlyStateContainer, this.readonlyStateInit);\n }\n else\n {\n this.destroyPlugin(SelectPluginType.ReadonlyState, readonlyStateContainer, this.readonlyStateInit);\n this.readonlyStateInit.set(true);\n this.createPlugin(this.selectOptions.plugins?.normalState, SelectPluginType.NormalState, normalStateContainer, this.normalStateInit);\n }\n });\n\n //create and initialize options for popup plugin, allows absolute positioning\n effect(() =>\n {\n const selectOptions = this.selectOptions;\n const popupContainer = this.popupContainer();\n\n this.destroyPlugin(SelectPluginType.Popup, popupContainer, this.popupInit);\n this.createPlugin(this.selectOptions.plugins?.popup, SelectPluginType.Popup, this.popupContainer(), this.popupInit);\n\n if(selectOptions.absolute && this.popupComponentRef)\n {\n const element = getHostElement(this.popupComponentRef);\n\n if(!element)\n {\n throw new Error('Could not get element of popup component');\n }\n\n renderToBody(document, element, selectOptions.containerElement);\n }\n });\n\n //initialize plugins when all options are initialized\n effect(() =>\n {\n this.initializedSignal.set(false);\n\n if(this.optionsInit().initialized)\n {\n this.initializedSignal.set(true);\n }\n });\n }\n\n //######################### public methods #########################\n\n /**\n * @inheritdoc\n */\n public getPlugin(pluginType: SelectPluginType.Interactions): Interactions<TValue, TPublicValue>;\n public getPlugin(pluginType: SelectPluginType.KeyboardHandler): KeyboardHandler<TValue, TPublicValue>;\n public getPlugin(pluginType: SelectPluginType.LiveSearch): LiveSearch<TValue, TPublicValue>;\n public getPlugin(pluginType: SelectPluginType.NormalState): NormalState<TValue, TPublicValue>;\n public getPlugin(pluginType: SelectPluginType.OptionsHandler): OptionsHandler<TValue, TPublicValue>;\n public getPlugin(pluginType: SelectPluginType.Popup): Popup<TValue, TPublicValue>;\n public getPlugin(pluginType: SelectPluginType.Positioner): Positioner<TValue, TPublicValue>;\n public getPlugin(pluginType: SelectPluginType.ReadonlyState): ReadonlyState<TValue, TPublicValue>;\n public getPlugin(pluginType: SelectPluginType.ValueHandler): ValueHandler<TValue, TPublicValue>;\n public getPlugin<PluginInstance extends SelectPlugin<unknown, TValue, TPublicValue>>(pluginType: SelectPluginType): PluginInstance\n {\n return this.pluginInstances[pluginType] as PluginInstance;\n }\n\n /**\n * @inheritdoc\n */\n public execute(...actions: SelectAction<TValue, TPublicValue, SelectCssClasses>[])\n {\n if(!actions)\n {\n return;\n }\n\n actions.forEach(action => action(this));\n }\n\n /**\n * @inheritdoc\n */\n public executeAndReturn<TResult>(func: SelectFunction<TResult, TValue, TPublicValue, SelectCssClasses>): TResult\n {\n if(!func)\n {\n throw new Error('Function is required');\n }\n\n return func(this);\n }\n\n // //######################### protected methods #########################\n\n /**\n * Creates plugin\n * @param pluginDescription - Information about plugin that should be created\n * @param pluginType - Key of plugin used for pluginInstances\n * @param pluginViewContainer - Container where should be plugin created\n * @param initOptions - Signal that hold information about init options state for this plugin\n */\n protected async createPlugin<TPlugin extends SelectPlugin<unknown, TValue, TPublicValue>>(pluginDescription: PluginDescription<TPlugin>|undefined|null,\n pluginType: SelectPluginType,\n pluginViewContainer: ViewContainerRef,\n initOptions: WritableSignal<boolean>,): Promise<void>\n {\n this.logger.verbose('Select: creating plugin \"{{type}}\", with type \"{{typ}}\"', {type: pluginType, typ: pluginDescription?.type});\n\n if(!pluginDescription?.type)\n {\n this.destroyPlugin(pluginType, pluginViewContainer, initOptions);\n\n return;\n }\n\n const type = resolveForwardRef(pluginDescription.type);\n\n //new type provided\n if(type != this.pluginTypes[pluginType])\n {\n this.logger.verbose('Select: creating plugin instance for \"{{type}}\"', {type: pluginType});\n\n initOptions.set(false);\n this.pluginTypes[pluginType] = type;\n pluginViewContainer.clear();\n\n const component = pluginViewContainer.createComponent(type);\n component.changeDetectorRef.detectChanges();\n this.pluginInstances[pluginType] = component.instance;\n\n if(pluginType == SelectPluginType.Popup)\n {\n this.popupComponentRef = component as ComponentRef<Popup>;\n }\n }\n\n //options are available, set them\n if(pluginDescription.options)\n {\n this.logger.verbose('Select: setting options for \"{{type}}\" plugin, options: {{@(4)options}}', {type: pluginType, options: pluginDescription.options});\n\n initOptions.set(false);\n this.pluginInstances[pluginType].options = pluginDescription.options;\n }\n\n this.logger.verbose('Select: options initialized for \"{{type}}\" plugin', {type: pluginType});\n initOptions.set(true);\n }\n\n /**\n * Destroys plugin\n * @param pluginType - Plugin type to be destroyed\n * @param plugiViewContainer - Container which will be emptied\n * @param initOptions - Signal that hold information about init options state for this plugin\n */\n protected destroyPlugin(pluginType: SelectPluginType,\n pluginViewContainer: ViewContainerRef,\n initOptions: WritableSignal<boolean>,): void\n {\n if(pluginType == SelectPluginType.Popup)\n {\n this.popupComponentRef = null;\n }\n\n this.logger.verbose('Select: destroying plugin \"{{type}}\"', {type: pluginType});\n\n pluginViewContainer.clear();\n initOptions.set(false);\n this.pluginTypes[pluginType] = null;\n }\n}\n","<ng-container #liveSearch />\r\n<ng-container #interactions />\r\n<ng-container #optionsHandler />\r\n<ng-container #positioner />\r\n<ng-container #keyboardHandler />\r\n<ng-container #valueHandler />\r\n\r\n<div [class]=\"selectOptions.cssClasses.visualContainer\">\r\n <ng-container #readonlyState />\r\n <ng-container #normalState />\r\n <ng-container #popup />\r\n</div>\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalStateTemplate.directive.js","sourceRoot":"","sources":["../../../../src/directives/normalStateTemplate/normalStateTemplate.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;;AAI7D;;GAEG;AAMH,MAAM,OAAO,mBAAmB;IALhC;QAOI,uEAAuE;QAEvE;;WAEG;QACI,aAAQ,
|
|
1
|
+
{"version":3,"file":"normalStateTemplate.directive.js","sourceRoot":"","sources":["../../../../src/directives/normalStateTemplate/normalStateTemplate.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;;AAI7D;;GAEG;AAMH,MAAM,OAAO,mBAAmB;IALhC;QAOI,uEAAuE;QAEvE;;WAEG;QACI,aAAQ,GAAoC,MAAM,CAAC,WAAW,CAAC,CAAC;KAW1E;IATG,wEAAwE;IAExE;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,IAAyB,EAAE,IAAa;QAElE,OAAO,IAAI,CAAC;IAChB,CAAC;8GAjBQ,mBAAmB;kGAAnB,mBAAmB;;2FAAnB,mBAAmB;kBAL/B,SAAS;mBACV;oBACI,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE,sBAAsB;iBACnC","sourcesContent":["import {Directive, inject, TemplateRef} from '@angular/core';\n\nimport {NormalStateContext} from '../../interfaces';\n\n/**\n * Directive used for obtaining template for normal state\n */\n@Directive(\n{\n selector: '[normalStateTemplate]',\n exportAs: 'normalStateTemplate,',\n})\nexport class NormalStateTemplate\n{\n //######################### public properties #########################\n\n /**\n * Instance of template for normal state\n */\n public template: TemplateRef<NormalStateContext> = inject(TemplateRef);\n\n //######################### ng language server #########################\n\n /**\n * Allows typechecking for template\n */\n static ngTemplateContextGuard(_dir: NormalStateTemplate, _ctx: unknown): _ctx is NormalStateContext<any, any>\n {\n return true;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optionGroupTemplate.directive.js","sourceRoot":"","sources":["../../../../src/directives/optionGroupTemplate/optionGroupTemplate.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;;AAE7D;;GAEG;AAKH,MAAM,OAAO,mBAAmB;IAJhC;QAMI,uEAAuE;QAEvE;;WAEG;QACI,aAAQ,
|
|
1
|
+
{"version":3,"file":"optionGroupTemplate.directive.js","sourceRoot":"","sources":["../../../../src/directives/optionGroupTemplate/optionGroupTemplate.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;;AAE7D;;GAEG;AAKH,MAAM,OAAO,mBAAmB;IAJhC;QAMI,uEAAuE;QAEvE;;WAEG;QACI,aAAQ,GAAqC,MAAM,CAAC,WAAW,CAAC,CAAC;KAW3E;IATG,wEAAwE;IAExE;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,IAAyB,EAAE,IAAa;QAElE,OAAO,IAAI,CAAC;IAChB,CAAC;8GAjBQ,mBAAmB;kGAAnB,mBAAmB;;2FAAnB,mBAAmB;kBAJ/B,SAAS;mBACV;oBACI,QAAQ,EAAE,uBAAuB;iBACpC","sourcesContent":["import {Directive, inject, TemplateRef} from '@angular/core';\n\n/**\n * Directive used for obtaining template for option group in popup\n */\n@Directive(\n{\n selector: '[optionGroupTemplate]',\n})\nexport class OptionGroupTemplate\n{\n //######################### public properties #########################\n\n /**\n * Instance of template for options in popup\n */\n public template: TemplateRef<{$implicit: string}> = inject(TemplateRef);\n\n //######################### ng language server #########################\n\n /**\n * Allows typechecking for template\n */\n static ngTemplateContextGuard(_dir: OptionGroupTemplate, _ctx: unknown): _ctx is {$implicit: string}\n {\n return true;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectAbsolute.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectAbsolute/selectAbsolute.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAEhE;;GAEG;AAKH,MAAM,OAAO,cAAc;IAEvB,iEAAiE;IACjE,YAAY,
|
|
1
|
+
{"version":3,"file":"selectAbsolute.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectAbsolute/selectAbsolute.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAEhE;;GAEG;AAKH,MAAM,OAAO,cAAc;IAEvB,iEAAiE;IACjE,YAAY,MAAoC;QAE5C,MAAM,CAAC,aAAa;YACpB;gBACI,QAAQ,EAAE,IAAI;aACsB,CAAC;IAC7C,CAAC;8GATQ,cAAc;kGAAd,cAAc;;2FAAd,cAAc;kBAJ1B,SAAS;mBACV;oBACI,QAAQ,EAAE,qBAAqB;iBAClC","sourcesContent":["import {Directive} from '@angular/core';\n\nimport {SelectOptions} from '../../interfaces';\nimport {Select} from '../../components/select/select.component';\n\n/**\n * Directive used for setting absolute option for ng-select\n */\n@Directive(\n{\n selector: 'ng-select[absolute]',\n})\nexport class SelectAbsolute<TValue = unknown, TPublicValue = TValue>\n{\n //######################### constructor #########################\n constructor(select: Select<TValue, TPublicValue>)\n {\n select.selectOptions =\n {\n absolute: true,\n } as SelectOptions<TValue, TPublicValue>;\n }\n}\n"]}
|
package/es2022/src/directives/selectControlValueAccessor/selectControlValueAccessor.directive.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectControlValueAccessor.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectControlValueAccessor/selectControlValueAccessor.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAoB,SAAS,EAA6B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AAC5H,OAAO,EAAC,iBAAiB,EAAuB,MAAM,gBAAgB,CAAC;AAEvE,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAElC,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAEhE;;GAEG;AACH,MAAM,qBAAqB,GAC3B;IACI,OAAO,EAAE,iBAAiB;IAC1B,WAAW,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC;IACzD,KAAK,EAAE,IAAI;CACd,CAAC;AAEF;;GAEG;AAMH,MAAM,OAAO,0BAA0B;IA6BnC,iEAAiE;IACjE,YAAY,
|
|
1
|
+
{"version":3,"file":"selectControlValueAccessor.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectControlValueAccessor/selectControlValueAccessor.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {forwardRef, ExistingProvider, Directive, OnDestroy, WritableSignal, signal, effect, untracked} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\nimport {Action1, NoopAction} from '@jscrpt/common';\nimport {isEqual} from 'lodash-es';\nimport {Subscription} from 'rxjs';\n\nimport {SelectPluginType} from '../../misc/enums';\nimport {Select} from '../../components/select/select.component';\n\n/**\n * Provider for control value accessor\n */\nconst SELECT_VALUE_ACCESSOR: ExistingProvider =\n{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SelectControlValueAccessor),\n multi: true,\n};\n\n/**\n * Control value accessor for Select\n */\n@Directive(\n{\n selector: 'ng-select[formControlName],ng-select[formControl],ng-select[ngModel]',\n providers: [SELECT_VALUE_ACCESSOR],\n})\nexport class SelectControlValueAccessor<TValue = unknown, TPublicValue = TValue> implements ControlValueAccessor, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Subscriptions created during initialization\n */\n protected initSubscriptions: Subscription = new Subscription();\n\n /**\n * Last set value to this control\n */\n protected value: WritableSignal<TPublicValue|TPublicValue[]|undefined|null> = signal(undefined);\n\n /**\n * Indication whether disable Select\n */\n protected disabled: WritableSignal<boolean> = signal(false);\n\n /**\n * On change callback for setting value back to control\n */\n protected onChange: Action1<TPublicValue|TPublicValue[]|undefined|null>|undefined|null;\n\n /**\n * On touched callback for setting touched back to control\n */\n protected onTouched: NoopAction|undefined|null;\n\n //######################### constructor #########################\n constructor(select: Select<TValue, TPublicValue>)\n {\n effect(() =>\n {\n if(!select.initialized())\n {\n return;\n }\n\n select.getPlugin(SelectPluginType.ValueHandler).setValue(this.value());\n });\n\n effect(() =>\n {\n if(!select.initialized())\n {\n return;\n }\n\n select.selectOptions.readonly = this.disabled();\n });\n\n effect(() =>\n {\n if(!select.initialized())\n {\n return;\n }\n\n const value = select.getPlugin(SelectPluginType.ValueHandler).value();\n\n untracked(() =>\n {\n if(!isEqual(value, this.value()))\n {\n this.onChange?.(value);\n }\n });\n });\n\n this.initSubscriptions.add(select.events.focus.subscribe(() => this.onTouched?.()));\n }\n\n //######################### public methods - implementation of ControlValueAccessor #########################\n\n /**\n * @inheritdoc\n */\n public writeValue(value: TPublicValue|TPublicValue[]|undefined|null): void\n {\n this.value.set(value);\n }\n\n /**\n * @inheritdoc\n */\n public registerOnChange(fn: (data: TPublicValue|TPublicValue[]|undefined|null) => void): void\n {\n this.onChange = fn;\n }\n\n /**\n * @inheritdoc\n */\n public registerOnTouched(fn: () => void): void\n {\n this.onTouched = fn;\n }\n\n /**\n * @inheritdoc\n */\n public setDisabledState(isDisabled: boolean): void\n {\n this.disabled.set(isDisabled);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * @inheritdoc\n */\n public ngOnDestroy()\n {\n this.initSubscriptions.unsubscribe();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectEdit.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectEdit/selectEdit.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAC,qBAAqB,EAAE,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAC,cAAc,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAGhE;;GAEG;AAUH,MAAM,OAAO,UAAU;IAEnB,iEAAiE;IACjE,YAAY,
|
|
1
|
+
{"version":3,"file":"selectEdit.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectEdit/selectEdit.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAC,qBAAqB,EAAE,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAC,cAAc,EAAE,eAAe,EAAC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAGhE;;GAEG;AAUH,MAAM,OAAO,UAAU;IAEnB,iEAAiE;IACjE,YAAY,MAAoC;QAE5C,MAAM,CAAC,aAAa;YACpB;gBACI,OAAO,EACP;oBACI,eAAe,EACf;wBACI,OAAO,EACP;4BACI,kBAAkB,EAAE,KAAK;4BACzB,gBAAgB,EAAE,IAAI;yBACzB;qBACJ;iBACJ;aACmC,CAAC;IAC7C,CAAC;8GAnBQ,UAAU;kGAAV,UAAU,8DALnB;YACI,sBAAsB,CAAC,eAAe,CAAC;YACvC,qBAAqB,CAAC,cAAc,CAAC;SACxC;;2FAEQ,UAAU;kBATtB,SAAS;mBACV;oBACI,QAAQ,EAAE,iBAAiB;oBAC3B,SAAS,EACT;wBACI,sBAAsB,CAAC,eAAe,CAAC;wBACvC,qBAAqB,CAAC,cAAc,CAAC;qBACxC;iBACJ","sourcesContent":["import {Directive} from '@angular/core';\nimport {RecursivePartial} from '@jscrpt/common';\n\nimport {provideLiveSearchType, provideNormalStateType} from '../../misc/providers';\nimport {EditLiveSearch, EditNormalState} from '../../plugins';\nimport {Select} from '../../components/select/select.component';\nimport {SelectOptions, SimpleKeyboardHandlerOptions} from '../../interfaces';\n\n/**\n * Directive that applies options for Select which switch it to edit mode.\n */\n@Directive(\n{\n selector: 'ng-select[edit]',\n providers:\n [\n provideNormalStateType(EditNormalState),\n provideLiveSearchType(EditLiveSearch),\n ],\n})\nexport class SelectEdit<TValue = unknown, TPublicValue = TValue>\n{\n //######################### constructor #########################\n constructor(select: Select<TValue, TPublicValue>)\n {\n select.selectOptions =\n {\n plugins:\n {\n keyboardHandler:\n {\n options: <RecursivePartial<SimpleKeyboardHandlerOptions>>\n {\n alphanumericSearch: false,\n liveSearchEvents: true,\n },\n },\n },\n } as SelectOptions<TValue, TPublicValue>;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectFormControl.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectFormControl/selectFormControl.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAe,KAAK,EAA0B,SAAS,EAAC,MAAM,eAAe,CAAC;AAEtH,OAAO,EAAC,MAAM,EAAS,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,YAAY,EAAC,MAAM,MAAM,CAAC;AAElC,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;AAChE,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;;;AAElD;;GAEG;AAKH,MAAM,OAAO,iBAAiB;IAyC1B,iEAAiE;IACjE,YAAsB,
|
|
1
|
+
{"version":3,"file":"selectFormControl.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectFormControl/selectFormControl.directive.ts"],"names":[],"mappings":"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","sourcesContent":["import {Directive, effect, inject, input, InputSignal, model, ModelSignal, OnDestroy, untracked} from '@angular/core';\nimport {FormValueControl} from '@angular/forms/signals';\nimport {LOGGER, Logger} from '@anglr/common';\nimport {isEqual} from 'lodash-es';\nimport {Subscription} from 'rxjs';\n\nimport {Select} from '../../components/select/select.component';\nimport {SelectPluginType} from '../../misc/enums';\n\n/**\n * Form value control for Select\n */\n@Directive(\n{\n selector: 'ng-select[formField]',\n})\nexport class SelectFormControl<TValue = unknown, TPublicValue = TValue> implements FormValueControl<TPublicValue|TPublicValue[]|undefined|null>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Instance of logger for logging purposes\n */\n protected logger: Logger = inject(LOGGER);\n\n /**\n * Subscriptions created during initialization\n */\n protected initSubscriptions: Subscription = new Subscription();\n\n //######################### public properties - implementation of FormValueControl #########################\n\n /**\n * @inheritdoc\n */\n public readonly value: ModelSignal<TPublicValue|TPublicValue[]|null|undefined> = model<TPublicValue|TPublicValue[]|null|undefined>(undefined);\n\n /**\n * @inheritdoc\n */\n public checked: undefined;\n\n /**\n * @inheritdoc\n */\n public readonly disabled: InputSignal<boolean> = input(false);\n\n /**\n * @inheritdoc\n */\n public readonly readonly: InputSignal<boolean> = input(false);\n\n /**\n * @inheritdoc\n */\n public readonly touched: ModelSignal<boolean> = model(false);\n\n //######################### constructor #########################\n constructor(protected select: Select<TValue, TPublicValue>)\n {\n this.initSubscriptions.add(this.select.events.focus.subscribe(() => this.touched.set(true)));\n\n effect(() => this.select.selectOptions.readonly = this.disabled() || this.readonly());\n\n effect(() =>\n {\n if(!this.select.initialized())\n {\n return;\n }\n\n const value = this.value();\n this.logger.verbose('Select: Form control: control value changed \"{{@(4)value}}\"', {value});\n\n untracked(() =>\n {\n if(!isEqual(this.select.getPlugin(SelectPluginType.ValueHandler).value(), value))\n {\n this.logger.verbose('Select: Form control: setting select value \"{{@(4)value}}\"', {value});\n this.select.getPlugin(SelectPluginType.ValueHandler).setValue(value);\n }\n });\n });\n\n effect(() =>\n {\n if(!this.select.initialized())\n {\n return;\n }\n\n const value = this.select.getPlugin(SelectPluginType.ValueHandler).value();\n this.logger.verbose('Select: Form control: select value changed \"{{@(4)value}}\"', {value});\n\n untracked(() =>\n {\n if(!isEqual(this.value(), value))\n {\n this.logger.verbose('Select: Form control: setting control value \"{{@(4)value}}\"', {value});\n this.value.set(value);\n }\n });\n });\n }\n\n //######################### public methods - implementation of FormValueControl #########################\n\n /**\n * @inheritdoc\n */\n public focus(): void\n {\n this.select.events.setFocus();\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * @inheritdoc\n */\n public ngOnDestroy(): void\n {\n this.initSubscriptions.unsubscribe();\n }\n}\n"]}
|
package/es2022/src/directives/selectMultipleKeepPopup/selectMultipleKeepPopup.directive.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectMultipleKeepPopup.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectMultipleKeepPopup/selectMultipleKeepPopup.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAExC,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAEhE;;GAEG;AAKH,MAAM,OAAO,uBAAuB;IAEhC,iEAAiE;IACjE,YAAY,
|
|
1
|
+
{"version":3,"file":"selectMultipleKeepPopup.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectMultipleKeepPopup/selectMultipleKeepPopup.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAExC,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAEhE;;GAEG;AAKH,MAAM,OAAO,uBAAuB;IAEhC,iEAAiE;IACjE,YAAY,MAAoC;QAE5C,MAAM,CAAC,aAAa,CAAC,aAAa,GAAG,KAAK,CAAC;IAC/C,CAAC;8GANQ,uBAAuB;kGAAvB,uBAAuB;;2FAAvB,uBAAuB;kBAJnC,SAAS;mBACV;oBACI,QAAQ,EAAE,qBAAqB;iBAClC","sourcesContent":["import {Directive} from '@angular/core';\n\nimport {Select} from '../../components/select/select.component';\n\n/**\n * Directive that keeps popup open when multiple is set for Select\n */\n@Directive(\n{\n selector: 'ng-select[multiple]',\n})\nexport class SelectMultipleKeepPopup<TValue = unknown, TPublicValue = TValue>\n{\n //######################### constructor #########################\n constructor(select: Select<TValue, TPublicValue>)\n {\n select.selectOptions.closeOnSelect = false;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectNoCarret.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectNoCarret/selectNoCarret.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAEhE;;GAEG;AAKH,MAAM,OAAO,cAAc;IAEvB,iEAAiE;IACjE,YAAY,
|
|
1
|
+
{"version":3,"file":"selectNoCarret.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectNoCarret/selectNoCarret.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAEhE;;GAEG;AAKH,MAAM,OAAO,cAAc;IAEvB,iEAAiE;IACjE,YAAY,MAAoC;QAE5C,MAAM,CAAC,aAAa;YACpB;gBACI,OAAO,EACP;oBACI,WAAW,EACX;wBACI,OAAO,EACP;4BACI,MAAM,EAAE,KAAK;yBAChB;qBACJ;iBACJ;aACmC,CAAC;IAC7C,CAAC;8GAlBQ,cAAc;kGAAd,cAAc;;2FAAd,cAAc;kBAJ1B,SAAS;mBACV;oBACI,QAAQ,EAAE,qBAAqB;iBAClC","sourcesContent":["import {Directive} from '@angular/core';\nimport {RecursivePartial} from '@jscrpt/common';\n\nimport {EditNormalStateOptions, SelectOptions} from '../../interfaces';\nimport {Select} from '../../components/select/select.component';\n\n/**\n * Directive used for hiding carret on Select (normal state)\n */\n@Directive(\n{\n selector: 'ng-select[noCarret]',\n})\nexport class SelectNoCarret<TValue = unknown, TPublicValue = TValue>\n{\n //######################### constructor #########################\n constructor(select: Select<TValue, TPublicValue>)\n {\n select.selectOptions =\n {\n plugins:\n {\n normalState:\n {\n options: <RecursivePartial<EditNormalStateOptions>>\n {\n carret: false,\n },\n },\n },\n } as SelectOptions<TValue, TPublicValue>;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectPlaceholder.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectPlaceholder/selectPlaceholder.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAc,MAAM,eAAe,CAAC;AAGpE,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAEhE;;GAEG;AAKH,MAAM,OAAO,iBAAiB;IAS1B,iEAAiE;IACjE,YAAY,
|
|
1
|
+
{"version":3,"file":"selectPlaceholder.directive.js","sourceRoot":"","sources":["../../../../src/directives/selectPlaceholder/selectPlaceholder.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAc,MAAM,eAAe,CAAC;AAGpE,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAEhE;;GAEG;AAKH,MAAM,OAAO,iBAAiB;IAS1B,iEAAiE;IACjE,YAAY,MAAoC;QARhD,gFAAgF;QAEhF;;WAEG;QACI,gBAAW,GAAwB,KAAK,CAAC,QAAQ,sDAAE,CAAC;QAKvD,MAAM,CAAC,GAAG,EAAE;YAER,MAAM,CAAC,aAAa;gBACpB;oBACI,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;iBACK,CAAC;QAC7C,CAAC,CAAC,CAAC;IACP,CAAC;8GAnBQ,iBAAiB;kGAAjB,iBAAiB;;2FAAjB,iBAAiB;kBAJ7B,SAAS;mBACV;oBACI,QAAQ,EAAE,wBAAwB;iBACrC","sourcesContent":["import {Directive, effect, input, InputSignal} from '@angular/core';\n\nimport {SelectOptions} from '../../interfaces';\nimport {Select} from '../../components/select/select.component';\n\n/**\n * Directive used for setting live search placeholder text\n */\n@Directive(\n{\n selector: 'ng-select[placeholder]',\n})\nexport class SelectPlaceholder<TValue = unknown, TPublicValue = TValue>\n{\n //######################### public properties - inputs #########################\n\n /**\n * Placeholder text used for Select\n */\n public placeholder: InputSignal<string> = input.required();\n\n //######################### constructor #########################\n constructor(select: Select<TValue, TPublicValue>)\n {\n effect(() =>\n {\n select.selectOptions =\n {\n placeholder: this.placeholder(),\n } as SelectOptions<TValue, TPublicValue>;\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withDirectAccess.directive.js","sourceRoot":"","sources":["../../../../src/directives/withDirectAccess/withDirectAccess.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAe,SAAS,EAAC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAEhE;;GAEG;AAKH,MAAM,OAAO,gBAAgB;IASzB,iEAAiE;IACjE,YAAY,
|
|
1
|
+
{"version":3,"file":"withDirectAccess.directive.js","sourceRoot":"","sources":["../../../../src/directives/withDirectAccess/withDirectAccess.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAe,SAAS,EAAC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,0CAA0C,CAAC;;;AAEhE;;GAEG;AAKH,MAAM,OAAO,gBAAgB;IASzB,iEAAiE;IACjE,YAAY,MAAoC;QARhD,wFAAwF;QAExF;;WAEG;QACI,UAAK,GAA4D,KAAK,CAA6C,SAAS,iDAAC,CAAC;QAKjI,MAAM,CAAC,GAAG,EAAE;YAER,IAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EACxB,CAAC;gBACG,OAAO;YACX,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAE3B,SAAS,CAAC,GAAG,EAAE;gBAEX,IAAG,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,EAC3E,CAAC;oBACG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACpE,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,EAAE;YAER,IAAG,CAAC,MAAM,CAAC,WAAW,EAAE,EACxB,CAAC;gBACG,OAAO;YACX,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;YAEtE,SAAS,CAAC,GAAG,EAAE;gBAEX,IAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,EAChC,CAAC;oBACG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;8GA/CQ,gBAAgB;kGAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAJ5B,SAAS;mBACV;oBACI,QAAQ,EAAE,6BAA6B;iBAC1C","sourcesContent":["import {Directive, effect, model, ModelSignal, untracked} from '@angular/core';\nimport {isEqual} from 'lodash-es';\n\nimport {SelectPluginType} from '../../misc/enums';\nimport {Select} from '../../components/select/select.component';\n\n/**\n * Directive that allows direct access to select properties using inputs, outputs\n */\n@Directive(\n{\n selector: 'ng-select[withDirectAccess]',\n})\nexport class WithDirectAccess<TValue = unknown, TPublicValue = TValue>\n{\n //######################### public properties - inputs/outputs #########################\n\n /**\n * Value of the Select to be set\n */\n public value: ModelSignal<TPublicValue|TPublicValue[]|undefined|null> = model<TPublicValue|TPublicValue[]|undefined|null>(undefined);\n\n //######################### constructor #########################\n constructor(select: Select<TValue, TPublicValue>,)\n {\n effect(() =>\n {\n if(!select.initialized())\n {\n return;\n }\n\n const value = this.value();\n\n untracked(() =>\n {\n if(!isEqual(select.getPlugin(SelectPluginType.ValueHandler).value(), value))\n {\n select.getPlugin(SelectPluginType.ValueHandler).setValue(value);\n }\n });\n });\n\n effect(() =>\n {\n if(!select.initialized())\n {\n return;\n }\n\n const value = select.getPlugin(SelectPluginType.ValueHandler).value();\n\n untracked(() =>\n {\n if(!isEqual(this.value(), value))\n {\n this.value.set(value);\n }\n });\n });\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalStateContext.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/normalStateContext/normalStateContext.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {NormalState} from '../plugins';\n\n/**\n * Context for template that is used within normal state plugin for rendering content\n */\nexport interface NormalStateContext<TValue = unknown>\n{\n /**\n * Instance of plugin itself\n */\n $implicit: NormalState<TValue>;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"normalStateContext.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/normalStateContext/normalStateContext.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {NormalState} from '../plugins';\n\n/**\n * Context for template that is used within normal state plugin for rendering content\n */\nexport interface NormalStateContext<TValue = unknown, TPublicValue = TValue>\n{\n /**\n * Instance of plugin itself\n */\n $implicit: NormalState<TValue, TPublicValue>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalStateTagContext.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/normalStateTagContext/normalStateTagContext.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {NormalState} from '../plugins';\nimport {SelectOptionState} from '../selectOptionState/selectOptionState.interface';\n\n/**\n * Context for template that is used within normal state plugin for rendering tag\n */\nexport interface NormalStateTagContext<TValue = unknown>\n{\n /**\n * Instance of rendered option\n */\n $implicit: SelectOptionState<TValue>;\n\n /**\n * Instance of plugin itself\n */\n normalState: NormalState<TValue>;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"normalStateTagContext.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/normalStateTagContext/normalStateTagContext.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {NormalState} from '../plugins';\nimport {SelectOptionState} from '../selectOptionState/selectOptionState.interface';\n\n/**\n * Context for template that is used within normal state plugin for rendering tag\n */\nexport interface NormalStateTagContext<TValue = unknown, TPublicValue = TValue>\n{\n /**\n * Instance of rendered option\n */\n $implicit: SelectOptionState<TValue>;\n\n /**\n * Instance of plugin itself\n */\n normalState: NormalState<TValue, TPublicValue>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluginDescription.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/pluginDescription/pluginDescription.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {Type} from '@angular/core';\nimport {RecursivePartial} from '@jscrpt/common';\n\nimport {
|
|
1
|
+
{"version":3,"file":"pluginDescription.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/pluginDescription/pluginDescription.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {Type} from '@angular/core';\nimport {RecursivePartial} from '@jscrpt/common';\n\nimport {PluginOptions} from '../pluginOptions/pluginOptions.interface';\n\n/**\n * Description of plugin, used for creating plugin instance\n */\nexport interface PluginDescription<PluginType = unknown, TOptions extends PluginOptions = PluginOptions>\n{\n /**\n * Type of plugin that will be dynamically instantiated\n */\n type: Type<PluginType>|undefined|null;\n\n /**\n * Options that will be passed to dynamically instantiated plugin\n */\n options: RecursivePartial<TOptions>|undefined|null;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/interactions/interactions.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {PluginOptions} from '../../pluginOptions/pluginOptions.interface';\nimport {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\n\n/**\n * Options for interactions plugin\n */\nexport interface InteractionsOptions extends PluginOptions\n{\n //######################### properties #########################\n\n /**\n * Indication whether click outside should be handled by plugin. If true, click outside will close popup\n */\n handleClickOutside: boolean;\n}\n\n/**\n * Interactions plugin interface\n */\nexport interface Interactions<TValue = unknown, TOptions extends InteractionsOptions = InteractionsOptions, TAction = string> extends SelectPlugin<TOptions, TValue, TAction>\n{\n}\n"]}
|
|
1
|
+
{"version":3,"file":"interactions.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/interactions/interactions.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {PluginOptions} from '../../pluginOptions/pluginOptions.interface';\nimport {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\n\n/**\n * Options for interactions plugin\n */\nexport interface InteractionsOptions extends PluginOptions\n{\n //######################### properties #########################\n\n /**\n * Indication whether click outside should be handled by plugin. If true, click outside will close popup\n */\n handleClickOutside: boolean;\n}\n\n/**\n * Interactions plugin interface\n */\nexport interface Interactions<TValue = unknown, TPublicValue = TValue, TOptions extends InteractionsOptions = InteractionsOptions, TAction = string> extends SelectPlugin<TOptions, TValue, TPublicValue, TAction>\n{\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyboardHandler.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/keyboardHandler/keyboardHandler.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {PluginOptions} from '../../pluginOptions/pluginOptions.interface';\nimport {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\n\n/**\n * Options for keyboard handler plugin\n */\nexport interface KeyboardHandlerOptions extends PluginOptions\n{\n}\n\n/**\n * Keyboard handler plugin interface\n */\nexport interface KeyboardHandler<TValue = unknown, TOptions extends KeyboardHandlerOptions = KeyboardHandlerOptions, TAction = string> extends SelectPlugin<TOptions, TValue, TAction>\n{\n}\n"]}
|
|
1
|
+
{"version":3,"file":"keyboardHandler.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/keyboardHandler/keyboardHandler.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {PluginOptions} from '../../pluginOptions/pluginOptions.interface';\nimport {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\n\n/**\n * Options for keyboard handler plugin\n */\nexport interface KeyboardHandlerOptions extends PluginOptions\n{\n}\n\n/**\n * Keyboard handler plugin interface\n */\nexport interface KeyboardHandler<TValue = unknown, TPublicValue = TValue, TOptions extends KeyboardHandlerOptions = KeyboardHandlerOptions, TAction = string> extends SelectPlugin<TOptions, TValue, TPublicValue, TAction>\n{\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"liveSearch.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/liveSearch/liveSearch.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {Signal} from '@angular/core';\n\nimport {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\nimport {VisualPluginOptions} from '../../visualPluginOptions/visualPluginOptions.interface';\n\n/**\n * Css classes for live search\n */\nexport interface LiveSearchCssClasses\n{\n /**\n * Applied to HTML element that represents whole component\n */\n componentElement: string;\n}\n\n/**\n * Options for live search plugin\n */\nexport interface LiveSearchOptions<TCssClasses extends LiveSearchCssClasses = LiveSearchCssClasses> extends VisualPluginOptions<TCssClasses>\n{\n //######################### properties #########################\n\n /**\n * Time in milliseconds after which search value will be emitted after user stops typing\n */\n searchDebounceTimeout: number;\n}\n\n/**\n * Live search plugin interface\n */\nexport interface LiveSearch<TValue = unknown, TOptions extends LiveSearchOptions = LiveSearchOptions> extends SelectPlugin<TOptions, TValue>\n{\n //######################### properties #########################\n\n /**\n * Text of search value\n */\n readonly search: Signal<string>;\n\n /**\n * Indication whether input search value is empty\n */\n readonly emptyInput: Signal<boolean>;\n\n //######################### methods #########################\n\n /**\n * Sets focus on plugin element\n */\n focus(): void;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"liveSearch.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/liveSearch/liveSearch.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {Signal} from '@angular/core';\n\nimport {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\nimport {VisualPluginOptions} from '../../visualPluginOptions/visualPluginOptions.interface';\n\n/**\n * Css classes for live search\n */\nexport interface LiveSearchCssClasses\n{\n /**\n * Applied to HTML element that represents whole component\n */\n componentElement: string;\n}\n\n/**\n * Options for live search plugin\n */\nexport interface LiveSearchOptions<TCssClasses extends LiveSearchCssClasses = LiveSearchCssClasses> extends VisualPluginOptions<TCssClasses>\n{\n //######################### properties #########################\n\n /**\n * Time in milliseconds after which search value will be emitted after user stops typing\n */\n searchDebounceTimeout: number;\n}\n\n/**\n * Live search plugin interface\n */\nexport interface LiveSearch<TValue = unknown, TPublicValue = TValue, TOptions extends LiveSearchOptions = LiveSearchOptions> extends SelectPlugin<TOptions, TValue, TPublicValue>\n{\n //######################### properties #########################\n\n /**\n * Text of search value\n */\n readonly search: Signal<string>;\n\n /**\n * Indication whether input search value is empty\n */\n readonly emptyInput: Signal<boolean>;\n\n //######################### methods #########################\n\n /**\n * Sets focus on plugin element\n */\n focus(): void;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalState.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/normalState/normalState.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\nimport {VisualPluginOptions} from '../../visualPluginOptions/visualPluginOptions.interface';\n\n/**\n * Texts that are used within normal state plugin\n */\nexport interface NormalStateTexts\n{\n //######################### properties #########################\n\n /**\n * Title for cancel button\n */\n cancelTitle: string;\n}\n\n/**\n * CSS classes for normal state plugin\n */\nexport interface NormalStateCssClasses\n{\n}\n\n/**\n * Options for normal state plugin\n */\nexport interface NormalStateOptions<TCssClasses extends NormalStateCssClasses = NormalStateCssClasses> extends VisualPluginOptions<TCssClasses>\n{\n //######################### properties #########################\n\n /**\n * Indication whether allow cancel value\n */\n cancelValue: boolean;\n\n /**\n * Texts used within normal state plugin\n */\n texts: NormalStateTexts;\n}\n\n/**\n * Normal state plugin interface\n */\nexport interface NormalState<TValue = unknown, TOptions extends NormalStateOptions = NormalStateOptions> extends SelectPlugin<TOptions, TValue>\n{\n //######################### methods #########################\n\n /**\n * Sets focus on plugin element\n */\n focus(): void;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"normalState.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/normalState/normalState.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\nimport {VisualPluginOptions} from '../../visualPluginOptions/visualPluginOptions.interface';\n\n/**\n * Texts that are used within normal state plugin\n */\nexport interface NormalStateTexts\n{\n //######################### properties #########################\n\n /**\n * Title for cancel button\n */\n cancelTitle: string;\n}\n\n/**\n * CSS classes for normal state plugin\n */\nexport interface NormalStateCssClasses\n{\n}\n\n/**\n * Options for normal state plugin\n */\nexport interface NormalStateOptions<TCssClasses extends NormalStateCssClasses = NormalStateCssClasses> extends VisualPluginOptions<TCssClasses>\n{\n //######################### properties #########################\n\n /**\n * Indication whether allow cancel value\n */\n cancelValue: boolean;\n\n /**\n * Texts used within normal state plugin\n */\n texts: NormalStateTexts;\n}\n\n/**\n * Normal state plugin interface\n */\nexport interface NormalState<TValue = unknown, TPublicValue = TValue, TOptions extends NormalStateOptions = NormalStateOptions> extends SelectPlugin<TOptions, TValue, TPublicValue>\n{\n //######################### methods #########################\n\n /**\n * Sets focus on plugin element\n */\n focus(): void;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optionsHandler.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/optionsHandler/optionsHandler.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {Signal} from '@angular/core';\n\nimport {PluginOptions} from '../../pluginOptions/pluginOptions.interface';\nimport {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\nimport {SelectOptionState} from '../../selectOptionState/selectOptionState.interface';\nimport {NewOptionGetterFunc} from '../../../misc/types';\n\n/**\n * Options for options handler plugin\n */\nexport interface OptionsHandlerOptions<TValue = unknown> extends PluginOptions\n{\n //######################### properties #########################\n\n /**\n * Allows adding new option to select when defined\n */\n newOptionGetter: NewOptionGetterFunc<TValue>|undefined|null;\n}\n\n/**\n * Options handler plugin interface\n */\nexport interface OptionsHandler<TValue = unknown, TOptions extends OptionsHandlerOptions<TValue> = OptionsHandlerOptions<TValue>> extends SelectPlugin<TOptions, TValue>\n{\n //######################### properties #########################\n\n /**\n * Array of options that are available for processing\n */\n readonly availableOptions: Signal<readonly SelectOptionState<TValue>[]|undefined|null>;\n\n /**\n * Array of options that are available for listing/displaying\n */\n readonly listOptions: Signal<readonly SelectOptionState<TValue>[]|undefined|null>;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"optionsHandler.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/optionsHandler/optionsHandler.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {Signal} from '@angular/core';\n\nimport {PluginOptions} from '../../pluginOptions/pluginOptions.interface';\nimport {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\nimport {SelectOptionState} from '../../selectOptionState/selectOptionState.interface';\nimport {NewOptionGetterFunc} from '../../../misc/types';\n\n/**\n * Options for options handler plugin\n */\nexport interface OptionsHandlerOptions<TValue = unknown> extends PluginOptions\n{\n //######################### properties #########################\n\n /**\n * Allows adding new option to select when defined\n */\n newOptionGetter: NewOptionGetterFunc<TValue>|undefined|null;\n\n /**\n * Indication that add new option only when there are no options available\n */\n newOptionOnlyWhenNoOptions: boolean;\n}\n\n/**\n * Options handler plugin interface\n */\nexport interface OptionsHandler<TValue = unknown, TPublicValue = TValue, TOptions extends OptionsHandlerOptions<TValue> = OptionsHandlerOptions<TValue>> extends SelectPlugin<TOptions, TValue, TPublicValue>\n{\n //######################### properties #########################\n\n /**\n * Array of options that are available for processing\n */\n readonly availableOptions: Signal<readonly SelectOptionState<TValue>[]|undefined|null>;\n\n /**\n * Array of options that are available for listing/displaying\n */\n readonly listOptions: Signal<readonly SelectOptionState<TValue>[]|undefined|null>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popup.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/popup/popup.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\nimport {VisualPluginOptions} from '../../visualPluginOptions/visualPluginOptions.interface';\n\n/**\n * Texts that are used within Popup\n */\nexport interface PopupTexts\n{\n /**\n * Displayed when there are no available options to be displayed\n */\n noAvailableOptions: string;\n\n /**\n * Displayed when add new option is displayed\n */\n addNewOption: string;\n\n /**\n * ARIA label for options list\n */\n optionsList: string;\n}\n\n/**\n * CSS classes for pupup plugin\n */\nexport interface PopupCssClasses\n{\n}\n\n/**\n * Options for popup plugin\n */\nexport interface PopupOptions<TCssClasses extends PopupCssClasses = PopupCssClasses> extends VisualPluginOptions<TCssClasses>\n{\n //######################### properties #########################\n\n /**\n * Indication whether are popup options visible, or not, force popup to be visible if set to true\n */\n visible: boolean;\n\n /**\n * Texts that are used within any Popup\n */\n texts: PopupTexts;\n\n /**\n * Indication whether is live search enabled for popup\n */\n liveSearchEnabled: boolean;\n}\n\n/**\n * Popup plugin interface\n */\nexport interface Popup<TValue = unknown, TOptions extends PopupOptions = PopupOptions> extends SelectPlugin<TOptions, TValue>\n{\n}\n"]}
|
|
1
|
+
{"version":3,"file":"popup.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/popup/popup.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\nimport {VisualPluginOptions} from '../../visualPluginOptions/visualPluginOptions.interface';\n\n/**\n * Texts that are used within Popup\n */\nexport interface PopupTexts\n{\n /**\n * Displayed when there are no available options to be displayed\n */\n noAvailableOptions: string;\n\n /**\n * Displayed when add new option is displayed\n */\n addNewOption: string;\n\n /**\n * ARIA label for options list\n */\n optionsList: string;\n}\n\n/**\n * CSS classes for pupup plugin\n */\nexport interface PopupCssClasses\n{\n}\n\n/**\n * Options for popup plugin\n */\nexport interface PopupOptions<TCssClasses extends PopupCssClasses = PopupCssClasses> extends VisualPluginOptions<TCssClasses>\n{\n //######################### properties #########################\n\n /**\n * Indication whether are popup options visible, or not, force popup to be visible if set to true\n */\n visible: boolean;\n\n /**\n * Texts that are used within any Popup\n */\n texts: PopupTexts;\n\n /**\n * Indication whether is live search enabled for popup\n */\n liveSearchEnabled: boolean;\n}\n\n/**\n * Popup plugin interface\n */\nexport interface Popup<TValue = unknown, TPublicValue = TValue, TOptions extends PopupOptions = PopupOptions> extends SelectPlugin<TOptions, TValue, TPublicValue>\n{\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"positioner.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/positioner/positioner.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {PluginOptions} from '../../pluginOptions/pluginOptions.interface';\nimport {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\n\n/**\n * Options for positioner plugin\n */\nexport interface PositionerOptions extends PluginOptions\n{\n}\n\n/**\n * Positioner plugin interface\n */\nexport interface Positioner<TValue = unknown, TOptions extends PositionerOptions = PositionerOptions> extends SelectPlugin<TOptions, TValue>\n{\n}\n"]}
|
|
1
|
+
{"version":3,"file":"positioner.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/positioner/positioner.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {PluginOptions} from '../../pluginOptions/pluginOptions.interface';\nimport {SelectPlugin} from '../../selectPlugin/selectPlugin.interface';\n\n/**\n * Options for positioner plugin\n */\nexport interface PositionerOptions extends PluginOptions\n{\n}\n\n/**\n * Positioner plugin interface\n */\nexport interface Positioner<TValue = unknown, TPublicValue = TValue, TOptions extends PositionerOptions = PositionerOptions> extends SelectPlugin<TOptions, TValue, TPublicValue>\n{\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readonlyState.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/readonlyState/readonlyState.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {NormalState, NormalStateCssClasses, NormalStateOptions} from '../normalState/normalState.interface';\n\n/**\n * CSS classes for readonly state plugin\n */\nexport interface ReadonlyStateCssClasses extends NormalStateCssClasses\n{\n}\n\n/**\n * Options for readonly state plugin\n */\nexport interface ReadonlyStateOptions<TCssClasses extends ReadonlyStateCssClasses = ReadonlyStateCssClasses> extends NormalStateOptions<TCssClasses>\n{\n}\n\n/**\n * Readonly state plugin interface\n */\nexport interface ReadonlyState<TValue = unknown> extends NormalState<TValue>\n{\n}\n"]}
|
|
1
|
+
{"version":3,"file":"readonlyState.interface.js","sourceRoot":"","sources":["../../../../../src/interfaces/plugins/readonlyState/readonlyState.interface.ts"],"names":[],"mappings":"","sourcesContent":["import {NormalState, NormalStateCssClasses, NormalStateOptions} from '../normalState/normalState.interface';\n\n/**\n * CSS classes for readonly state plugin\n */\nexport interface ReadonlyStateCssClasses extends NormalStateCssClasses\n{\n}\n\n/**\n * Options for readonly state plugin\n */\nexport interface ReadonlyStateOptions<TCssClasses extends ReadonlyStateCssClasses = ReadonlyStateCssClasses> extends NormalStateOptions<TCssClasses>\n{\n}\n\n/**\n * Readonly state plugin interface\n */\nexport interface ReadonlyState<TValue = unknown, TPublicValue = TValue> extends NormalState<TValue, TPublicValue>\n{\n}\n"]}
|