@anglr/select 12.0.0 → 12.1.0-beta.20250516040933
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 +11 -0
- package/es2015/elements/src/components/ngSelectElements.component.js +3 -3
- package/es2015/elements/src/components/ngSelectElements.component.js.map +1 -1
- package/es2015/elements/src/modules/ngSelectElements.module.js +4 -4
- package/es2015/elements/src/modules/ngSelectElements.module.js.map +1 -1
- package/es2015/material/src/components/basicDialogPopup/basicDialogPopup.component.js +3 -3
- package/es2015/material/src/components/basicDialogPopup/basicDialogPopup.component.js.map +1 -1
- package/es2015/material/src/directives/dialogPopup/dialogPopup.directive.js +3 -3
- package/es2015/material/src/directives/dialogPopup/dialogPopup.directive.js.map +1 -1
- package/es2015/material/src/modules/dialogPopup.module.js +4 -4
- package/es2015/material/src/modules/dialogPopup.module.js.map +1 -1
- package/es2015/material/src/modules/virtualEditPopup.module.js +4 -4
- package/es2015/material/src/modules/virtualEditPopup.module.js.map +1 -1
- package/es2015/material/src/plugins/popup/dialog/dialogPopup.component.js +3 -3
- package/es2015/material/src/plugins/popup/dialog/dialogPopup.component.js.map +1 -1
- package/es2015/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js +3 -3
- package/es2015/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js.map +1 -1
- package/es2015/src/components/option/optgroup.component.js +3 -3
- package/es2015/src/components/option/optgroup.component.js.map +1 -1
- package/es2015/src/components/option/option.component.js +3 -3
- package/es2015/src/components/option/option.component.js.map +1 -1
- package/es2015/src/components/select/select.component.js +6 -6
- package/es2015/src/components/select/select.component.js.map +1 -1
- package/es2015/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js +3 -3
- package/es2015/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js.map +1 -1
- package/es2015/src/directives/ngSelectEdit/ngSelectEdit.directive.js +3 -3
- package/es2015/src/directives/ngSelectEdit/ngSelectEdit.directive.js.map +1 -1
- package/es2015/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js +3 -3
- package/es2015/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js.map +1 -1
- package/es2015/src/misc/ngSelectControlValueAccessor.directive.js +3 -3
- package/es2015/src/misc/ngSelectControlValueAccessor.directive.js.map +1 -1
- package/es2015/src/misc/ngSelectOptions.interface.js.map +1 -1
- package/es2015/src/misc/pluginBus/pluginBus.js +3 -3
- package/es2015/src/misc/pluginBus/pluginBus.js.map +1 -1
- package/es2015/src/modules/ngSelect.module.js +4 -4
- package/es2015/src/modules/ngSelect.module.js.map +1 -1
- package/es2015/src/modules/ngSelectDynamic.module.js +4 -4
- package/es2015/src/modules/ngSelectDynamic.module.js.map +1 -1
- package/es2015/src/modules/ngSelectEdit.module.js +4 -4
- package/es2015/src/modules/ngSelectEdit.module.js.map +1 -1
- package/es2015/src/pipes/ngSelectHasValue.pipe.js +3 -3
- package/es2015/src/pipes/ngSelectHasValue.pipe.js.map +1 -1
- package/es2015/src/pipes/ngSelectValue.pipe.js +3 -3
- package/es2015/src/pipes/ngSelectValue.pipe.js.map +1 -1
- package/es2015/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js +3 -3
- package/es2015/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js.map +1 -1
- package/es2015/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js +3 -3
- package/es2015/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js.map +1 -1
- package/es2015/src/plugins/liveSearch/basic/basicLiveSearch.component.js +3 -3
- package/es2015/src/plugins/liveSearch/basic/basicLiveSearch.component.js.map +1 -1
- package/es2015/src/plugins/liveSearch/edit/editLiveSearch.component.js +3 -3
- package/es2015/src/plugins/liveSearch/edit/editLiveSearch.component.js.map +1 -1
- package/es2015/src/plugins/liveSearch/no/noLiveSearch.component.js +3 -3
- package/es2015/src/plugins/liveSearch/no/noLiveSearch.component.js.map +1 -1
- package/es2015/src/plugins/normalState/basic/basicNormalState.component.js +3 -3
- package/es2015/src/plugins/normalState/basic/basicNormalState.component.js.map +1 -1
- package/es2015/src/plugins/normalState/edit/editNormalState.component.js +3 -3
- package/es2015/src/plugins/normalState/edit/editNormalState.component.js.map +1 -1
- package/es2015/src/plugins/normalState/normalStateAbstract.component.js +3 -3
- package/es2015/src/plugins/normalState/normalStateAbstract.component.js.map +1 -1
- package/es2015/src/plugins/popup/basic/basicPopup.component.js +3 -3
- package/es2015/src/plugins/popup/basic/basicPopup.component.js.map +1 -1
- package/es2015/src/plugins/popup/edit/editPopup.component.js +3 -3
- package/es2015/src/plugins/popup/edit/editPopup.component.js.map +1 -1
- package/es2015/src/plugins/popup/popupAbstract.component.js +3 -3
- package/es2015/src/plugins/popup/popupAbstract.component.js.map +1 -1
- package/es2015/src/plugins/positioner/default/defaultPositioner.component.js +3 -3
- package/es2015/src/plugins/positioner/default/defaultPositioner.component.js.map +1 -1
- package/es2015/src/plugins/positioner/no/noPositioner.component.js +3 -3
- package/es2015/src/plugins/positioner/no/noPositioner.component.js.map +1 -1
- package/es2015/src/plugins/valueHandler/basic/basicValueHandler.component.js +3 -3
- package/es2015/src/plugins/valueHandler/basic/basicValueHandler.component.js.map +1 -1
- package/es2015/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js +3 -3
- package/es2015/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js.map +1 -1
- package/es2015/src/plugins/valueHandler/valueHandlerBase.js +3 -3
- package/es2015/src/plugins/valueHandler/valueHandlerBase.js.map +1 -1
- package/es2020/elements/src/components/ngSelectElements.component.js +3 -3
- package/es2020/elements/src/components/ngSelectElements.component.js.map +1 -1
- package/es2020/elements/src/modules/ngSelectElements.module.js +4 -4
- package/es2020/elements/src/modules/ngSelectElements.module.js.map +1 -1
- package/es2020/material/src/components/basicDialogPopup/basicDialogPopup.component.js +3 -3
- package/es2020/material/src/components/basicDialogPopup/basicDialogPopup.component.js.map +1 -1
- package/es2020/material/src/directives/dialogPopup/dialogPopup.directive.js +3 -3
- package/es2020/material/src/directives/dialogPopup/dialogPopup.directive.js.map +1 -1
- package/es2020/material/src/modules/dialogPopup.module.js +4 -4
- package/es2020/material/src/modules/dialogPopup.module.js.map +1 -1
- package/es2020/material/src/modules/virtualEditPopup.module.js +4 -4
- package/es2020/material/src/modules/virtualEditPopup.module.js.map +1 -1
- package/es2020/material/src/plugins/popup/dialog/dialogPopup.component.js +3 -3
- package/es2020/material/src/plugins/popup/dialog/dialogPopup.component.js.map +1 -1
- package/es2020/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js +3 -3
- package/es2020/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js.map +1 -1
- package/es2020/src/components/option/optgroup.component.js +3 -3
- package/es2020/src/components/option/optgroup.component.js.map +1 -1
- package/es2020/src/components/option/option.component.js +3 -3
- package/es2020/src/components/option/option.component.js.map +1 -1
- package/es2020/src/components/select/select.component.js +6 -6
- package/es2020/src/components/select/select.component.js.map +1 -1
- package/es2020/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js +3 -3
- package/es2020/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js.map +1 -1
- package/es2020/src/directives/ngSelectEdit/ngSelectEdit.directive.js +3 -3
- package/es2020/src/directives/ngSelectEdit/ngSelectEdit.directive.js.map +1 -1
- package/es2020/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js +3 -3
- package/es2020/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js.map +1 -1
- package/es2020/src/misc/ngSelectControlValueAccessor.directive.js +3 -3
- package/es2020/src/misc/ngSelectControlValueAccessor.directive.js.map +1 -1
- package/es2020/src/misc/ngSelectOptions.interface.js.map +1 -1
- package/es2020/src/misc/pluginBus/pluginBus.js +3 -3
- package/es2020/src/misc/pluginBus/pluginBus.js.map +1 -1
- package/es2020/src/modules/ngSelect.module.js +4 -4
- package/es2020/src/modules/ngSelect.module.js.map +1 -1
- package/es2020/src/modules/ngSelectDynamic.module.js +4 -4
- package/es2020/src/modules/ngSelectDynamic.module.js.map +1 -1
- package/es2020/src/modules/ngSelectEdit.module.js +4 -4
- package/es2020/src/modules/ngSelectEdit.module.js.map +1 -1
- package/es2020/src/pipes/ngSelectHasValue.pipe.js +3 -3
- package/es2020/src/pipes/ngSelectHasValue.pipe.js.map +1 -1
- package/es2020/src/pipes/ngSelectValue.pipe.js +3 -3
- package/es2020/src/pipes/ngSelectValue.pipe.js.map +1 -1
- package/es2020/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js +3 -3
- package/es2020/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js.map +1 -1
- package/es2020/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js +3 -3
- package/es2020/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js.map +1 -1
- package/es2020/src/plugins/liveSearch/basic/basicLiveSearch.component.js +3 -3
- package/es2020/src/plugins/liveSearch/basic/basicLiveSearch.component.js.map +1 -1
- package/es2020/src/plugins/liveSearch/edit/editLiveSearch.component.js +3 -3
- package/es2020/src/plugins/liveSearch/edit/editLiveSearch.component.js.map +1 -1
- package/es2020/src/plugins/liveSearch/no/noLiveSearch.component.js +3 -3
- package/es2020/src/plugins/liveSearch/no/noLiveSearch.component.js.map +1 -1
- package/es2020/src/plugins/normalState/basic/basicNormalState.component.js +3 -3
- package/es2020/src/plugins/normalState/basic/basicNormalState.component.js.map +1 -1
- package/es2020/src/plugins/normalState/edit/editNormalState.component.js +3 -3
- package/es2020/src/plugins/normalState/edit/editNormalState.component.js.map +1 -1
- package/es2020/src/plugins/normalState/normalStateAbstract.component.js +3 -3
- package/es2020/src/plugins/normalState/normalStateAbstract.component.js.map +1 -1
- package/es2020/src/plugins/popup/basic/basicPopup.component.js +3 -3
- package/es2020/src/plugins/popup/basic/basicPopup.component.js.map +1 -1
- package/es2020/src/plugins/popup/edit/editPopup.component.js +3 -3
- package/es2020/src/plugins/popup/edit/editPopup.component.js.map +1 -1
- package/es2020/src/plugins/popup/popupAbstract.component.js +3 -3
- package/es2020/src/plugins/popup/popupAbstract.component.js.map +1 -1
- package/es2020/src/plugins/positioner/default/defaultPositioner.component.js +3 -3
- package/es2020/src/plugins/positioner/default/defaultPositioner.component.js.map +1 -1
- package/es2020/src/plugins/positioner/no/noPositioner.component.js +3 -3
- package/es2020/src/plugins/positioner/no/noPositioner.component.js.map +1 -1
- package/es2020/src/plugins/valueHandler/basic/basicValueHandler.component.js +3 -3
- package/es2020/src/plugins/valueHandler/basic/basicValueHandler.component.js.map +1 -1
- package/es2020/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js +3 -3
- package/es2020/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js.map +1 -1
- package/es2020/src/plugins/valueHandler/valueHandlerBase.js +3 -3
- package/es2020/src/plugins/valueHandler/valueHandlerBase.js.map +1 -1
- package/package.json +1 -1
- package/src/misc/ngSelectOptions.interface.d.ts +6 -0
- package/src/misc/ngSelectOptions.interface.d.ts.map +1 -1
- package/version.bak +1 -1
|
@@ -12,8 +12,8 @@ import * as i0 from "@angular/core";
|
|
|
12
12
|
*/
|
|
13
13
|
export class NgSelectEditModule {
|
|
14
14
|
}
|
|
15
|
-
NgSelectEditModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
16
|
-
NgSelectEditModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.
|
|
15
|
+
NgSelectEditModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgSelectEditModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16
|
+
NgSelectEditModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NgSelectEditModule, declarations: [NgSelectEditDirective,
|
|
17
17
|
EditNormalStateComponent,
|
|
18
18
|
EditLiveSearchComponent,
|
|
19
19
|
EditPopupComponent,
|
|
@@ -23,9 +23,9 @@ NgSelectEditModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", vers
|
|
|
23
23
|
EditLiveSearchComponent,
|
|
24
24
|
EditPopupComponent,
|
|
25
25
|
EditKeyboardHandlerComponent] });
|
|
26
|
-
NgSelectEditModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.
|
|
26
|
+
NgSelectEditModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgSelectEditModule, imports: [CommonModule,
|
|
27
27
|
NgSelectModule] });
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgSelectEditModule, decorators: [{
|
|
29
29
|
type: NgModule,
|
|
30
30
|
args: [{
|
|
31
31
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngSelectEdit.module.js","sourceRoot":"","sources":["../../../src/modules/ngSelectEdit.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAC,qBAAqB,EAAC,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAC,wBAAwB,EAAC,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAC,uBAAuB,EAAC,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAC,kBAAkB,EAAC,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAC,4BAA4B,EAAC,MAAM,+DAA+D,CAAC;AAC3G,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;;AAEjD;;GAEG;AAyBH,MAAM,OAAO,kBAAkB
|
|
1
|
+
{"version":3,"file":"ngSelectEdit.module.js","sourceRoot":"","sources":["../../../src/modules/ngSelectEdit.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAC,qBAAqB,EAAC,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAC,wBAAwB,EAAC,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAC,uBAAuB,EAAC,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAC,kBAAkB,EAAC,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAC,4BAA4B,EAAC,MAAM,+DAA+D,CAAC;AAC3G,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;;AAEjD;;GAEG;AAyBH,MAAM,OAAO,kBAAkB;;gHAAlB,kBAAkB;iHAAlB,kBAAkB,iBAfvB,qBAAqB;QACrB,wBAAwB;QACxB,uBAAuB;QACvB,kBAAkB;QAClB,4BAA4B,aAT5B,YAAY;QACZ,cAAc,aAYd,qBAAqB;QACrB,wBAAwB;QACxB,uBAAuB;QACvB,kBAAkB;QAClB,4BAA4B;iHAGvB,kBAAkB,YApBvB,YAAY;QACZ,cAAc;4FAmBT,kBAAkB;kBAxB9B,QAAQ;mBACT;oBACI,OAAO,EACP;wBACI,YAAY;wBACZ,cAAc;qBACjB;oBACD,YAAY,EACZ;wBACI,qBAAqB;wBACrB,wBAAwB;wBACxB,uBAAuB;wBACvB,kBAAkB;wBAClB,4BAA4B;qBAC/B;oBACD,OAAO,EACP;wBACI,qBAAqB;wBACrB,wBAAwB;wBACxB,uBAAuB;wBACvB,kBAAkB;wBAClB,4BAA4B;qBAC/B;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\nimport {NgSelectEditDirective} from '../directives/ngSelectEdit/ngSelectEdit.directive';\nimport {EditNormalStateComponent} from '../plugins/normalState/edit/editNormalState.component';\nimport {EditLiveSearchComponent} from '../plugins/liveSearch/edit/editLiveSearch.component';\nimport {EditPopupComponent} from '../plugins/popup/edit/editPopup.component';\nimport {EditKeyboardHandlerComponent} from '../plugins/keyboardHandler/edit/editKeyboardHandler.component';\nimport {NgSelectModule} from './ngSelect.module';\n\n/**\n * Module for select with editation and tags (jira like select)\n */\n@NgModule(\n{\n imports:\n [\n CommonModule,\n NgSelectModule\n ],\n declarations:\n [\n NgSelectEditDirective,\n EditNormalStateComponent,\n EditLiveSearchComponent,\n EditPopupComponent,\n EditKeyboardHandlerComponent\n ],\n exports:\n [\n NgSelectEditDirective,\n EditNormalStateComponent,\n EditLiveSearchComponent,\n EditPopupComponent,\n EditKeyboardHandlerComponent\n ]\n})\nexport class NgSelectEditModule\n{\n}"]}
|
|
@@ -14,9 +14,9 @@ export class NgSelectHasValuePipe {
|
|
|
14
14
|
return !(isBlank(options) || (Array.isArray(options) && !options.length));
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
NgSelectHasValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
18
|
-
NgSelectHasValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
17
|
+
NgSelectHasValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgSelectHasValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
18
|
+
NgSelectHasValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NgSelectHasValuePipe, name: "ngSelectHasValue" });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgSelectHasValuePipe, decorators: [{
|
|
20
20
|
type: Pipe,
|
|
21
21
|
args: [{ name: 'ngSelectHasValue' }]
|
|
22
22
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngSelectHasValue.pipe.js","sourceRoot":"","sources":["../../../src/pipes/ngSelectHasValue.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAgB,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;;AAIvC;;GAEG;AAEH,MAAM,OAAO,oBAAoB;IAE7B,oEAAoE;IAEpE;;;OAGG;IACI,SAAS,CAAC,OAA6D;QAE1E,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;;
|
|
1
|
+
{"version":3,"file":"ngSelectHasValue.pipe.js","sourceRoot":"","sources":["../../../src/pipes/ngSelectHasValue.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAgB,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;;AAIvC;;GAEG;AAEH,MAAM,OAAO,oBAAoB;IAE7B,oEAAoE;IAEpE;;;OAGG;IACI,SAAS,CAAC,OAA6D;QAE1E,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;;kHAXQ,oBAAoB;gHAApB,oBAAoB;4FAApB,oBAAoB;kBADhC,IAAI;mBAAC,EAAC,IAAI,EAAE,kBAAkB,EAAC","sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {isBlank} from '@jscrpt/common';\n\nimport {NgSelectOption} from '../components/option';\n\n/**\n * Pipe that checks whether select has currently any option\n */\n@Pipe({name: 'ngSelectHasValue'})\nexport class NgSelectHasValuePipe<TValue = any> implements PipeTransform\n{\n //######################### public methods #########################\n \n /**\n * Transforms selected option into boolean indication if there is option selected\n * @param options - Selected options to be transformed into boolean\n */ \n public transform(options: NgSelectOption<TValue>|Array<NgSelectOption<TValue>>): boolean\n {\n return !(isBlank(options) || (Array.isArray(options) && !options.length));\n }\n}\n\n"]}
|
|
@@ -22,9 +22,9 @@ export class NgSelectValuePipe {
|
|
|
22
22
|
return optionDisplayText(options);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
NgSelectValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
26
|
-
NgSelectValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
25
|
+
NgSelectValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgSelectValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
26
|
+
NgSelectValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: NgSelectValuePipe, name: "ngSelectValue" });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NgSelectValuePipe, decorators: [{
|
|
28
28
|
type: Pipe,
|
|
29
29
|
args: [{ name: 'ngSelectValue' }]
|
|
30
30
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngSelectValue.pipe.js","sourceRoot":"","sources":["../../../src/pipes/ngSelectValue.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAgB,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;;AAKvC;;GAEG;AAEH,MAAM,OAAO,iBAAiB;IAE1B,oEAAoE;IAEpE;;;;;OAKG;IACI,SAAS,CAAC,OAA6D,EAAE,mBAA2B,EAAE,oBAA6C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI;QAE3K,IAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAClE;YACI,OAAO,mBAAmB,CAAC;SAC9B;QAED,IAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB;YACI,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpD;QAED,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC
|
|
1
|
+
{"version":3,"file":"ngSelectValue.pipe.js","sourceRoot":"","sources":["../../../src/pipes/ngSelectValue.pipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAgB,MAAM,eAAe,CAAC;AAClD,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;;AAKvC;;GAEG;AAEH,MAAM,OAAO,iBAAiB;IAE1B,oEAAoE;IAEpE;;;;;OAKG;IACI,SAAS,CAAC,OAA6D,EAAE,mBAA2B,EAAE,oBAA6C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI;QAE3K,IAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAClE;YACI,OAAO,mBAAmB,CAAC;SAC9B;QAED,IAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EACzB;YACI,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpD;QAED,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;;+GAvBQ,iBAAiB;6GAAjB,iBAAiB;4FAAjB,iBAAiB;kBAD7B,IAAI;mBAAC,EAAC,IAAI,EAAE,eAAe,EAAC","sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {isBlank} from '@jscrpt/common';\n\nimport {NgSelectOption} from '../components/option';\nimport {DisplayTextFunc} from '../plugins/normalState';\n\n/**\n * Pipe to transform ng select selected option into\n */\n@Pipe({name: 'ngSelectValue'})\nexport class NgSelectValuePipe<TValue = any> implements PipeTransform\n{\n //######################### public methods #########################\n \n /**\n * Transforms selected option into string\n * @param options - Selected options to be transformed into text\n * @param nothingSelectedText - Text displayed if nothing is selected\n * @param optionDisplayText - Function used for transformation of option into display text, defaults to text property of option\n */ \n public transform(options: NgSelectOption<TValue>|Array<NgSelectOption<TValue>>, nothingSelectedText: string, optionDisplayText: DisplayTextFunc<TValue> = option => option.text): string\n {\n if(isBlank(options) || (Array.isArray(options) && !options.length))\n {\n return nothingSelectedText;\n }\n\n if(Array.isArray(options))\n {\n return options.map(optionDisplayText).join(', ');\n }\n\n return optionDisplayText(options);\n }\n}\n\n"]}
|
|
@@ -120,9 +120,9 @@ export class BasicKeyboardHandlerComponent {
|
|
|
120
120
|
invalidateVisuals() {
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
BasicKeyboardHandlerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
124
|
-
BasicKeyboardHandlerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
123
|
+
BasicKeyboardHandlerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicKeyboardHandlerComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: KEYBOARD_HANDLER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
124
|
+
BasicKeyboardHandlerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BasicKeyboardHandlerComponent, selector: "ng-basic-keyboard-handler", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicKeyboardHandlerComponent, decorators: [{
|
|
126
126
|
type: Component,
|
|
127
127
|
args: [{
|
|
128
128
|
selector: 'ng-basic-keyboard-handler',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basicKeyboardHandler.component.js","sourceRoot":"","sources":["../../../../../src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"basicKeyboardHandler.component.js","sourceRoot":"","sources":["../../../../../src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, Inject, Optional, ElementRef, OnDestroy} from '@angular/core';\nimport {extend} from '@jscrpt/common';\n\nimport {BasicKeyboardHandlerOptions, BasicKeyboardHandler} from './basicKeyboardHandler.interface';\nimport {NgSelectPlugin} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {KEYBOARD_HANDLER_OPTIONS} from '../types';\nimport {ɵNgSelectOption} from '../../../components/option';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\n\n/**\n * Default options for keyboard handler\n * @internal\n */\nconst defaultOptions: BasicKeyboardHandlerOptions =\n{\n};\n\n/**\n * Component used for obtaining basic keyboard handler html element\n */\n@Component(\n{\n selector: 'ng-basic-keyboard-handler',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasicKeyboardHandlerComponent implements BasicKeyboardHandler, NgSelectPlugin<BasicKeyboardHandlerOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: BasicKeyboardHandlerOptions;\n\n /**\n * Popup that is displayed\n */\n protected _popup: Popup;\n\n //######################### protected properties #########################\n\n /**\n * Gets currently available options\n */\n protected get availableOptions(): ɵNgSelectOption[]\n {\n return this.pluginBus.selectOptions.optionsGatherer.availableOptions;\n }\n\n //######################### public properties - implementation of BasicKeyboardHandler #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): BasicKeyboardHandlerOptions\n {\n return this._options;\n }\n public set options(options: BasicKeyboardHandlerOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n @Inject(KEYBOARD_HANDLER_OPTIONS) @Optional() options?: BasicKeyboardHandlerOptions)\n {\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n \n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n if(this.pluginBus.selectElement)\n {\n this.pluginBus.selectElement.nativeElement.removeEventListener('keydown', this._handleKeyboard);\n }\n }\n\n //######################### public methods - implementation of BasicKeyboardHandler #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n if(this.pluginBus.selectElement)\n {\n this.pluginBus.selectElement.nativeElement.addEventListener('keydown', this._handleKeyboard);\n }\n\n const popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this._popup && this._popup != popup)\n {\n this._popup = null;\n }\n \n if(!this._popup)\n {\n this._popup = popup;\n }\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n }\n\n //######################### protected methods #########################\n\n /**\n * Handles keyboard event\n * @param event - Keyboard event that occured\n */\n protected _handleKeyboard = (event: KeyboardEvent) =>\n {\n if(event.key == 'ArrowDown' || event.key == 'ArrowUp')\n {\n this.pluginBus.showHidePopup.emit(true);\n const activeOption = this.availableOptions.find(itm => itm.active);\n\n if(activeOption)\n {\n let index = this.availableOptions.indexOf(activeOption);\n activeOption.active = false;\n\n //move down cursor\n if(event.key == 'ArrowDown')\n {\n index += 1;\n }\n //move up cursor\n else\n {\n index -= 1;\n }\n\n if(index < 0)\n {\n index = this.availableOptions.length - 1;\n }\n\n index = index % this.availableOptions.length;\n\n this.availableOptions[index].active = true;\n }\n //none active before\n else if(this.availableOptions.length)\n {\n this.availableOptions[0].active = true;\n }\n\n this._popup.invalidateVisuals();\n event.preventDefault();\n }\n\n //prevent enter if popup is opened\n if(event.key == 'Enter' && this._popup.popupElement)\n {\n const activeOption = this.availableOptions.find(itm => itm.active);\n\n if(activeOption)\n {\n this.pluginBus.optionSelect.emit(activeOption);\n }\n\n event.preventDefault();\n }\n\n if(event.key == 'Tab' || event.key == 'Escape')\n {\n this.pluginBus.showHidePopup.emit(false);\n }\n }\n}"]}
|
|
@@ -171,9 +171,9 @@ export class EditKeyboardHandlerComponent {
|
|
|
171
171
|
invalidateVisuals() {
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
|
-
EditKeyboardHandlerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
175
|
-
EditKeyboardHandlerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
174
|
+
EditKeyboardHandlerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditKeyboardHandlerComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: KEYBOARD_HANDLER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
175
|
+
EditKeyboardHandlerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EditKeyboardHandlerComponent, selector: "ng-edit-keyboard-handler", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditKeyboardHandlerComponent, decorators: [{
|
|
177
177
|
type: Component,
|
|
178
178
|
args: [{
|
|
179
179
|
selector: 'ng-edit-keyboard-handler',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editKeyboardHandler.component.js","sourceRoot":"","sources":["../../../../../src/plugins/keyboardHandler/edit/editKeyboardHandler.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, Inject, Optional, ElementRef, OnDestroy} from '@angular/core';\nimport {extend} from '@jscrpt/common';\n\nimport {EditKeyboardHandlerOptions, EditKeyboardHandler} from './editKeyboardHandler.interface';\nimport {NgSelectPlugin} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {KEYBOARD_HANDLER_OPTIONS} from '../types';\nimport {ɵNgSelectOption} from '../../../components/option';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\nimport {ValueHandler} from '../../valueHandler';\nimport {VALUE_HANDLER} from '../../valueHandler/types';\nimport {LiveSearch} from '../../liveSearch';\nimport {LIVE_SEARCH} from '../../liveSearch/types';\n\n/**\n * Default options for keyboard handler\n * @internal\n */\nconst defaultOptions: EditKeyboardHandlerOptions =\n{\n};\n\n/**\n * Component used for obtaining edit keyboard handler html element\n */\n@Component(\n{\n selector: 'ng-edit-keyboard-handler',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EditKeyboardHandlerComponent implements EditKeyboardHandler, NgSelectPlugin<EditKeyboardHandlerOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: EditKeyboardHandlerOptions;\n\n /**\n * Popup that is displayed\n */\n protected _popup: Popup;\n\n /**\n * Value handler used for hanling current value\n */\n protected _valueHandler: ValueHandler;\n\n /**\n * Live search plugin currently used in NgSelect\n */\n protected _liveSearch: LiveSearch;\n\n //######################### protected properties #########################\n\n /**\n * Gets currently available options\n */\n protected get availableOptions(): ɵNgSelectOption[]\n {\n return this.pluginBus.selectOptions.optionsGatherer.availableOptions;\n }\n\n //######################### public properties - implementation of EditKeyboardHandler #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): EditKeyboardHandlerOptions\n {\n return this._options;\n }\n public set options(options: EditKeyboardHandlerOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n @Inject(KEYBOARD_HANDLER_OPTIONS) @Optional() options?: EditKeyboardHandlerOptions)\n {\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n \n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n if(this.pluginBus.selectElement)\n {\n this.pluginBus.selectElement.nativeElement.removeEventListener('keydown', this._handleKeyboard);\n }\n }\n\n //######################### public methods - implementation of EditKeyboardHandler #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n if(this.pluginBus.selectElement)\n {\n this.pluginBus.selectElement.nativeElement.addEventListener('keydown', this._handleKeyboard);\n }\n\n const popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this._popup && this._popup != popup)\n {\n this._popup = null;\n }\n \n if(!this._popup)\n {\n this._popup = popup;\n }\n\n const valueHandler = this.ngSelectPlugins[VALUE_HANDLER] as ValueHandler;\n\n if(this._valueHandler && this._valueHandler != valueHandler)\n {\n this._valueHandler = null;\n }\n \n if(!this._valueHandler)\n {\n this._valueHandler = valueHandler;\n }\n\n const liveSearch = this.ngSelectPlugins[LIVE_SEARCH] as LiveSearch;\n\n if(this._liveSearch && this._liveSearch != liveSearch)\n {\n this._liveSearch = null;\n }\n\n if(!this._liveSearch)\n {\n this._liveSearch = liveSearch;\n }\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n }\n\n //######################### protected methods #########################\n\n /**\n * Handles keyboard event\n * @param event - Keyboard event that occured\n */\n protected _handleKeyboard = (event: KeyboardEvent) =>\n {\n if(event.key == 'ArrowDown' || event.key == 'ArrowUp')\n {\n this.pluginBus.showHidePopup.emit(true);\n const activeOption = this.availableOptions.find(itm => itm.active);\n\n //update active option\n if(activeOption)\n {\n let index = this.availableOptions.indexOf(activeOption);\n activeOption.active = false;\n\n //move down cursor\n if(event.key == 'ArrowDown')\n {\n index += 1;\n }\n //move up cursor\n else\n {\n index -= 1;\n }\n\n if(index < 0)\n {\n index = this.availableOptions.length - 1;\n }\n\n //first if oveflow\n index = index % this.availableOptions.length;\n\n this.availableOptions[index].active = true;\n }\n //none active before\n else if(this.availableOptions.length)\n {\n this.availableOptions[0].active = true;\n }\n\n this._popup.invalidateVisuals();\n event.preventDefault();\n }\n\n //prevent enter if popup is opened and select option\n if(event.key == 'Enter' && this._popup.popupElement)\n {\n const activeOption = this.availableOptions.find(itm => itm.active);\n \n if(activeOption)\n {\n this.pluginBus.optionSelect.emit(activeOption);\n }\n //add non existing\n else if(this.pluginBus.selectOptions.useNonExistingAsValue)\n {\n this.pluginBus.optionSelect.emit(\n <ɵNgSelectOption>\n {\n text: this._liveSearch.searchValue,\n value: this._liveSearch.searchValue,\n selected: true\n });\n }\n\n event.preventDefault();\n }\n\n //select if active if popup is opened\n if(event.key == 'Tab' && this._popup.popupElement)\n {\n const active = this.availableOptions.find(itm => itm.active);\n \n if(active)\n {\n this.pluginBus.optionSelect.emit(active);\n }\n //add non existing\n else if(this.pluginBus.selectOptions.useNonExistingAsValue)\n {\n this.pluginBus.optionSelect.emit(\n <ɵNgSelectOption>\n {\n text: this._liveSearch.searchValue,\n value: this._liveSearch.searchValue,\n selected: true\n });\n }\n\n this.pluginBus.showHidePopup.emit(false);\n this.pluginBus.updateDisplayedValue.emit();\n }\n\n //cancel event if multi and empty\n if(event.key == 'Backspace' && this.pluginBus.selectOptions.multiple && !this._liveSearch.searchValue)\n {\n const options = this._valueHandler.selectedOptions;\n\n if(options && Array.isArray(options) && options.length)\n {\n this.pluginBus.optionCancel.emit(options[options.length - 1]);\n }\n }\n\n //close on esc\n if(event.key == 'Escape')\n {\n this.pluginBus.showHidePopup.emit(false);\n }\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"editKeyboardHandler.component.js","sourceRoot":"","sources":["../../../../../src/plugins/keyboardHandler/edit/editKeyboardHandler.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, Inject, Optional, ElementRef, OnDestroy} from '@angular/core';\nimport {extend} from '@jscrpt/common';\n\nimport {EditKeyboardHandlerOptions, EditKeyboardHandler} from './editKeyboardHandler.interface';\nimport {NgSelectPlugin} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {KEYBOARD_HANDLER_OPTIONS} from '../types';\nimport {ɵNgSelectOption} from '../../../components/option';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\nimport {ValueHandler} from '../../valueHandler';\nimport {VALUE_HANDLER} from '../../valueHandler/types';\nimport {LiveSearch} from '../../liveSearch';\nimport {LIVE_SEARCH} from '../../liveSearch/types';\n\n/**\n * Default options for keyboard handler\n * @internal\n */\nconst defaultOptions: EditKeyboardHandlerOptions =\n{\n};\n\n/**\n * Component used for obtaining edit keyboard handler html element\n */\n@Component(\n{\n selector: 'ng-edit-keyboard-handler',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EditKeyboardHandlerComponent implements EditKeyboardHandler, NgSelectPlugin<EditKeyboardHandlerOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: EditKeyboardHandlerOptions;\n\n /**\n * Popup that is displayed\n */\n protected _popup: Popup;\n\n /**\n * Value handler used for hanling current value\n */\n protected _valueHandler: ValueHandler;\n\n /**\n * Live search plugin currently used in NgSelect\n */\n protected _liveSearch: LiveSearch;\n\n //######################### protected properties #########################\n\n /**\n * Gets currently available options\n */\n protected get availableOptions(): ɵNgSelectOption[]\n {\n return this.pluginBus.selectOptions.optionsGatherer.availableOptions;\n }\n\n //######################### public properties - implementation of EditKeyboardHandler #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): EditKeyboardHandlerOptions\n {\n return this._options;\n }\n public set options(options: EditKeyboardHandlerOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n @Inject(KEYBOARD_HANDLER_OPTIONS) @Optional() options?: EditKeyboardHandlerOptions)\n {\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n \n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n if(this.pluginBus.selectElement)\n {\n this.pluginBus.selectElement.nativeElement.removeEventListener('keydown', this._handleKeyboard);\n }\n }\n\n //######################### public methods - implementation of EditKeyboardHandler #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n if(this.pluginBus.selectElement)\n {\n this.pluginBus.selectElement.nativeElement.addEventListener('keydown', this._handleKeyboard);\n }\n\n const popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this._popup && this._popup != popup)\n {\n this._popup = null;\n }\n \n if(!this._popup)\n {\n this._popup = popup;\n }\n\n const valueHandler = this.ngSelectPlugins[VALUE_HANDLER] as ValueHandler;\n\n if(this._valueHandler && this._valueHandler != valueHandler)\n {\n this._valueHandler = null;\n }\n \n if(!this._valueHandler)\n {\n this._valueHandler = valueHandler;\n }\n\n const liveSearch = this.ngSelectPlugins[LIVE_SEARCH] as LiveSearch;\n\n if(this._liveSearch && this._liveSearch != liveSearch)\n {\n this._liveSearch = null;\n }\n\n if(!this._liveSearch)\n {\n this._liveSearch = liveSearch;\n }\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n }\n\n //######################### protected methods #########################\n\n /**\n * Handles keyboard event\n * @param event - Keyboard event that occured\n */\n protected _handleKeyboard = (event: KeyboardEvent) =>\n {\n if(event.key == 'ArrowDown' || event.key == 'ArrowUp')\n {\n this.pluginBus.showHidePopup.emit(true);\n const activeOption = this.availableOptions.find(itm => itm.active);\n\n //update active option\n if(activeOption)\n {\n let index = this.availableOptions.indexOf(activeOption);\n activeOption.active = false;\n\n //move down cursor\n if(event.key == 'ArrowDown')\n {\n index += 1;\n }\n //move up cursor\n else\n {\n index -= 1;\n }\n\n if(index < 0)\n {\n index = this.availableOptions.length - 1;\n }\n\n //first if oveflow\n index = index % this.availableOptions.length;\n\n this.availableOptions[index].active = true;\n }\n //none active before\n else if(this.availableOptions.length)\n {\n this.availableOptions[0].active = true;\n }\n\n this._popup.invalidateVisuals();\n event.preventDefault();\n }\n\n //prevent enter if popup is opened and select option\n if(event.key == 'Enter' && this._popup.popupElement)\n {\n const activeOption = this.availableOptions.find(itm => itm.active);\n \n if(activeOption)\n {\n this.pluginBus.optionSelect.emit(activeOption);\n }\n //add non existing\n else if(this.pluginBus.selectOptions.useNonExistingAsValue)\n {\n this.pluginBus.optionSelect.emit(\n <ɵNgSelectOption>\n {\n text: this._liveSearch.searchValue,\n value: this._liveSearch.searchValue,\n selected: true\n });\n }\n\n event.preventDefault();\n }\n\n //select if active if popup is opened\n if(event.key == 'Tab' && this._popup.popupElement)\n {\n const active = this.availableOptions.find(itm => itm.active);\n \n if(active)\n {\n this.pluginBus.optionSelect.emit(active);\n }\n //add non existing\n else if(this.pluginBus.selectOptions.useNonExistingAsValue)\n {\n this.pluginBus.optionSelect.emit(\n <ɵNgSelectOption>\n {\n text: this._liveSearch.searchValue,\n value: this._liveSearch.searchValue,\n selected: true\n });\n }\n\n this.pluginBus.showHidePopup.emit(false);\n this.pluginBus.updateDisplayedValue.emit();\n }\n\n //cancel event if multi and empty\n if(event.key == 'Backspace' && this.pluginBus.selectOptions.multiple && !this._liveSearch.searchValue)\n {\n const options = this._valueHandler.selectedOptions;\n\n if(options && Array.isArray(options) && options.length)\n {\n this.pluginBus.optionCancel.emit(options[options.length - 1]);\n }\n }\n\n //close on esc\n if(event.key == 'Escape')\n {\n this.pluginBus.showHidePopup.emit(false);\n }\n }\n}"]}
|
|
@@ -139,9 +139,9 @@ export class BasicLiveSearchComponent {
|
|
|
139
139
|
this._changeDetector.detectChanges();
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
|
-
BasicLiveSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
143
|
-
BasicLiveSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
144
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
142
|
+
BasicLiveSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicLiveSearchComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: STRING_LOCALIZATION }, { token: LIVE_SEARCH_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
143
|
+
BasicLiveSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BasicLiveSearchComponent, selector: "ng-basic-live-search", viewQueries: [{ propertyName: "liveSearchElementChild", first: true, predicate: ["liveSearchElement"], descendants: true }, { propertyName: "inputElementChild", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement [ngClass]=\"options?.cssClasses?.input\" type=\"text\" (input)=\"handleInput($any($event.target).value)\" [value]=\"searchValue\" placeholder=\"{{texts?.inputPlaceholder}}\">\r\n </div>\r\n</div>", styles: [".wrapper-div\r\n{\r\n padding: 4px;\r\n border-bottom: 1px solid #666;\r\n margin-bottom: 2px;\r\n}\r\n\r\n.form-control\r\n{\r\n width: 100%;\r\n}"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicLiveSearchComponent, decorators: [{
|
|
145
145
|
type: Component,
|
|
146
146
|
args: [{ selector: 'ng-basic-live-search', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement [ngClass]=\"options?.cssClasses?.input\" type=\"text\" (input)=\"handleInput($any($event.target).value)\" [value]=\"searchValue\" placeholder=\"{{texts?.inputPlaceholder}}\">\r\n </div>\r\n</div>", styles: [".wrapper-div\r\n{\r\n padding: 4px;\r\n border-bottom: 1px solid #666;\r\n margin-bottom: 2px;\r\n}\r\n\r\n.form-control\r\n{\r\n width: 100%;\r\n}"] }]
|
|
147
147
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basicLiveSearch.component.js","sourceRoot":"","sources":["../../../../../src/plugins/liveSearch/basic/basicLiveSearch.component.ts","../../../../../src/plugins/liveSearch/basic/basicLiveSearch.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, ChangeDetectorRef, Inject, Optional, ElementRef, ViewChild, EventEmitter, OnDestroy} from '@angular/core';\nimport {STRING_LOCALIZATION, StringLocalization} from '@anglr/common';\nimport {extend} from '@jscrpt/common';\nimport {Subscription} from 'rxjs';\n\nimport {BasicLiveSearchOptions, BasicLiveSearch} from './basicLiveSearch.interface';\nimport {NgSelectPlugin} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {LiveSearchTexts} from '../liveSearch.interface';\nimport {LIVE_SEARCH_OPTIONS} from '../types';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\n\n/**\n * Default options for live search\n * @internal\n */\nconst defaultOptions: BasicLiveSearchOptions =\n{\n cssClasses:\n {\n wrapperDiv: 'wrapper-div',\n input: 'form-control'\n },\n texts:\n {\n inputPlaceholder: 'Filter options'\n },\n keepSearchValue: false\n};\n\n/**\n * Component used for obtaining basic live search html element\n */\n@Component(\n{\n selector: 'ng-basic-live-search',\n templateUrl: 'basicLiveSearch.component.html',\n styleUrls: ['basicLiveSearch.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasicLiveSearchComponent implements BasicLiveSearch, NgSelectPlugin<BasicLiveSearchOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Popup used in NgSelect\n */\n protected _popup: Popup;\n\n /**\n * Subscription for changes in texts\n */\n protected _textsChangedSubscription: Subscription;\n\n /**\n * Subscription for changes of popup visibility\n */\n protected _visibilityChangeSubscription: Subscription;\n\n /**\n * Subscription for live search focus request\n */\n protected _liveSearchFocusSubscription: Subscription;\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: BasicLiveSearchOptions;\n\n //######################### public properties - implementation of BasicLiveSearch #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): BasicLiveSearchOptions\n {\n return this._options;\n }\n public set options(options: BasicLiveSearchOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n /**\n * HTML element that represents live search\n */\n public get liveSearchElement(): HTMLElement\n {\n return this.liveSearchElementChild.nativeElement;\n }\n\n /**\n * Current value of live search\n */\n public searchValue: string = null;\n\n /**\n * Occurs when current value of live search changes\n */\n public searchValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n //######################### public properties - template bindings #########################\n\n /**\n * Object containing available texts\n * @internal\n */\n public texts: LiveSearchTexts = {};\n\n //######################### public properties - children #########################\n\n /**\n * View child that represents live search element\n * @internal\n */\n @ViewChild('liveSearchElement')\n public liveSearchElementChild: ElementRef<HTMLElement>;\n\n /**\n * View child that represents input element\n * @internal\n */\n @ViewChild('inputElement')\n public inputElementChild: ElementRef<HTMLInputElement>;\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n protected _changeDetector: ChangeDetectorRef,\n @Inject(STRING_LOCALIZATION) protected _stringLocalization: StringLocalization,\n @Inject(LIVE_SEARCH_OPTIONS) @Optional() options?: BasicLiveSearchOptions)\n {\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n \n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._visibilityChangeSubscription?.unsubscribe();\n this._visibilityChangeSubscription = null;\n\n this._textsChangedSubscription?.unsubscribe();\n this._textsChangedSubscription = null;\n\n this._liveSearchFocusSubscription?.unsubscribe();\n this._liveSearchFocusSubscription = null;\n }\n\n //######################### public methods - implementation of BasicLiveSearch #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n this._textsChangedSubscription = this._stringLocalization.textsChange.subscribe(() => this._initTexts());\n\n const popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this._popup && this._popup != popup)\n {\n this._visibilityChangeSubscription.unsubscribe();\n this._visibilityChangeSubscription = null;\n\n this._popup = null;\n }\n\n if(!this._popup)\n {\n this._popup = popup;\n\n this._visibilityChangeSubscription = this._popup.visibilityChange.subscribe(() =>\n {\n if(!this.options.keepSearchValue)\n {\n this.handleInput('');\n \n this._changeDetector.detectChanges();\n }\n });\n }\n\n if(!this._liveSearchFocusSubscription)\n {\n this._liveSearchFocusSubscription = this.pluginBus.liveSearchFocus.subscribe(() =>\n {\n this.inputElementChild?.nativeElement.focus();\n });\n }\n\n this._initTexts();\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n this._changeDetector.detectChanges();\n }\n\n //######################### public methods - template bindings #########################\n\n /**\n * Handle input value\n * @param value - Value of input\n * @internal\n */\n public handleInput(value: string)\n {\n this.searchValue = value;\n this.searchValueChange.emit();\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize texts\n */\n protected _initTexts()\n {\n Object.keys(this.options.texts).forEach((key) =>\n {\n this.texts[key as keyof LiveSearchTexts] = this._stringLocalization.get(this.options.texts[key as keyof LiveSearchTexts]);\n });\n\n this._changeDetector.detectChanges();\n }\n}","<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement [ngClass]=\"options?.cssClasses?.input\" type=\"text\" (input)=\"handleInput($any($event.target).value)\" [value]=\"searchValue\" placeholder=\"{{texts?.inputPlaceholder}}\">\r\n </div>\r\n</div>"]}
|
|
1
|
+
{"version":3,"file":"basicLiveSearch.component.js","sourceRoot":"","sources":["../../../../../src/plugins/liveSearch/basic/basicLiveSearch.component.ts","../../../../../src/plugins/liveSearch/basic/basicLiveSearch.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, ChangeDetectorRef, Inject, Optional, ElementRef, ViewChild, EventEmitter, OnDestroy} from '@angular/core';\nimport {STRING_LOCALIZATION, StringLocalization} from '@anglr/common';\nimport {extend} from '@jscrpt/common';\nimport {Subscription} from 'rxjs';\n\nimport {BasicLiveSearchOptions, BasicLiveSearch} from './basicLiveSearch.interface';\nimport {NgSelectPlugin} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {LiveSearchTexts} from '../liveSearch.interface';\nimport {LIVE_SEARCH_OPTIONS} from '../types';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\n\n/**\n * Default options for live search\n * @internal\n */\nconst defaultOptions: BasicLiveSearchOptions =\n{\n cssClasses:\n {\n wrapperDiv: 'wrapper-div',\n input: 'form-control'\n },\n texts:\n {\n inputPlaceholder: 'Filter options'\n },\n keepSearchValue: false\n};\n\n/**\n * Component used for obtaining basic live search html element\n */\n@Component(\n{\n selector: 'ng-basic-live-search',\n templateUrl: 'basicLiveSearch.component.html',\n styleUrls: ['basicLiveSearch.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasicLiveSearchComponent implements BasicLiveSearch, NgSelectPlugin<BasicLiveSearchOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Popup used in NgSelect\n */\n protected _popup: Popup;\n\n /**\n * Subscription for changes in texts\n */\n protected _textsChangedSubscription: Subscription;\n\n /**\n * Subscription for changes of popup visibility\n */\n protected _visibilityChangeSubscription: Subscription;\n\n /**\n * Subscription for live search focus request\n */\n protected _liveSearchFocusSubscription: Subscription;\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: BasicLiveSearchOptions;\n\n //######################### public properties - implementation of BasicLiveSearch #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): BasicLiveSearchOptions\n {\n return this._options;\n }\n public set options(options: BasicLiveSearchOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n /**\n * HTML element that represents live search\n */\n public get liveSearchElement(): HTMLElement\n {\n return this.liveSearchElementChild.nativeElement;\n }\n\n /**\n * Current value of live search\n */\n public searchValue: string = null;\n\n /**\n * Occurs when current value of live search changes\n */\n public searchValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n //######################### public properties - template bindings #########################\n\n /**\n * Object containing available texts\n * @internal\n */\n public texts: LiveSearchTexts = {};\n\n //######################### public properties - children #########################\n\n /**\n * View child that represents live search element\n * @internal\n */\n @ViewChild('liveSearchElement')\n public liveSearchElementChild: ElementRef<HTMLElement>;\n\n /**\n * View child that represents input element\n * @internal\n */\n @ViewChild('inputElement')\n public inputElementChild: ElementRef<HTMLInputElement>;\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n protected _changeDetector: ChangeDetectorRef,\n @Inject(STRING_LOCALIZATION) protected _stringLocalization: StringLocalization,\n @Inject(LIVE_SEARCH_OPTIONS) @Optional() options?: BasicLiveSearchOptions)\n {\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n \n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._visibilityChangeSubscription?.unsubscribe();\n this._visibilityChangeSubscription = null;\n\n this._textsChangedSubscription?.unsubscribe();\n this._textsChangedSubscription = null;\n\n this._liveSearchFocusSubscription?.unsubscribe();\n this._liveSearchFocusSubscription = null;\n }\n\n //######################### public methods - implementation of BasicLiveSearch #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n this._textsChangedSubscription = this._stringLocalization.textsChange.subscribe(() => this._initTexts());\n\n const popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this._popup && this._popup != popup)\n {\n this._visibilityChangeSubscription.unsubscribe();\n this._visibilityChangeSubscription = null;\n\n this._popup = null;\n }\n\n if(!this._popup)\n {\n this._popup = popup;\n\n this._visibilityChangeSubscription = this._popup.visibilityChange.subscribe(() =>\n {\n if(!this.options.keepSearchValue)\n {\n this.handleInput('');\n \n this._changeDetector.detectChanges();\n }\n });\n }\n\n if(!this._liveSearchFocusSubscription)\n {\n this._liveSearchFocusSubscription = this.pluginBus.liveSearchFocus.subscribe(() =>\n {\n this.inputElementChild?.nativeElement.focus();\n });\n }\n\n this._initTexts();\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n this._changeDetector.detectChanges();\n }\n\n //######################### public methods - template bindings #########################\n\n /**\n * Handle input value\n * @param value - Value of input\n * @internal\n */\n public handleInput(value: string)\n {\n this.searchValue = value;\n this.searchValueChange.emit();\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize texts\n */\n protected _initTexts()\n {\n Object.keys(this.options.texts).forEach((key) =>\n {\n this.texts[key as keyof LiveSearchTexts] = this._stringLocalization.get(this.options.texts[key as keyof LiveSearchTexts]);\n });\n\n this._changeDetector.detectChanges();\n }\n}","<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement [ngClass]=\"options?.cssClasses?.input\" type=\"text\" (input)=\"handleInput($any($event.target).value)\" [value]=\"searchValue\" placeholder=\"{{texts?.inputPlaceholder}}\">\r\n </div>\r\n</div>"]}
|
|
@@ -288,9 +288,9 @@ export class EditLiveSearchComponent {
|
|
|
288
288
|
}
|
|
289
289
|
}
|
|
290
290
|
}
|
|
291
|
-
EditLiveSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
292
|
-
EditLiveSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
293
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
291
|
+
EditLiveSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditLiveSearchComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: STRING_LOCALIZATION }, { token: LIVE_SEARCH_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
292
|
+
EditLiveSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EditLiveSearchComponent, selector: "ng-edit-live-search", viewQueries: [{ propertyName: "liveSearchElementChild", first: true, predicate: ["liveSearchElement"], descendants: true }, { propertyName: "inputElementChild", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement\r\n [ngClass]=\"options?.cssClasses?.input\"\r\n type=\"text\"\r\n [value]=\"searchValueDisplayed\"\r\n (input)=\"handleInput($any($event.target).value, true)\"\r\n (focus)=\"handleFocus($any($event.target))\"\r\n (click)=\"handleFocus($any($event.target), true)\"\r\n placeholder=\"{{texts?.inputPlaceholder}}\"\r\n [disabled]=\"pluginBus?.selectOptions.readonly\">\r\n </div>\r\n</div>", styles: [".edit-wrapper-div\r\n{\r\n width: 100%;\r\n}\r\n\r\n.edit-control\r\n{\r\n padding: 4px;\r\n height: 26px;\r\n width: 100%;\r\n border: none;\r\n outline: none;\r\n}"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
293
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditLiveSearchComponent, decorators: [{
|
|
294
294
|
type: Component,
|
|
295
295
|
args: [{ selector: 'ng-edit-live-search', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement\r\n [ngClass]=\"options?.cssClasses?.input\"\r\n type=\"text\"\r\n [value]=\"searchValueDisplayed\"\r\n (input)=\"handleInput($any($event.target).value, true)\"\r\n (focus)=\"handleFocus($any($event.target))\"\r\n (click)=\"handleFocus($any($event.target), true)\"\r\n placeholder=\"{{texts?.inputPlaceholder}}\"\r\n [disabled]=\"pluginBus?.selectOptions.readonly\">\r\n </div>\r\n</div>", styles: [".edit-wrapper-div\r\n{\r\n width: 100%;\r\n}\r\n\r\n.edit-control\r\n{\r\n padding: 4px;\r\n height: 26px;\r\n width: 100%;\r\n border: none;\r\n outline: none;\r\n}"] }]
|
|
296
296
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editLiveSearch.component.js","sourceRoot":"","sources":["../../../../../src/plugins/liveSearch/edit/editLiveSearch.component.ts","../../../../../src/plugins/liveSearch/edit/editLiveSearch.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, ChangeDetectorRef, Inject, Optional, ElementRef, ViewChild, EventEmitter, OnDestroy} from '@angular/core';\nimport {STRING_LOCALIZATION, StringLocalization} from '@anglr/common';\nimport {extend, isPresent} from '@jscrpt/common';\nimport {Subscription} from 'rxjs';\n\nimport {EditLiveSearchOptions, EditLiveSearch} from './editLiveSearch.interface';\nimport {NgSelectPlugin, OptionsGatherer} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {LIVE_SEARCH_OPTIONS} from '../types';\nimport {ValueHandler} from '../../valueHandler';\nimport {VALUE_HANDLER} from '../../valueHandler/types';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {ɵNgSelectOption} from '../../../components/option';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\nimport {LiveSearchTexts} from '../liveSearch.interface';\n\n/**\n * Default options for live search\n * @internal\n */\nconst defaultOptions: EditLiveSearchOptions =\n{\n cssClasses:\n {\n wrapperDiv: 'edit-wrapper-div',\n input: 'edit-control'\n },\n texts:\n {\n inputPlaceholder: 'Select item'\n\n },\n keepSearchValue: false,\n nonExistingCancel: false,\n emptyCancel: false\n};\n\n/**\n * Component used for obtaining edit live search html element\n */\n@Component(\n{\n selector: 'ng-edit-live-search',\n templateUrl: 'editLiveSearch.component.html',\n styleUrls: ['editLiveSearch.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EditLiveSearchComponent implements EditLiveSearch, NgSelectPlugin<EditLiveSearchOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Popup plugin used within `NgSelect`\n */\n protected _popup: Popup;\n\n /**\n * Value handler plugin used within `NgSelect`\n */\n protected _valueHandler: ValueHandler;\n\n /**\n * Instance of previous options gatherer, that is used for obtaining available options\n */\n protected _optionsGatherer: OptionsGatherer;\n\n /**\n * Subscription for changes of options in options gatherer\n */\n protected _optionsChangeSubscription: Subscription;\n\n /**\n * Subscription for changes in texts\n */\n protected _textsChangedSubscription: Subscription;\n\n /**\n * Subscription for changes of selected value\n */\n protected _valueChangedSubscription: Subscription;\n\n /**\n * Subscription for live search focus request\n */\n protected _liveSearchFocusSubscription: Subscription;\n\n /**\n * Subscription for update displayed value request\n */\n protected _updateDisplayedValueSubscription: Subscription;\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: EditLiveSearchOptions;\n\n //######################### protected properties #########################\n\n /**\n * Gets currently available options\n */\n protected get availableOptions(): ɵNgSelectOption[]\n {\n return this.pluginBus.selectOptions.optionsGatherer.availableOptions;\n }\n\n //######################### public properties - implementation of EditLiveSearch #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): EditLiveSearchOptions\n {\n return this._options;\n }\n public set options(options: EditLiveSearchOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n /**\n * HTML element that represents live search\n */\n public get liveSearchElement(): HTMLElement\n {\n return this.liveSearchElementChild.nativeElement;\n }\n\n /**\n * Current value of live search\n */\n public searchValue: string = null;\n\n /**\n * Occurs when current value of live search changes\n */\n public searchValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n //######################### public properties - template bindings #########################\n\n /**\n * Current value that is displayed\n * @internal\n */\n public searchValueDisplayed: string = null;\n\n /**\n * Object containing available texts\n * @internal\n */\n public texts: LiveSearchTexts = {};\n\n //######################### public properties - children #########################\n\n /**\n * View child that represents live search element\n * @internal\n */\n @ViewChild('liveSearchElement')\n public liveSearchElementChild: ElementRef<HTMLElement>;\n\n /**\n * View child that represents input element\n * @internal\n */\n @ViewChild('inputElement')\n public inputElementChild: ElementRef<HTMLInputElement>;\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n protected _changeDetector: ChangeDetectorRef,\n @Inject(STRING_LOCALIZATION) protected _stringLocalization: StringLocalization,\n @Inject(LIVE_SEARCH_OPTIONS) @Optional() options?: EditLiveSearchOptions)\n {\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._optionsChangeSubscription?.unsubscribe();\n this._optionsChangeSubscription = null;\n\n this._textsChangedSubscription?.unsubscribe();\n this._textsChangedSubscription = null;\n\n this._valueChangedSubscription?.unsubscribe();\n this._valueChangedSubscription = null;\n\n this._liveSearchFocusSubscription?.unsubscribe();\n this._liveSearchFocusSubscription = null;\n\n this._updateDisplayedValueSubscription?.unsubscribe();\n this._updateDisplayedValueSubscription = null;\n }\n\n //######################### public methods - implementation of EditLiveSearch #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n this._textsChangedSubscription = this._stringLocalization.textsChange.subscribe(() => this._initTexts());\n\n if(this._optionsGatherer && this._optionsGatherer != this.pluginBus.selectOptions.optionsGatherer)\n {\n this._optionsChangeSubscription.unsubscribe();\n this._optionsChangeSubscription = null;\n\n this._optionsGatherer = null;\n }\n\n if(!this._optionsGatherer)\n {\n this._optionsGatherer = this.pluginBus.selectOptions.optionsGatherer;\n\n this._optionsChangeSubscription = this._optionsGatherer.availableOptionsChange.subscribe(() =>\n {\n //do not change active if active is visible\n if(!this.pluginBus.selectOptions.optionsGatherer.availableOptions.find((option: ɵNgSelectOption) => option.active))\n {\n //only when input is filled at least with one char\n if(this.searchValue)\n {\n const option: ɵNgSelectOption = this.pluginBus.selectOptions.optionsGatherer.availableOptions.find(itm => this.pluginBus.selectOptions.liveSearchFilter(this.searchValue, this.pluginBus.selectOptions.normalizer)(itm));\n \n if(option)\n {\n this.pluginBus.selectOptions.optionsGatherer.options.forEach((option: ɵNgSelectOption) => option.active = false);\n option.active = true;\n this._popup.invalidateVisuals();\n }\n }\n //select first\n else\n {\n this._activateSelectedOrFirst();\n }\n }\n });\n }\n\n const popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this._popup && this._popup != popup)\n {\n this._popup = null;\n }\n\n if(!this._popup)\n {\n this._popup = popup;\n }\n\n if(!this._liveSearchFocusSubscription)\n {\n this._liveSearchFocusSubscription = this.pluginBus.liveSearchFocus.subscribe(() =>\n {\n this.inputElementChild?.nativeElement.focus();\n });\n }\n\n if(!this._updateDisplayedValueSubscription)\n {\n this._updateDisplayedValueSubscription = this.pluginBus.updateDisplayedValue.subscribe(() =>\n {\n this.handleBlur();\n });\n }\n\n const valueHandler = this.ngSelectPlugins[VALUE_HANDLER] as ValueHandler;\n\n if(this._valueHandler && this._valueHandler != valueHandler)\n {\n this._valueChangedSubscription.unsubscribe();\n this._valueChangedSubscription = null;\n\n this._valueHandler = null;\n }\n\n if(!this._valueHandler)\n {\n this._valueHandler = valueHandler;\n\n this._valueChangedSubscription = this._valueHandler.valueChange.subscribe(() =>\n {\n const selected = this._valueHandler.selectedOptions;\n\n if(!selected)\n {\n this.searchValueDisplayed = '';\n this.handleInput('');\n this._changeDetector.detectChanges();\n\n return;\n }\n\n //reset filtering of available options\n this.handleInput(null);\n\n if(Array.isArray(selected))\n {\n this.searchValueDisplayed = '';\n this.inputElementChild?.nativeElement.focus();\n this._changeDetector.detectChanges();\n }\n else\n {\n //set selected into live search\n this.searchValueDisplayed = selected.text;\n this._changeDetector.detectChanges();\n\n //select current text\n this.inputElementChild?.nativeElement.select();\n }\n });\n }\n\n this._initTexts();\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n this._changeDetector.detectChanges();\n }\n\n //######################### public methods - template bindings #########################\n\n /**\n * Handle input value\n * @param value - Value of input\n * @param inputChange - Indication that change was by input event of input\n * @internal\n */\n public handleInput(value: string, inputChange: boolean = false)\n {\n this.searchValue = value;\n this.searchValueChange.emit();\n\n if(inputChange)\n {\n this.pluginBus.showHidePopup.emit(true);\n this.searchValueDisplayed = value;\n\n //single value select\n if(!this.pluginBus.selectOptions.multiple)\n {\n //cancel value\n if(this._options.nonExistingCancel)\n {\n this._valueHandler.setValue(null);\n }\n //empty string cancels value\n else if(this._options.emptyCancel && isPresent(value) && !value.length)\n {\n this._valueHandler.setValue(null);\n }\n //otherwise keep last value\n }\n }\n }\n\n /**\n * Handles focus event\n * @param element - Element that got focus\n * @param show - Indication whether show popup\n * @internal\n */\n public handleFocus(element: HTMLInputElement, show: boolean = false)\n {\n element.select();\n\n this._activateSelectedOrFirst();\n\n if(show)\n {\n this.pluginBus.showHidePopup.emit(true);\n }\n\n this.pluginBus.focus.emit();\n }\n\n /**\n * Handles blur of live search\n */\n public handleBlur()\n {\n //not multiple and selected value\n if(!this.pluginBus.selectOptions.multiple)\n {\n //use selected text\n if(this._valueHandler.selectedOptions && !Array.isArray(this._valueHandler.selectedOptions))\n {\n this.searchValueDisplayed = this._valueHandler.selectedOptions.text;\n }\n //reset text\n else\n {\n this.searchValueDisplayed = '';\n }\n }\n //reset text\n else\n {\n this.searchValueDisplayed = '';\n }\n\n //reset available options\n this.searchValue = null;\n this.searchValueChange.emit();\n this._changeDetector.detectChanges();\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize texts\n */\n protected _initTexts()\n {\n Object.keys(this.options.texts).forEach(key =>\n {\n this.texts[key as keyof LiveSearchTexts] = this._stringLocalization.get(this.options.texts[key as keyof LiveSearchTexts]);\n });\n\n this._changeDetector.detectChanges();\n }\n\n /**\n * Activates first available option or selected option\n */\n protected _activateSelectedOrFirst()\n {\n const activeOption = this.availableOptions.find(itm => itm.active);\n const selectedOptions = this.availableOptions.filter(itm => itm.selected);\n\n //nothing active, nothing selected\n if(!activeOption && !selectedOptions.length)\n {\n const first = this.availableOptions[0];\n\n if(first)\n {\n first.active = true;\n }\n }\n //nothing active\n else if(!activeOption)\n {\n //last selected as sactive\n selectedOptions[selectedOptions.length - 1].active = true;\n }\n }\n}","<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement\r\n [ngClass]=\"options?.cssClasses?.input\"\r\n type=\"text\"\r\n [value]=\"searchValueDisplayed\"\r\n (input)=\"handleInput($any($event.target).value, true)\"\r\n (focus)=\"handleFocus($any($event.target))\"\r\n (click)=\"handleFocus($any($event.target), true)\"\r\n placeholder=\"{{texts?.inputPlaceholder}}\"\r\n [disabled]=\"pluginBus?.selectOptions.readonly\">\r\n </div>\r\n</div>"]}
|
|
1
|
+
{"version":3,"file":"editLiveSearch.component.js","sourceRoot":"","sources":["../../../../../src/plugins/liveSearch/edit/editLiveSearch.component.ts","../../../../../src/plugins/liveSearch/edit/editLiveSearch.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, ChangeDetectorRef, Inject, Optional, ElementRef, ViewChild, EventEmitter, OnDestroy} from '@angular/core';\nimport {STRING_LOCALIZATION, StringLocalization} from '@anglr/common';\nimport {extend, isPresent} from '@jscrpt/common';\nimport {Subscription} from 'rxjs';\n\nimport {EditLiveSearchOptions, EditLiveSearch} from './editLiveSearch.interface';\nimport {NgSelectPlugin, OptionsGatherer} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {LIVE_SEARCH_OPTIONS} from '../types';\nimport {ValueHandler} from '../../valueHandler';\nimport {VALUE_HANDLER} from '../../valueHandler/types';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {ɵNgSelectOption} from '../../../components/option';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\nimport {LiveSearchTexts} from '../liveSearch.interface';\n\n/**\n * Default options for live search\n * @internal\n */\nconst defaultOptions: EditLiveSearchOptions =\n{\n cssClasses:\n {\n wrapperDiv: 'edit-wrapper-div',\n input: 'edit-control'\n },\n texts:\n {\n inputPlaceholder: 'Select item'\n\n },\n keepSearchValue: false,\n nonExistingCancel: false,\n emptyCancel: false\n};\n\n/**\n * Component used for obtaining edit live search html element\n */\n@Component(\n{\n selector: 'ng-edit-live-search',\n templateUrl: 'editLiveSearch.component.html',\n styleUrls: ['editLiveSearch.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EditLiveSearchComponent implements EditLiveSearch, NgSelectPlugin<EditLiveSearchOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Popup plugin used within `NgSelect`\n */\n protected _popup: Popup;\n\n /**\n * Value handler plugin used within `NgSelect`\n */\n protected _valueHandler: ValueHandler;\n\n /**\n * Instance of previous options gatherer, that is used for obtaining available options\n */\n protected _optionsGatherer: OptionsGatherer;\n\n /**\n * Subscription for changes of options in options gatherer\n */\n protected _optionsChangeSubscription: Subscription;\n\n /**\n * Subscription for changes in texts\n */\n protected _textsChangedSubscription: Subscription;\n\n /**\n * Subscription for changes of selected value\n */\n protected _valueChangedSubscription: Subscription;\n\n /**\n * Subscription for live search focus request\n */\n protected _liveSearchFocusSubscription: Subscription;\n\n /**\n * Subscription for update displayed value request\n */\n protected _updateDisplayedValueSubscription: Subscription;\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: EditLiveSearchOptions;\n\n //######################### protected properties #########################\n\n /**\n * Gets currently available options\n */\n protected get availableOptions(): ɵNgSelectOption[]\n {\n return this.pluginBus.selectOptions.optionsGatherer.availableOptions;\n }\n\n //######################### public properties - implementation of EditLiveSearch #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): EditLiveSearchOptions\n {\n return this._options;\n }\n public set options(options: EditLiveSearchOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n /**\n * HTML element that represents live search\n */\n public get liveSearchElement(): HTMLElement\n {\n return this.liveSearchElementChild.nativeElement;\n }\n\n /**\n * Current value of live search\n */\n public searchValue: string = null;\n\n /**\n * Occurs when current value of live search changes\n */\n public searchValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n //######################### public properties - template bindings #########################\n\n /**\n * Current value that is displayed\n * @internal\n */\n public searchValueDisplayed: string = null;\n\n /**\n * Object containing available texts\n * @internal\n */\n public texts: LiveSearchTexts = {};\n\n //######################### public properties - children #########################\n\n /**\n * View child that represents live search element\n * @internal\n */\n @ViewChild('liveSearchElement')\n public liveSearchElementChild: ElementRef<HTMLElement>;\n\n /**\n * View child that represents input element\n * @internal\n */\n @ViewChild('inputElement')\n public inputElementChild: ElementRef<HTMLInputElement>;\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n protected _changeDetector: ChangeDetectorRef,\n @Inject(STRING_LOCALIZATION) protected _stringLocalization: StringLocalization,\n @Inject(LIVE_SEARCH_OPTIONS) @Optional() options?: EditLiveSearchOptions)\n {\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._optionsChangeSubscription?.unsubscribe();\n this._optionsChangeSubscription = null;\n\n this._textsChangedSubscription?.unsubscribe();\n this._textsChangedSubscription = null;\n\n this._valueChangedSubscription?.unsubscribe();\n this._valueChangedSubscription = null;\n\n this._liveSearchFocusSubscription?.unsubscribe();\n this._liveSearchFocusSubscription = null;\n\n this._updateDisplayedValueSubscription?.unsubscribe();\n this._updateDisplayedValueSubscription = null;\n }\n\n //######################### public methods - implementation of EditLiveSearch #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n this._textsChangedSubscription = this._stringLocalization.textsChange.subscribe(() => this._initTexts());\n\n if(this._optionsGatherer && this._optionsGatherer != this.pluginBus.selectOptions.optionsGatherer)\n {\n this._optionsChangeSubscription.unsubscribe();\n this._optionsChangeSubscription = null;\n\n this._optionsGatherer = null;\n }\n\n if(!this._optionsGatherer)\n {\n this._optionsGatherer = this.pluginBus.selectOptions.optionsGatherer;\n\n this._optionsChangeSubscription = this._optionsGatherer.availableOptionsChange.subscribe(() =>\n {\n //do not change active if active is visible\n if(!this.pluginBus.selectOptions.optionsGatherer.availableOptions.find((option: ɵNgSelectOption) => option.active))\n {\n //only when input is filled at least with one char\n if(this.searchValue)\n {\n const option: ɵNgSelectOption = this.pluginBus.selectOptions.optionsGatherer.availableOptions.find(itm => this.pluginBus.selectOptions.liveSearchFilter(this.searchValue, this.pluginBus.selectOptions.normalizer)(itm));\n \n if(option)\n {\n this.pluginBus.selectOptions.optionsGatherer.options.forEach((option: ɵNgSelectOption) => option.active = false);\n option.active = true;\n this._popup.invalidateVisuals();\n }\n }\n //select first\n else\n {\n this._activateSelectedOrFirst();\n }\n }\n });\n }\n\n const popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this._popup && this._popup != popup)\n {\n this._popup = null;\n }\n\n if(!this._popup)\n {\n this._popup = popup;\n }\n\n if(!this._liveSearchFocusSubscription)\n {\n this._liveSearchFocusSubscription = this.pluginBus.liveSearchFocus.subscribe(() =>\n {\n this.inputElementChild?.nativeElement.focus();\n });\n }\n\n if(!this._updateDisplayedValueSubscription)\n {\n this._updateDisplayedValueSubscription = this.pluginBus.updateDisplayedValue.subscribe(() =>\n {\n this.handleBlur();\n });\n }\n\n const valueHandler = this.ngSelectPlugins[VALUE_HANDLER] as ValueHandler;\n\n if(this._valueHandler && this._valueHandler != valueHandler)\n {\n this._valueChangedSubscription.unsubscribe();\n this._valueChangedSubscription = null;\n\n this._valueHandler = null;\n }\n\n if(!this._valueHandler)\n {\n this._valueHandler = valueHandler;\n\n this._valueChangedSubscription = this._valueHandler.valueChange.subscribe(() =>\n {\n const selected = this._valueHandler.selectedOptions;\n\n if(!selected)\n {\n this.searchValueDisplayed = '';\n this.handleInput('');\n this._changeDetector.detectChanges();\n\n return;\n }\n\n //reset filtering of available options\n this.handleInput(null);\n\n if(Array.isArray(selected))\n {\n this.searchValueDisplayed = '';\n this.inputElementChild?.nativeElement.focus();\n this._changeDetector.detectChanges();\n }\n else\n {\n //set selected into live search\n this.searchValueDisplayed = selected.text;\n this._changeDetector.detectChanges();\n\n //select current text\n this.inputElementChild?.nativeElement.select();\n }\n });\n }\n\n this._initTexts();\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n this._changeDetector.detectChanges();\n }\n\n //######################### public methods - template bindings #########################\n\n /**\n * Handle input value\n * @param value - Value of input\n * @param inputChange - Indication that change was by input event of input\n * @internal\n */\n public handleInput(value: string, inputChange: boolean = false)\n {\n this.searchValue = value;\n this.searchValueChange.emit();\n\n if(inputChange)\n {\n this.pluginBus.showHidePopup.emit(true);\n this.searchValueDisplayed = value;\n\n //single value select\n if(!this.pluginBus.selectOptions.multiple)\n {\n //cancel value\n if(this._options.nonExistingCancel)\n {\n this._valueHandler.setValue(null);\n }\n //empty string cancels value\n else if(this._options.emptyCancel && isPresent(value) && !value.length)\n {\n this._valueHandler.setValue(null);\n }\n //otherwise keep last value\n }\n }\n }\n\n /**\n * Handles focus event\n * @param element - Element that got focus\n * @param show - Indication whether show popup\n * @internal\n */\n public handleFocus(element: HTMLInputElement, show: boolean = false)\n {\n element.select();\n\n this._activateSelectedOrFirst();\n\n if(show)\n {\n this.pluginBus.showHidePopup.emit(true);\n }\n\n this.pluginBus.focus.emit();\n }\n\n /**\n * Handles blur of live search\n */\n public handleBlur()\n {\n //not multiple and selected value\n if(!this.pluginBus.selectOptions.multiple)\n {\n //use selected text\n if(this._valueHandler.selectedOptions && !Array.isArray(this._valueHandler.selectedOptions))\n {\n this.searchValueDisplayed = this._valueHandler.selectedOptions.text;\n }\n //reset text\n else\n {\n this.searchValueDisplayed = '';\n }\n }\n //reset text\n else\n {\n this.searchValueDisplayed = '';\n }\n\n //reset available options\n this.searchValue = null;\n this.searchValueChange.emit();\n this._changeDetector.detectChanges();\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize texts\n */\n protected _initTexts()\n {\n Object.keys(this.options.texts).forEach(key =>\n {\n this.texts[key as keyof LiveSearchTexts] = this._stringLocalization.get(this.options.texts[key as keyof LiveSearchTexts]);\n });\n\n this._changeDetector.detectChanges();\n }\n\n /**\n * Activates first available option or selected option\n */\n protected _activateSelectedOrFirst()\n {\n const activeOption = this.availableOptions.find(itm => itm.active);\n const selectedOptions = this.availableOptions.filter(itm => itm.selected);\n\n //nothing active, nothing selected\n if(!activeOption && !selectedOptions.length)\n {\n const first = this.availableOptions[0];\n\n if(first)\n {\n first.active = true;\n }\n }\n //nothing active\n else if(!activeOption)\n {\n //last selected as sactive\n selectedOptions[selectedOptions.length - 1].active = true;\n }\n }\n}","<div style=\"display: none;\">\r\n <div #liveSearchElement [ngClass]=\"options?.cssClasses?.wrapperDiv\">\r\n <input #inputElement\r\n [ngClass]=\"options?.cssClasses?.input\"\r\n type=\"text\"\r\n [value]=\"searchValueDisplayed\"\r\n (input)=\"handleInput($any($event.target).value, true)\"\r\n (focus)=\"handleFocus($any($event.target))\"\r\n (click)=\"handleFocus($any($event.target), true)\"\r\n placeholder=\"{{texts?.inputPlaceholder}}\"\r\n [disabled]=\"pluginBus?.selectOptions.readonly\">\r\n </div>\r\n</div>"]}
|
|
@@ -43,9 +43,9 @@ export class NoLiveSearchComponent {
|
|
|
43
43
|
invalidateVisuals() {
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
NoLiveSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
47
|
-
NoLiveSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
46
|
+
NoLiveSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NoLiveSearchComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
+
NoLiveSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NoLiveSearchComponent, selector: "ng-no-live-search", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NoLiveSearchComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
50
|
args: [{
|
|
51
51
|
selector: 'ng-no-live-search',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noLiveSearch.component.js","sourceRoot":"","sources":["../../../../../src/plugins/liveSearch/no/noLiveSearch.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAKzC,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;;AAG5E;;GAEG;AAOH,MAAM,OAAO,qBAAqB;IAuC9B,iEAAiE;IACjE,YAAmE,eAAwC,EACxF,aAAyB,EACN,SAAmB;QAFU,oBAAe,GAAf,eAAe,CAAyB;QACxF,kBAAa,GAAb,aAAa,CAAY;QACN,cAAS,GAAT,SAAS,CAAU;QAbzD;;WAEG;QACI,gBAAW,GAAW,IAAI,CAAC;QAElC;;WAEG;QACI,sBAAiB,GAAuB,IAAI,YAAY,EAAQ,CAAC;IAOxE,CAAC;IAvBD;;OAEG;IACH,IAAW,iBAAiB;QAExB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAmBD,qGAAqG;IAErG;;OAEG;IACI,UAAU;IAEjB,CAAC;IAED;;OAEG;IACI,WAAW;IAElB,CAAC;IAED;;OAEG;IACI,iBAAiB;IAExB,CAAC;;
|
|
1
|
+
{"version":3,"file":"noLiveSearch.component.js","sourceRoot":"","sources":["../../../../../src/plugins/liveSearch/no/noLiveSearch.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AAKzC,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;;AAG5E;;GAEG;AAOH,MAAM,OAAO,qBAAqB;IAuC9B,iEAAiE;IACjE,YAAmE,eAAwC,EACxF,aAAyB,EACN,SAAmB;QAFU,oBAAe,GAAf,eAAe,CAAyB;QACxF,kBAAa,GAAb,aAAa,CAAY;QACN,cAAS,GAAT,SAAS,CAAU;QAbzD;;WAEG;QACI,gBAAW,GAAW,IAAI,CAAC;QAElC;;WAEG;QACI,sBAAiB,GAAuB,IAAI,YAAY,EAAQ,CAAC;IAOxE,CAAC;IAvBD;;OAEG;IACH,IAAW,iBAAiB;QAExB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAmBD,qGAAqG;IAErG;;OAEG;IACI,UAAU;IAEjB,CAAC;IAED;;OAEG;IACI,WAAW;IAElB,CAAC;IAED;;OAEG;IACI,iBAAiB;IAExB,CAAC;;mHAnEQ,qBAAqB,kBAwCV,0BAA0B,uDAE1B,QAAQ;uGA1CnB,qBAAqB,yDAHpB,EAAE;4FAGH,qBAAqB;kBANjC,SAAS;mBACV;oBACI,QAAQ,EAAE,mBAAmB;oBAC7B,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD;;0BAyCgB,MAAM;2BAAC,0BAA0B;;0BAAG,QAAQ;;0BAE5C,MAAM;2BAAC,QAAQ","sourcesContent":["import {Component, ChangeDetectionStrategy, Inject, Optional, ElementRef, EventEmitter} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\nimport {NoLiveSearchOptions, NoLiveSearch} from './noLiveSearch.interface';\nimport {NgSelectPlugin} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\n\n/**\n * Component used for no live search\n */\n@Component(\n{\n selector: 'ng-no-live-search',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NoLiveSearchComponent implements NoLiveSearch, NgSelectPlugin<NoLiveSearchOptions>\n{\n //######################### protected fields #########################\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: NoLiveSearchOptions;\n\n //######################### public properties - implementation of NoLiveSearch #########################\n\n /**\n * Options for NgSelect plugin\n */\n public options: NoLiveSearchOptions;\n\n /**\n * Plugin bus used for inter plugin shared events\n */\n public pluginBus: PluginBus;\n\n /**\n * HTML element that represents live search\n */\n public get liveSearchElement(): HTMLElement\n {\n return this._document.createElement('span');\n }\n\n /**\n * Current value of live search\n */\n public searchValue: string = null;\n\n /**\n * Occurs when current value of live search changes\n */\n public searchValueChange: EventEmitter<void> = new EventEmitter<void>();\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n public pluginElement: ElementRef,\n @Inject(DOCUMENT) private _document: Document)\n {\n }\n\n //######################### public methods - implementation of NoLiveSearch #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n }\n}"]}
|
|
@@ -34,9 +34,9 @@ export class BasicNormalStateComponent extends NormalStateAbstractComponent {
|
|
|
34
34
|
this._options = extend(true, {}, defaultOptions, options);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
BasicNormalStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
38
|
-
BasicNormalStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
37
|
+
BasicNormalStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicNormalStateComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: STRING_LOCALIZATION }, { token: NORMAL_STATE_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
BasicNormalStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BasicNormalStateComponent, selector: "div.normal-state", usesInheritance: true, ngImport: i0, template: "<ng-template #defaultLook>{{valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected: options?.optionDisplayText}}</ng-template>\r\n\r\n<button [ngClass]=\"options?.cssClasses?.normalStateElement\" (click)=\"pluginBus?.togglePopup.emit(); pluginBus?.liveSearchFocus.emit()\" (focus)=\"pluginBus?.focus?.emit()\" [disabled]=\"!!pluginBus?.selectOptions?.readonly\" type=\"button\" [title]=\"valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected\">\r\n <span [ngClass]=\"options?.cssClasses?.selectedValue\"><ng-container *ngTemplateOutlet=\"pluginBus?.selectOptions?.templateGatherer?.normalStateTemplate || defaultLook; context: {$implicit: this}\"></ng-container></span>\r\n <span [ngClass]=\"options?.cssClasses?.selectedCarret\"></span>\r\n</button>", styles: ["button.btn-select\r\n{\r\n display: flex;\r\n width: 100%;\r\n padding: 5px 0px 4px 6px;\r\n background-color: #ffffff;\r\n background-image: none;\r\n border: 1px solid #cccccc;\r\n border-radius: 4px;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\r\n height: 28px;\r\n overflow: hidden;\r\n}\r\n\r\nbutton.btn-select:hover\r\n{\r\n background-color: #F2F2F2;\r\n}\r\n\r\nbutton.btn-select:active\r\n{\r\n box-shadow: 0 0 5px -1px #888888 inset;\r\n}\r\n\r\nbutton.btn-select .selected-value\r\n{\r\n flex: 1;\r\n text-align: left;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n\r\nbutton.btn-select .selected-caret\r\n{\r\n flex: 0 0 20px;\r\n align-self: center;\r\n}"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.NgSelectValuePipe, name: "ngSelectValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicNormalStateComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{ selector: 'div.normal-state', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #defaultLook>{{valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected: options?.optionDisplayText}}</ng-template>\r\n\r\n<button [ngClass]=\"options?.cssClasses?.normalStateElement\" (click)=\"pluginBus?.togglePopup.emit(); pluginBus?.liveSearchFocus.emit()\" (focus)=\"pluginBus?.focus?.emit()\" [disabled]=\"!!pluginBus?.selectOptions?.readonly\" type=\"button\" [title]=\"valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected\">\r\n <span [ngClass]=\"options?.cssClasses?.selectedValue\"><ng-container *ngTemplateOutlet=\"pluginBus?.selectOptions?.templateGatherer?.normalStateTemplate || defaultLook; context: {$implicit: this}\"></ng-container></span>\r\n <span [ngClass]=\"options?.cssClasses?.selectedCarret\"></span>\r\n</button>", styles: ["button.btn-select\r\n{\r\n display: flex;\r\n width: 100%;\r\n padding: 5px 0px 4px 6px;\r\n background-color: #ffffff;\r\n background-image: none;\r\n border: 1px solid #cccccc;\r\n border-radius: 4px;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\r\n height: 28px;\r\n overflow: hidden;\r\n}\r\n\r\nbutton.btn-select:hover\r\n{\r\n background-color: #F2F2F2;\r\n}\r\n\r\nbutton.btn-select:active\r\n{\r\n box-shadow: 0 0 5px -1px #888888 inset;\r\n}\r\n\r\nbutton.btn-select .selected-value\r\n{\r\n flex: 1;\r\n text-align: left;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n\r\nbutton.btn-select .selected-caret\r\n{\r\n flex: 0 0 20px;\r\n align-self: center;\r\n}"] }]
|
|
42
42
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basicNormalState.component.js","sourceRoot":"","sources":["../../../../../src/plugins/normalState/basic/basicNormalState.component.ts","../../../../../src/plugins/normalState/basic/basicNormalState.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAY,MAAM,eAAe,CAAC;AAC7H,OAAO,EAAqB,mBAAmB,EAAC,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,oBAAoB,EAAC,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAC,4BAA4B,EAAC,MAAM,kCAAkC,CAAC;;;;;AAE9E;;;GAGG;AACH,MAAM,cAAc,GACpB;IACI,UAAU,EACV;QACI,kBAAkB,EAAE,gBAAgB;QACpC,cAAc,EAAE,iCAAiC;QACjD,aAAa,EAAE,gBAAgB;KAClC;IACD,KAAK,EACL;QACI,eAAe,EAAE,kBAAkB;KACtC;IACD,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI;CAC3C,CAAC;AAEF;;GAEG;AAQH,MAAM,OAAO,yBAAwC,SAAQ,4BAAiG;IAE1J,iEAAiE;IACjE,YAA4D,eAAwC,EAC5E,SAAoB,EAChC,aAAyB,EACzB,cAAiC,EACJ,kBAAsC,EACzB,OAAiC;QAEnF,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAErF,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;;
|
|
1
|
+
{"version":3,"file":"basicNormalState.component.js","sourceRoot":"","sources":["../../../../../src/plugins/normalState/basic/basicNormalState.component.ts","../../../../../src/plugins/normalState/basic/basicNormalState.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAY,MAAM,eAAe,CAAC;AAC7H,OAAO,EAAqB,mBAAmB,EAAC,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,oBAAoB,EAAC,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAC,4BAA4B,EAAC,MAAM,kCAAkC,CAAC;;;;;AAE9E;;;GAGG;AACH,MAAM,cAAc,GACpB;IACI,UAAU,EACV;QACI,kBAAkB,EAAE,gBAAgB;QACpC,cAAc,EAAE,iCAAiC;QACjD,aAAa,EAAE,gBAAgB;KAClC;IACD,KAAK,EACL;QACI,eAAe,EAAE,kBAAkB;KACtC;IACD,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI;CAC3C,CAAC;AAEF;;GAEG;AAQH,MAAM,OAAO,yBAAwC,SAAQ,4BAAiG;IAE1J,iEAAiE;IACjE,YAA4D,eAAwC,EAC5E,SAAoB,EAChC,aAAyB,EACzB,cAAiC,EACJ,kBAAsC,EACzB,OAAiC;QAEnF,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAErF,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;;uHAbQ,yBAAyB,kBAGd,0BAA0B,iIAI1B,mBAAmB,aACnB,oBAAoB;2GAR/B,yBAAyB,+ECzCtC,qxBAKS;4FDoCI,yBAAyB;kBAPrC,SAAS;+BAEI,kBAAkB,mBAGX,uBAAuB,CAAC,MAAM;;0BAKlC,MAAM;2BAAC,0BAA0B;;0BAAG,QAAQ;;0BAC5C,QAAQ;;0BAGR,MAAM;2BAAC,mBAAmB;;0BAC1B,MAAM;2BAAC,oBAAoB;;0BAAG,QAAQ","sourcesContent":["import {Component, ChangeDetectionStrategy, ChangeDetectorRef, Inject, Optional, ElementRef, OnDestroy} from '@angular/core';\nimport {StringLocalization, STRING_LOCALIZATION} from '@anglr/common';\nimport {extend} from '@jscrpt/common';\n\nimport {BasicNormalStateOptions, BasicNormalState, CssClassesBasicNormalState} from './basicNormalState.interface';\nimport {NgSelectPlugin} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {NORMAL_STATE_OPTIONS} from '../types';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\nimport {NormalStateAbstractComponent} from '../normalStateAbstract.component';\n\n/**\n * Default options for normal state\n * @internal\n */\nconst defaultOptions: BasicNormalStateOptions =\n{\n cssClasses:\n {\n normalStateElement: 'btn btn-select',\n selectedCarret: 'selected-caret fa fa-caret-down',\n selectedValue: 'selected-value'\n },\n texts:\n {\n nothingSelected: 'Nothing selected'\n },\n optionDisplayText: option => option.text\n};\n\n/**\n * Component used for rendering basic simple normal state of select\n */\n@Component(\n{\n selector: 'div.normal-state',\n templateUrl: 'basicNormalState.component.html',\n styleUrls: ['basicNormalState.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasicNormalStateComponent<TValue = any> extends NormalStateAbstractComponent<CssClassesBasicNormalState, BasicNormalStateOptions<TValue>, TValue> implements BasicNormalState, NgSelectPlugin<BasicNormalStateOptions>, OnDestroy\n{\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() ngSelectPlugins: NgSelectPluginInstances,\n @Optional() pluginBus: PluginBus,\n pluginElement: ElementRef,\n changeDetector: ChangeDetectorRef,\n @Inject(STRING_LOCALIZATION) stringLocalization: StringLocalization,\n @Inject(NORMAL_STATE_OPTIONS) @Optional() options?: BasicNormalStateOptions)\n {\n super(ngSelectPlugins, pluginBus, pluginElement, changeDetector, stringLocalization);\n\n this._options = extend(true, {}, defaultOptions, options);\n }\n}","<ng-template #defaultLook>{{valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected: options?.optionDisplayText}}</ng-template>\r\n\r\n<button [ngClass]=\"options?.cssClasses?.normalStateElement\" (click)=\"pluginBus?.togglePopup.emit(); pluginBus?.liveSearchFocus.emit()\" (focus)=\"pluginBus?.focus?.emit()\" [disabled]=\"!!pluginBus?.selectOptions?.readonly\" type=\"button\" [title]=\"valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected\">\r\n <span [ngClass]=\"options?.cssClasses?.selectedValue\"><ng-container *ngTemplateOutlet=\"pluginBus?.selectOptions?.templateGatherer?.normalStateTemplate || defaultLook; context: {$implicit: this}\"></ng-container></span>\r\n <span [ngClass]=\"options?.cssClasses?.selectedCarret\"></span>\r\n</button>"]}
|