@anglr/select 11.0.2 → 12.0.0-beta.20230109082659
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 +43 -0
- package/elements/src/components/ngSelectElements.component.d.ts +1 -1
- package/es2015/elements/src/components/ngSelectElements.component.js +7 -13
- package/es2015/elements/src/components/ngSelectElements.component.js.map +1 -1
- package/es2015/elements/src/modules/ngSelectElements.module.js +7 -9
- 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/directives/dialogPopup/dialogPopup.directive.js +3 -3
- package/es2015/material/src/modules/dialogPopup.module.js +5 -7
- package/es2015/material/src/modules/dialogPopup.module.js.map +1 -1
- package/es2015/material/src/modules/virtualEditPopup.module.js +5 -7
- 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/virtualEdit/virtualEditPopup.component.js +5 -5
- package/es2015/src/components/option/optgroup.component.js +3 -3
- package/es2015/src/components/option/option.component.js +3 -3
- package/es2015/src/components/select/select.component.js +9 -15
- 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/ngSelectEdit/ngSelectEdit.directive.js +3 -3
- package/es2015/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js +3 -3
- package/es2015/src/misc/ngSelectControlValueAccessor.directive.js +3 -3
- package/es2015/src/misc/pluginBus/pluginBus.js +3 -3
- package/es2015/src/modules/ngSelect.module.js +8 -10
- package/es2015/src/modules/ngSelect.module.js.map +1 -1
- package/es2015/src/modules/ngSelectDynamic.module.js +4 -4
- package/es2015/src/modules/ngSelectEdit.module.js +5 -7
- package/es2015/src/modules/ngSelectEdit.module.js.map +1 -1
- package/es2015/src/pipes/ngSelectHasValue.pipe.js +3 -3
- package/es2015/src/pipes/ngSelectValue.pipe.js +3 -3
- package/es2015/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js +3 -3
- package/es2015/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js +3 -3
- package/es2015/src/plugins/liveSearch/basic/basicLiveSearch.component.js +3 -3
- package/es2015/src/plugins/liveSearch/edit/editLiveSearch.component.js +3 -3
- 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/edit/editNormalState.component.js +3 -3
- package/es2015/src/plugins/normalState/normalStateAbstract.component.js +3 -3
- 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/components.js +1 -1
- package/es2015/src/plugins/positioner/components.js.map +1 -1
- package/es2015/src/plugins/positioner/default/defaultPositioner.component.js +175 -0
- package/es2015/src/plugins/positioner/default/defaultPositioner.component.js.map +1 -0
- package/es2015/src/plugins/positioner/default/defaultPositioner.interface.js +2 -0
- package/es2015/src/plugins/positioner/default/defaultPositioner.interface.js.map +1 -0
- package/es2015/src/plugins/positioner/index.js +1 -1
- package/es2015/src/plugins/positioner/index.js.map +1 -1
- package/es2015/src/plugins/positioner/no/noPositioner.component.js +12 -7
- package/es2015/src/plugins/positioner/no/noPositioner.component.js.map +1 -1
- package/es2015/src/plugins/positioner/positioner.interface.js.map +1 -1
- package/es2015/src/plugins/positioner/types.js +0 -1
- package/es2015/src/plugins/positioner/types.js.map +1 -1
- package/es2015/src/plugins/valueHandler/basic/basicValueHandler.component.js +3 -3
- package/es2015/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js +3 -3
- package/es2015/src/plugins/valueHandler/valueHandlerBase.js +3 -3
- package/es2020/elements/src/components/ngSelectElements.component.js +7 -13
- package/es2020/elements/src/components/ngSelectElements.component.js.map +1 -1
- package/es2020/elements/src/modules/ngSelectElements.module.js +7 -9
- 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/directives/dialogPopup/dialogPopup.directive.js +3 -3
- package/es2020/material/src/modules/dialogPopup.module.js +5 -7
- package/es2020/material/src/modules/dialogPopup.module.js.map +1 -1
- package/es2020/material/src/modules/virtualEditPopup.module.js +5 -7
- 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/virtualEdit/virtualEditPopup.component.js +5 -5
- package/es2020/src/components/option/optgroup.component.js +3 -3
- package/es2020/src/components/option/option.component.js +3 -3
- package/es2020/src/components/select/select.component.js +9 -15
- 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/ngSelectEdit/ngSelectEdit.directive.js +3 -3
- package/es2020/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js +3 -3
- package/es2020/src/misc/ngSelectControlValueAccessor.directive.js +3 -3
- package/es2020/src/misc/pluginBus/pluginBus.js +3 -3
- package/es2020/src/modules/ngSelect.module.js +8 -10
- package/es2020/src/modules/ngSelect.module.js.map +1 -1
- package/es2020/src/modules/ngSelectDynamic.module.js +4 -4
- package/es2020/src/modules/ngSelectEdit.module.js +5 -7
- package/es2020/src/modules/ngSelectEdit.module.js.map +1 -1
- package/es2020/src/pipes/ngSelectHasValue.pipe.js +3 -3
- package/es2020/src/pipes/ngSelectValue.pipe.js +3 -3
- package/es2020/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js +3 -3
- package/es2020/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js +3 -3
- package/es2020/src/plugins/liveSearch/basic/basicLiveSearch.component.js +3 -3
- package/es2020/src/plugins/liveSearch/edit/editLiveSearch.component.js +3 -3
- 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/edit/editNormalState.component.js +3 -3
- package/es2020/src/plugins/normalState/normalStateAbstract.component.js +3 -3
- 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/components.js +1 -1
- package/es2020/src/plugins/positioner/components.js.map +1 -1
- package/es2020/src/plugins/positioner/default/defaultPositioner.component.js +172 -0
- package/es2020/src/plugins/positioner/default/defaultPositioner.component.js.map +1 -0
- package/es2020/src/plugins/positioner/default/defaultPositioner.interface.js +2 -0
- package/es2020/src/plugins/positioner/default/defaultPositioner.interface.js.map +1 -0
- package/es2020/src/plugins/positioner/index.js +1 -1
- package/es2020/src/plugins/positioner/index.js.map +1 -1
- package/es2020/src/plugins/positioner/no/noPositioner.component.js +12 -7
- package/es2020/src/plugins/positioner/no/noPositioner.component.js.map +1 -1
- package/es2020/src/plugins/positioner/positioner.interface.js.map +1 -1
- package/es2020/src/plugins/positioner/types.js +0 -1
- package/es2020/src/plugins/positioner/types.js.map +1 -1
- package/es2020/src/plugins/valueHandler/basic/basicValueHandler.component.js +3 -3
- package/es2020/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js +3 -3
- package/es2020/src/plugins/valueHandler/valueHandlerBase.js +3 -3
- package/material/src/components/basicDialogPopup/basicDialogPopup.component.d.ts +1 -1
- package/material/src/directives/dialogPopup/dialogPopup.directive.d.ts +1 -1
- package/material/src/plugins/popup/dialog/dialogPopup.component.d.ts +1 -1
- package/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.d.ts +1 -1
- package/package.json +37 -52
- package/src/components/option/optgroup.component.d.ts +1 -1
- package/src/components/option/option.component.d.ts +1 -1
- package/src/components/select/select.component.d.ts +1 -1
- package/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.d.ts +1 -1
- package/src/directives/ngSelectEdit/ngSelectEdit.directive.d.ts +1 -1
- package/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.d.ts +1 -1
- package/src/misc/ngSelectControlValueAccessor.directive.d.ts +1 -1
- package/src/modules/ngSelect.module.d.ts +2 -2
- package/src/pipes/ngSelectHasValue.pipe.d.ts +1 -1
- package/src/pipes/ngSelectValue.pipe.d.ts +1 -1
- package/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.d.ts +1 -1
- package/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.d.ts +1 -1
- package/src/plugins/liveSearch/basic/basicLiveSearch.component.d.ts +1 -1
- package/src/plugins/liveSearch/edit/editLiveSearch.component.d.ts +1 -1
- package/src/plugins/liveSearch/no/noLiveSearch.component.d.ts +1 -1
- package/src/plugins/normalState/basic/basicNormalState.component.d.ts +1 -1
- package/src/plugins/normalState/edit/editNormalState.component.d.ts +1 -1
- package/src/plugins/normalState/normalStateAbstract.component.d.ts +1 -1
- package/src/plugins/popup/basic/basicPopup.component.d.ts +1 -1
- package/src/plugins/popup/edit/editPopup.component.d.ts +1 -1
- package/src/plugins/popup/popupAbstract.component.d.ts +1 -1
- package/src/plugins/positioner/components.d.ts +1 -1
- package/src/plugins/positioner/components.d.ts.map +1 -1
- package/src/plugins/positioner/default/defaultPositioner.component.d.ts +94 -0
- package/src/plugins/positioner/default/defaultPositioner.component.d.ts.map +1 -0
- package/src/plugins/positioner/default/defaultPositioner.interface.d.ts +12 -0
- package/src/plugins/positioner/default/defaultPositioner.interface.d.ts.map +1 -0
- package/src/plugins/positioner/index.d.ts +1 -1
- package/src/plugins/positioner/index.d.ts.map +1 -1
- package/src/plugins/positioner/no/noPositioner.component.d.ts +11 -3
- package/src/plugins/positioner/no/noPositioner.component.d.ts.map +1 -1
- package/src/plugins/positioner/positioner.interface.d.ts +8 -7
- package/src/plugins/positioner/positioner.interface.d.ts.map +1 -1
- package/src/plugins/positioner/types.d.ts +0 -1
- package/src/plugins/positioner/types.d.ts.map +1 -1
- package/src/plugins/valueHandler/basic/basicValueHandler.component.d.ts +1 -1
- package/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.d.ts +1 -1
- package/src/plugins/valueHandler/valueHandlerBase.d.ts +1 -1
- package/version.bak +1 -1
- package/es2015/popperJs/src/index.js +0 -4
- package/es2015/popperJs/src/index.js.map +0 -1
- package/es2015/popperJs/src/modules/popperjsPositioner.module.js +0 -23
- package/es2015/popperJs/src/modules/popperjsPositioner.module.js.map +0 -1
- package/es2015/popperJs/src/plugins/positioner/components.js +0 -2
- package/es2015/popperJs/src/plugins/positioner/components.js.map +0 -1
- package/es2015/popperJs/src/plugins/positioner/index.js +0 -2
- package/es2015/popperJs/src/plugins/positioner/index.js.map +0 -1
- package/es2015/popperJs/src/plugins/positioner/popperJs/popperJsPositioner.component.js +0 -151
- package/es2015/popperJs/src/plugins/positioner/popperJs/popperJsPositioner.component.js.map +0 -1
- package/es2015/popperJs/src/plugins/positioner/popperJs/popperjsPositioner.interface.js +0 -2
- package/es2015/popperJs/src/plugins/positioner/popperJs/popperjsPositioner.interface.js.map +0 -1
- package/es2015/src/plugins/positioner/basic/basicPositioner.component.js +0 -193
- package/es2015/src/plugins/positioner/basic/basicPositioner.component.js.map +0 -1
- package/es2015/src/plugins/positioner/basic/basicPositioner.interface.js +0 -2
- package/es2015/src/plugins/positioner/basic/basicPositioner.interface.js.map +0 -1
- package/es2015/src/plugins/positioner/basic/types.js +0 -36
- package/es2015/src/plugins/positioner/basic/types.js.map +0 -1
- package/es2020/popperJs/src/index.js +0 -4
- package/es2020/popperJs/src/index.js.map +0 -1
- package/es2020/popperJs/src/modules/popperjsPositioner.module.js +0 -23
- package/es2020/popperJs/src/modules/popperjsPositioner.module.js.map +0 -1
- package/es2020/popperJs/src/plugins/positioner/components.js +0 -2
- package/es2020/popperJs/src/plugins/positioner/components.js.map +0 -1
- package/es2020/popperJs/src/plugins/positioner/index.js +0 -2
- package/es2020/popperJs/src/plugins/positioner/index.js.map +0 -1
- package/es2020/popperJs/src/plugins/positioner/popperJs/popperJsPositioner.component.js +0 -148
- package/es2020/popperJs/src/plugins/positioner/popperJs/popperJsPositioner.component.js.map +0 -1
- package/es2020/popperJs/src/plugins/positioner/popperJs/popperjsPositioner.interface.js +0 -2
- package/es2020/popperJs/src/plugins/positioner/popperJs/popperjsPositioner.interface.js.map +0 -1
- package/es2020/src/plugins/positioner/basic/basicPositioner.component.js +0 -190
- package/es2020/src/plugins/positioner/basic/basicPositioner.component.js.map +0 -1
- package/es2020/src/plugins/positioner/basic/basicPositioner.interface.js +0 -2
- package/es2020/src/plugins/positioner/basic/basicPositioner.interface.js.map +0 -1
- package/es2020/src/plugins/positioner/basic/types.js +0 -36
- package/es2020/src/plugins/positioner/basic/types.js.map +0 -1
- package/popperJs/package.json +0 -9
- package/popperJs/src/index.d.ts +0 -4
- package/popperJs/src/index.d.ts.map +0 -1
- package/popperJs/src/modules/popperjsPositioner.module.d.ts +0 -11
- package/popperJs/src/modules/popperjsPositioner.module.d.ts.map +0 -1
- package/popperJs/src/plugins/positioner/components.d.ts +0 -2
- package/popperJs/src/plugins/positioner/components.d.ts.map +0 -1
- package/popperJs/src/plugins/positioner/index.d.ts +0 -2
- package/popperJs/src/plugins/positioner/index.d.ts.map +0 -1
- package/popperJs/src/plugins/positioner/popperJs/popperJsPositioner.component.d.ts +0 -78
- package/popperJs/src/plugins/positioner/popperJs/popperJsPositioner.component.d.ts.map +0 -1
- package/popperJs/src/plugins/positioner/popperJs/popperjsPositioner.interface.d.ts +0 -12
- package/popperJs/src/plugins/positioner/popperJs/popperjsPositioner.interface.d.ts.map +0 -1
- package/src/plugins/positioner/basic/basicPositioner.component.d.ts +0 -90
- package/src/plugins/positioner/basic/basicPositioner.component.d.ts.map +0 -1
- package/src/plugins/positioner/basic/basicPositioner.interface.d.ts +0 -29
- package/src/plugins/positioner/basic/basicPositioner.interface.d.ts.map +0 -1
- package/src/plugins/positioner/basic/types.d.ts +0 -22
- package/src/plugins/positioner/basic/types.d.ts.map +0 -1
|
@@ -10,7 +10,7 @@ import { BasicNormalStateComponent } from '../../plugins/normalState/components'
|
|
|
10
10
|
import { POPUP } from '../../plugins/popup/types';
|
|
11
11
|
import { BasicPopupComponent } from '../../plugins/popup/component';
|
|
12
12
|
import { POSITIONER } from '../../plugins/positioner/types';
|
|
13
|
-
import {
|
|
13
|
+
import { DefaultPositionerComponent } from '../../plugins/positioner/components';
|
|
14
14
|
import { READONLY_STATE } from '../../plugins/readonlyState/types';
|
|
15
15
|
import { VALUE_HANDLER } from '../../plugins/valueHandler/types';
|
|
16
16
|
import { BasicValueHandlerComponent } from '../../plugins/valueHandler/components';
|
|
@@ -21,8 +21,8 @@ import { OptGroupComponent } from '../option/optgroup.component';
|
|
|
21
21
|
import { PluginBus } from '../../misc/pluginBus/pluginBus';
|
|
22
22
|
import * as i0 from "@angular/core";
|
|
23
23
|
import * as i1 from "../../misc/pluginBus/pluginBus";
|
|
24
|
-
import * as i2 from "@
|
|
25
|
-
import * as i3 from "@
|
|
24
|
+
import * as i2 from "@angular/common";
|
|
25
|
+
import * as i3 from "@anglr/common";
|
|
26
26
|
//TODO - dynamic change of absolute popup
|
|
27
27
|
//TODO - dynamic change of options gatherer destroy called properly ?
|
|
28
28
|
/**
|
|
@@ -59,7 +59,7 @@ const defaultOptions = {
|
|
|
59
59
|
type: forwardRef(() => BasicPopupComponent)
|
|
60
60
|
},
|
|
61
61
|
positioner: {
|
|
62
|
-
type: forwardRef(() =>
|
|
62
|
+
type: forwardRef(() => DefaultPositionerComponent)
|
|
63
63
|
},
|
|
64
64
|
keyboardHandler: {
|
|
65
65
|
type: forwardRef(() => BasicKeyboardHandlerComponent)
|
|
@@ -500,8 +500,8 @@ export class NgSelectComponent {
|
|
|
500
500
|
}
|
|
501
501
|
}
|
|
502
502
|
}
|
|
503
|
-
NgSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
504
|
-
NgSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
503
|
+
NgSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.ComponentFactoryResolver }, { token: i0.ApplicationRef }, { token: i0.Injector }, { token: i1.PluginBus }, { token: NG_SELECT_PLUGIN_INSTANCES }, { token: NG_SELECT_OPTIONS, optional: true }, { token: NORMAL_STATE_TYPE, optional: true }, { token: KEYBOARD_HANDLER_TYPE, optional: true }, { token: POPUP_TYPE, optional: true }, { token: POSITIONER_TYPE, optional: true }, { token: READONLY_STATE_TYPE, optional: true }, { token: VALUE_HANDLER_TYPE, optional: true }, { token: LIVE_SEARCH_TYPE, optional: true }, { token: 'readonly', attribute: true }, { token: 'disabled', attribute: true }, { token: 'multiple', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
504
|
+
NgSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: NgSelectComponent, selector: "ng-select", inputs: { selectOptions: "selectOptions", disabled: "disabled", readonly: "readonly" }, providers: [
|
|
505
505
|
{
|
|
506
506
|
provide: NG_SELECT_PLUGIN_INSTANCES,
|
|
507
507
|
useFactory: () => { return {}; }
|
|
@@ -510,8 +510,8 @@ NgSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", vers
|
|
|
510
510
|
provide: PluginBus,
|
|
511
511
|
useClass: PluginBus
|
|
512
512
|
}
|
|
513
|
-
], queries: [{ propertyName: "normalStateTemplate", first: true, predicate: ["normalStateTemplate"], descendants: true }, { propertyName: "optionTemplate", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "optionsChildren", predicate: OptionComponent }, { propertyName: "optGroupsChildren", predicate: OptGroupComponent }], usesOnChanges: true, ngImport: i0, template: "<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.liveSearch?.type\" (ngComponentOutletExCreated)=\"setLiveSearchComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.positioner?.type\" (ngComponentOutletExCreated)=\"setPositionerComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.keyboardHandler?.type\" (ngComponentOutletExCreated)=\"setKeyboardHandlerComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.valueHandler?.type\" (ngComponentOutletExCreated)=\"setValueHandlerComponent($event)\"></ng-template>\r\n\r\n<div>\r\n <ng-template [ngIf]=\"!selectOptions?.readonly\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.normalState?.type\" (ngComponentOutletExCreated)=\"setNormalStateComponent($event)\" [ngComponentOutletExContent]=\"liveSearchElement\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template [ngIf]=\"selectOptions?.readonly\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.readonlyState?.type\" (ngComponentOutletExCreated)=\"setReadonlyStateComponent($event)\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template [ngIf]=\"!selectOptions?.absolute\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.popup?.type\" (ngComponentOutletExCreated)=\"setPopupComponent($event)\" [ngComponentOutletExContent]=\"liveSearchElement\"></ng-template>\r\n </ng-template>\r\n</div>", styles: [":host\n {\n display: block;\n position: relative;\n }"],
|
|
514
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
513
|
+
], queries: [{ propertyName: "normalStateTemplate", first: true, predicate: ["normalStateTemplate"], descendants: true }, { propertyName: "optionTemplate", first: true, predicate: ["optionTemplate"], descendants: true }, { propertyName: "optionsChildren", predicate: OptionComponent }, { propertyName: "optGroupsChildren", predicate: OptGroupComponent }], usesOnChanges: true, ngImport: i0, template: "<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.liveSearch?.type\" (ngComponentOutletExCreated)=\"setLiveSearchComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.positioner?.type\" (ngComponentOutletExCreated)=\"setPositionerComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.keyboardHandler?.type\" (ngComponentOutletExCreated)=\"setKeyboardHandlerComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.valueHandler?.type\" (ngComponentOutletExCreated)=\"setValueHandlerComponent($event)\"></ng-template>\r\n\r\n<div>\r\n <ng-template [ngIf]=\"!selectOptions?.readonly\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.normalState?.type\" (ngComponentOutletExCreated)=\"setNormalStateComponent($event)\" [ngComponentOutletExContent]=\"liveSearchElement\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template [ngIf]=\"selectOptions?.readonly\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.readonlyState?.type\" (ngComponentOutletExCreated)=\"setReadonlyStateComponent($event)\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template [ngIf]=\"!selectOptions?.absolute\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.popup?.type\" (ngComponentOutletExCreated)=\"setPopupComponent($event)\" [ngComponentOutletExContent]=\"liveSearchElement\"></ng-template>\r\n </ng-template>\r\n</div>", styles: [":host\n {\n display: block;\n position: relative;\n }"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgComponentOutletEx, selector: "[ngComponentOutletEx]", inputs: ["ngComponentOutletEx", "ngComponentOutletExInjector", "ngComponentOutletExContent"], outputs: ["ngComponentOutletExCreated"], exportAs: ["ngComponentOutletEx"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
514
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectComponent, decorators: [{
|
|
515
515
|
type: Component,
|
|
516
516
|
args: [{ selector: 'ng-select', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
517
517
|
{
|
|
@@ -522,13 +522,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
522
522
|
provide: PluginBus,
|
|
523
523
|
useClass: PluginBus
|
|
524
524
|
}
|
|
525
|
-
], styles: [
|
|
526
|
-
`:host
|
|
527
|
-
{
|
|
528
|
-
display: block;
|
|
529
|
-
position: relative;
|
|
530
|
-
}`
|
|
531
|
-
], template: "<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.liveSearch?.type\" (ngComponentOutletExCreated)=\"setLiveSearchComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.positioner?.type\" (ngComponentOutletExCreated)=\"setPositionerComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.keyboardHandler?.type\" (ngComponentOutletExCreated)=\"setKeyboardHandlerComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.valueHandler?.type\" (ngComponentOutletExCreated)=\"setValueHandlerComponent($event)\"></ng-template>\r\n\r\n<div>\r\n <ng-template [ngIf]=\"!selectOptions?.readonly\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.normalState?.type\" (ngComponentOutletExCreated)=\"setNormalStateComponent($event)\" [ngComponentOutletExContent]=\"liveSearchElement\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template [ngIf]=\"selectOptions?.readonly\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.readonlyState?.type\" (ngComponentOutletExCreated)=\"setReadonlyStateComponent($event)\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template [ngIf]=\"!selectOptions?.absolute\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.popup?.type\" (ngComponentOutletExCreated)=\"setPopupComponent($event)\" [ngComponentOutletExContent]=\"liveSearchElement\"></ng-template>\r\n </ng-template>\r\n</div>" }]
|
|
525
|
+
], template: "<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.liveSearch?.type\" (ngComponentOutletExCreated)=\"setLiveSearchComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.positioner?.type\" (ngComponentOutletExCreated)=\"setPositionerComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.keyboardHandler?.type\" (ngComponentOutletExCreated)=\"setKeyboardHandlerComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.valueHandler?.type\" (ngComponentOutletExCreated)=\"setValueHandlerComponent($event)\"></ng-template>\r\n\r\n<div>\r\n <ng-template [ngIf]=\"!selectOptions?.readonly\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.normalState?.type\" (ngComponentOutletExCreated)=\"setNormalStateComponent($event)\" [ngComponentOutletExContent]=\"liveSearchElement\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template [ngIf]=\"selectOptions?.readonly\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.readonlyState?.type\" (ngComponentOutletExCreated)=\"setReadonlyStateComponent($event)\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template [ngIf]=\"!selectOptions?.absolute\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.popup?.type\" (ngComponentOutletExCreated)=\"setPopupComponent($event)\" [ngComponentOutletExContent]=\"liveSearchElement\"></ng-template>\r\n </ng-template>\r\n</div>", styles: [":host\n {\n display: block;\n position: relative;\n }"] }]
|
|
532
526
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.ComponentFactoryResolver }, { type: i0.ApplicationRef }, { type: i0.Injector }, { type: i1.PluginBus }, { type: undefined, decorators: [{
|
|
533
527
|
type: Inject,
|
|
534
528
|
args: [NG_SELECT_PLUGIN_INSTANCES]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.component.js","sourceRoot":"","sources":["../../../../src/components/select/select.component.ts","../../../../src/components/select/select.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, FactoryProvider, Input, Inject, ChangeDetectorRef, Optional, Type, AfterViewInit, OnInit, ContentChildren, QueryList, EventEmitter, forwardRef, resolveForwardRef, ElementRef, OnChanges, SimpleChanges, Attribute, OnDestroy, TemplateRef, ContentChild, ComponentFactoryResolver, ApplicationRef, Injector, EmbeddedViewRef, ComponentRef, ClassProvider} from '@angular/core';\nimport {extend, nameof, isBoolean, isPresent, isString} from '@jscrpt/common';\nimport {BehaviorSubject, Observable, Subscription} from 'rxjs';\n\nimport {NgSelectOptions, NgSelectPlugin, PluginDescription, NormalizeFunc, NgSelectPluginTypes} from '../../misc';\nimport {NG_SELECT_OPTIONS, KEYBOARD_HANDLER_TYPE, NORMAL_STATE_TYPE, POPUP_TYPE, POSITIONER_TYPE, READONLY_STATE_TYPE, VALUE_HANDLER_TYPE, LIVE_SEARCH_TYPE} from '../../misc/types';\nimport {NgSelect, NgSelectPluginInstances, NgSelectAction, NgSelectFunction} from './select.interface';\nimport {NG_SELECT_PLUGIN_INSTANCES} from './types';\nimport {KeyboardHandler} from '../../plugins/keyboardHandler';\nimport {BasicKeyboardHandlerComponent} from '../../plugins/keyboardHandler/components';\nimport {KEYBOARD_HANDLER} from '../../plugins/keyboardHandler/types';\nimport {NormalState, NormalStateContext} from '../../plugins/normalState';\nimport {NORMAL_STATE} from '../../plugins/normalState/types';\nimport {BasicNormalStateComponent} from '../../plugins/normalState/components';\nimport {Popup, PopupContext} from '../../plugins/popup';\nimport {POPUP} from '../../plugins/popup/types';\nimport {BasicPopupComponent} from '../../plugins/popup/component';\nimport {Positioner} from '../../plugins/positioner';\nimport {POSITIONER} from '../../plugins/positioner/types';\nimport {BasicPositionerComponent} from '../../plugins/positioner/components';\nimport {ReadonlyState} from '../../plugins/readonlyState';\nimport {READONLY_STATE} from '../../plugins/readonlyState/types';\nimport {ValueHandler} from '../../plugins/valueHandler';\nimport {VALUE_HANDLER} from '../../plugins/valueHandler/types';\nimport {BasicValueHandlerComponent} from '../../plugins/valueHandler/components';\nimport {LiveSearch} from '../../plugins/liveSearch';\nimport {LIVE_SEARCH} from '../../plugins/liveSearch/types';\nimport {NoLiveSearchComponent} from '../../plugins/liveSearch/components';\nimport {NgSelectOption, NgSelectOptGroup} from '../option';\nimport {OptionComponent} from '../option/option.component';\nimport {OptGroupComponent} from '../option/optgroup.component';\nimport {PluginBus} from '../../misc/pluginBus/pluginBus';\nimport {PluginBusEvents} from '../../misc/pluginBus/pluginBus.interface';\n\n//TODO - dynamic change of absolute popup\n//TODO - dynamic change of options gatherer destroy called properly ?\n\n/**\n * Default 'NgSelectOptions'\n * @internal\n */\nconst defaultOptions: NgSelectOptions =\n{\n autoInitialize: true,\n absolute: false,\n forceValueCheckOnInit: false,\n multiple: false,\n readonly: false,\n valueComparer: (source, target) =>\n {\n return source === target;\n },\n liveSearchFilter: (query: string, normalizer: NormalizeFunc = value => value) =>\n {\n return itm => normalizer(itm.text).indexOf(normalizer(query)) >= 0;\n },\n normalizer: value =>\n {\n if(isString(value))\n {\n return value.toLowerCase();\n }\n\n return value;\n },\n cssClasses:\n {\n },\n plugins:\n {\n normalState: <PluginDescription<BasicNormalStateComponent>>\n {\n type: forwardRef(() => BasicNormalStateComponent)\n },\n liveSearch: <PluginDescription<NoLiveSearchComponent>>\n {\n type: forwardRef(() => NoLiveSearchComponent)\n },\n popup: <PluginDescription<BasicPopupComponent>>\n {\n type: forwardRef(() => BasicPopupComponent)\n },\n positioner: <PluginDescription<BasicPositionerComponent>>\n {\n type: forwardRef(() => BasicPositionerComponent)\n },\n keyboardHandler: <PluginDescription<BasicKeyboardHandlerComponent>>\n {\n type: forwardRef(() => BasicKeyboardHandlerComponent)\n },\n readonlyState: <PluginDescription<ReadonlyState>>\n {\n type: forwardRef(() => BasicNormalStateComponent)\n },\n valueHandler: <PluginDescription<BasicValueHandlerComponent>>\n {\n type: forwardRef(() => BasicValueHandlerComponent)\n }\n }\n};\n\n/**\n * Component that represents NgSelect itself, allows selection of value from options\n */\n@Component(\n{\n selector: 'ng-select',\n templateUrl: 'select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers:\n [\n <FactoryProvider>\n {\n provide: NG_SELECT_PLUGIN_INSTANCES,\n useFactory: () => {return {};}\n },\n <ClassProvider>\n {\n provide: PluginBus,\n useClass: PluginBus\n }\n ],\n styles: [\n `:host\n {\n display: block;\n position: relative;\n }`\n ]\n})\nexport class NgSelectComponent<TValue = any> implements NgSelect<TValue>, OnChanges, OnInit, AfterViewInit, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * NgSelect options\n */\n protected _selectOptions: NgSelectOptions<TValue>;\n\n /**\n * Subject used for indication that NgSelect was initialized\n */\n protected _initializedSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n /**\n * Occurs when array of provided options has changed\n */\n protected _optionsChange: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Occurs when array of visible, displayed options has changed\n */\n protected _availableOptionsChange: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Array of available options to be displayed\n */\n protected _availableOptions: NgSelectOption<TValue>[] = [];\n\n /**\n * Live search plugin currently used in NgSelect\n */\n protected _liveSearch: LiveSearch;\n\n /**\n * Subscription for changes of live search value\n */\n protected _searchValueChangeSubscription: Subscription;\n\n /**\n * Instance of component ref for absolute popup\n */\n protected _absolutePopup: ComponentRef<Popup>;\n\n /**\n * Instance of type that is used as absolute popup\n */\n protected _absolutePopupType: Type<Popup>;\n\n /**\n * Instance of html element that is used\n */\n protected _absolutePopupElement: HTMLElement;\n\n //######################### public properties - inputs #########################\n\n /**\n * Gets or sets NgSelect options\n */\n @Input()\n public get selectOptions(): NgSelectOptions<TValue>\n {\n return this._selectOptions;\n }\n public set selectOptions(options: NgSelectOptions<TValue>)\n {\n this._selectOptions = extend(true, this._selectOptions, options);\n this._pluginBus.selectOptions = this._selectOptions;\n }\n\n /**\n * Indication whether should be NgSelect disabled or not\n */\n @Input()\n public disabled: boolean;\n\n /**\n * Indication whether should be NgSelect readonly or not\n */\n @Input()\n public readonly: boolean;\n\n //######################### public properties - implementation of NgSelect #########################\n\n /**\n * Occurs every time when NgSelect is initialized or reinitialized, if value is false NgSelect was not initialized yet\n */\n public get initialized(): Observable<boolean>\n {\n return this._initializedSubject.asObservable();\n }\n\n /**\n * Gets current state of initialization\n */\n public isInitialized: boolean = false;\n\n //######################### public properties - implementation of TemplateGatherer #########################\n\n /**\n * Template used within normal state\n */\n @ContentChild('normalStateTemplate')\n public normalStateTemplate: TemplateRef<NormalStateContext>;\n\n /**\n * Template that is used within Popup as option\n * @internal\n */\n @ContentChild('optionTemplate')\n public optionTemplate?: TemplateRef<PopupContext>;\n\n //######################### public properties - implementation of OptionsGatherer #########################\n\n /**\n * Array of provided options for select\n */\n public get options(): NgSelectOption<TValue>[]\n {\n return this.optionsChildren.toArray();\n }\n\n /**\n * Occurs when array of provided options has changed\n */\n public get optionsChange(): EventEmitter<void>\n {\n return this._optionsChange;\n }\n\n /**\n * Array of visible, displayed options for select\n */\n public get availableOptions(): NgSelectOption<TValue>[]\n {\n return this._availableOptions;\n }\n\n /**\n * Occurs when array of visible, displayed options has changed\n */\n public get availableOptionsChange(): EventEmitter<void>\n {\n return this._availableOptionsChange;\n }\n\n /**\n * NgSelect plugin instances available for gatherer\n */\n public ngSelectPlugins: NgSelectPluginInstances;\n\n /**\n * Plugin bus used for inter plugin shared events\n */\n public pluginBus: PluginBus<TValue>;\n\n /**\n * Select element that implements default gatherers\n */\n public select: NgSelect<TValue>;\n\n //######################### public properties - template bindings #########################\n\n /**\n * Element used for live search\n */\n public liveSearchElement: HTMLElement[][];\n\n //######################### public properties - children #########################\n\n /**\n * Options children found inside ng-select\n */\n @ContentChildren(OptionComponent)\n public optionsChildren: QueryList<NgSelectOption>;\n\n //######################### public properties - children #########################\n\n /**\n * Options groups children found inside ng-select\n */\n @ContentChildren(OptGroupComponent)\n public optGroupsChildren: QueryList<NgSelectOptGroup>;\n\n //######################### constructors #########################\n constructor(protected _changeDetector: ChangeDetectorRef,\n protected _element: ElementRef<HTMLElement>,\n protected _componentFactoryResolver: ComponentFactoryResolver,\n protected _appRef: ApplicationRef,\n protected _injector: Injector,\n protected _pluginBus: PluginBus<TValue>,\n @Inject(NG_SELECT_PLUGIN_INSTANCES) protected _pluginInstances: NgSelectPluginInstances,\n @Inject(NG_SELECT_OPTIONS) @Optional() options?: NgSelectOptions<TValue>,\n @Inject(NORMAL_STATE_TYPE) @Optional() normalStateType?: Type<NormalState>,\n @Inject(KEYBOARD_HANDLER_TYPE) @Optional() keyboardHandlerType?: Type<KeyboardHandler>,\n @Inject(POPUP_TYPE) @Optional() popupType?: Type<Popup>,\n @Inject(POSITIONER_TYPE) @Optional() positionerType?: Type<Positioner>,\n @Inject(READONLY_STATE_TYPE) @Optional() readonlyStateType?: Type<ReadonlyState>,\n @Inject(VALUE_HANDLER_TYPE) @Optional() valueHandlerType?: Type<ValueHandler>,\n @Inject(LIVE_SEARCH_TYPE) @Optional() liveSearchType?: Type<LiveSearch>,\n @Attribute('readonly') readonly?: string,\n @Attribute('disabled') disabled?: string,\n @Attribute('multiple') multiple?: string)\n {\n //at least on of following is present (value is not important)\n const readonlyDefault = isPresent(readonly) || isPresent(disabled);\n const multipleDefault = isPresent(multiple);\n const opts: NgSelectOptions<TValue> = extend(true, {}, options);\n\n if(!opts.plugins)\n {\n opts.plugins = {};\n }\n\n if(keyboardHandlerType)\n {\n if(!opts.plugins.keyboardHandler)\n {\n opts.plugins.keyboardHandler = {};\n }\n\n opts.plugins.keyboardHandler.type = keyboardHandlerType;\n }\n\n if(normalStateType)\n {\n if(!opts.plugins.normalState)\n {\n opts.plugins.normalState = {};\n }\n\n opts.plugins.normalState.type = normalStateType;\n }\n\n if(popupType)\n {\n if(!opts.plugins.popup)\n {\n opts.plugins.popup = {};\n }\n\n opts.plugins.popup.type = popupType;\n }\n\n if(positionerType)\n {\n if(!opts.plugins.positioner)\n {\n opts.plugins.positioner = {};\n }\n\n opts.plugins.positioner.type = positionerType;\n }\n\n if(readonlyStateType)\n {\n if(!opts.plugins.readonlyState)\n {\n opts.plugins.readonlyState = {};\n }\n\n opts.plugins.readonlyState.type = readonlyStateType;\n }\n\n if(valueHandlerType)\n {\n if(!opts.plugins.valueHandler)\n {\n opts.plugins.valueHandler = {};\n }\n\n opts.plugins.valueHandler.type = valueHandlerType;\n }\n\n if(liveSearchType)\n {\n if(!opts.plugins.liveSearch)\n {\n opts.plugins.liveSearch = {};\n }\n\n opts.plugins.liveSearch.type = liveSearchType;\n }\n\n this._selectOptions = extend(true,\n <NgSelectOptions<TValue>>\n {\n optionsGatherer: this,\n templateGatherer: this,\n },\n defaultOptions,\n <NgSelectOptions<TValue>>\n {\n readonly: readonlyDefault,\n multiple: multipleDefault\n },\n opts);\n\n this._pluginBus.selectElement = this._element;\n this._pluginBus.selectOptions = this._selectOptions;\n }\n\n //######################### public methods - implementation of OnChanges #########################\n\n /**\n * Called when input value changes\n */\n public ngOnChanges(changes: SimpleChanges): void\n {\n const updateReadonly = (state: boolean, firstChange: boolean) =>\n {\n //update options\n this.selectOptions.readonly = state;\n\n if(!firstChange)\n {\n this.initOptions();\n this.initialize();\n }\n };\n\n if(nameof<NgSelectComponent<TValue>>('disabled') in changes && isBoolean(this.disabled))\n {\n updateReadonly(this.disabled, changes[nameof<NgSelectComponent<TValue>>('disabled')].firstChange);\n }\n\n if(nameof<NgSelectComponent<TValue>>('readonly') in changes && isBoolean(this.readonly))\n {\n updateReadonly(this.readonly, changes[nameof<NgSelectComponent<TValue>>('readonly')].firstChange);\n }\n }\n\n //######################### public methods - implementation of OnInit #########################\n\n /**\n * Initialize component\n */\n public ngOnInit()\n {\n this.initOptions();\n }\n\n //######################### public methods - implementation of AfterViewInit #########################\n\n /**\n * Called when view was initialized\n */\n public ngAfterViewInit()\n {\n this._availableOptions = this.options;\n\n this.optionsChildren.changes.subscribe(() =>\n {\n this._availableOptions = this.options;\n this._optionsChange.emit();\n this._availableOptionsChange.emit();\n });\n \n if(this._selectOptions.autoInitialize)\n {\n this.initialize();\n }\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._searchValueChangeSubscription?.unsubscribe();\n this._searchValueChangeSubscription = null;\n\n this.selectOptions.optionsGatherer?.destroyGatherer();\n\n this._destroyAbsolutePopup();\n }\n\n //######################### public methods - implementation of OptionsGatherer #########################\n\n /**\n * Initialize gatherer during initialization phase\n */\n public initializeGatherer(): void\n {\n const liveSearch = this._pluginInstances[LIVE_SEARCH] as LiveSearch;\n\n if(this._liveSearch && this._liveSearch != liveSearch)\n {\n this._searchValueChangeSubscription.unsubscribe();\n this._searchValueChangeSubscription = null;\n\n this._liveSearch = null;\n }\n\n if(!this._liveSearch)\n {\n this._liveSearch = liveSearch;\n\n this._searchValueChangeSubscription = this._liveSearch.searchValueChange.subscribe(() =>\n {\n if(!this._liveSearch.searchValue)\n {\n this._availableOptions = this.options;\n this._availableOptionsChange.emit();\n\n return;\n }\n\n this._availableOptions = this.options.filter(this.selectOptions.liveSearchFilter(this._liveSearch.searchValue, this.selectOptions.normalizer));\n this._availableOptionsChange.emit();\n });\n }\n }\n\n /**\n * Called when gatherer needs to be destroyed\n */\n public destroyGatherer(): void\n {\n }\n\n //######################### public methods - template bindings #########################\n\n /**\n * Sets normal state component\n * @param normalState - Created normal state that is rendered\n * @internal\n */\n public setNormalStateComponent(normalState: NormalState)\n {\n this._registerNewPlugin(normalState, NORMAL_STATE, 'normalState');\n }\n\n /**\n * Sets keyboard handler component\n * @param keyboardHandler - Created keyboard handler that is rendered\n * @internal\n */\n public setKeyboardHandlerComponent(keyboardHandler: KeyboardHandler)\n {\n this._registerNewPlugin(keyboardHandler, KEYBOARD_HANDLER, 'keyboardHandler');\n }\n\n /**\n * Sets popup component\n * @param popup - Created popup that is rendered\n * @internal\n */\n public setPopupComponent(popup: Popup)\n {\n this._registerNewPlugin(popup, POPUP, 'popup');\n }\n\n /**\n * Sets positioner component\n * @param positioner - Created positioner that is rendered\n * @internal\n */\n public setPositionerComponent(positioner: Positioner)\n {\n this._registerNewPlugin(positioner, POSITIONER, 'positioner');\n }\n\n /**\n * Sets readonly state component\n * @param readonlyState - Created readonly state that is rendered\n * @internal\n */\n public setReadonlyStateComponent(readonlyState: ReadonlyState)\n {\n this._registerNewPlugin(readonlyState, READONLY_STATE, 'readonlyState');\n this._pluginInstances[NORMAL_STATE] = this._pluginInstances[READONLY_STATE];\n }\n\n /**\n * Sets value handler component\n * @param valueHandler - Created value handler that is rendered\n * @internal\n */\n public setValueHandlerComponent(valueHandler: ValueHandler<TValue>)\n {\n this._registerNewPlugin(valueHandler, VALUE_HANDLER, 'valueHandler');\n }\n\n /**\n * Sets live search component\n * @param liveSearch - Created live search that is rendered\n * @internal\n */\n public setLiveSearchComponent(liveSearch: LiveSearch)\n {\n this._registerNewPlugin(liveSearch, LIVE_SEARCH, 'liveSearch');\n }\n\n //######################### public methods #########################\n\n /**\n * Initialize component, automatically called once if not blocked by options\n */\n public initialize()\n {\n const liveSearchPlugin = this._pluginInstances[LIVE_SEARCH] as LiveSearch;\n this.liveSearchElement = [[liveSearchPlugin.liveSearchElement]];\n\n if(this.selectOptions.absolute)\n {\n this._appendPopupToBody(this._selectOptions.plugins.popup.type);\n }\n\n this._changeDetector.detectChanges();\n \n this.selectOptions.optionsGatherer.initializeGatherer();\n\n this._pluginInstances[LIVE_SEARCH].initialize();\n this._pluginInstances[KEYBOARD_HANDLER].initialize();\n this._pluginInstances[VALUE_HANDLER].initialize();\n this._pluginInstances[NORMAL_STATE]?.initialize();\n this._pluginInstances[READONLY_STATE]?.initialize();\n this._pluginInstances[POPUP].initialize();\n this._pluginInstances[POSITIONER].initialize();\n\n this.isInitialized = true;\n this._initializedSubject.next(true);\n }\n\n /**\n * Initialize options, automaticaly called during init phase, but can be used to reinitialize NgSelectOptions\n */\n public initOptions()\n {\n this.selectOptions.optionsGatherer.ngSelectPlugins = this._pluginInstances;\n this.selectOptions.optionsGatherer.pluginBus = this._pluginBus;\n this.selectOptions.optionsGatherer.select = this;\n\n const initOptionsPlugin = (pluginKey: string, pluginName: keyof NgSelectPluginTypes) =>\n {\n if(this._selectOptions.plugins[pluginName])\n {\n this._selectOptions.plugins[pluginName].type = resolveForwardRef(this._selectOptions.plugins[pluginName].type);\n\n if(this._pluginInstances[pluginKey])\n {\n if(this._selectOptions.plugins && this._selectOptions.plugins[pluginName] && this._selectOptions.plugins[pluginName].options)\n {\n this._pluginInstances[pluginKey].options = this._selectOptions.plugins[pluginName].options;\n }\n\n this._pluginInstances[pluginKey].initOptions();\n }\n }\n };\n\n if(this._selectOptions.plugins)\n {\n initOptionsPlugin(NORMAL_STATE, 'normalState');\n initOptionsPlugin(KEYBOARD_HANDLER, 'keyboardHandler');\n initOptionsPlugin(POPUP, 'popup');\n initOptionsPlugin(POSITIONER, 'positioner');\n initOptionsPlugin(READONLY_STATE, 'readonlyState');\n initOptionsPlugin(VALUE_HANDLER, 'valueHandler');\n initOptionsPlugin(LIVE_SEARCH, 'liveSearch');\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 /**\n * Gets instance of plugin by its id\n * @param pluginId - Id of plugin, use constants\n */\n public getPlugin<PluginType extends NgSelectPlugin>(pluginId: string): PluginType\n {\n return this._pluginInstances[pluginId] as PluginType;\n }\n\n /**\n * Subscribes for event\n * @param eventName - Name of event that should be listened to\n * @param handler - Function used for handling event\n */\n public listenTo<TParam = void>(eventName: keyof PluginBusEvents, handler: (data: TParam) => void): Subscription\n {\n return this._pluginBus[eventName].subscribe(handler);\n }\n\n /**\n * Executes actions on NgSelect\n * @param actions - Array of actions that are executed over NgSelect\n */\n public execute(...actions: NgSelectAction<TValue>[])\n {\n if(!actions)\n {\n return;\n }\n\n actions.forEach(action => action(this));\n }\n\n /**\n * Executes function on NgSelect and returns result\n * @param func - Function that is executed and its result is returned\n */\n public executeAndReturn<TResult>(func: NgSelectFunction<TResult, TValue>): TResult\n {\n if(!func)\n {\n return null;\n }\n\n return func(this);\n }\n\n //######################### protected methods #########################\n\n /**\n * Appends popup component directly to body, allows absolute positioning over page body\n * @param component - Popup component type to be appended\n */\n protected _appendPopupToBody(component: Type<Popup>) \n {\n //do not reinitialize if already exists and nothing has changed\n if(this._absolutePopupType == component && this.liveSearchElement[0][0] == this._absolutePopupElement)\n {\n return;\n }\n\n // 0. Destroyes absolute popup if it exists\n this._destroyAbsolutePopup();\n\n if(!component)\n {\n return;\n }\n\n this._absolutePopupType = component;\n this._absolutePopupElement = this.liveSearchElement[0][0];\n\n // 1. Create a component reference from the component \n this._absolutePopup = this._componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this._injector, this.liveSearchElement);\n \n // 2. Attach component to the appRef so that it's inside the ng component tree\n this._appRef.attachView(this._absolutePopup.hostView);\n \n // 3. Get DOM element from component\n const domElem = (this._absolutePopup.hostView as EmbeddedViewRef<any>)\n .rootNodes[0] as HTMLElement;\n \n // 4. Append DOM element to the body\n document.body.appendChild(domElem);\n\n this.setPopupComponent(this._absolutePopup.instance);\n }\n\n /**\n * Destroyes absolute popup if it exists\n */\n protected _destroyAbsolutePopup()\n {\n if(this._absolutePopup)\n {\n this._appRef.detachView(this._absolutePopup.hostView);\n this._absolutePopup.destroy();\n this._absolutePopup = null;\n this._absolutePopupType = null;\n this._absolutePopupElement = null;\n }\n }\n\n /**\n * Registers newly created plugin\n * @param plugin - Plugin to be registered\n * @param pluginKey - Key of plugin used for pluginInstances\n * @param pluginName - Name property for plugin from options\n */\n protected _registerNewPlugin(plugin: NgSelectPlugin, pluginKey: string, pluginName: keyof NgSelectPluginTypes)\n {\n if(!plugin)\n {\n this._pluginInstances[pluginKey] = null;\n\n return;\n }\n\n this._pluginInstances[pluginKey] = plugin;\n\n if(this._selectOptions.plugins && this._selectOptions.plugins[pluginName] && this._selectOptions.plugins[pluginName].options)\n {\n plugin.options = this._selectOptions.plugins[pluginName].options;\n }\n\n plugin.initOptions();\n\n if(this._selectOptions.plugins && this._selectOptions.plugins[pluginName] && this._selectOptions.plugins[pluginName].instanceCallback)\n {\n this._selectOptions.plugins[pluginName].instanceCallback(plugin);\n }\n }\n}","<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.liveSearch?.type\" (ngComponentOutletExCreated)=\"setLiveSearchComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.positioner?.type\" (ngComponentOutletExCreated)=\"setPositionerComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.keyboardHandler?.type\" (ngComponentOutletExCreated)=\"setKeyboardHandlerComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.valueHandler?.type\" (ngComponentOutletExCreated)=\"setValueHandlerComponent($event)\"></ng-template>\r\n\r\n<div>\r\n <ng-template [ngIf]=\"!selectOptions?.readonly\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.normalState?.type\" (ngComponentOutletExCreated)=\"setNormalStateComponent($event)\" [ngComponentOutletExContent]=\"liveSearchElement\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template [ngIf]=\"selectOptions?.readonly\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.readonlyState?.type\" (ngComponentOutletExCreated)=\"setReadonlyStateComponent($event)\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template [ngIf]=\"!selectOptions?.absolute\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.popup?.type\" (ngComponentOutletExCreated)=\"setPopupComponent($event)\" [ngComponentOutletExContent]=\"liveSearchElement\"></ng-template>\r\n </ng-template>\r\n</div>"]}
|
|
1
|
+
{"version":3,"file":"select.component.js","sourceRoot":"","sources":["../../../../src/components/select/select.component.ts","../../../../src/components/select/select.component.html"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, FactoryProvider, Input, Inject, ChangeDetectorRef, Optional, Type, AfterViewInit, OnInit, ContentChildren, QueryList, EventEmitter, forwardRef, resolveForwardRef, ElementRef, OnChanges, SimpleChanges, Attribute, OnDestroy, TemplateRef, ContentChild, ComponentFactoryResolver, ApplicationRef, Injector, EmbeddedViewRef, ComponentRef, ClassProvider} from '@angular/core';\nimport {extend, nameof, isBoolean, isPresent, isString} from '@jscrpt/common';\nimport {BehaviorSubject, Observable, Subscription} from 'rxjs';\n\nimport {NgSelectOptions, NgSelectPlugin, PluginDescription, NormalizeFunc, NgSelectPluginTypes} from '../../misc';\nimport {NG_SELECT_OPTIONS, KEYBOARD_HANDLER_TYPE, NORMAL_STATE_TYPE, POPUP_TYPE, POSITIONER_TYPE, READONLY_STATE_TYPE, VALUE_HANDLER_TYPE, LIVE_SEARCH_TYPE} from '../../misc/types';\nimport {NgSelect, NgSelectPluginInstances, NgSelectAction, NgSelectFunction} from './select.interface';\nimport {NG_SELECT_PLUGIN_INSTANCES} from './types';\nimport {KeyboardHandler} from '../../plugins/keyboardHandler';\nimport {BasicKeyboardHandlerComponent} from '../../plugins/keyboardHandler/components';\nimport {KEYBOARD_HANDLER} from '../../plugins/keyboardHandler/types';\nimport {NormalState, NormalStateContext} from '../../plugins/normalState';\nimport {NORMAL_STATE} from '../../plugins/normalState/types';\nimport {BasicNormalStateComponent} from '../../plugins/normalState/components';\nimport {Popup, PopupContext} from '../../plugins/popup';\nimport {POPUP} from '../../plugins/popup/types';\nimport {BasicPopupComponent} from '../../plugins/popup/component';\nimport {Positioner} from '../../plugins/positioner';\nimport {POSITIONER} from '../../plugins/positioner/types';\nimport {DefaultPositionerComponent} from '../../plugins/positioner/components';\nimport {ReadonlyState} from '../../plugins/readonlyState';\nimport {READONLY_STATE} from '../../plugins/readonlyState/types';\nimport {ValueHandler} from '../../plugins/valueHandler';\nimport {VALUE_HANDLER} from '../../plugins/valueHandler/types';\nimport {BasicValueHandlerComponent} from '../../plugins/valueHandler/components';\nimport {LiveSearch} from '../../plugins/liveSearch';\nimport {LIVE_SEARCH} from '../../plugins/liveSearch/types';\nimport {NoLiveSearchComponent} from '../../plugins/liveSearch/components';\nimport {NgSelectOption, NgSelectOptGroup} from '../option';\nimport {OptionComponent} from '../option/option.component';\nimport {OptGroupComponent} from '../option/optgroup.component';\nimport {PluginBus} from '../../misc/pluginBus/pluginBus';\nimport {PluginBusEvents} from '../../misc/pluginBus/pluginBus.interface';\n\n//TODO - dynamic change of absolute popup\n//TODO - dynamic change of options gatherer destroy called properly ?\n\n/**\n * Default 'NgSelectOptions'\n * @internal\n */\nconst defaultOptions: NgSelectOptions =\n{\n autoInitialize: true,\n absolute: false,\n forceValueCheckOnInit: false,\n multiple: false,\n readonly: false,\n valueComparer: (source, target) =>\n {\n return source === target;\n },\n liveSearchFilter: (query: string, normalizer: NormalizeFunc = value => value) =>\n {\n return itm => normalizer(itm.text).indexOf(normalizer(query)) >= 0;\n },\n normalizer: value =>\n {\n if(isString(value))\n {\n return value.toLowerCase();\n }\n\n return value;\n },\n cssClasses:\n {\n },\n plugins:\n {\n normalState: <PluginDescription<BasicNormalStateComponent>>\n {\n type: forwardRef(() => BasicNormalStateComponent)\n },\n liveSearch: <PluginDescription<NoLiveSearchComponent>>\n {\n type: forwardRef(() => NoLiveSearchComponent)\n },\n popup: <PluginDescription<BasicPopupComponent>>\n {\n type: forwardRef(() => BasicPopupComponent)\n },\n positioner: <PluginDescription<DefaultPositionerComponent>>\n {\n type: forwardRef(() => DefaultPositionerComponent)\n },\n keyboardHandler: <PluginDescription<BasicKeyboardHandlerComponent>>\n {\n type: forwardRef(() => BasicKeyboardHandlerComponent)\n },\n readonlyState: <PluginDescription<ReadonlyState>>\n {\n type: forwardRef(() => BasicNormalStateComponent)\n },\n valueHandler: <PluginDescription<BasicValueHandlerComponent>>\n {\n type: forwardRef(() => BasicValueHandlerComponent)\n }\n }\n};\n\n/**\n * Component that represents NgSelect itself, allows selection of value from options\n */\n@Component(\n{\n selector: 'ng-select',\n templateUrl: 'select.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers:\n [\n <FactoryProvider>\n {\n provide: NG_SELECT_PLUGIN_INSTANCES,\n useFactory: () => {return {};}\n },\n <ClassProvider>\n {\n provide: PluginBus,\n useClass: PluginBus\n }\n ],\n styles: [\n `:host\n {\n display: block;\n position: relative;\n }`\n ]\n})\nexport class NgSelectComponent<TValue = any> implements NgSelect<TValue>, OnChanges, OnInit, AfterViewInit, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * NgSelect options\n */\n protected _selectOptions: NgSelectOptions<TValue>;\n\n /**\n * Subject used for indication that NgSelect was initialized\n */\n protected _initializedSubject: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n /**\n * Occurs when array of provided options has changed\n */\n protected _optionsChange: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Occurs when array of visible, displayed options has changed\n */\n protected _availableOptionsChange: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Array of available options to be displayed\n */\n protected _availableOptions: NgSelectOption<TValue>[] = [];\n\n /**\n * Live search plugin currently used in NgSelect\n */\n protected _liveSearch: LiveSearch;\n\n /**\n * Subscription for changes of live search value\n */\n protected _searchValueChangeSubscription: Subscription;\n\n /**\n * Instance of component ref for absolute popup\n */\n protected _absolutePopup: ComponentRef<Popup>;\n\n /**\n * Instance of type that is used as absolute popup\n */\n protected _absolutePopupType: Type<Popup>;\n\n /**\n * Instance of html element that is used\n */\n protected _absolutePopupElement: HTMLElement;\n\n //######################### public properties - inputs #########################\n\n /**\n * Gets or sets NgSelect options\n */\n @Input()\n public get selectOptions(): NgSelectOptions<TValue>\n {\n return this._selectOptions;\n }\n public set selectOptions(options: NgSelectOptions<TValue>)\n {\n this._selectOptions = extend(true, this._selectOptions, options);\n this._pluginBus.selectOptions = this._selectOptions;\n }\n\n /**\n * Indication whether should be NgSelect disabled or not\n */\n @Input()\n public disabled: boolean;\n\n /**\n * Indication whether should be NgSelect readonly or not\n */\n @Input()\n public readonly: boolean;\n\n //######################### public properties - implementation of NgSelect #########################\n\n /**\n * Occurs every time when NgSelect is initialized or reinitialized, if value is false NgSelect was not initialized yet\n */\n public get initialized(): Observable<boolean>\n {\n return this._initializedSubject.asObservable();\n }\n\n /**\n * Gets current state of initialization\n */\n public isInitialized: boolean = false;\n\n //######################### public properties - implementation of TemplateGatherer #########################\n\n /**\n * Template used within normal state\n */\n @ContentChild('normalStateTemplate')\n public normalStateTemplate: TemplateRef<NormalStateContext>;\n\n /**\n * Template that is used within Popup as option\n * @internal\n */\n @ContentChild('optionTemplate')\n public optionTemplate?: TemplateRef<PopupContext>;\n\n //######################### public properties - implementation of OptionsGatherer #########################\n\n /**\n * Array of provided options for select\n */\n public get options(): NgSelectOption<TValue>[]\n {\n return this.optionsChildren.toArray();\n }\n\n /**\n * Occurs when array of provided options has changed\n */\n public get optionsChange(): EventEmitter<void>\n {\n return this._optionsChange;\n }\n\n /**\n * Array of visible, displayed options for select\n */\n public get availableOptions(): NgSelectOption<TValue>[]\n {\n return this._availableOptions;\n }\n\n /**\n * Occurs when array of visible, displayed options has changed\n */\n public get availableOptionsChange(): EventEmitter<void>\n {\n return this._availableOptionsChange;\n }\n\n /**\n * NgSelect plugin instances available for gatherer\n */\n public ngSelectPlugins: NgSelectPluginInstances;\n\n /**\n * Plugin bus used for inter plugin shared events\n */\n public pluginBus: PluginBus<TValue>;\n\n /**\n * Select element that implements default gatherers\n */\n public select: NgSelect<TValue>;\n\n //######################### public properties - template bindings #########################\n\n /**\n * Element used for live search\n */\n public liveSearchElement: HTMLElement[][];\n\n //######################### public properties - children #########################\n\n /**\n * Options children found inside ng-select\n */\n @ContentChildren(OptionComponent)\n public optionsChildren: QueryList<NgSelectOption>;\n\n //######################### public properties - children #########################\n\n /**\n * Options groups children found inside ng-select\n */\n @ContentChildren(OptGroupComponent)\n public optGroupsChildren: QueryList<NgSelectOptGroup>;\n\n //######################### constructors #########################\n constructor(protected _changeDetector: ChangeDetectorRef,\n protected _element: ElementRef<HTMLElement>,\n protected _componentFactoryResolver: ComponentFactoryResolver,\n protected _appRef: ApplicationRef,\n protected _injector: Injector,\n protected _pluginBus: PluginBus<TValue>,\n @Inject(NG_SELECT_PLUGIN_INSTANCES) protected _pluginInstances: NgSelectPluginInstances,\n @Inject(NG_SELECT_OPTIONS) @Optional() options?: NgSelectOptions<TValue>,\n @Inject(NORMAL_STATE_TYPE) @Optional() normalStateType?: Type<NormalState>,\n @Inject(KEYBOARD_HANDLER_TYPE) @Optional() keyboardHandlerType?: Type<KeyboardHandler>,\n @Inject(POPUP_TYPE) @Optional() popupType?: Type<Popup>,\n @Inject(POSITIONER_TYPE) @Optional() positionerType?: Type<Positioner>,\n @Inject(READONLY_STATE_TYPE) @Optional() readonlyStateType?: Type<ReadonlyState>,\n @Inject(VALUE_HANDLER_TYPE) @Optional() valueHandlerType?: Type<ValueHandler>,\n @Inject(LIVE_SEARCH_TYPE) @Optional() liveSearchType?: Type<LiveSearch>,\n @Attribute('readonly') readonly?: string,\n @Attribute('disabled') disabled?: string,\n @Attribute('multiple') multiple?: string)\n {\n //at least on of following is present (value is not important)\n const readonlyDefault = isPresent(readonly) || isPresent(disabled);\n const multipleDefault = isPresent(multiple);\n const opts: NgSelectOptions<TValue> = extend(true, {}, options);\n\n if(!opts.plugins)\n {\n opts.plugins = {};\n }\n\n if(keyboardHandlerType)\n {\n if(!opts.plugins.keyboardHandler)\n {\n opts.plugins.keyboardHandler = {};\n }\n\n opts.plugins.keyboardHandler.type = keyboardHandlerType;\n }\n\n if(normalStateType)\n {\n if(!opts.plugins.normalState)\n {\n opts.plugins.normalState = {};\n }\n\n opts.plugins.normalState.type = normalStateType;\n }\n\n if(popupType)\n {\n if(!opts.plugins.popup)\n {\n opts.plugins.popup = {};\n }\n\n opts.plugins.popup.type = popupType;\n }\n\n if(positionerType)\n {\n if(!opts.plugins.positioner)\n {\n opts.plugins.positioner = {};\n }\n\n opts.plugins.positioner.type = positionerType;\n }\n\n if(readonlyStateType)\n {\n if(!opts.plugins.readonlyState)\n {\n opts.plugins.readonlyState = {};\n }\n\n opts.plugins.readonlyState.type = readonlyStateType;\n }\n\n if(valueHandlerType)\n {\n if(!opts.plugins.valueHandler)\n {\n opts.plugins.valueHandler = {};\n }\n\n opts.plugins.valueHandler.type = valueHandlerType;\n }\n\n if(liveSearchType)\n {\n if(!opts.plugins.liveSearch)\n {\n opts.plugins.liveSearch = {};\n }\n\n opts.plugins.liveSearch.type = liveSearchType;\n }\n\n this._selectOptions = extend(true,\n <NgSelectOptions<TValue>>\n {\n optionsGatherer: this,\n templateGatherer: this,\n },\n defaultOptions,\n <NgSelectOptions<TValue>>\n {\n readonly: readonlyDefault,\n multiple: multipleDefault\n },\n opts);\n\n this._pluginBus.selectElement = this._element;\n this._pluginBus.selectOptions = this._selectOptions;\n }\n\n //######################### public methods - implementation of OnChanges #########################\n\n /**\n * Called when input value changes\n */\n public ngOnChanges(changes: SimpleChanges): void\n {\n const updateReadonly = (state: boolean, firstChange: boolean) =>\n {\n //update options\n this.selectOptions.readonly = state;\n\n if(!firstChange)\n {\n this.initOptions();\n this.initialize();\n }\n };\n\n if(nameof<NgSelectComponent<TValue>>('disabled') in changes && isBoolean(this.disabled))\n {\n updateReadonly(this.disabled, changes[nameof<NgSelectComponent<TValue>>('disabled')].firstChange);\n }\n\n if(nameof<NgSelectComponent<TValue>>('readonly') in changes && isBoolean(this.readonly))\n {\n updateReadonly(this.readonly, changes[nameof<NgSelectComponent<TValue>>('readonly')].firstChange);\n }\n }\n\n //######################### public methods - implementation of OnInit #########################\n\n /**\n * Initialize component\n */\n public ngOnInit()\n {\n this.initOptions();\n }\n\n //######################### public methods - implementation of AfterViewInit #########################\n\n /**\n * Called when view was initialized\n */\n public ngAfterViewInit()\n {\n this._availableOptions = this.options;\n\n this.optionsChildren.changes.subscribe(() =>\n {\n this._availableOptions = this.options;\n this._optionsChange.emit();\n this._availableOptionsChange.emit();\n });\n \n if(this._selectOptions.autoInitialize)\n {\n this.initialize();\n }\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._searchValueChangeSubscription?.unsubscribe();\n this._searchValueChangeSubscription = null;\n\n this.selectOptions.optionsGatherer?.destroyGatherer();\n\n this._destroyAbsolutePopup();\n }\n\n //######################### public methods - implementation of OptionsGatherer #########################\n\n /**\n * Initialize gatherer during initialization phase\n */\n public initializeGatherer(): void\n {\n const liveSearch = this._pluginInstances[LIVE_SEARCH] as LiveSearch;\n\n if(this._liveSearch && this._liveSearch != liveSearch)\n {\n this._searchValueChangeSubscription.unsubscribe();\n this._searchValueChangeSubscription = null;\n\n this._liveSearch = null;\n }\n\n if(!this._liveSearch)\n {\n this._liveSearch = liveSearch;\n\n this._searchValueChangeSubscription = this._liveSearch.searchValueChange.subscribe(() =>\n {\n if(!this._liveSearch.searchValue)\n {\n this._availableOptions = this.options;\n this._availableOptionsChange.emit();\n\n return;\n }\n\n this._availableOptions = this.options.filter(this.selectOptions.liveSearchFilter(this._liveSearch.searchValue, this.selectOptions.normalizer));\n this._availableOptionsChange.emit();\n });\n }\n }\n\n /**\n * Called when gatherer needs to be destroyed\n */\n public destroyGatherer(): void\n {\n }\n\n //######################### public methods - template bindings #########################\n\n /**\n * Sets normal state component\n * @param normalState - Created normal state that is rendered\n * @internal\n */\n public setNormalStateComponent(normalState: NormalState)\n {\n this._registerNewPlugin(normalState, NORMAL_STATE, 'normalState');\n }\n\n /**\n * Sets keyboard handler component\n * @param keyboardHandler - Created keyboard handler that is rendered\n * @internal\n */\n public setKeyboardHandlerComponent(keyboardHandler: KeyboardHandler)\n {\n this._registerNewPlugin(keyboardHandler, KEYBOARD_HANDLER, 'keyboardHandler');\n }\n\n /**\n * Sets popup component\n * @param popup - Created popup that is rendered\n * @internal\n */\n public setPopupComponent(popup: Popup)\n {\n this._registerNewPlugin(popup, POPUP, 'popup');\n }\n\n /**\n * Sets positioner component\n * @param positioner - Created positioner that is rendered\n * @internal\n */\n public setPositionerComponent(positioner: Positioner)\n {\n this._registerNewPlugin(positioner, POSITIONER, 'positioner');\n }\n\n /**\n * Sets readonly state component\n * @param readonlyState - Created readonly state that is rendered\n * @internal\n */\n public setReadonlyStateComponent(readonlyState: ReadonlyState)\n {\n this._registerNewPlugin(readonlyState, READONLY_STATE, 'readonlyState');\n this._pluginInstances[NORMAL_STATE] = this._pluginInstances[READONLY_STATE];\n }\n\n /**\n * Sets value handler component\n * @param valueHandler - Created value handler that is rendered\n * @internal\n */\n public setValueHandlerComponent(valueHandler: ValueHandler<TValue>)\n {\n this._registerNewPlugin(valueHandler, VALUE_HANDLER, 'valueHandler');\n }\n\n /**\n * Sets live search component\n * @param liveSearch - Created live search that is rendered\n * @internal\n */\n public setLiveSearchComponent(liveSearch: LiveSearch)\n {\n this._registerNewPlugin(liveSearch, LIVE_SEARCH, 'liveSearch');\n }\n\n //######################### public methods #########################\n\n /**\n * Initialize component, automatically called once if not blocked by options\n */\n public initialize()\n {\n const liveSearchPlugin = this._pluginInstances[LIVE_SEARCH] as LiveSearch;\n this.liveSearchElement = [[liveSearchPlugin.liveSearchElement]];\n\n if(this.selectOptions.absolute)\n {\n this._appendPopupToBody(this._selectOptions.plugins.popup.type);\n }\n\n this._changeDetector.detectChanges();\n \n this.selectOptions.optionsGatherer.initializeGatherer();\n\n this._pluginInstances[LIVE_SEARCH].initialize();\n this._pluginInstances[KEYBOARD_HANDLER].initialize();\n this._pluginInstances[VALUE_HANDLER].initialize();\n this._pluginInstances[NORMAL_STATE]?.initialize();\n this._pluginInstances[READONLY_STATE]?.initialize();\n this._pluginInstances[POPUP].initialize();\n this._pluginInstances[POSITIONER].initialize();\n\n this.isInitialized = true;\n this._initializedSubject.next(true);\n }\n\n /**\n * Initialize options, automaticaly called during init phase, but can be used to reinitialize NgSelectOptions\n */\n public initOptions()\n {\n this.selectOptions.optionsGatherer.ngSelectPlugins = this._pluginInstances;\n this.selectOptions.optionsGatherer.pluginBus = this._pluginBus;\n this.selectOptions.optionsGatherer.select = this;\n\n const initOptionsPlugin = (pluginKey: string, pluginName: keyof NgSelectPluginTypes) =>\n {\n if(this._selectOptions.plugins[pluginName])\n {\n this._selectOptions.plugins[pluginName].type = resolveForwardRef(this._selectOptions.plugins[pluginName].type);\n\n if(this._pluginInstances[pluginKey])\n {\n if(this._selectOptions.plugins && this._selectOptions.plugins[pluginName] && this._selectOptions.plugins[pluginName].options)\n {\n this._pluginInstances[pluginKey].options = this._selectOptions.plugins[pluginName].options;\n }\n\n this._pluginInstances[pluginKey].initOptions();\n }\n }\n };\n\n if(this._selectOptions.plugins)\n {\n initOptionsPlugin(NORMAL_STATE, 'normalState');\n initOptionsPlugin(KEYBOARD_HANDLER, 'keyboardHandler');\n initOptionsPlugin(POPUP, 'popup');\n initOptionsPlugin(POSITIONER, 'positioner');\n initOptionsPlugin(READONLY_STATE, 'readonlyState');\n initOptionsPlugin(VALUE_HANDLER, 'valueHandler');\n initOptionsPlugin(LIVE_SEARCH, 'liveSearch');\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 /**\n * Gets instance of plugin by its id\n * @param pluginId - Id of plugin, use constants\n */\n public getPlugin<PluginType extends NgSelectPlugin>(pluginId: string): PluginType\n {\n return this._pluginInstances[pluginId] as PluginType;\n }\n\n /**\n * Subscribes for event\n * @param eventName - Name of event that should be listened to\n * @param handler - Function used for handling event\n */\n public listenTo<TParam = void>(eventName: keyof PluginBusEvents, handler: (data: TParam) => void): Subscription\n {\n return this._pluginBus[eventName].subscribe(handler);\n }\n\n /**\n * Executes actions on NgSelect\n * @param actions - Array of actions that are executed over NgSelect\n */\n public execute(...actions: NgSelectAction<TValue>[])\n {\n if(!actions)\n {\n return;\n }\n\n actions.forEach(action => action(this));\n }\n\n /**\n * Executes function on NgSelect and returns result\n * @param func - Function that is executed and its result is returned\n */\n public executeAndReturn<TResult>(func: NgSelectFunction<TResult, TValue>): TResult\n {\n if(!func)\n {\n return null;\n }\n\n return func(this);\n }\n\n //######################### protected methods #########################\n\n /**\n * Appends popup component directly to body, allows absolute positioning over page body\n * @param component - Popup component type to be appended\n */\n protected _appendPopupToBody(component: Type<Popup>) \n {\n //do not reinitialize if already exists and nothing has changed\n if(this._absolutePopupType == component && this.liveSearchElement[0][0] == this._absolutePopupElement)\n {\n return;\n }\n\n // 0. Destroyes absolute popup if it exists\n this._destroyAbsolutePopup();\n\n if(!component)\n {\n return;\n }\n\n this._absolutePopupType = component;\n this._absolutePopupElement = this.liveSearchElement[0][0];\n\n // 1. Create a component reference from the component \n this._absolutePopup = this._componentFactoryResolver\n .resolveComponentFactory(component)\n .create(this._injector, this.liveSearchElement);\n \n // 2. Attach component to the appRef so that it's inside the ng component tree\n this._appRef.attachView(this._absolutePopup.hostView);\n \n // 3. Get DOM element from component\n const domElem = (this._absolutePopup.hostView as EmbeddedViewRef<any>)\n .rootNodes[0] as HTMLElement;\n \n // 4. Append DOM element to the body\n document.body.appendChild(domElem);\n\n this.setPopupComponent(this._absolutePopup.instance);\n }\n\n /**\n * Destroyes absolute popup if it exists\n */\n protected _destroyAbsolutePopup()\n {\n if(this._absolutePopup)\n {\n this._appRef.detachView(this._absolutePopup.hostView);\n this._absolutePopup.destroy();\n this._absolutePopup = null;\n this._absolutePopupType = null;\n this._absolutePopupElement = null;\n }\n }\n\n /**\n * Registers newly created plugin\n * @param plugin - Plugin to be registered\n * @param pluginKey - Key of plugin used for pluginInstances\n * @param pluginName - Name property for plugin from options\n */\n protected _registerNewPlugin(plugin: NgSelectPlugin, pluginKey: string, pluginName: keyof NgSelectPluginTypes)\n {\n if(!plugin)\n {\n this._pluginInstances[pluginKey] = null;\n\n return;\n }\n\n this._pluginInstances[pluginKey] = plugin;\n\n if(this._selectOptions.plugins && this._selectOptions.plugins[pluginName] && this._selectOptions.plugins[pluginName].options)\n {\n plugin.options = this._selectOptions.plugins[pluginName].options;\n }\n\n plugin.initOptions();\n\n if(this._selectOptions.plugins && this._selectOptions.plugins[pluginName] && this._selectOptions.plugins[pluginName].instanceCallback)\n {\n this._selectOptions.plugins[pluginName].instanceCallback(plugin);\n }\n }\n}","<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.liveSearch?.type\" (ngComponentOutletExCreated)=\"setLiveSearchComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.positioner?.type\" (ngComponentOutletExCreated)=\"setPositionerComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.keyboardHandler?.type\" (ngComponentOutletExCreated)=\"setKeyboardHandlerComponent($event)\"></ng-template>\r\n<ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.valueHandler?.type\" (ngComponentOutletExCreated)=\"setValueHandlerComponent($event)\"></ng-template>\r\n\r\n<div>\r\n <ng-template [ngIf]=\"!selectOptions?.readonly\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.normalState?.type\" (ngComponentOutletExCreated)=\"setNormalStateComponent($event)\" [ngComponentOutletExContent]=\"liveSearchElement\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template [ngIf]=\"selectOptions?.readonly\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.readonlyState?.type\" (ngComponentOutletExCreated)=\"setReadonlyStateComponent($event)\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template [ngIf]=\"!selectOptions?.absolute\">\r\n <ng-template [ngComponentOutletEx]=\"selectOptions?.plugins?.popup?.type\" (ngComponentOutletExCreated)=\"setPopupComponent($event)\" [ngComponentOutletExContent]=\"liveSearchElement\"></ng-template>\r\n </ng-template>\r\n</div>"]}
|
|
@@ -14,9 +14,9 @@ export class NgSelectAbsoluteDirective {
|
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
NgSelectAbsoluteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
18
|
-
NgSelectAbsoluteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
17
|
+
NgSelectAbsoluteDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectAbsoluteDirective, deps: [{ token: i1.NgSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
18
|
+
NgSelectAbsoluteDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: NgSelectAbsoluteDirective, selector: "ng-select[absolute]", ngImport: i0 });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectAbsoluteDirective, decorators: [{
|
|
20
20
|
type: Directive,
|
|
21
21
|
args: [{
|
|
22
22
|
selector: 'ng-select[absolute]'
|
|
@@ -20,8 +20,8 @@ export class NgSelectEditDirective {
|
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
NgSelectEditDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
NgSelectEditDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
23
|
+
NgSelectEditDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectEditDirective, deps: [{ token: i1.NgSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
24
|
+
NgSelectEditDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: NgSelectEditDirective, selector: "ng-select[editStyle]", providers: [
|
|
25
25
|
{
|
|
26
26
|
provide: NORMAL_STATE_TYPE,
|
|
27
27
|
useValue: EditNormalStateComponent
|
|
@@ -39,7 +39,7 @@ NgSelectEditDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0",
|
|
|
39
39
|
useValue: EditKeyboardHandlerComponent
|
|
40
40
|
}
|
|
41
41
|
], ngImport: i0 });
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectEditDirective, decorators: [{
|
|
43
43
|
type: Directive,
|
|
44
44
|
args: [{
|
|
45
45
|
selector: 'ng-select[editStyle]',
|
|
@@ -29,9 +29,9 @@ export class NgSelectPlaceholderDirective {
|
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
NgSelectPlaceholderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
33
|
-
NgSelectPlaceholderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
32
|
+
NgSelectPlaceholderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectPlaceholderDirective, deps: [{ token: i1.NgSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
33
|
+
NgSelectPlaceholderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: NgSelectPlaceholderDirective, selector: "ng-select[placeholder]", inputs: { placeholder: "placeholder" }, ngImport: i0 });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectPlaceholderDirective, decorators: [{
|
|
35
35
|
type: Directive,
|
|
36
36
|
args: [{
|
|
37
37
|
selector: 'ng-select[placeholder]'
|
|
@@ -150,9 +150,9 @@ export class NgSelectControlValueAccessor {
|
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
|
-
NgSelectControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
154
|
-
NgSelectControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
155
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
153
|
+
NgSelectControlValueAccessor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectControlValueAccessor, deps: [{ token: i1.NgSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
154
|
+
NgSelectControlValueAccessor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: NgSelectControlValueAccessor, selector: "ng-select[formControlName],ng-select[formControl],ng-select[ngModel]", providers: [NG_SELECT_VALUE_ACCESSOR], ngImport: i0 });
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectControlValueAccessor, decorators: [{
|
|
156
156
|
type: Directive,
|
|
157
157
|
args: [{
|
|
158
158
|
selector: 'ng-select[formControlName],ng-select[formControl],ng-select[ngModel]',
|
|
@@ -36,9 +36,9 @@ export class PluginBus {
|
|
|
36
36
|
this.updateDisplayedValue = new EventEmitter();
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
PluginBus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
PluginBus.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
39
|
+
PluginBus.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PluginBus, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
40
|
+
PluginBus.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PluginBus });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PluginBus, decorators: [{
|
|
42
42
|
type: Injectable
|
|
43
43
|
}] });
|
|
44
44
|
//# sourceMappingURL=pluginBus.js.map
|
|
@@ -8,7 +8,7 @@ import { BasicNormalStateComponent } from '../plugins/normalState/basic/basicNor
|
|
|
8
8
|
import { NoLiveSearchComponent } from '../plugins/liveSearch/no/noLiveSearch.component';
|
|
9
9
|
import { BasicLiveSearchComponent } from '../plugins/liveSearch/basic/basicLiveSearch.component';
|
|
10
10
|
import { BasicPopupComponent } from '../plugins/popup/basic/basicPopup.component';
|
|
11
|
-
import {
|
|
11
|
+
import { DefaultPositionerComponent } from '../plugins/positioner/default/defaultPositioner.component';
|
|
12
12
|
import { NoPositionerComponent } from '../plugins/positioner/no/noPositioner.component';
|
|
13
13
|
import { BasicKeyboardHandlerComponent } from '../plugins/keyboardHandler/basic/basicKeyboardHandler.component';
|
|
14
14
|
import { BasicValueHandlerComponent } from '../plugins/valueHandler/basic/basicValueHandler.component';
|
|
@@ -23,8 +23,8 @@ import * as i0 from "@angular/core";
|
|
|
23
23
|
*/
|
|
24
24
|
export class NgSelectModule {
|
|
25
25
|
}
|
|
26
|
-
NgSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
27
|
-
NgSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
26
|
+
NgSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
27
|
+
NgSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: NgSelectModule, declarations: [OptionComponent,
|
|
28
28
|
OptGroupComponent,
|
|
29
29
|
NgSelectComponent,
|
|
30
30
|
NgSelectValuePipe,
|
|
@@ -35,7 +35,7 @@ NgSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
35
35
|
BasicLiveSearchComponent,
|
|
36
36
|
BasicPopupComponent,
|
|
37
37
|
NoPositionerComponent,
|
|
38
|
-
|
|
38
|
+
DefaultPositionerComponent,
|
|
39
39
|
BasicKeyboardHandlerComponent,
|
|
40
40
|
BasicValueHandlerComponent,
|
|
41
41
|
NgSelectAbsoluteDirective,
|
|
@@ -48,11 +48,9 @@ NgSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
48
48
|
NgSelectControlValueAccessor,
|
|
49
49
|
NgSelectAbsoluteDirective,
|
|
50
50
|
NgSelectPlaceholderDirective] });
|
|
51
|
-
NgSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
]] });
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: NgSelectModule, decorators: [{
|
|
51
|
+
NgSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectModule, imports: [CommonModule,
|
|
52
|
+
CommonDynamicModule] });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectModule, decorators: [{
|
|
56
54
|
type: NgModule,
|
|
57
55
|
args: [{
|
|
58
56
|
imports: [
|
|
@@ -71,7 +69,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
71
69
|
BasicLiveSearchComponent,
|
|
72
70
|
BasicPopupComponent,
|
|
73
71
|
NoPositionerComponent,
|
|
74
|
-
|
|
72
|
+
DefaultPositionerComponent,
|
|
75
73
|
BasicKeyboardHandlerComponent,
|
|
76
74
|
BasicValueHandlerComponent,
|
|
77
75
|
NgSelectAbsoluteDirective,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngSelect.module.js","sourceRoot":"","sources":["../../../src/modules/ngSelect.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAElD,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,4BAA4B,EAAC,MAAM,gDAAgD,CAAC;AAC5F,OAAO,EAAC,yBAAyB,EAAC,MAAM,yDAAyD,CAAC;AAClG,OAAO,EAAC,qBAAqB,EAAC,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAC,wBAAwB,EAAC,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAC,mBAAmB,EAAC,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"ngSelect.module.js","sourceRoot":"","sources":["../../../src/modules/ngSelect.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,mBAAmB,EAAC,MAAM,eAAe,CAAC;AAElD,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,4BAA4B,EAAC,MAAM,gDAAgD,CAAC;AAC5F,OAAO,EAAC,yBAAyB,EAAC,MAAM,yDAAyD,CAAC;AAClG,OAAO,EAAC,qBAAqB,EAAC,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAC,wBAAwB,EAAC,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAC,mBAAmB,EAAC,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAC,0BAA0B,EAAC,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAC,qBAAqB,EAAC,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAC,6BAA6B,EAAC,MAAM,iEAAiE,CAAC;AAC9G,OAAO,EAAC,0BAA0B,EAAC,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAC,eAAe,EAAC,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACxE,OAAO,EAAC,yBAAyB,EAAC,MAAM,2DAA2D,CAAC;AACpG,OAAO,EAAC,4BAA4B,EAAC,MAAM,iEAAiE,CAAC;;AAE7G;;GAEG;AAuCH,MAAM,OAAO,cAAc;;2GAAd,cAAc;4GAAd,cAAc,iBA7BnB,eAAe;QACf,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,oBAAoB;QACpB,4BAA4B;QAC5B,yBAAyB;QACzB,qBAAqB;QACrB,wBAAwB;QACxB,mBAAmB;QACnB,qBAAqB;QACrB,0BAA0B;QAC1B,6BAA6B;QAC7B,0BAA0B;QAC1B,yBAAyB;QACzB,4BAA4B,aApB5B,YAAY;QACZ,mBAAmB,aAuBnB,eAAe;QACf,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,oBAAoB;QACpB,4BAA4B;QAC5B,yBAAyB;QACzB,4BAA4B;4GAGvB,cAAc,YAlCnB,YAAY;QACZ,mBAAmB;2FAiCd,cAAc;kBAtC1B,QAAQ;mBACT;oBACI,OAAO,EACP;wBACI,YAAY;wBACZ,mBAAmB;qBACtB;oBACD,YAAY,EACZ;wBACI,eAAe;wBACf,iBAAiB;wBACjB,iBAAiB;wBACjB,iBAAiB;wBACjB,oBAAoB;wBACpB,4BAA4B;wBAC5B,yBAAyB;wBACzB,qBAAqB;wBACrB,wBAAwB;wBACxB,mBAAmB;wBACnB,qBAAqB;wBACrB,0BAA0B;wBAC1B,6BAA6B;wBAC7B,0BAA0B;wBAC1B,yBAAyB;wBACzB,4BAA4B;qBAC/B;oBACD,OAAO,EACP;wBACI,eAAe;wBACf,iBAAiB;wBACjB,iBAAiB;wBACjB,iBAAiB;wBACjB,oBAAoB;wBACpB,4BAA4B;wBAC5B,yBAAyB;wBACzB,4BAA4B;qBAC/B;iBACJ","sourcesContent":["import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {CommonDynamicModule} from '@anglr/common';\n\nimport {NgSelectValuePipe} from '../pipes/ngSelectValue.pipe';\nimport {NgSelectHasValuePipe} from '../pipes/ngSelectHasValue.pipe';\nimport {NgSelectControlValueAccessor} from '../misc/ngSelectControlValueAccessor.directive';\nimport {BasicNormalStateComponent} from '../plugins/normalState/basic/basicNormalState.component';\nimport {NoLiveSearchComponent} from '../plugins/liveSearch/no/noLiveSearch.component';\nimport {BasicLiveSearchComponent} from '../plugins/liveSearch/basic/basicLiveSearch.component';\nimport {BasicPopupComponent} from '../plugins/popup/basic/basicPopup.component';\nimport {DefaultPositionerComponent} from '../plugins/positioner/default/defaultPositioner.component';\nimport {NoPositionerComponent} from '../plugins/positioner/no/noPositioner.component';\nimport {BasicKeyboardHandlerComponent} from '../plugins/keyboardHandler/basic/basicKeyboardHandler.component';\nimport {BasicValueHandlerComponent} from '../plugins/valueHandler/basic/basicValueHandler.component';\nimport {OptionComponent} from '../components/option/option.component';\nimport {OptGroupComponent} from '../components/option/optgroup.component';\nimport {NgSelectComponent} from '../components/select/select.component';\nimport {NgSelectAbsoluteDirective} from '../directives/ngSelectAbsolute/ngSelectAbsolute.directive';\nimport {NgSelectPlaceholderDirective} from '../directives/ngSelectPlaceholder/ngSelectPlaceholder.directive';\n\n/**\n * Module for select and its options\n */\n@NgModule(\n{\n imports:\n [\n CommonModule,\n CommonDynamicModule,\n ],\n declarations:\n [\n OptionComponent,\n OptGroupComponent,\n NgSelectComponent,\n NgSelectValuePipe,\n NgSelectHasValuePipe,\n NgSelectControlValueAccessor,\n BasicNormalStateComponent,\n NoLiveSearchComponent,\n BasicLiveSearchComponent,\n BasicPopupComponent,\n NoPositionerComponent,\n DefaultPositionerComponent,\n BasicKeyboardHandlerComponent,\n BasicValueHandlerComponent,\n NgSelectAbsoluteDirective,\n NgSelectPlaceholderDirective\n ],\n exports:\n [\n OptionComponent,\n OptGroupComponent,\n NgSelectComponent,\n NgSelectValuePipe,\n NgSelectHasValuePipe,\n NgSelectControlValueAccessor,\n NgSelectAbsoluteDirective,\n NgSelectPlaceholderDirective\n ]\n})\nexport class NgSelectModule\n{\n}"]}
|
|
@@ -6,10 +6,10 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
*/
|
|
7
7
|
export class NgSelectDynamicModule {
|
|
8
8
|
}
|
|
9
|
-
NgSelectDynamicModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
NgSelectDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
11
|
-
NgSelectDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9
|
+
NgSelectDynamicModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectDynamicModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
NgSelectDynamicModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: NgSelectDynamicModule, declarations: [DynamicValueHandlerComponent] });
|
|
11
|
+
NgSelectDynamicModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectDynamicModule });
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectDynamicModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
declarations: [
|
|
@@ -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: "
|
|
16
|
-
NgSelectEditModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "
|
|
15
|
+
NgSelectEditModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectEditModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
16
|
+
NgSelectEditModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: NgSelectEditModule, declarations: [NgSelectEditDirective,
|
|
17
17
|
EditNormalStateComponent,
|
|
18
18
|
EditLiveSearchComponent,
|
|
19
19
|
EditPopupComponent,
|
|
@@ -23,11 +23,9 @@ NgSelectEditModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
23
23
|
EditLiveSearchComponent,
|
|
24
24
|
EditPopupComponent,
|
|
25
25
|
EditKeyboardHandlerComponent] });
|
|
26
|
-
NgSelectEditModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
]] });
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: NgSelectEditModule, decorators: [{
|
|
26
|
+
NgSelectEditModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectEditModule, imports: [CommonModule,
|
|
27
|
+
NgSelectModule] });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectEditModule, decorators: [{
|
|
31
29
|
type: NgModule,
|
|
32
30
|
args: [{
|
|
33
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;;+GAAlB,kBAAkB;gHAAlB,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;gHAGvB,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;;+GAAlB,kBAAkB;gHAAlB,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;gHAGvB,kBAAkB,YApBvB,YAAY;QACZ,cAAc;2FAmBT,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: "
|
|
18
|
-
NgSelectHasValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
17
|
+
NgSelectHasValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectHasValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
18
|
+
NgSelectHasValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: NgSelectHasValuePipe, name: "ngSelectHasValue" });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectHasValuePipe, decorators: [{
|
|
20
20
|
type: Pipe,
|
|
21
21
|
args: [{ name: 'ngSelectHasValue' }]
|
|
22
22
|
}] });
|
|
@@ -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: "
|
|
26
|
-
NgSelectValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
25
|
+
NgSelectValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
26
|
+
NgSelectValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: NgSelectValuePipe, name: "ngSelectValue" });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgSelectValuePipe, decorators: [{
|
|
28
28
|
type: Pipe,
|
|
29
29
|
args: [{ name: 'ngSelectValue' }]
|
|
30
30
|
}] });
|
|
@@ -120,9 +120,9 @@ export class BasicKeyboardHandlerComponent {
|
|
|
120
120
|
invalidateVisuals() {
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
BasicKeyboardHandlerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
124
|
-
BasicKeyboardHandlerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
125
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
123
|
+
BasicKeyboardHandlerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", 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.0.4", 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.0.4", ngImport: i0, type: BasicKeyboardHandlerComponent, decorators: [{
|
|
126
126
|
type: Component,
|
|
127
127
|
args: [{
|
|
128
128
|
selector: 'ng-basic-keyboard-handler',
|