@anglr/select 12.0.0 → 12.1.0-beta.20250516040933
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +11 -0
- package/es2015/elements/src/components/ngSelectElements.component.js +3 -3
- package/es2015/elements/src/components/ngSelectElements.component.js.map +1 -1
- package/es2015/elements/src/modules/ngSelectElements.module.js +4 -4
- package/es2015/elements/src/modules/ngSelectElements.module.js.map +1 -1
- package/es2015/material/src/components/basicDialogPopup/basicDialogPopup.component.js +3 -3
- package/es2015/material/src/components/basicDialogPopup/basicDialogPopup.component.js.map +1 -1
- package/es2015/material/src/directives/dialogPopup/dialogPopup.directive.js +3 -3
- package/es2015/material/src/directives/dialogPopup/dialogPopup.directive.js.map +1 -1
- package/es2015/material/src/modules/dialogPopup.module.js +4 -4
- package/es2015/material/src/modules/dialogPopup.module.js.map +1 -1
- package/es2015/material/src/modules/virtualEditPopup.module.js +4 -4
- package/es2015/material/src/modules/virtualEditPopup.module.js.map +1 -1
- package/es2015/material/src/plugins/popup/dialog/dialogPopup.component.js +3 -3
- package/es2015/material/src/plugins/popup/dialog/dialogPopup.component.js.map +1 -1
- package/es2015/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js +3 -3
- package/es2015/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js.map +1 -1
- package/es2015/src/components/option/optgroup.component.js +3 -3
- package/es2015/src/components/option/optgroup.component.js.map +1 -1
- package/es2015/src/components/option/option.component.js +3 -3
- package/es2015/src/components/option/option.component.js.map +1 -1
- package/es2015/src/components/select/select.component.js +6 -6
- package/es2015/src/components/select/select.component.js.map +1 -1
- package/es2015/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js +3 -3
- package/es2015/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js.map +1 -1
- package/es2015/src/directives/ngSelectEdit/ngSelectEdit.directive.js +3 -3
- package/es2015/src/directives/ngSelectEdit/ngSelectEdit.directive.js.map +1 -1
- package/es2015/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js +3 -3
- package/es2015/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js.map +1 -1
- package/es2015/src/misc/ngSelectControlValueAccessor.directive.js +3 -3
- package/es2015/src/misc/ngSelectControlValueAccessor.directive.js.map +1 -1
- package/es2015/src/misc/ngSelectOptions.interface.js.map +1 -1
- package/es2015/src/misc/pluginBus/pluginBus.js +3 -3
- package/es2015/src/misc/pluginBus/pluginBus.js.map +1 -1
- package/es2015/src/modules/ngSelect.module.js +4 -4
- package/es2015/src/modules/ngSelect.module.js.map +1 -1
- package/es2015/src/modules/ngSelectDynamic.module.js +4 -4
- package/es2015/src/modules/ngSelectDynamic.module.js.map +1 -1
- package/es2015/src/modules/ngSelectEdit.module.js +4 -4
- package/es2015/src/modules/ngSelectEdit.module.js.map +1 -1
- package/es2015/src/pipes/ngSelectHasValue.pipe.js +3 -3
- package/es2015/src/pipes/ngSelectHasValue.pipe.js.map +1 -1
- package/es2015/src/pipes/ngSelectValue.pipe.js +3 -3
- package/es2015/src/pipes/ngSelectValue.pipe.js.map +1 -1
- package/es2015/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js +3 -3
- package/es2015/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js.map +1 -1
- package/es2015/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js +3 -3
- package/es2015/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js.map +1 -1
- package/es2015/src/plugins/liveSearch/basic/basicLiveSearch.component.js +3 -3
- package/es2015/src/plugins/liveSearch/basic/basicLiveSearch.component.js.map +1 -1
- package/es2015/src/plugins/liveSearch/edit/editLiveSearch.component.js +3 -3
- package/es2015/src/plugins/liveSearch/edit/editLiveSearch.component.js.map +1 -1
- package/es2015/src/plugins/liveSearch/no/noLiveSearch.component.js +3 -3
- package/es2015/src/plugins/liveSearch/no/noLiveSearch.component.js.map +1 -1
- package/es2015/src/plugins/normalState/basic/basicNormalState.component.js +3 -3
- package/es2015/src/plugins/normalState/basic/basicNormalState.component.js.map +1 -1
- package/es2015/src/plugins/normalState/edit/editNormalState.component.js +3 -3
- package/es2015/src/plugins/normalState/edit/editNormalState.component.js.map +1 -1
- package/es2015/src/plugins/normalState/normalStateAbstract.component.js +3 -3
- package/es2015/src/plugins/normalState/normalStateAbstract.component.js.map +1 -1
- package/es2015/src/plugins/popup/basic/basicPopup.component.js +3 -3
- package/es2015/src/plugins/popup/basic/basicPopup.component.js.map +1 -1
- package/es2015/src/plugins/popup/edit/editPopup.component.js +3 -3
- package/es2015/src/plugins/popup/edit/editPopup.component.js.map +1 -1
- package/es2015/src/plugins/popup/popupAbstract.component.js +3 -3
- package/es2015/src/plugins/popup/popupAbstract.component.js.map +1 -1
- package/es2015/src/plugins/positioner/default/defaultPositioner.component.js +3 -3
- package/es2015/src/plugins/positioner/default/defaultPositioner.component.js.map +1 -1
- package/es2015/src/plugins/positioner/no/noPositioner.component.js +3 -3
- package/es2015/src/plugins/positioner/no/noPositioner.component.js.map +1 -1
- package/es2015/src/plugins/valueHandler/basic/basicValueHandler.component.js +3 -3
- package/es2015/src/plugins/valueHandler/basic/basicValueHandler.component.js.map +1 -1
- package/es2015/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js +3 -3
- package/es2015/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js.map +1 -1
- package/es2015/src/plugins/valueHandler/valueHandlerBase.js +3 -3
- package/es2015/src/plugins/valueHandler/valueHandlerBase.js.map +1 -1
- package/es2020/elements/src/components/ngSelectElements.component.js +3 -3
- package/es2020/elements/src/components/ngSelectElements.component.js.map +1 -1
- package/es2020/elements/src/modules/ngSelectElements.module.js +4 -4
- package/es2020/elements/src/modules/ngSelectElements.module.js.map +1 -1
- package/es2020/material/src/components/basicDialogPopup/basicDialogPopup.component.js +3 -3
- package/es2020/material/src/components/basicDialogPopup/basicDialogPopup.component.js.map +1 -1
- package/es2020/material/src/directives/dialogPopup/dialogPopup.directive.js +3 -3
- package/es2020/material/src/directives/dialogPopup/dialogPopup.directive.js.map +1 -1
- package/es2020/material/src/modules/dialogPopup.module.js +4 -4
- package/es2020/material/src/modules/dialogPopup.module.js.map +1 -1
- package/es2020/material/src/modules/virtualEditPopup.module.js +4 -4
- package/es2020/material/src/modules/virtualEditPopup.module.js.map +1 -1
- package/es2020/material/src/plugins/popup/dialog/dialogPopup.component.js +3 -3
- package/es2020/material/src/plugins/popup/dialog/dialogPopup.component.js.map +1 -1
- package/es2020/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js +3 -3
- package/es2020/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js.map +1 -1
- package/es2020/src/components/option/optgroup.component.js +3 -3
- package/es2020/src/components/option/optgroup.component.js.map +1 -1
- package/es2020/src/components/option/option.component.js +3 -3
- package/es2020/src/components/option/option.component.js.map +1 -1
- package/es2020/src/components/select/select.component.js +6 -6
- package/es2020/src/components/select/select.component.js.map +1 -1
- package/es2020/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js +3 -3
- package/es2020/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js.map +1 -1
- package/es2020/src/directives/ngSelectEdit/ngSelectEdit.directive.js +3 -3
- package/es2020/src/directives/ngSelectEdit/ngSelectEdit.directive.js.map +1 -1
- package/es2020/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js +3 -3
- package/es2020/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js.map +1 -1
- package/es2020/src/misc/ngSelectControlValueAccessor.directive.js +3 -3
- package/es2020/src/misc/ngSelectControlValueAccessor.directive.js.map +1 -1
- package/es2020/src/misc/ngSelectOptions.interface.js.map +1 -1
- package/es2020/src/misc/pluginBus/pluginBus.js +3 -3
- package/es2020/src/misc/pluginBus/pluginBus.js.map +1 -1
- package/es2020/src/modules/ngSelect.module.js +4 -4
- package/es2020/src/modules/ngSelect.module.js.map +1 -1
- package/es2020/src/modules/ngSelectDynamic.module.js +4 -4
- package/es2020/src/modules/ngSelectDynamic.module.js.map +1 -1
- package/es2020/src/modules/ngSelectEdit.module.js +4 -4
- package/es2020/src/modules/ngSelectEdit.module.js.map +1 -1
- package/es2020/src/pipes/ngSelectHasValue.pipe.js +3 -3
- package/es2020/src/pipes/ngSelectHasValue.pipe.js.map +1 -1
- package/es2020/src/pipes/ngSelectValue.pipe.js +3 -3
- package/es2020/src/pipes/ngSelectValue.pipe.js.map +1 -1
- package/es2020/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js +3 -3
- package/es2020/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js.map +1 -1
- package/es2020/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js +3 -3
- package/es2020/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js.map +1 -1
- package/es2020/src/plugins/liveSearch/basic/basicLiveSearch.component.js +3 -3
- package/es2020/src/plugins/liveSearch/basic/basicLiveSearch.component.js.map +1 -1
- package/es2020/src/plugins/liveSearch/edit/editLiveSearch.component.js +3 -3
- package/es2020/src/plugins/liveSearch/edit/editLiveSearch.component.js.map +1 -1
- package/es2020/src/plugins/liveSearch/no/noLiveSearch.component.js +3 -3
- package/es2020/src/plugins/liveSearch/no/noLiveSearch.component.js.map +1 -1
- package/es2020/src/plugins/normalState/basic/basicNormalState.component.js +3 -3
- package/es2020/src/plugins/normalState/basic/basicNormalState.component.js.map +1 -1
- package/es2020/src/plugins/normalState/edit/editNormalState.component.js +3 -3
- package/es2020/src/plugins/normalState/edit/editNormalState.component.js.map +1 -1
- package/es2020/src/plugins/normalState/normalStateAbstract.component.js +3 -3
- package/es2020/src/plugins/normalState/normalStateAbstract.component.js.map +1 -1
- package/es2020/src/plugins/popup/basic/basicPopup.component.js +3 -3
- package/es2020/src/plugins/popup/basic/basicPopup.component.js.map +1 -1
- package/es2020/src/plugins/popup/edit/editPopup.component.js +3 -3
- package/es2020/src/plugins/popup/edit/editPopup.component.js.map +1 -1
- package/es2020/src/plugins/popup/popupAbstract.component.js +3 -3
- package/es2020/src/plugins/popup/popupAbstract.component.js.map +1 -1
- package/es2020/src/plugins/positioner/default/defaultPositioner.component.js +3 -3
- package/es2020/src/plugins/positioner/default/defaultPositioner.component.js.map +1 -1
- package/es2020/src/plugins/positioner/no/noPositioner.component.js +3 -3
- package/es2020/src/plugins/positioner/no/noPositioner.component.js.map +1 -1
- package/es2020/src/plugins/valueHandler/basic/basicValueHandler.component.js +3 -3
- package/es2020/src/plugins/valueHandler/basic/basicValueHandler.component.js.map +1 -1
- package/es2020/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js +3 -3
- package/es2020/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js.map +1 -1
- package/es2020/src/plugins/valueHandler/valueHandlerBase.js +3 -3
- package/es2020/src/plugins/valueHandler/valueHandlerBase.js.map +1 -1
- package/package.json +1 -1
- package/src/misc/ngSelectOptions.interface.d.ts +6 -0
- package/src/misc/ngSelectOptions.interface.d.ts.map +1 -1
- package/version.bak +1 -1
|
@@ -65,9 +65,9 @@ export class EditNormalStateComponent extends NormalStateAbstractComponent {
|
|
|
65
65
|
this.pluginBus.updateDisplayedValue.emit();
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
EditNormalStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
69
|
-
EditNormalStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
68
|
+
EditNormalStateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditNormalStateComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: STRING_LOCALIZATION }, { token: NORMAL_STATE_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
EditNormalStateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EditNormalStateComponent, selector: "div.edit-normal-state", usesInheritance: true, ngImport: i0, template: "<div [ngClass]=\"options?.cssClasses?.normalStateElement\" [title]=\"valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected\">\r\n <ng-template [ngIf]=\"pluginBus.selectOptions.multiple\">\r\n <div *ngFor=\"let option of selectedOptions\" [ngClass]=\"options?.cssClasses?.selectedMultiValueContainer\">\r\n <span>{{option | ngSelectValue: texts?.nothingSelected: options?.optionDisplayText}}</span>\r\n <span [ngClass]=\"options?.cssClasses?.selectedMultiValueCancel\"\r\n (click)=\"pluginBus.optionCancel.emit(option)\">x</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"options?.cancelButton && (valueHandler?.selectedOptions | ngSelectHasValue)\"\r\n (click)=\"cancelSelected()\"\r\n [ngClass]=\"options?.cssClasses?.cancelSelectedElement\"></div>\r\n\r\n <div [ngClass]=\"options?.cssClasses?.selectedCarretWrapper\" (click)=\"pluginBus?.togglePopup.emit(); pluginBus?.liveSearchFocus?.emit()\" *ngIf=\"options?.showOptionsButton\">\r\n <span [ngClass]=\"options?.cssClasses?.selectedCarret\"></span>\r\n </div>\r\n</div>", styles: ["div.btn-select\r\n{\r\n display: flex;\r\n flex-direction: row;\r\n width: 100%;\r\n padding: 0;\r\n background-color: #ffffff;\r\n background-image: none;\r\n border: 1px solid #cccccc;\r\n border-radius: 4px;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\r\n height: 28px;\r\n overflow: hidden;\r\n cursor: default;\r\n}\r\n\r\ndiv.btn-select:hover .selected-caret\r\n{\r\n background-color: #F2F2F2;\r\n}\r\n\r\ndiv.btn-select .selected-value\r\n{\r\n flex: 1;\r\n text-align: left;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n\r\ndiv.btn-select .selected-caret\r\n{\r\n flex: 0 0 20px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: row;\r\n cursor: pointer;\r\n}\r\n\r\n.selected-multi-value\r\n{\r\n align-self: center;\r\n padding: 1px 4px;\r\n border-radius: 4px;\r\n margin-left: 3px;\r\n margin-right: 3px;\r\n background: #BBB;\r\n}\r\n\r\n.selected-multi-value-cancel\r\n{\r\n margin-left: 4px;\r\n}\r\n\r\n.selected-multi-value-cancel:hover\r\n{\r\n opacity: 0.7;\r\n cursor: pointer;\r\n}\r\n\r\n.cancel-selected\r\n{\r\n cursor: pointer;\r\n align-self: center;\r\n padding: 2px;\r\n}\r\n\r\n.cancel-selected:hover\r\n{\r\n opacity: 0.7;\r\n}\r\n\r\n.cancel-selected:before \r\n{\r\n content: \"\\f00d\"; \r\n} "], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i3.NgSelectValuePipe, name: "ngSelectValue" }, { kind: "pipe", type: i4.NgSelectHasValuePipe, name: "ngSelectHasValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditNormalStateComponent, decorators: [{
|
|
71
71
|
type: Component,
|
|
72
72
|
args: [{ selector: 'div.edit-normal-state', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"options?.cssClasses?.normalStateElement\" [title]=\"valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected\">\r\n <ng-template [ngIf]=\"pluginBus.selectOptions.multiple\">\r\n <div *ngFor=\"let option of selectedOptions\" [ngClass]=\"options?.cssClasses?.selectedMultiValueContainer\">\r\n <span>{{option | ngSelectValue: texts?.nothingSelected: options?.optionDisplayText}}</span>\r\n <span [ngClass]=\"options?.cssClasses?.selectedMultiValueCancel\"\r\n (click)=\"pluginBus.optionCancel.emit(option)\">x</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"options?.cancelButton && (valueHandler?.selectedOptions | ngSelectHasValue)\"\r\n (click)=\"cancelSelected()\"\r\n [ngClass]=\"options?.cssClasses?.cancelSelectedElement\"></div>\r\n\r\n <div [ngClass]=\"options?.cssClasses?.selectedCarretWrapper\" (click)=\"pluginBus?.togglePopup.emit(); pluginBus?.liveSearchFocus?.emit()\" *ngIf=\"options?.showOptionsButton\">\r\n <span [ngClass]=\"options?.cssClasses?.selectedCarret\"></span>\r\n </div>\r\n</div>", styles: ["div.btn-select\r\n{\r\n display: flex;\r\n flex-direction: row;\r\n width: 100%;\r\n padding: 0;\r\n background-color: #ffffff;\r\n background-image: none;\r\n border: 1px solid #cccccc;\r\n border-radius: 4px;\r\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075) inset;\r\n height: 28px;\r\n overflow: hidden;\r\n cursor: default;\r\n}\r\n\r\ndiv.btn-select:hover .selected-caret\r\n{\r\n background-color: #F2F2F2;\r\n}\r\n\r\ndiv.btn-select .selected-value\r\n{\r\n flex: 1;\r\n text-align: left;\r\n min-width: 0;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n}\r\n\r\ndiv.btn-select .selected-caret\r\n{\r\n flex: 0 0 20px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: row;\r\n cursor: pointer;\r\n}\r\n\r\n.selected-multi-value\r\n{\r\n align-self: center;\r\n padding: 1px 4px;\r\n border-radius: 4px;\r\n margin-left: 3px;\r\n margin-right: 3px;\r\n background: #BBB;\r\n}\r\n\r\n.selected-multi-value-cancel\r\n{\r\n margin-left: 4px;\r\n}\r\n\r\n.selected-multi-value-cancel:hover\r\n{\r\n opacity: 0.7;\r\n cursor: pointer;\r\n}\r\n\r\n.cancel-selected\r\n{\r\n cursor: pointer;\r\n align-self: center;\r\n padding: 2px;\r\n}\r\n\r\n.cancel-selected:hover\r\n{\r\n opacity: 0.7;\r\n}\r\n\r\n.cancel-selected:before \r\n{\r\n content: \"\\f00d\"; \r\n} "] }]
|
|
73
73
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editNormalState.component.js","sourceRoot":"","sources":["../../../../../src/plugins/normalState/edit/editNormalState.component.ts","../../../../../src/plugins/normalState/edit/editNormalState.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAa,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC7H,OAAO,EAAqB,mBAAmB,EAAC,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAC,4BAA4B,EAAC,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAC,oBAAoB,EAAC,MAAM,UAAU,CAAC;;;;;;AAI9C,yDAAyD;AACzD,kDAAkD;AAElD;;;GAGG;AACH,MAAM,cAAc,GACpB;IACI,UAAU,EACV;QACI,kBAAkB,EAAE,gBAAgB;QACpC,qBAAqB,EAAE,gBAAgB;QACvC,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,gBAAgB;QAC/B,2BAA2B,EAAE,sBAAsB;QACnD,wBAAwB,EAAE,6BAA6B;QACvD,qBAAqB,EAAE,oBAAoB;KAC9C;IACD,KAAK,EACL;QACI,eAAe,EAAE,kBAAkB;KACtC;IACD,YAAY,EAAE,KAAK;IACnB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI;CAC3C,CAAC;AAEF;;GAEG;AAQH,MAAM,OAAO,wBAAuC,SAAQ,4BAA+F;IAYvJ,iEAAiE;IACjE,YAA4D,eAAwC,EAC5E,SAAoB,EAChC,aAAyB,EACzB,cAAiC,EACJ,kBAAsC,EACzB,OAAgC;QAElF,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAErF,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IArBD,2FAA2F;IAE3F;;OAEG;IACH,IAAW,eAAe;;QAEtB,OAAO,MAAA,IAAI,CAAC,YAAY,0CAAE,eAAmC,CAAC;IAClE,CAAC;IAeD,wFAAwF;IAExF;;OAEG;IACI,cAAc;QAEjB,IAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EACtC;YACI,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;YAE1C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjE;aAED;YACI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC1D;QAED,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;;
|
|
1
|
+
{"version":3,"file":"editNormalState.component.js","sourceRoot":"","sources":["../../../../../src/plugins/normalState/edit/editNormalState.component.ts","../../../../../src/plugins/normalState/edit/editNormalState.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAa,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC7H,OAAO,EAAqB,mBAAmB,EAAC,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAC,4BAA4B,EAAC,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAC,oBAAoB,EAAC,MAAM,UAAU,CAAC;;;;;;AAI9C,yDAAyD;AACzD,kDAAkD;AAElD;;;GAGG;AACH,MAAM,cAAc,GACpB;IACI,UAAU,EACV;QACI,kBAAkB,EAAE,gBAAgB;QACpC,qBAAqB,EAAE,gBAAgB;QACvC,cAAc,EAAE,kBAAkB;QAClC,aAAa,EAAE,gBAAgB;QAC/B,2BAA2B,EAAE,sBAAsB;QACnD,wBAAwB,EAAE,6BAA6B;QACvD,qBAAqB,EAAE,oBAAoB;KAC9C;IACD,KAAK,EACL;QACI,eAAe,EAAE,kBAAkB;KACtC;IACD,YAAY,EAAE,KAAK;IACnB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI;CAC3C,CAAC;AAEF;;GAEG;AAQH,MAAM,OAAO,wBAAuC,SAAQ,4BAA+F;IAYvJ,iEAAiE;IACjE,YAA4D,eAAwC,EAC5E,SAAoB,EAChC,aAAyB,EACzB,cAAiC,EACJ,kBAAsC,EACzB,OAAgC;QAElF,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAErF,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IArBD,2FAA2F;IAE3F;;OAEG;IACH,IAAW,eAAe;;QAEtB,OAAO,MAAA,IAAI,CAAC,YAAY,0CAAE,eAAmC,CAAC;IAClE,CAAC;IAeD,wFAAwF;IAExF;;OAEG;IACI,cAAc;QAEjB,IAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,EACtC;YACI,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;YAE1C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SACjE;aAED;YACI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC1D;QAED,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;;sHA5CQ,wBAAwB,kBAab,0BAA0B,iIAI1B,mBAAmB,aACnB,oBAAoB;0GAlB/B,wBAAwB,oFCnDrC,2pCAkBM;4FDiCO,wBAAwB;kBAPpC,SAAS;+BAEI,uBAAuB,mBAGhB,uBAAuB,CAAC,MAAM;;0BAelC,MAAM;2BAAC,0BAA0B;;0BAAG,QAAQ;;0BAC5C,QAAQ;;0BAGR,MAAM;2BAAC,mBAAmB;;0BAC1B,MAAM;2BAAC,oBAAoB;;0BAAG,QAAQ","sourcesContent":["import {ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, OnDestroy, Optional} from '@angular/core';\nimport {StringLocalization, STRING_LOCALIZATION} from '@anglr/common';\nimport {extend} from '@jscrpt/common';\n\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {NgSelectPlugin} from '../../../misc';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\nimport {NormalStateAbstractComponent} from '../normalStateAbstract.component';\nimport {NORMAL_STATE_OPTIONS} from '../types';\nimport {CssClassesEditNormalState, EditNormalState, EditNormalStateOptions} from './editNormalState.interface';\nimport {NgSelectOption} from '../../../components/option';\n\n//TODO - think of templating how to do it for edit select\n//TODO - add way to collapse multi selected values\n\n/**\n * Default options for normal state\n * @internal\n */\nconst defaultOptions: EditNormalStateOptions =\n{\n cssClasses:\n {\n normalStateElement: 'btn btn-select',\n selectedCarretWrapper: 'selected-caret',\n selectedCarret: 'fa fa-caret-down',\n selectedValue: 'selected-value',\n selectedMultiValueContainer: 'selected-multi-value',\n selectedMultiValueCancel: 'selected-multi-value-cancel',\n cancelSelectedElement: 'fa cancel-selected'\n },\n texts:\n {\n nothingSelected: 'Nothing selected'\n },\n cancelButton: false,\n showOptionsButton: true,\n optionDisplayText: option => option.text\n};\n\n/**\n * Component used for rendering edit normal state of select\n */\n@Component(\n{\n selector: 'div.edit-normal-state',\n templateUrl: 'editNormalState.component.html',\n styleUrls: ['editNormalState.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EditNormalStateComponent<TValue = any> extends NormalStateAbstractComponent<CssClassesEditNormalState, EditNormalStateOptions<TValue>, TValue> implements EditNormalState, NgSelectPlugin<EditNormalStateOptions>, OnDestroy\n{\n //######################### public properties - template bindings #########################\n\n /**\n * Gets currently selected options\n */\n public get selectedOptions(): NgSelectOption[]\n {\n return this.valueHandler?.selectedOptions as NgSelectOption[];\n }\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() ngSelectPlugins: NgSelectPluginInstances,\n @Optional() pluginBus: PluginBus,\n pluginElement: ElementRef,\n changeDetector: ChangeDetectorRef,\n @Inject(STRING_LOCALIZATION) stringLocalization: StringLocalization,\n @Inject(NORMAL_STATE_OPTIONS) @Optional() options?: EditNormalStateOptions)\n {\n super(ngSelectPlugins, pluginBus, pluginElement, changeDetector, stringLocalization);\n\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - template bindings #########################\n\n /**\n * Cancel selected options\n */\n public cancelSelected(): void\n {\n if(Array.isArray(this.selectedOptions))\n {\n const options = [...this.selectedOptions];\n\n options.forEach(opt => this.pluginBus.optionCancel.emit(opt));\n }\n else\n {\n this.pluginBus.optionCancel.emit(this.selectedOptions);\n }\n\n this.pluginBus.updateDisplayedValue.emit();\n }\n}","<div [ngClass]=\"options?.cssClasses?.normalStateElement\" [title]=\"valueHandler?.selectedOptions | ngSelectValue: texts?.nothingSelected\">\r\n <ng-template [ngIf]=\"pluginBus.selectOptions.multiple\">\r\n <div *ngFor=\"let option of selectedOptions\" [ngClass]=\"options?.cssClasses?.selectedMultiValueContainer\">\r\n <span>{{option | ngSelectValue: texts?.nothingSelected: options?.optionDisplayText}}</span>\r\n <span [ngClass]=\"options?.cssClasses?.selectedMultiValueCancel\"\r\n (click)=\"pluginBus.optionCancel.emit(option)\">x</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-content></ng-content>\r\n\r\n <div *ngIf=\"options?.cancelButton && (valueHandler?.selectedOptions | ngSelectHasValue)\"\r\n (click)=\"cancelSelected()\"\r\n [ngClass]=\"options?.cssClasses?.cancelSelectedElement\"></div>\r\n\r\n <div [ngClass]=\"options?.cssClasses?.selectedCarretWrapper\" (click)=\"pluginBus?.togglePopup.emit(); pluginBus?.liveSearchFocus?.emit()\" *ngIf=\"options?.showOptionsButton\">\r\n <span [ngClass]=\"options?.cssClasses?.selectedCarret\"></span>\r\n </div>\r\n</div>"]}
|
|
@@ -85,9 +85,9 @@ export class NormalStateAbstractComponent {
|
|
|
85
85
|
this._changeDetector.detectChanges();
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
NormalStateAbstractComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
89
|
-
NormalStateAbstractComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.
|
|
90
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
88
|
+
NormalStateAbstractComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NormalStateAbstractComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
89
|
+
NormalStateAbstractComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: NormalStateAbstractComponent, ngImport: i0 });
|
|
90
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NormalStateAbstractComponent, decorators: [{
|
|
91
91
|
type: Directive
|
|
92
92
|
}], ctorParameters: function () { return [{ type: undefined }, { type: i1.PluginBus }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined }]; } });
|
|
93
93
|
//# sourceMappingURL=normalStateAbstract.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalStateAbstract.component.js","sourceRoot":"","sources":["../../../../src/plugins/normalState/normalStateAbstract.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,UAAU,EAAa,SAAS,EAAC,MAAM,eAAe,CAAC;AAElF,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAGzD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;;;AAEpD;;GAEG;AAEH,MAAM,OAAgB,4BAA4B;IA+C9C,iEAAiE;IACjE,YAAmB,eAAwC,EACxC,SAAoB,EACpB,aAAyB,EACtB,eAAkC,EAClC,mBAAuC;QAJ1C,oBAAe,GAAf,eAAe,CAAyB;QACxC,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAY;QACtB,oBAAe,GAAf,eAAe,CAAmB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAoB;QAtC7D;;WAEG;QACO,eAAU,GAAY,KAAK,CAAC;QAgBtC,2FAA2F;QAE3F;;;WAGG;QACI,UAAK,GAAqB,EAAE,CAAC;IAepC,CAAC;IAnCD,uGAAuG;IAEvG;;OAEG;IACH,IAAW,OAAO;QAEd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,IAAW,OAAO,CAAC,OAAiB;QAEhC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAyBD,kGAAkG;IAElG;;OAEG;IACI,WAAW;;QAEd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,MAAA,IAAI,CAAC,yBAAyB,0CAAE,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,oGAAoG;IAEpG;;OAEG;IACI,UAAU;QAEb,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAEzG,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAiB,CAAC;QAEzE,IAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,YAAY,EACzD;YACI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC5B;QAED,IAAG,CAAC,IAAI,CAAC,YAAY,EACrB;YACI,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;SACpC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,WAAW;IAElB,CAAC;IAED;;OAEG;IACI,iBAAiB;QAEpB,IAAG,CAAC,IAAI,CAAC,UAAU,EACnB;YACI,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;SACxC;IACL,CAAC;IAED,uEAAuE;IAEvE;;OAEG;IACO,UAAU;QAEhB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAE1C,IAAI,CAAC,KAAK,CAAC,GAA6B,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAA6B,CAAC,CAAC,CAAC;QAChI,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;;
|
|
1
|
+
{"version":3,"file":"normalStateAbstract.component.js","sourceRoot":"","sources":["../../../../src/plugins/normalState/normalStateAbstract.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,UAAU,EAAa,SAAS,EAAC,MAAM,eAAe,CAAC;AAElF,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAGzD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;;;AAEpD;;GAEG;AAEH,MAAM,OAAgB,4BAA4B;IA+C9C,iEAAiE;IACjE,YAAmB,eAAwC,EACxC,SAAoB,EACpB,aAAyB,EACtB,eAAkC,EAClC,mBAAuC;QAJ1C,oBAAe,GAAf,eAAe,CAAyB;QACxC,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAY;QACtB,oBAAe,GAAf,eAAe,CAAmB;QAClC,wBAAmB,GAAnB,mBAAmB,CAAoB;QAtC7D;;WAEG;QACO,eAAU,GAAY,KAAK,CAAC;QAgBtC,2FAA2F;QAE3F;;;WAGG;QACI,UAAK,GAAqB,EAAE,CAAC;IAepC,CAAC;IAnCD,uGAAuG;IAEvG;;OAEG;IACH,IAAW,OAAO;QAEd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,IAAW,OAAO,CAAC,OAAiB;QAEhC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAyBD,kGAAkG;IAElG;;OAEG;IACI,WAAW;;QAEd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,MAAA,IAAI,CAAC,yBAAyB,0CAAE,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,oGAAoG;IAEpG;;OAEG;IACI,UAAU;QAEb,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAEzG,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAiB,CAAC;QAEzE,IAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,YAAY,EACzD;YACI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC5B;QAED,IAAG,CAAC,IAAI,CAAC,YAAY,EACrB;YACI,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;SACpC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,WAAW;IAElB,CAAC;IAED;;OAEG;IACI,iBAAiB;QAEpB,IAAG,CAAC,IAAI,CAAC,UAAU,EACnB;YACI,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;SACxC;IACL,CAAC;IAED,uEAAuE;IAEvE;;OAEG;IACO,UAAU;QAEhB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAE1C,IAAI,CAAC,KAAK,CAAC,GAA6B,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAA6B,CAAC,CAAC,CAAC;QAChI,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;;0HA5HiB,4BAA4B;8GAA5B,4BAA4B;4FAA5B,4BAA4B;kBADjD,SAAS","sourcesContent":["import {ChangeDetectorRef, ElementRef, OnDestroy, Directive} from '@angular/core';\nimport {StringLocalization} from '@anglr/common';\nimport {extend} from '@jscrpt/common';\nimport {Subscription} from 'rxjs';\n\nimport {NgSelectPluginInstances} from '../../components/select';\nimport {NgSelectPlugin} from '../../misc';\nimport {PluginBus} from '../../misc/pluginBus/pluginBus';\nimport {NormalState, NormalStateOptions, NormalStateTexts} from './normalState.interface';\nimport {ValueHandler} from '../valueHandler/valueHandler.interface';\nimport {VALUE_HANDLER} from '../valueHandler/types';\n\n/**\n * Base abstract class for normal state of select\n */\n@Directive()\nexport abstract class NormalStateAbstractComponent<TCssClasses = any, TOptions extends NormalStateOptions<TCssClasses, TValue> = any, TValue = any> implements NormalState, NgSelectPlugin<TOptions>, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Subscription for changes in texts\n */\n protected _textsChangedSubscription: Subscription;\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: TOptions;\n\n /**\n * Indication whether was component destroyed\n */\n protected _destroyed: boolean = false;\n\n //######################### public properties - implementation of NormalState #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): TOptions\n {\n return this._options;\n }\n public set options(options: TOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n //######################### public properties - template bindings #########################\n\n /**\n * Object containing available texts\n * @internal\n */\n public texts: NormalStateTexts = {};\n\n /**\n * Value handler used in NgSelect\n * @internal\n */\n public valueHandler: ValueHandler;\n\n //######################### constructor #########################\n constructor(public ngSelectPlugins: NgSelectPluginInstances,\n public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n protected _changeDetector: ChangeDetectorRef,\n protected _stringLocalization: StringLocalization)\n {\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n \n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._destroyed = true;\n\n this._textsChangedSubscription?.unsubscribe();\n this._textsChangedSubscription = null;\n }\n\n //######################### public methods - implementation of NormalState #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n this._textsChangedSubscription = this._stringLocalization.textsChange.subscribe(() => this._initTexts());\n\n const valueHandler = this.ngSelectPlugins[VALUE_HANDLER] as ValueHandler;\n\n if(this.valueHandler && this.valueHandler != valueHandler)\n {\n this.valueHandler = null;\n }\n\n if(!this.valueHandler)\n {\n this.valueHandler = valueHandler;\n }\n\n this._initTexts();\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n if(!this._destroyed)\n {\n this._changeDetector.detectChanges();\n }\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize texts\n */\n protected _initTexts()\n {\n Object.keys(this.options.texts).forEach(key =>\n {\n this.texts[key as keyof NormalStateTexts] = this._stringLocalization.get(this.options.texts[key as keyof NormalStateTexts]);\n });\n\n this._changeDetector.detectChanges();\n }\n}"]}
|
|
@@ -35,9 +35,9 @@ export class BasicPopupComponent extends PopupAbstractComponent {
|
|
|
35
35
|
this._options = extend(true, {}, defaultOptions, options);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
BasicPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
39
|
-
BasicPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
38
|
+
BasicPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicPopupComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: POPUP_OPTIONS, optional: true }, { token: STRING_LOCALIZATION }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
39
|
+
BasicPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BasicPopupComponent, selector: "div.ng-select-popup", usesInheritance: true, ngImport: i0, template: "<ng-template #defaultOptionTextLook let-option>{{option?.text}}</ng-template>\r\n\r\n<div #popupDiv \r\n *ngIf=\"options?.visible\"\r\n [ngClass]=\"options?.cssClasses?.popupDiv\">\r\n <ng-content></ng-content>\r\n\r\n <div *ngFor=\"let option of selectOptions\"\r\n [ngClass]=\"options?.cssClasses?.optionItemDiv\"\r\n [class.selected]=\"option?.selected\"\r\n [class.active]=\"option?.active\"\r\n (click)=\"pluginBus?.optionSelect.emit(option)\">\r\n <div [ngClass]=\"options?.cssClasses?.optionItemTextDiv\">\r\n <ng-container *ngTemplateOutlet=\"pluginBus?.selectOptions?.templateGatherer?.optionTemplate || defaultOptionTextLook; context: {$implicit: option, popup: this}\"></ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"option?.selected && pluginBus?.selectOptions?.multiple\" [ngClass]=\"options?.cssClasses?.optionChecked\"></div>\r\n </div>\r\n\r\n <div *ngIf=\"!selectOptions?.length\">{{texts?.noAvailableOptions}}</div>\r\n</div>", styles: [".popup-div\r\n{\r\n position: absolute;\r\n z-index: 1000;\r\n background-color: #FFFFFF;\r\n border-radius: 4px;\r\n border: 1px solid #BBBBBB;\r\n overflow: auto;\r\n padding: 5px 0;\r\n box-shadow: 0 6px 12px rgba(0,0,0,.175);\r\n scrollbar-width: thin;\r\n}\r\n\r\n.popup-div::-webkit-scrollbar-thumb \r\n{\r\n background-color: #cdcdcd;\r\n}\r\n\r\n.popup-div::-webkit-scrollbar \r\n{\r\n width: 6px;\r\n background-color: #f0f0f0;\r\n}\r\n\r\n.option-item\r\n{\r\n padding: 3px 12px;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.option-item .option-item-text\r\n{\r\n min-width: 0;\r\n flex: 1;\r\n white-space: nowrap;\r\n}\r\n\r\n.option-item .option-item-text:hover\r\n{\r\n cursor: pointer;\r\n}\r\n\r\n.option-item .fa-check\r\n{\r\n margin-left: 8px;\r\n}\r\n\r\n.option-item.selected,\r\n.option-item.active\r\n{\r\n background-color: #E8E8E8;\r\n background-image: linear-gradient(to bottom,#F5F5F5 0,#E8E8E8 100%);\r\n}\r\n\r\n.option-item:hover\r\n{\r\n background-color: #E8E8E8;\r\n background-image: linear-gradient(to bottom,#F5F5F5 0,#E8E8E8 100%);\r\n cursor: pointer;\r\n}"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicPopupComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
42
|
args: [{ selector: 'div.ng-select-popup', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #defaultOptionTextLook let-option>{{option?.text}}</ng-template>\r\n\r\n<div #popupDiv \r\n *ngIf=\"options?.visible\"\r\n [ngClass]=\"options?.cssClasses?.popupDiv\">\r\n <ng-content></ng-content>\r\n\r\n <div *ngFor=\"let option of selectOptions\"\r\n [ngClass]=\"options?.cssClasses?.optionItemDiv\"\r\n [class.selected]=\"option?.selected\"\r\n [class.active]=\"option?.active\"\r\n (click)=\"pluginBus?.optionSelect.emit(option)\">\r\n <div [ngClass]=\"options?.cssClasses?.optionItemTextDiv\">\r\n <ng-container *ngTemplateOutlet=\"pluginBus?.selectOptions?.templateGatherer?.optionTemplate || defaultOptionTextLook; context: {$implicit: option, popup: this}\"></ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"option?.selected && pluginBus?.selectOptions?.multiple\" [ngClass]=\"options?.cssClasses?.optionChecked\"></div>\r\n </div>\r\n\r\n <div *ngIf=\"!selectOptions?.length\">{{texts?.noAvailableOptions}}</div>\r\n</div>", styles: [".popup-div\r\n{\r\n position: absolute;\r\n z-index: 1000;\r\n background-color: #FFFFFF;\r\n border-radius: 4px;\r\n border: 1px solid #BBBBBB;\r\n overflow: auto;\r\n padding: 5px 0;\r\n box-shadow: 0 6px 12px rgba(0,0,0,.175);\r\n scrollbar-width: thin;\r\n}\r\n\r\n.popup-div::-webkit-scrollbar-thumb \r\n{\r\n background-color: #cdcdcd;\r\n}\r\n\r\n.popup-div::-webkit-scrollbar \r\n{\r\n width: 6px;\r\n background-color: #f0f0f0;\r\n}\r\n\r\n.option-item\r\n{\r\n padding: 3px 12px;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.option-item .option-item-text\r\n{\r\n min-width: 0;\r\n flex: 1;\r\n white-space: nowrap;\r\n}\r\n\r\n.option-item .option-item-text:hover\r\n{\r\n cursor: pointer;\r\n}\r\n\r\n.option-item .fa-check\r\n{\r\n margin-left: 8px;\r\n}\r\n\r\n.option-item.selected,\r\n.option-item.active\r\n{\r\n background-color: #E8E8E8;\r\n background-image: linear-gradient(to bottom,#F5F5F5 0,#E8E8E8 100%);\r\n}\r\n\r\n.option-item:hover\r\n{\r\n background-color: #E8E8E8;\r\n background-image: linear-gradient(to bottom,#F5F5F5 0,#E8E8E8 100%);\r\n cursor: pointer;\r\n}"] }]
|
|
43
43
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basicPopup.component.js","sourceRoot":"","sources":["../../../../../src/plugins/popup/basic/basicPopup.component.ts","../../../../../src/plugins/popup/basic/basicPopup.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAgB,uBAAuB,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAa,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC5I,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,mBAAmB,EAAqB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;;;;AAElE;;;GAGG;AACH,MAAM,cAAc,GACpB;IACI,UAAU,EACV;QACI,aAAa,EAAE,aAAa;QAC5B,aAAa,EAAE,aAAa;QAC5B,iBAAiB,EAAE,kBAAkB;QACrC,QAAQ,EAAE,WAAW;KACxB;IACD,KAAK,EACL;QACI,kBAAkB,EAAE,gBAAgB;KACvC;IACD,OAAO,EAAE,KAAK;CACjB,CAAC;AAEF;;GAEG;AAQH,MAAM,OAAO,mBAAoB,SAAQ,sBAA+D;IAEpG,iEAAiE;IACjE,YAA4D,eAAwC,EAC5E,SAAoB,EAChC,aAAyB,EACzB,cAAiC,EACE,OAA0B,EAChC,kBAAsC,EACjD,QAAmB;QAE7C,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAE/F,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;;
|
|
1
|
+
{"version":3,"file":"basicPopup.component.js","sourceRoot":"","sources":["../../../../../src/plugins/popup/basic/basicPopup.component.ts","../../../../../src/plugins/popup/basic/basicPopup.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAgB,uBAAuB,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAa,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC5I,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,mBAAmB,EAAqB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;;;;AAElE;;;GAGG;AACH,MAAM,cAAc,GACpB;IACI,UAAU,EACV;QACI,aAAa,EAAE,aAAa;QAC5B,aAAa,EAAE,aAAa;QAC5B,iBAAiB,EAAE,kBAAkB;QACrC,QAAQ,EAAE,WAAW;KACxB;IACD,KAAK,EACL;QACI,kBAAkB,EAAE,gBAAgB;KACvC;IACD,OAAO,EAAE,KAAK;CACjB,CAAC;AAEF;;GAEG;AAQH,MAAM,OAAO,mBAAoB,SAAQ,sBAA+D;IAEpG,iEAAiE;IACjE,YAA4D,eAAwC,EAC5E,SAAoB,EAChC,aAAyB,EACzB,cAAiC,EACE,OAA0B,EAChC,kBAAsC,EACjD,QAAmB;QAE7C,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAE/F,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;;iHAdQ,mBAAmB,kBAGR,0BAA0B,iIAI1B,aAAa,6BACb,mBAAmB,aACnB,QAAQ;qGATnB,mBAAmB,kFC3ChC,qgCAoBM;4FDuBO,mBAAmB;kBAP/B,SAAS;+BAEI,qBAAqB,mBAGd,uBAAuB,CAAC,MAAM;;0BAKlC,MAAM;2BAAC,0BAA0B;;0BAAG,QAAQ;;0BAC5C,QAAQ;;0BAGR,MAAM;2BAAC,aAAa;;0BAAG,QAAQ;;0BAC/B,MAAM;2BAAC,mBAAmB;;0BAC1B,MAAM;2BAAC,QAAQ","sourcesContent":["import {AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, OnDestroy, Optional} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {STRING_LOCALIZATION, StringLocalization} from '@anglr/common';\nimport {extend} from '@jscrpt/common';\n\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {NgSelectPlugin} from '../../../misc';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\nimport {POPUP_OPTIONS} from '../types';\nimport {BasicPopup, BasicPopupOptions, CssClassesBasicPopup} from './basicPopup.interface';\nimport {PopupAbstractComponent} from '../popupAbstract.component';\n\n/**\n * Default options for popup\n * @internal\n */\nconst defaultOptions: BasicPopupOptions =\n{\n cssClasses:\n {\n optionChecked: 'fa fa-check',\n optionItemDiv: 'option-item',\n optionItemTextDiv: 'option-item-text',\n popupDiv: 'popup-div'\n },\n texts:\n {\n noAvailableOptions: 'No items found'\n },\n visible: false\n};\n\n/**\n * Component used for rendering basic popup with options\n */\n@Component(\n{\n selector: 'div.ng-select-popup',\n templateUrl: 'basicPopup.component.html',\n styleUrls: ['basicPopup.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasicPopupComponent extends PopupAbstractComponent<CssClassesBasicPopup, BasicPopupOptions> implements BasicPopup, NgSelectPlugin<BasicPopupOptions>, AfterViewInit, OnDestroy\n{\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() ngSelectPlugins: NgSelectPluginInstances,\n @Optional() pluginBus: PluginBus,\n pluginElement: ElementRef,\n changeDetector: ChangeDetectorRef,\n @Inject(POPUP_OPTIONS) @Optional() options: BasicPopupOptions,\n @Inject(STRING_LOCALIZATION) stringLocalization: StringLocalization,\n @Inject(DOCUMENT) document?: Document)\n {\n super(ngSelectPlugins, pluginBus, pluginElement, changeDetector, document, stringLocalization);\n\n this._options = extend(true, {}, defaultOptions, options);\n }\n}","<ng-template #defaultOptionTextLook let-option>{{option?.text}}</ng-template>\r\n\r\n<div #popupDiv \r\n *ngIf=\"options?.visible\"\r\n [ngClass]=\"options?.cssClasses?.popupDiv\">\r\n <ng-content></ng-content>\r\n\r\n <div *ngFor=\"let option of selectOptions\"\r\n [ngClass]=\"options?.cssClasses?.optionItemDiv\"\r\n [class.selected]=\"option?.selected\"\r\n [class.active]=\"option?.active\"\r\n (click)=\"pluginBus?.optionSelect.emit(option)\">\r\n <div [ngClass]=\"options?.cssClasses?.optionItemTextDiv\">\r\n <ng-container *ngTemplateOutlet=\"pluginBus?.selectOptions?.templateGatherer?.optionTemplate || defaultOptionTextLook; context: {$implicit: option, popup: this}\"></ng-container>\r\n </div>\r\n\r\n <div *ngIf=\"option?.selected && pluginBus?.selectOptions?.multiple\" [ngClass]=\"options?.cssClasses?.optionChecked\"></div>\r\n </div>\r\n\r\n <div *ngIf=\"!selectOptions?.length\">{{texts?.noAvailableOptions}}</div>\r\n</div>"]}
|
|
@@ -58,9 +58,9 @@ export class EditPopupComponent extends PopupAbstractComponent {
|
|
|
58
58
|
option.active = true;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
|
-
EditPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
62
|
-
EditPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
61
|
+
EditPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditPopupComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: POPUP_OPTIONS, optional: true }, { token: STRING_LOCALIZATION }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
+
EditPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EditPopupComponent, selector: "div.ng-select-edit-popup", usesInheritance: true, ngImport: i0, template: "<ng-template #defaultOptionTextLook let-option>{{option?.text}}</ng-template>\r\n\r\n<div #popupDiv \r\n *ngIf=\"options?.visible\"\r\n [ngClass]=\"options?.cssClasses?.popupDiv\">\r\n\r\n <div *ngFor=\"let option of selectOptions\"\r\n [ngClass]=\"options?.cssClasses?.optionItemDiv\"\r\n [class.active]=\"option?.active\"\r\n [class.selected]=\"option?.selected\"\r\n (mouseenter)=\"handleMouseActivation(option)\"\r\n (click)=\"pluginBus?.optionSelect?.emit(option)\">\r\n <div [ngClass]=\"options?.cssClasses?.optionItemTextDiv\">\r\n <ng-container *ngTemplateOutlet=\"pluginBus?.selectOptions?.templateGatherer?.optionTemplate || defaultOptionTextLook; context: {$implicit: option, popup: this}\"></ng-container>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"!selectOptions?.length\">{{texts?.noAvailableOptions}}</div>\r\n</div>", styles: [".popup-div\r\n{\r\n position: absolute;\r\n z-index: 1000;\r\n background-color: #FFFFFF;\r\n border-radius: 4px;\r\n border: 1px solid #BBBBBB;\r\n overflow: auto;\r\n padding: 5px 0;\r\n box-shadow: 0 6px 12px rgba(0,0,0,.175);\r\n scrollbar-width: thin;\r\n}\r\n\r\n.popup-div::-webkit-scrollbar-thumb \r\n{\r\n background-color: #cdcdcd;\r\n}\r\n\r\n.popup-div::-webkit-scrollbar \r\n{\r\n width: 6px;\r\n background-color: #f0f0f0;\r\n}\r\n\r\n.option-item\r\n{\r\n padding: 3px 12px;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.option-item .option-item-text\r\n{\r\n min-width: 0;\r\n flex: 1;\r\n white-space: nowrap;\r\n}\r\n\r\n.option-item .option-item-text:hover\r\n{\r\n cursor: pointer;\r\n}\r\n\r\n.option-item .fa-check\r\n{\r\n margin-left: 8px;\r\n}\r\n\r\n.option-item.selected,\r\n.option-item.active\r\n{\r\n background-color: #E8E8E8;\r\n background-image: linear-gradient(to bottom,#F5F5F5 0,#E8E8E8 100%);\r\n}\r\n\r\n.option-item:hover\r\n{\r\n background-color: #E8E8E8;\r\n background-image: linear-gradient(to bottom,#F5F5F5 0,#E8E8E8 100%);\r\n cursor: pointer;\r\n}"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EditPopupComponent, decorators: [{
|
|
64
64
|
type: Component,
|
|
65
65
|
args: [{ selector: 'div.ng-select-edit-popup', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #defaultOptionTextLook let-option>{{option?.text}}</ng-template>\r\n\r\n<div #popupDiv \r\n *ngIf=\"options?.visible\"\r\n [ngClass]=\"options?.cssClasses?.popupDiv\">\r\n\r\n <div *ngFor=\"let option of selectOptions\"\r\n [ngClass]=\"options?.cssClasses?.optionItemDiv\"\r\n [class.active]=\"option?.active\"\r\n [class.selected]=\"option?.selected\"\r\n (mouseenter)=\"handleMouseActivation(option)\"\r\n (click)=\"pluginBus?.optionSelect?.emit(option)\">\r\n <div [ngClass]=\"options?.cssClasses?.optionItemTextDiv\">\r\n <ng-container *ngTemplateOutlet=\"pluginBus?.selectOptions?.templateGatherer?.optionTemplate || defaultOptionTextLook; context: {$implicit: option, popup: this}\"></ng-container>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"!selectOptions?.length\">{{texts?.noAvailableOptions}}</div>\r\n</div>", styles: [".popup-div\r\n{\r\n position: absolute;\r\n z-index: 1000;\r\n background-color: #FFFFFF;\r\n border-radius: 4px;\r\n border: 1px solid #BBBBBB;\r\n overflow: auto;\r\n padding: 5px 0;\r\n box-shadow: 0 6px 12px rgba(0,0,0,.175);\r\n scrollbar-width: thin;\r\n}\r\n\r\n.popup-div::-webkit-scrollbar-thumb \r\n{\r\n background-color: #cdcdcd;\r\n}\r\n\r\n.popup-div::-webkit-scrollbar \r\n{\r\n width: 6px;\r\n background-color: #f0f0f0;\r\n}\r\n\r\n.option-item\r\n{\r\n padding: 3px 12px;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.option-item .option-item-text\r\n{\r\n min-width: 0;\r\n flex: 1;\r\n white-space: nowrap;\r\n}\r\n\r\n.option-item .option-item-text:hover\r\n{\r\n cursor: pointer;\r\n}\r\n\r\n.option-item .fa-check\r\n{\r\n margin-left: 8px;\r\n}\r\n\r\n.option-item.selected,\r\n.option-item.active\r\n{\r\n background-color: #E8E8E8;\r\n background-image: linear-gradient(to bottom,#F5F5F5 0,#E8E8E8 100%);\r\n}\r\n\r\n.option-item:hover\r\n{\r\n background-color: #E8E8E8;\r\n background-image: linear-gradient(to bottom,#F5F5F5 0,#E8E8E8 100%);\r\n cursor: pointer;\r\n}"] }]
|
|
66
66
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editPopup.component.js","sourceRoot":"","sources":["../../../../../src/plugins/popup/edit/editPopup.component.ts","../../../../../src/plugins/popup/edit/editPopup.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAgB,uBAAuB,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAa,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC5I,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,mBAAmB,EAAqB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;;;;AAIvC;;;GAGG;AACH,MAAM,cAAc,GACpB;IACI,UAAU,EACV;QACI,aAAa,EAAE,aAAa;QAC5B,aAAa,EAAE,aAAa;QAC5B,iBAAiB,EAAE,kBAAkB;QACrC,QAAQ,EAAE,WAAW;KACxB;IACD,KAAK,EACL;QACI,kBAAkB,EAAE,gBAAgB;KACvC;IACD,OAAO,EAAE,KAAK;CACjB,CAAC;AAEF;;GAEG;AAQH,MAAM,OAAO,kBAAmB,SAAQ,sBAA6D;IAoBjG,iEAAiE;IACjE,YAA4D,eAAwC,EAC5E,SAAoB,EAChC,aAAyB,EACzB,cAAiC,EACE,OAAyB,EAC/B,kBAAsC,EACjD,QAAmB;QAE7C,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAE/F,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IA9BD,0EAA0E;IAE1E;;OAEG;IACH,IAAuB,QAAQ;QAE3B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,IAAc,UAAU;QAEpB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC;IAChE,CAAC;IAgBD,wFAAwF;IAExF;;;;OAIG;IACI,qBAAqB,CAAC,MAAuB;QAEhD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QAEzD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IACzB,CAAC
|
|
1
|
+
{"version":3,"file":"editPopup.component.js","sourceRoot":"","sources":["../../../../../src/plugins/popup/edit/editPopup.component.ts","../../../../../src/plugins/popup/edit/editPopup.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAgB,uBAAuB,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAa,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC5I,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,mBAAmB,EAAqB,MAAM,eAAe,CAAC;AACtE,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAGtC,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAC,SAAS,EAAC,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;;;;AAIvC;;;GAGG;AACH,MAAM,cAAc,GACpB;IACI,UAAU,EACV;QACI,aAAa,EAAE,aAAa;QAC5B,aAAa,EAAE,aAAa;QAC5B,iBAAiB,EAAE,kBAAkB;QACrC,QAAQ,EAAE,WAAW;KACxB;IACD,KAAK,EACL;QACI,kBAAkB,EAAE,gBAAgB;KACvC;IACD,OAAO,EAAE,KAAK;CACjB,CAAC;AAEF;;GAEG;AAQH,MAAM,OAAO,kBAAmB,SAAQ,sBAA6D;IAoBjG,iEAAiE;IACjE,YAA4D,eAAwC,EAC5E,SAAoB,EAChC,aAAyB,EACzB,cAAiC,EACE,OAAyB,EAC/B,kBAAsC,EACjD,QAAmB;QAE7C,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QAE/F,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IA9BD,0EAA0E;IAE1E;;OAEG;IACH,IAAuB,QAAQ;QAE3B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,IAAc,UAAU;QAEpB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC;IAChE,CAAC;IAgBD,wFAAwF;IAExF;;;;OAIG;IACI,qBAAqB,CAAC,MAAuB;QAEhD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QAEzD,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;IACzB,CAAC;;gHA9CQ,kBAAkB,kBAqBP,0BAA0B,iIAI1B,aAAa,6BACb,mBAAmB,aACnB,QAAQ;oGA3BnB,kBAAkB,uFC5C/B,u5BAkBM;4FD0BO,kBAAkB;kBAP9B,SAAS;+BAEI,0BAA0B,mBAGnB,uBAAuB,CAAC,MAAM;;0BAuBlC,MAAM;2BAAC,0BAA0B;;0BAAG,QAAQ;;0BAC5C,QAAQ;;0BAGR,MAAM;2BAAC,aAAa;;0BAAG,QAAQ;;0BAC/B,MAAM;2BAAC,mBAAmB;;0BAC1B,MAAM;2BAAC,QAAQ","sourcesContent":["import {AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, OnDestroy, Optional} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {STRING_LOCALIZATION, StringLocalization} from '@anglr/common';\nimport {extend} from '@jscrpt/common';\n\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {NgSelectPlugin} from '../../../misc';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\nimport {PopupAbstractComponent} from '../popupAbstract.component';\nimport {POPUP_OPTIONS} from '../types';\nimport {CssClassesEditPopup, EditPopup, EditPopupOptions} from './editPopup.interface';\nimport {ɵNgSelectOption} from '../../../components/option';\n\n/**\n * Default options for popup\n * @internal\n */\nconst defaultOptions: EditPopupOptions =\n{\n cssClasses:\n {\n optionChecked: 'fa fa-check',\n optionItemDiv: 'option-item',\n optionItemTextDiv: 'option-item-text',\n popupDiv: 'popup-div'\n },\n texts:\n {\n noAvailableOptions: 'No items found'\n },\n visible: false\n};\n\n/**\n * Component used for rendering edit popup with options\n */\n@Component(\n{\n selector: 'div.ng-select-edit-popup',\n templateUrl: 'editPopup.component.html',\n styleUrls: ['editPopup.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EditPopupComponent extends PopupAbstractComponent<CssClassesEditPopup, EditPopupOptions> implements EditPopup, NgSelectPlugin<EditPopupOptions>, AfterViewInit, OnDestroy\n{\n //######################### protected properties #########################\n\n /**\n * Gets indication whether keep open popup after value change\n */\n protected override get keepOpen(): boolean\n {\n return false;\n }\n\n /**\n * Gets all options\n */\n protected get allOptions(): ɵNgSelectOption[]\n {\n return this.pluginBus.selectOptions.optionsGatherer.options;\n }\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() ngSelectPlugins: NgSelectPluginInstances,\n @Optional() pluginBus: PluginBus,\n pluginElement: ElementRef,\n changeDetector: ChangeDetectorRef,\n @Inject(POPUP_OPTIONS) @Optional() options: EditPopupOptions,\n @Inject(STRING_LOCALIZATION) stringLocalization: StringLocalization,\n @Inject(DOCUMENT) document?: Document)\n {\n super(ngSelectPlugins, pluginBus, pluginElement, changeDetector, document, stringLocalization);\n\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - template bindings #########################\n\n /**\n * Handles mouse move and changes active option\n * @param option - Option to be set as active\n * @internal\n */\n public handleMouseActivation(option: ɵNgSelectOption): void\n {\n this.allOptions.forEach(option => option.active = false);\n\n option.active = true;\n }\n}","<ng-template #defaultOptionTextLook let-option>{{option?.text}}</ng-template>\r\n\r\n<div #popupDiv \r\n *ngIf=\"options?.visible\"\r\n [ngClass]=\"options?.cssClasses?.popupDiv\">\r\n\r\n <div *ngFor=\"let option of selectOptions\"\r\n [ngClass]=\"options?.cssClasses?.optionItemDiv\"\r\n [class.active]=\"option?.active\"\r\n [class.selected]=\"option?.selected\"\r\n (mouseenter)=\"handleMouseActivation(option)\"\r\n (click)=\"pluginBus?.optionSelect?.emit(option)\">\r\n <div [ngClass]=\"options?.cssClasses?.optionItemTextDiv\">\r\n <ng-container *ngTemplateOutlet=\"pluginBus?.selectOptions?.templateGatherer?.optionTemplate || defaultOptionTextLook; context: {$implicit: option, popup: this}\"></ng-container>\r\n </div>\r\n </div>\r\n \r\n <div *ngIf=\"!selectOptions?.length\">{{texts?.noAvailableOptions}}</div>\r\n</div>"]}
|
|
@@ -192,9 +192,9 @@ export class PopupAbstractComponent {
|
|
|
192
192
|
this._changeDetector.detectChanges();
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
-
PopupAbstractComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
196
|
-
PopupAbstractComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
195
|
+
PopupAbstractComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PopupAbstractComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
196
|
+
PopupAbstractComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: PopupAbstractComponent, viewQueries: [{ propertyName: "popupElementChildren", predicate: ["popupDiv"], descendants: true }], ngImport: i0 });
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PopupAbstractComponent, decorators: [{
|
|
198
198
|
type: Directive
|
|
199
199
|
}], ctorParameters: function () { return [{ type: undefined }, { type: i1.PluginBus }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: Document }, { type: undefined }]; }, propDecorators: { popupElementChildren: [{
|
|
200
200
|
type: ViewChildren,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popupAbstract.component.js","sourceRoot":"","sources":["../../../../src/plugins/popup/popupAbstract.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAa,SAAS,EAAE,YAAY,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AAExI,OAAO,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAMpD,OAAO,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAGzD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;;;AAGpD;;GAEG;AAEH,MAAM,OAAO,sBAAsB;IAoH/B,iEAAiE;IACjE,YAAmB,eAAwC,EACxC,SAAoB,EACpB,aAAyB,EACtB,eAAkC,EAClC,SAAmB,EACnB,mBAAuC;QAL1C,oBAAe,GAAf,eAAe,CAAyB;QACxC,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAY;QACtB,oBAAe,GAAf,eAAe,CAAmB;QAClC,cAAS,GAAT,SAAS,CAAU;QACnB,wBAAmB,GAAnB,mBAAmB,CAAoB;QAnF7D;;WAEG;QACO,kBAAa,GAAY,KAAK,CAAC;QA+BzC;;WAEG;QACI,qBAAgB,GAAuB,IAAI,YAAY,EAAQ,CAAC;QAyBvE;;;WAGG;QACI,UAAK,GAAe,EAAE,CAAC;QAyL9B;;;WAGG;QACO,wBAAmB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAElD,IAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM;gBAC1D,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,MAAqB,CAAC;gBACtF,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM;gBAChD,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,MAAqB,CAAC,EAC/E;gBACI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEnB,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;aAC9C;QACL,CAAC,CAAA;QAED;;WAEG;QACO,4BAAuB,GAAG,CAAC,OAAgB,EAAE,EAAE;YAErD,IAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,EAClC;gBACI,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC/B,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;aACxC;QACL,CAAC,CAAC;IAjMF,CAAC;IA3ED,0EAA0E;IAE1E;;OAEG;IACH,IAAc,QAAQ;QAElB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC;IACjD,CAAC;IAED,iGAAiG;IAEjG;;OAEG;IACH,IAAW,OAAO;QAEd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,IAAW,OAAO,CAAC,OAAiB;QAEhC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAOD;;OAEG;IACH,IAAW,YAAY;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAE5C,IAAG,CAAC,GAAG,EACP;YACI,OAAO,IAAI,CAAC;SACf;QAED,OAAO,GAAG,CAAC,aAAa,CAAC;IAC7B,CAAC;IAmCD,sGAAsG;IAEtG;;OAEG;IACI,eAAe;QAElB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;YAE7C,IAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,EAC1D;gBACI,OAAO;aACV;YAED,sBAAsB;YACtB,IAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAClC;gBACI,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACxE;YACD,iCAAiC;iBAEjC;gBACI,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;aAC3E;YAED,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;YACvD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kGAAkG;IAElG;;OAEG;IACI,WAAW;;QAEd,MAAA,IAAI,CAAC,0BAA0B,0CAAE,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAEvC,MAAA,IAAI,CAAC,wBAAwB,0CAAE,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAErC,MAAA,IAAI,CAAC,yBAAyB,0CAAE,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAEtC,MAAA,IAAI,CAAC,8BAA8B,0CAAE,WAAW,EAAE,CAAC;QACnD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;QAE3C,MAAA,IAAI,CAAC,yBAAyB,0CAAE,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAEtC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC5E,CAAC;IAED,8FAA8F;IAE9F;;OAEG;IACI,UAAU;QAEb,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAEzG,IAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,EACjG;YACI,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC;YAC9C,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;YAEvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAChC;QAED,IAAG,CAAC,IAAI,CAAC,gBAAgB,EACzB;YACI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC;YAErE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SACtH;QAED,IAAG,CAAC,IAAI,CAAC,wBAAwB,EACjC;YACI,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAClG;QAED,IAAG,CAAC,IAAI,CAAC,8BAA8B,EACvC;YACI,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAC9G;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAiB,CAAC;QAEzE,IAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,YAAY,EAC3D;YACI,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YAEtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B;QAED,IAAG,CAAC,IAAI,CAAC,aAAa,EACtB;YACI,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YAElC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE;gBAE3E,IAAG,CAAC,IAAI,CAAC,QAAQ,EACjB;oBACI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;iBACvC;YACL,CAAC,CAAC,CAAC;SACN;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,WAAW;IAElB,CAAC;IAED;;OAEG;IACI,iBAAiB;QAEpB,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,uEAAuE;IAEvE;;OAEG;IACO,UAAU;QAEhB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAE1C,IAAI,CAAC,KAAK,CAAC,GAAuB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAuB,CAAC,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACO,WAAW;QAEjB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;QAC5D,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACO,WAAW;QAEjB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;;mHAhSQ,sBAAsB;uGAAtB,sBAAsB;2FAAtB,sBAAsB;kBADlC,SAAS;uNAmHC,oBAAoB;sBAD1B,YAAY;uBAAC,UAAU","sourcesContent":["import {AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList, ViewChildren, Directive} from '@angular/core';\nimport {StringLocalization} from '@anglr/common';\nimport {extend, isDescendant} from '@jscrpt/common';\nimport {Subscription} from 'rxjs';\n\nimport {ɵNgSelectOption} from '../../components/option';\nimport {NgSelectPluginInstances} from '../../components/select';\nimport {NgSelectPlugin, OptionsGatherer} from '../../misc';\nimport {PluginBus} from '../../misc/pluginBus/pluginBus';\nimport {Popup, PopupOptions, PopupTexts} from './popup.interface';\nimport {ValueHandler} from '../valueHandler';\nimport {VALUE_HANDLER} from '../valueHandler/types';\n\n\n/**\n * Base abstract class for popup with options\n */\n@Directive()\nexport class PopupAbstractComponent<TCssClasses = any, TOptions extends PopupOptions<TCssClasses> = any> implements Popup, NgSelectPlugin<TOptions>, AfterViewInit, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: TOptions;\n\n /**\n * Instance of previous options gatherer, that is used for obtaining available options\n */\n protected _optionsGatherer: OptionsGatherer;\n\n /**\n * Subscription for changes of options in options gatherer\n */\n protected _optionsChangeSubscription: Subscription;\n\n /**\n * Subscription for toggle popup event\n */\n protected _popupToggleSubscription: Subscription;\n\n /**\n * Subscription for popup visibility change request\n */\n protected _visibilityRequestSubscription: Subscription;\n\n /**\n * Subscription for changes of selected value\n */\n protected _valueChangedSubscription: Subscription;\n\n /**\n * Subscription for changes in texts\n */\n protected _textsChangedSubscription: Subscription;\n\n /**\n * Indication whether is popup visible\n */\n protected _popupVisible: boolean = false;\n\n /**\n * Value handler plugin used within `NgSelect`\n */\n protected _valueHandler: ValueHandler;\n\n //######################### protected properties #########################\n\n /**\n * Gets indication whether keep open popup after value change\n */\n protected get keepOpen(): boolean\n {\n return this.pluginBus.selectOptions.multiple;\n }\n\n //######################### public properties - implementation of Popup #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): TOptions\n {\n return this._options;\n }\n public set options(options: TOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n /**\n * Occurs when visibility of popup has changed\n */\n public visibilityChange: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Html element that represents popup itself\n */\n public get popupElement(): HTMLElement\n {\n const ref = this.popupElementChildren.first;\n\n if(!ref)\n {\n return null;\n }\n\n return ref.nativeElement;\n }\n\n //######################### public properties - template bindings #########################\n\n /**\n * Array of select options available\n * @internal\n */\n public selectOptions: ɵNgSelectOption[];\n\n /**\n * Object containing available texts\n * @internal\n */\n public texts: PopupTexts = {};\n \n //######################### public properties - children #########################\n\n /**\n * Watch for visibility of popup div element\n * @internal\n */\n @ViewChildren('popupDiv')\n public popupElementChildren: QueryList<ElementRef<HTMLElement>>;\n\n //######################### constructor #########################\n constructor(public ngSelectPlugins: NgSelectPluginInstances,\n public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n protected _changeDetector: ChangeDetectorRef,\n protected _document: Document,\n protected _stringLocalization: StringLocalization)\n {\n }\n\n //######################### public methods - implementation of AfterViewInit #########################\n\n /**\n * Called when view was initialized\n */\n public ngAfterViewInit()\n {\n this.popupElementChildren.changes.subscribe(() =>\n {\n if(!!this.popupElementChildren.first == this._popupVisible)\n {\n return;\n }\n\n //handle click outside\n if(this.popupElementChildren.first)\n {\n this._document.addEventListener('mouseup', this._handleClickOutside);\n }\n //unregister handle click outside\n else\n {\n this._document.removeEventListener('mouseup', this._handleClickOutside);\n }\n\n this._popupVisible = !!this.popupElementChildren.first;\n this.visibilityChange.emit();\n });\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._optionsChangeSubscription?.unsubscribe();\n this._optionsChangeSubscription = null;\n\n this._popupToggleSubscription?.unsubscribe();\n this._popupToggleSubscription = null;\n\n this._valueChangedSubscription?.unsubscribe();\n this._valueChangedSubscription = null;\n\n this._visibilityRequestSubscription?.unsubscribe();\n this._visibilityRequestSubscription = null;\n\n this._textsChangedSubscription?.unsubscribe();\n this._textsChangedSubscription = null;\n\n this._document.removeEventListener('mouseup', this._handleClickOutside);\n }\n\n //######################### public methods - implementation of Popup #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n this._textsChangedSubscription = this._stringLocalization.textsChange.subscribe(() => this._initTexts());\n\n if(this._optionsGatherer && this._optionsGatherer != this.pluginBus.selectOptions.optionsGatherer)\n {\n this._optionsChangeSubscription.unsubscribe();\n this._optionsChangeSubscription = null;\n\n this._optionsGatherer = null;\n }\n\n if(!this._optionsGatherer)\n {\n this._optionsGatherer = this.pluginBus.selectOptions.optionsGatherer;\n\n this._optionsChangeSubscription = this._optionsGatherer.availableOptionsChange.subscribe(() => this.loadOptions());\n }\n\n if(!this._popupToggleSubscription)\n {\n this._popupToggleSubscription = this.pluginBus.togglePopup.subscribe(() => this.togglePopup());\n }\n\n if(!this._visibilityRequestSubscription)\n {\n this._visibilityRequestSubscription = this.pluginBus.showHidePopup.subscribe(this._handleVisibilityChange);\n }\n\n const valueHandler = this.ngSelectPlugins[VALUE_HANDLER] as ValueHandler;\n\n if(this._valueHandler && this._valueHandler != valueHandler)\n {\n this._valueChangedSubscription.unsubscribe();\n this._valueChangedSubscription = null;\n\n this._valueHandler = null;\n }\n\n if(!this._valueHandler)\n {\n this._valueHandler = valueHandler;\n\n this._valueChangedSubscription = this._valueHandler.valueChange.subscribe(() =>\n {\n if(!this.keepOpen)\n {\n this._handleVisibilityChange(false);\n }\n });\n }\n\n this.loadOptions();\n this._initTexts();\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n this._changeDetector.detectChanges();\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize texts\n */\n protected _initTexts()\n {\n Object.keys(this.options.texts).forEach(key =>\n {\n this.texts[key as keyof PopupTexts] = this._stringLocalization.get(this.options.texts[key as keyof PopupTexts]);\n });\n\n this._changeDetector.detectChanges();\n }\n\n /**\n * Loads options\n */\n protected loadOptions()\n {\n this.selectOptions = this._optionsGatherer.availableOptions;\n this._changeDetector.detectChanges();\n }\n\n /**\n * Toggles popup visibility\n */\n protected togglePopup()\n {\n this.options.visible = !this.options.visible;\n this._changeDetector.detectChanges();\n }\n\n /**\n * Handles click outside of select element\n * @param event - Mouse event object\n */\n protected _handleClickOutside = (event: MouseEvent) =>\n {\n if(this.pluginBus.selectElement.nativeElement != event.target &&\n !isDescendant(this.pluginBus.selectElement.nativeElement, event.target as HTMLElement) &&\n this.pluginElement.nativeElement != event.target &&\n !isDescendant(this.pluginElement.nativeElement, event.target as HTMLElement))\n {\n this.togglePopup();\n\n this.pluginBus.updateDisplayedValue.emit();\n }\n }\n\n /**\n * Handles visibility change\n */\n protected _handleVisibilityChange = (visible: boolean) =>\n {\n if(this.options.visible != visible)\n {\n this.options.visible = visible;\n this._changeDetector.detectChanges();\n }\n };\n}"]}
|
|
1
|
+
{"version":3,"file":"popupAbstract.component.js","sourceRoot":"","sources":["../../../../src/plugins/popup/popupAbstract.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,iBAAiB,EAAE,UAAU,EAAE,YAAY,EAAa,SAAS,EAAE,YAAY,EAAE,SAAS,EAAC,MAAM,eAAe,CAAC;AAExI,OAAO,EAAC,MAAM,EAAE,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAMpD,OAAO,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAGzD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;;;AAGpD;;GAEG;AAEH,MAAM,OAAO,sBAAsB;IAoH/B,iEAAiE;IACjE,YAAmB,eAAwC,EACxC,SAAoB,EACpB,aAAyB,EACtB,eAAkC,EAClC,SAAmB,EACnB,mBAAuC;QAL1C,oBAAe,GAAf,eAAe,CAAyB;QACxC,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAY;QACtB,oBAAe,GAAf,eAAe,CAAmB;QAClC,cAAS,GAAT,SAAS,CAAU;QACnB,wBAAmB,GAAnB,mBAAmB,CAAoB;QAnF7D;;WAEG;QACO,kBAAa,GAAY,KAAK,CAAC;QA+BzC;;WAEG;QACI,qBAAgB,GAAuB,IAAI,YAAY,EAAQ,CAAC;QAyBvE;;;WAGG;QACI,UAAK,GAAe,EAAE,CAAC;QAyL9B;;;WAGG;QACO,wBAAmB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAElD,IAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM;gBAC1D,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,MAAqB,CAAC;gBACtF,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM;gBAChD,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,MAAqB,CAAC,EAC/E;gBACI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEnB,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;aAC9C;QACL,CAAC,CAAA;QAED;;WAEG;QACO,4BAAuB,GAAG,CAAC,OAAgB,EAAE,EAAE;YAErD,IAAG,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,EAClC;gBACI,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC/B,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;aACxC;QACL,CAAC,CAAC;IAjMF,CAAC;IA3ED,0EAA0E;IAE1E;;OAEG;IACH,IAAc,QAAQ;QAElB,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC;IACjD,CAAC;IAED,iGAAiG;IAEjG;;OAEG;IACH,IAAW,OAAO;QAEd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,IAAW,OAAO,CAAC,OAAiB;QAEhC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAOD;;OAEG;IACH,IAAW,YAAY;QAEnB,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;QAE5C,IAAG,CAAC,GAAG,EACP;YACI,OAAO,IAAI,CAAC;SACf;QAED,OAAO,GAAG,CAAC,aAAa,CAAC;IAC7B,CAAC;IAmCD,sGAAsG;IAEtG;;OAEG;IACI,eAAe;QAElB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE;YAE7C,IAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,EAC1D;gBACI,OAAO;aACV;YAED,sBAAsB;YACtB,IAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAClC;gBACI,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;aACxE;YACD,iCAAiC;iBAEjC;gBACI,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;aAC3E;YAED,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC;YACvD,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kGAAkG;IAElG;;OAEG;IACI,WAAW;;QAEd,MAAA,IAAI,CAAC,0BAA0B,0CAAE,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QAEvC,MAAA,IAAI,CAAC,wBAAwB,0CAAE,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QAErC,MAAA,IAAI,CAAC,yBAAyB,0CAAE,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAEtC,MAAA,IAAI,CAAC,8BAA8B,0CAAE,WAAW,EAAE,CAAC;QACnD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;QAE3C,MAAA,IAAI,CAAC,yBAAyB,0CAAE,WAAW,EAAE,CAAC;QAC9C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QAEtC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC5E,CAAC;IAED,8FAA8F;IAE9F;;OAEG;IACI,UAAU;QAEb,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAEzG,IAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,EACjG;YACI,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,CAAC;YAC9C,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;YAEvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAChC;QAED,IAAG,CAAC,IAAI,CAAC,gBAAgB,EACzB;YACI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC;YAErE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SACtH;QAED,IAAG,CAAC,IAAI,CAAC,wBAAwB,EACjC;YACI,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAClG;QAED,IAAG,CAAC,IAAI,CAAC,8BAA8B,EACvC;YACI,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;SAC9G;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAiB,CAAC;QAEzE,IAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,IAAI,YAAY,EAC3D;YACI,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YAEtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B;QAED,IAAG,CAAC,IAAI,CAAC,aAAa,EACtB;YACI,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YAElC,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE;gBAE3E,IAAG,CAAC,IAAI,CAAC,QAAQ,EACjB;oBACI,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;iBACvC;YACL,CAAC,CAAC,CAAC;SACN;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,WAAW;IAElB,CAAC;IAED;;OAEG;IACI,iBAAiB;QAEpB,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,uEAAuE;IAEvE;;OAEG;IACO,UAAU;QAEhB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAE1C,IAAI,CAAC,KAAK,CAAC,GAAuB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAuB,CAAC,CAAC,CAAC;QACpH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACO,WAAW;QAEjB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;QAC5D,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACO,WAAW;QAEjB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;;oHAhSQ,sBAAsB;wGAAtB,sBAAsB;4FAAtB,sBAAsB;kBADlC,SAAS;uNAmHC,oBAAoB;sBAD1B,YAAY;uBAAC,UAAU","sourcesContent":["import {AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList, ViewChildren, Directive} from '@angular/core';\nimport {StringLocalization} from '@anglr/common';\nimport {extend, isDescendant} from '@jscrpt/common';\nimport {Subscription} from 'rxjs';\n\nimport {ɵNgSelectOption} from '../../components/option';\nimport {NgSelectPluginInstances} from '../../components/select';\nimport {NgSelectPlugin, OptionsGatherer} from '../../misc';\nimport {PluginBus} from '../../misc/pluginBus/pluginBus';\nimport {Popup, PopupOptions, PopupTexts} from './popup.interface';\nimport {ValueHandler} from '../valueHandler';\nimport {VALUE_HANDLER} from '../valueHandler/types';\n\n\n/**\n * Base abstract class for popup with options\n */\n@Directive()\nexport class PopupAbstractComponent<TCssClasses = any, TOptions extends PopupOptions<TCssClasses> = any> implements Popup, NgSelectPlugin<TOptions>, AfterViewInit, OnDestroy\n{\n //######################### protected fields #########################\n\n /**\n * Options for NgSelect plugin\n */\n protected _options: TOptions;\n\n /**\n * Instance of previous options gatherer, that is used for obtaining available options\n */\n protected _optionsGatherer: OptionsGatherer;\n\n /**\n * Subscription for changes of options in options gatherer\n */\n protected _optionsChangeSubscription: Subscription;\n\n /**\n * Subscription for toggle popup event\n */\n protected _popupToggleSubscription: Subscription;\n\n /**\n * Subscription for popup visibility change request\n */\n protected _visibilityRequestSubscription: Subscription;\n\n /**\n * Subscription for changes of selected value\n */\n protected _valueChangedSubscription: Subscription;\n\n /**\n * Subscription for changes in texts\n */\n protected _textsChangedSubscription: Subscription;\n\n /**\n * Indication whether is popup visible\n */\n protected _popupVisible: boolean = false;\n\n /**\n * Value handler plugin used within `NgSelect`\n */\n protected _valueHandler: ValueHandler;\n\n //######################### protected properties #########################\n\n /**\n * Gets indication whether keep open popup after value change\n */\n protected get keepOpen(): boolean\n {\n return this.pluginBus.selectOptions.multiple;\n }\n\n //######################### public properties - implementation of Popup #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): TOptions\n {\n return this._options;\n }\n public set options(options: TOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n /**\n * Occurs when visibility of popup has changed\n */\n public visibilityChange: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Html element that represents popup itself\n */\n public get popupElement(): HTMLElement\n {\n const ref = this.popupElementChildren.first;\n\n if(!ref)\n {\n return null;\n }\n\n return ref.nativeElement;\n }\n\n //######################### public properties - template bindings #########################\n\n /**\n * Array of select options available\n * @internal\n */\n public selectOptions: ɵNgSelectOption[];\n\n /**\n * Object containing available texts\n * @internal\n */\n public texts: PopupTexts = {};\n \n //######################### public properties - children #########################\n\n /**\n * Watch for visibility of popup div element\n * @internal\n */\n @ViewChildren('popupDiv')\n public popupElementChildren: QueryList<ElementRef<HTMLElement>>;\n\n //######################### constructor #########################\n constructor(public ngSelectPlugins: NgSelectPluginInstances,\n public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n protected _changeDetector: ChangeDetectorRef,\n protected _document: Document,\n protected _stringLocalization: StringLocalization)\n {\n }\n\n //######################### public methods - implementation of AfterViewInit #########################\n\n /**\n * Called when view was initialized\n */\n public ngAfterViewInit()\n {\n this.popupElementChildren.changes.subscribe(() =>\n {\n if(!!this.popupElementChildren.first == this._popupVisible)\n {\n return;\n }\n\n //handle click outside\n if(this.popupElementChildren.first)\n {\n this._document.addEventListener('mouseup', this._handleClickOutside);\n }\n //unregister handle click outside\n else\n {\n this._document.removeEventListener('mouseup', this._handleClickOutside);\n }\n\n this._popupVisible = !!this.popupElementChildren.first;\n this.visibilityChange.emit();\n });\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this._optionsChangeSubscription?.unsubscribe();\n this._optionsChangeSubscription = null;\n\n this._popupToggleSubscription?.unsubscribe();\n this._popupToggleSubscription = null;\n\n this._valueChangedSubscription?.unsubscribe();\n this._valueChangedSubscription = null;\n\n this._visibilityRequestSubscription?.unsubscribe();\n this._visibilityRequestSubscription = null;\n\n this._textsChangedSubscription?.unsubscribe();\n this._textsChangedSubscription = null;\n\n this._document.removeEventListener('mouseup', this._handleClickOutside);\n }\n\n //######################### public methods - implementation of Popup #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n this._textsChangedSubscription = this._stringLocalization.textsChange.subscribe(() => this._initTexts());\n\n if(this._optionsGatherer && this._optionsGatherer != this.pluginBus.selectOptions.optionsGatherer)\n {\n this._optionsChangeSubscription.unsubscribe();\n this._optionsChangeSubscription = null;\n\n this._optionsGatherer = null;\n }\n\n if(!this._optionsGatherer)\n {\n this._optionsGatherer = this.pluginBus.selectOptions.optionsGatherer;\n\n this._optionsChangeSubscription = this._optionsGatherer.availableOptionsChange.subscribe(() => this.loadOptions());\n }\n\n if(!this._popupToggleSubscription)\n {\n this._popupToggleSubscription = this.pluginBus.togglePopup.subscribe(() => this.togglePopup());\n }\n\n if(!this._visibilityRequestSubscription)\n {\n this._visibilityRequestSubscription = this.pluginBus.showHidePopup.subscribe(this._handleVisibilityChange);\n }\n\n const valueHandler = this.ngSelectPlugins[VALUE_HANDLER] as ValueHandler;\n\n if(this._valueHandler && this._valueHandler != valueHandler)\n {\n this._valueChangedSubscription.unsubscribe();\n this._valueChangedSubscription = null;\n\n this._valueHandler = null;\n }\n\n if(!this._valueHandler)\n {\n this._valueHandler = valueHandler;\n\n this._valueChangedSubscription = this._valueHandler.valueChange.subscribe(() =>\n {\n if(!this.keepOpen)\n {\n this._handleVisibilityChange(false);\n }\n });\n }\n\n this.loadOptions();\n this._initTexts();\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n this._changeDetector.detectChanges();\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize texts\n */\n protected _initTexts()\n {\n Object.keys(this.options.texts).forEach(key =>\n {\n this.texts[key as keyof PopupTexts] = this._stringLocalization.get(this.options.texts[key as keyof PopupTexts]);\n });\n\n this._changeDetector.detectChanges();\n }\n\n /**\n * Loads options\n */\n protected loadOptions()\n {\n this.selectOptions = this._optionsGatherer.availableOptions;\n this._changeDetector.detectChanges();\n }\n\n /**\n * Toggles popup visibility\n */\n protected togglePopup()\n {\n this.options.visible = !this.options.visible;\n this._changeDetector.detectChanges();\n }\n\n /**\n * Handles click outside of select element\n * @param event - Mouse event object\n */\n protected _handleClickOutside = (event: MouseEvent) =>\n {\n if(this.pluginBus.selectElement.nativeElement != event.target &&\n !isDescendant(this.pluginBus.selectElement.nativeElement, event.target as HTMLElement) &&\n this.pluginElement.nativeElement != event.target &&\n !isDescendant(this.pluginElement.nativeElement, event.target as HTMLElement))\n {\n this.togglePopup();\n\n this.pluginBus.updateDisplayedValue.emit();\n }\n }\n\n /**\n * Handles visibility change\n */\n protected _handleVisibilityChange = (visible: boolean) =>\n {\n if(this.options.visible != visible)\n {\n this.options.visible = visible;\n this._changeDetector.detectChanges();\n }\n };\n}"]}
|
|
@@ -127,9 +127,9 @@ export class DefaultPositionerComponent {
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
|
-
DefaultPositionerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
131
|
-
DefaultPositionerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
130
|
+
DefaultPositionerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DefaultPositionerComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: POSITION }, { token: POSITIONER_OPTIONS, optional: true }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
+
DefaultPositionerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DefaultPositionerComponent, selector: "ng-default-positioner", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DefaultPositionerComponent, decorators: [{
|
|
133
133
|
type: Component,
|
|
134
134
|
args: [{
|
|
135
135
|
selector: 'ng-default-positioner',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaultPositioner.component.js","sourceRoot":"","sources":["../../../../../src/plugins/positioner/default/defaultPositioner.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, Inject, Optional, ElementRef, OnDestroy, PLATFORM_ID, EventEmitter} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\nimport {applyPositionResult, Position, POSITION, PositionOffset, PositionPlacement} from '@anglr/common';\nimport {extend, NoopAction} from '@jscrpt/common';\nimport {Subscription} from 'rxjs';\n\nimport {DefaultPositionerOptions, DefaultPositioner} from './defaultPositioner.interface';\nimport {NgSelectPlugin, OptionsGatherer} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {POSITIONER_OPTIONS} from '../types';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\n\n/**\n * Default options for positioner\n */\nconst defaultOptions: DefaultPositionerOptions =\n{\n positionOptions:\n {\n offset: PositionOffset.None,\n placement: PositionPlacement.BottomStart,\n }\n};\n\n/**\n * Component used for positioning popup element, handles resize, scroll and collision using `Position`\n */\n@Component(\n{\n selector: 'ng-default-positioner',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DefaultPositionerComponent implements DefaultPositioner, NgSelectPlugin<DefaultPositionerOptions>, OnDestroy\n{\n //######################### protected properties #########################\n\n /**\n * Instance of previous options gatherer, that is used for obtaining available options\n */\n protected optionsGatherer: OptionsGatherer;\n\n /**\n * Occurs when flip occured during positining of popup\n */\n protected ɵflip: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Options for NgSelect plugin\n */\n protected ɵoptions: DefaultPositionerOptions;\n\n /**\n * Subscription for visibility change of popup\n */\n protected visibilitySubscription: Subscription|undefined|null;\n\n /**\n * Subscription for positioning event that occured\n */\n protected positioningSubscription: Subscription|undefined|null;\n\n /**\n * Function used for disposing of positining watch\n */\n protected positioningDispose: NoopAction;\n\n /**\n * Popup that is displayed\n */\n protected popup: Popup;\n\n /**\n * Html element of popup plugin\n */\n protected popupElement: HTMLElement;\n\n /**\n * Indication whether is code running in browser\n */\n protected isBrowser: boolean = isPlatformBrowser(this.platformId);\n\n //######################### public properties - implementation of DefaultPositioner #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): DefaultPositionerOptions\n {\n return this.ɵoptions;\n }\n public set options(options: DefaultPositionerOptions)\n {\n this.ɵoptions = extend(true, this.ɵoptions, options);\n }\n\n /**\n * @inheritdoc\n */\n public get flip(): EventEmitter<void>\n {\n return this.ɵflip;\n }\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n @Inject(POSITION) protected position: Position,\n @Inject(POSITIONER_OPTIONS) @Optional() options?: DefaultPositionerOptions,\n @Inject(PLATFORM_ID) protected platformId?: Object,)\n {\n this.ɵoptions = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this.visibilitySubscription?.unsubscribe();\n this.visibilitySubscription = null;\n\n this.positioningDispose?.();\n\n this.positioningSubscription?.unsubscribe();\n this.positioningSubscription = null;\n }\n\n //######################### public methods - implementation of DefaultPositioner #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n const popup: Popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this.popup && this.popup != popup)\n {\n this.visibilitySubscription?.unsubscribe();\n this.visibilitySubscription = null;\n\n this.popup = null;\n }\n\n if(!this.popup)\n {\n this.popup = popup;\n\n this.visibilitySubscription = this.popup.visibilityChange.subscribe(() => this.initPosition());\n }\n\n this.initPosition();\n }\n\n /**\n * @inheritdoc\n */\n public initOptions()\n {\n }\n\n /**\n * @inheritdoc\n */\n public invalidateVisuals(): void\n {\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize positioning of popup\n */\n protected initPosition()\n {\n this.popupElement = this.popup.popupElement;\n\n if(this.isBrowser)\n {\n //register events and handle position of opened popup\n if(this.popupElement)\n {\n this.positioningSubscription?.unsubscribe();\n this.positioningDispose?.();\n \n this.positioningSubscription = null;\n this.positioningDispose = null;\n\n this.positioningSubscription = this.position.placeElement(this.popupElement,\n this.pluginBus.selectElement.nativeElement,\n {\n autoUpdate: true,\n flip: true,\n ...this.options.positionOptions\n },)\n .subscribe(result =>\n {\n applyPositionResult(result);\n this.positioningDispose = result.dispose;\n\n if(result.flip)\n {\n this.flip.emit();\n }\n });\n }\n //unregister events\n else\n {\n this.positioningSubscription?.unsubscribe();\n this.positioningDispose?.();\n\n this.positioningSubscription = null;\n this.positioningDispose = null;\n }\n }\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"defaultPositioner.component.js","sourceRoot":"","sources":["../../../../../src/plugins/positioner/default/defaultPositioner.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, Inject, Optional, ElementRef, OnDestroy, PLATFORM_ID, EventEmitter} from '@angular/core';\nimport {isPlatformBrowser} from '@angular/common';\nimport {applyPositionResult, Position, POSITION, PositionOffset, PositionPlacement} from '@anglr/common';\nimport {extend, NoopAction} from '@jscrpt/common';\nimport {Subscription} from 'rxjs';\n\nimport {DefaultPositionerOptions, DefaultPositioner} from './defaultPositioner.interface';\nimport {NgSelectPlugin, OptionsGatherer} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {POSITIONER_OPTIONS} from '../types';\nimport {Popup} from '../../popup';\nimport {POPUP} from '../../popup/types';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\n\n/**\n * Default options for positioner\n */\nconst defaultOptions: DefaultPositionerOptions =\n{\n positionOptions:\n {\n offset: PositionOffset.None,\n placement: PositionPlacement.BottomStart,\n }\n};\n\n/**\n * Component used for positioning popup element, handles resize, scroll and collision using `Position`\n */\n@Component(\n{\n selector: 'ng-default-positioner',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DefaultPositionerComponent implements DefaultPositioner, NgSelectPlugin<DefaultPositionerOptions>, OnDestroy\n{\n //######################### protected properties #########################\n\n /**\n * Instance of previous options gatherer, that is used for obtaining available options\n */\n protected optionsGatherer: OptionsGatherer;\n\n /**\n * Occurs when flip occured during positining of popup\n */\n protected ɵflip: EventEmitter<void> = new EventEmitter<void>();\n\n /**\n * Options for NgSelect plugin\n */\n protected ɵoptions: DefaultPositionerOptions;\n\n /**\n * Subscription for visibility change of popup\n */\n protected visibilitySubscription: Subscription|undefined|null;\n\n /**\n * Subscription for positioning event that occured\n */\n protected positioningSubscription: Subscription|undefined|null;\n\n /**\n * Function used for disposing of positining watch\n */\n protected positioningDispose: NoopAction;\n\n /**\n * Popup that is displayed\n */\n protected popup: Popup;\n\n /**\n * Html element of popup plugin\n */\n protected popupElement: HTMLElement;\n\n /**\n * Indication whether is code running in browser\n */\n protected isBrowser: boolean = isPlatformBrowser(this.platformId);\n\n //######################### public properties - implementation of DefaultPositioner #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): DefaultPositionerOptions\n {\n return this.ɵoptions;\n }\n public set options(options: DefaultPositionerOptions)\n {\n this.ɵoptions = extend(true, this.ɵoptions, options);\n }\n\n /**\n * @inheritdoc\n */\n public get flip(): EventEmitter<void>\n {\n return this.ɵflip;\n }\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n @Optional() public pluginBus: PluginBus,\n public pluginElement: ElementRef,\n @Inject(POSITION) protected position: Position,\n @Inject(POSITIONER_OPTIONS) @Optional() options?: DefaultPositionerOptions,\n @Inject(PLATFORM_ID) protected platformId?: Object,)\n {\n this.ɵoptions = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of OnDestroy #########################\n\n /**\n * Called when component is destroyed\n */\n public ngOnDestroy()\n {\n this.visibilitySubscription?.unsubscribe();\n this.visibilitySubscription = null;\n\n this.positioningDispose?.();\n\n this.positioningSubscription?.unsubscribe();\n this.positioningSubscription = null;\n }\n\n //######################### public methods - implementation of DefaultPositioner #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n const popup: Popup = this.ngSelectPlugins[POPUP] as Popup;\n\n if(this.popup && this.popup != popup)\n {\n this.visibilitySubscription?.unsubscribe();\n this.visibilitySubscription = null;\n\n this.popup = null;\n }\n\n if(!this.popup)\n {\n this.popup = popup;\n\n this.visibilitySubscription = this.popup.visibilityChange.subscribe(() => this.initPosition());\n }\n\n this.initPosition();\n }\n\n /**\n * @inheritdoc\n */\n public initOptions()\n {\n }\n\n /**\n * @inheritdoc\n */\n public invalidateVisuals(): void\n {\n }\n\n //######################### protected methods #########################\n\n /**\n * Initialize positioning of popup\n */\n protected initPosition()\n {\n this.popupElement = this.popup.popupElement;\n\n if(this.isBrowser)\n {\n //register events and handle position of opened popup\n if(this.popupElement)\n {\n this.positioningSubscription?.unsubscribe();\n this.positioningDispose?.();\n \n this.positioningSubscription = null;\n this.positioningDispose = null;\n\n this.positioningSubscription = this.position.placeElement(this.popupElement,\n this.pluginBus.selectElement.nativeElement,\n {\n autoUpdate: true,\n flip: true,\n ...this.options.positionOptions\n },)\n .subscribe(result =>\n {\n applyPositionResult(result);\n this.positioningDispose = result.dispose;\n\n if(result.flip)\n {\n this.flip.emit();\n }\n });\n }\n //unregister events\n else\n {\n this.positioningSubscription?.unsubscribe();\n this.positioningDispose?.();\n\n this.positioningSubscription = null;\n this.positioningDispose = null;\n }\n }\n }\n}"]}
|
|
@@ -54,9 +54,9 @@ export class NoPositionerComponent {
|
|
|
54
54
|
invalidateVisuals() {
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
NoPositionerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
58
|
-
NoPositionerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
57
|
+
NoPositionerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NoPositionerComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i0.ElementRef }, { token: POSITIONER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
+
NoPositionerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: NoPositionerComponent, selector: "ng-no-positioner", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NoPositionerComponent, decorators: [{
|
|
60
60
|
type: Component,
|
|
61
61
|
args: [{
|
|
62
62
|
selector: 'ng-no-positioner',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noPositioner.component.js","sourceRoot":"","sources":["../../../../../src/plugins/positioner/no/noPositioner.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;;AAG5C;;GAEG;AACH,MAAM,cAAc,GACpB,EACC,CAAC;AAEF;;GAEG;AAOH,MAAM,OAAO,qBAAqB;IA0C9B,iEAAiE;IACjE,YAAmE,eAAwC,EACxF,aAAyB,EACQ,OAA6B;QAFd,oBAAe,GAAf,eAAe,CAAyB;QACxF,kBAAa,GAAb,aAAa,CAAY;QAnC5C;;WAEG;QACO,UAAK,GAAuB,IAAI,YAAY,EAAQ,CAAC;QAmC3D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAlCD,wGAAwG;IAExG;;OAEG;IACH,IAAW,OAAO;QAEd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,IAAW,OAAO,CAAC,OAA4B;QAE3C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QAEX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAgBD,qGAAqG;IAErG;;OAEG;IACI,UAAU;IAEjB,CAAC;IAED;;OAEG;IACI,WAAW;IAElB,CAAC;IAED;;OAEG;IACI,iBAAiB;IAExB,CAAC;;
|
|
1
|
+
{"version":3,"file":"noPositioner.component.js","sourceRoot":"","sources":["../../../../../src/plugins/positioner/no/noPositioner.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;;AAG5C;;GAEG;AACH,MAAM,cAAc,GACpB,EACC,CAAC;AAEF;;GAEG;AAOH,MAAM,OAAO,qBAAqB;IA0C9B,iEAAiE;IACjE,YAAmE,eAAwC,EACxF,aAAyB,EACQ,OAA6B;QAFd,oBAAe,GAAf,eAAe,CAAyB;QACxF,kBAAa,GAAb,aAAa,CAAY;QAnC5C;;WAEG;QACO,UAAK,GAAuB,IAAI,YAAY,EAAQ,CAAC;QAmC3D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAlCD,wGAAwG;IAExG;;OAEG;IACH,IAAW,OAAO;QAEd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IACD,IAAW,OAAO,CAAC,OAA4B;QAE3C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QAEX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAgBD,qGAAqG;IAErG;;OAEG;IACI,UAAU;IAEjB,CAAC;IAED;;OAEG;IACI,WAAW;IAElB,CAAC;IAED;;OAEG;IACI,iBAAiB;IAExB,CAAC;;mHAvEQ,qBAAqB,kBA2CV,0BAA0B,uDAE1B,kBAAkB;uGA7C7B,qBAAqB,wDAHpB,EAAE;4FAGH,qBAAqB;kBANjC,SAAS;mBACV;oBACI,QAAQ,EAAE,kBAAkB;oBAC5B,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAClD;;0BA4CgB,MAAM;2BAAC,0BAA0B;;0BAAG,QAAQ;;0BAE5C,MAAM;2BAAC,kBAAkB;;0BAAG,QAAQ","sourcesContent":["import {ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Inject, Optional} from '@angular/core';\nimport {extend} from '@jscrpt/common';\n\nimport {NoPositioner, NoPositionerOptions} from './noPositioner.interface';\nimport {NgSelectPlugin} from '../../../misc';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {POSITIONER_OPTIONS} from '../types';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\n\n/**\n * Default options for positioner\n */\nconst defaultOptions: NoPositionerOptions =\n{\n};\n\n/**\n * Component used for not positioning popup\n */\n@Component(\n{\n selector: 'ng-no-positioner',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NoPositionerComponent implements NoPositioner, NgSelectPlugin<NoPositionerOptions>\n{\n //######################### protected properties #########################\n\n /**\n * Options for NgSelect plugin\n */\n protected ɵoptions: NoPositionerOptions;\n\n /**\n * Occurs when flip occured during positining of popup\n */\n protected ɵflip: EventEmitter<void> = new EventEmitter<void>();\n\n //######################### public properties - implementation of NoPositioner #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): NoPositionerOptions\n {\n return this.ɵoptions;\n }\n public set options(options: NoPositionerOptions)\n {\n this.ɵoptions = extend(true, this.ɵoptions, options);\n }\n\n /**\n * @inheritdoc\n */\n public get flip(): EventEmitter<void>\n {\n return this.ɵflip;\n }\n\n /**\n * Plugin bus used for inter plugin shared events\n */\n public pluginBus: PluginBus;\n\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() public ngSelectPlugins: NgSelectPluginInstances,\n public pluginElement: ElementRef,\n @Inject(POSITIONER_OPTIONS) @Optional() options?: NoPositionerOptions)\n {\n this.ɵoptions = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of NoPositioner #########################\n\n /**\n * Initialize plugin, to be ready to use, initialize communication with other plugins\n */\n public initialize()\n {\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public invalidateVisuals(): void\n {\n }\n}"]}
|
|
@@ -132,9 +132,9 @@ export class BasicValueHandlerComponent extends ValueHandlerBase {
|
|
|
132
132
|
this.valueChange.emit();
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
|
-
BasicValueHandlerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
136
|
-
BasicValueHandlerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
135
|
+
BasicValueHandlerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicValueHandlerComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: VALUE_HANDLER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
136
|
+
BasicValueHandlerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BasicValueHandlerComponent, selector: "ng-basic-value-handler", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicValueHandlerComponent, decorators: [{
|
|
138
138
|
type: Component,
|
|
139
139
|
args: [{
|
|
140
140
|
selector: 'ng-basic-value-handler',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basicValueHandler.component.js","sourceRoot":"","sources":["../../../../../src/plugins/valueHandler/basic/basicValueHandler.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, Inject, Optional, ElementRef} from '@angular/core';\nimport {extend, isBlank} from '@jscrpt/common';\n\nimport {BasicValueHandlerOptions, BasicValueHandler} from './basicValueHandler.interface';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {VALUE_HANDLER_OPTIONS} from '../types';\nimport {ɵNgSelectOption, } from '../../../components/option';\nimport {ValueHandlerBase} from '../valueHandlerBase';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\n\n//TODO - select _setValue, reject non existing\n\n/**\n * Default options for value handler\n * @internal\n */\nconst defaultOptions: BasicValueHandlerOptions =\n{\n};\n\n/**\n * Component used for handling current value of NgSelect\n */\n@Component(\n{\n selector: 'ng-basic-value-handler',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasicValueHandlerComponent<TValue = any> extends ValueHandlerBase<TValue, BasicValueHandlerOptions> implements BasicValueHandler<TValue>\n{\n //######################### protected fields #########################\n\n /**\n * Backed up unmapped value that was set before options were obtained\n */\n protected _unmappedValue: TValue|TValue[];\n\n //######################### public properties - implementation of BasicValueHandler #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): BasicValueHandlerOptions\n {\n return this._options;\n }\n public set options(options: BasicValueHandlerOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() ngSelectPlugins: NgSelectPluginInstances,\n @Optional() pluginBus: PluginBus<TValue>,\n pluginElement: ElementRef,\n @Inject(VALUE_HANDLER_OPTIONS) @Optional() options?: BasicValueHandlerOptions)\n {\n super(ngSelectPlugins, pluginElement, pluginBus);\n\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of BasicValueHandler #########################\n\n /**\n * Sets value for NgSelect\n * @param value - Value to be set\n */\n public setValue(value:TValue|TValue[]): void\n {\n this._useOptionsAsValue(value);\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public override initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public override invalidateVisuals(): void\n {\n }\n\n //######################### protected methods #########################\n\n /**\n * Sets value \n */\n protected _setValue = (option: ɵNgSelectOption<TValue>) =>\n {\n //multiple values are allowed\n if(this.pluginBus.selectOptions.multiple)\n {\n if(!Array.isArray(this.selectedOptions))\n {\n this.selectedOptions = [];\n }\n\n if(Array.isArray(this.selectedOptions))\n {\n let index: number;\n\n //value exists, removing from list\n if((index = this.selectedOptions.indexOf(option)) >= 0)\n {\n this.selectedOptions.splice(index, 1);\n }\n //adding value\n else\n {\n this.selectedOptions.push(option);\n }\n\n this.selectedOptions = [...this.selectedOptions];\n }\n }\n else\n //only signle value allowed\n {\n this.selectedOptions = option;\n }\n\n this._clearSelected();\n this._markValueAsSelected();\n\n this._normalState.invalidateVisuals();\n this.valueChange.emit();\n }\n\n /**\n * Loads options\n */\n protected _loadOptions()\n {\n this._useOptionsAsValue(isBlank(this._unmappedValue) ? this.value : this._unmappedValue);\n }\n\n /**\n * Converts value to options\n * @param value - Value to be changed to options\n */\n protected _useOptionsAsValue(value: TValue|TValue[])\n {\n //set empty value\n if(isBlank(value) || (Array.isArray(value) && !value.length))\n {\n this.selectedOptions = value;\n\n this._clearSelected();\n this._unmappedValue = null;\n this._normalState.invalidateVisuals();\n this.valueChange.emit();\n\n return;\n }\n\n //no options available yet\n if(!this._optionsGatherer.options || !this._optionsGatherer.options.length)\n {\n this._unmappedValue = value;\n\n return;\n }\n\n if(this.pluginBus.selectOptions.multiple)\n {\n if(Array.isArray(value))\n {\n const items = value;\n\n this.selectedOptions = this._optionsGatherer.options.filter(itm => !!items.find(it => this.valueComparer(it, itm.value)));\n }\n else\n {\n throw new Error('Don`t you have redundant \"multiple\"?');\n }\n }\n else\n {\n if(Array.isArray(value))\n {\n throw new Error('Are you missing attribute \"multiple\"?');\n }\n else\n {\n const item = value;\n\n this.selectedOptions = this._optionsGatherer.options.find(itm => this.valueComparer(itm.value, item));\n }\n }\n\n this._clearSelected();\n this._markValueAsSelected();\n this._unmappedValue = null;\n this._normalState.invalidateVisuals();\n this.valueChange.emit();\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"basicValueHandler.component.js","sourceRoot":"","sources":["../../../../../src/plugins/valueHandler/basic/basicValueHandler.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {Component, ChangeDetectionStrategy, Inject, Optional, ElementRef} from '@angular/core';\nimport {extend, isBlank} from '@jscrpt/common';\n\nimport {BasicValueHandlerOptions, BasicValueHandler} from './basicValueHandler.interface';\nimport {NgSelectPluginInstances} from '../../../components/select';\nimport {NG_SELECT_PLUGIN_INSTANCES} from '../../../components/select/types';\nimport {VALUE_HANDLER_OPTIONS} from '../types';\nimport {ɵNgSelectOption, } from '../../../components/option';\nimport {ValueHandlerBase} from '../valueHandlerBase';\nimport {PluginBus} from '../../../misc/pluginBus/pluginBus';\n\n//TODO - select _setValue, reject non existing\n\n/**\n * Default options for value handler\n * @internal\n */\nconst defaultOptions: BasicValueHandlerOptions =\n{\n};\n\n/**\n * Component used for handling current value of NgSelect\n */\n@Component(\n{\n selector: 'ng-basic-value-handler',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BasicValueHandlerComponent<TValue = any> extends ValueHandlerBase<TValue, BasicValueHandlerOptions> implements BasicValueHandler<TValue>\n{\n //######################### protected fields #########################\n\n /**\n * Backed up unmapped value that was set before options were obtained\n */\n protected _unmappedValue: TValue|TValue[];\n\n //######################### public properties - implementation of BasicValueHandler #########################\n\n /**\n * Options for NgSelect plugin\n */\n public get options(): BasicValueHandlerOptions\n {\n return this._options;\n }\n public set options(options: BasicValueHandlerOptions)\n {\n this._options = extend(true, this._options, options);\n }\n\n //######################### constructor #########################\n constructor(@Inject(NG_SELECT_PLUGIN_INSTANCES) @Optional() ngSelectPlugins: NgSelectPluginInstances,\n @Optional() pluginBus: PluginBus<TValue>,\n pluginElement: ElementRef,\n @Inject(VALUE_HANDLER_OPTIONS) @Optional() options?: BasicValueHandlerOptions)\n {\n super(ngSelectPlugins, pluginElement, pluginBus);\n\n this._options = extend(true, {}, defaultOptions, options);\n }\n\n //######################### public methods - implementation of BasicValueHandler #########################\n\n /**\n * Sets value for NgSelect\n * @param value - Value to be set\n */\n public setValue(value:TValue|TValue[]): void\n {\n this._useOptionsAsValue(value);\n }\n\n /**\n * Initialize plugin options, all operations required to be done with plugin options are handled here\n */\n public override initOptions()\n {\n }\n\n /**\n * Explicitly runs invalidation of content (change detection)\n */\n public override invalidateVisuals(): void\n {\n }\n\n //######################### protected methods #########################\n\n /**\n * Sets value \n */\n protected _setValue = (option: ɵNgSelectOption<TValue>) =>\n {\n //multiple values are allowed\n if(this.pluginBus.selectOptions.multiple)\n {\n if(!Array.isArray(this.selectedOptions))\n {\n this.selectedOptions = [];\n }\n\n if(Array.isArray(this.selectedOptions))\n {\n let index: number;\n\n //value exists, removing from list\n if((index = this.selectedOptions.indexOf(option)) >= 0)\n {\n this.selectedOptions.splice(index, 1);\n }\n //adding value\n else\n {\n this.selectedOptions.push(option);\n }\n\n this.selectedOptions = [...this.selectedOptions];\n }\n }\n else\n //only signle value allowed\n {\n this.selectedOptions = option;\n }\n\n this._clearSelected();\n this._markValueAsSelected();\n\n this._normalState.invalidateVisuals();\n this.valueChange.emit();\n }\n\n /**\n * Loads options\n */\n protected _loadOptions()\n {\n this._useOptionsAsValue(isBlank(this._unmappedValue) ? this.value : this._unmappedValue);\n }\n\n /**\n * Converts value to options\n * @param value - Value to be changed to options\n */\n protected _useOptionsAsValue(value: TValue|TValue[])\n {\n //set empty value\n if(isBlank(value) || (Array.isArray(value) && !value.length))\n {\n this.selectedOptions = value;\n\n this._clearSelected();\n this._unmappedValue = null;\n this._normalState.invalidateVisuals();\n this.valueChange.emit();\n\n return;\n }\n\n //no options available yet\n if(!this._optionsGatherer.options || !this._optionsGatherer.options.length)\n {\n this._unmappedValue = value;\n\n return;\n }\n\n if(this.pluginBus.selectOptions.multiple)\n {\n if(Array.isArray(value))\n {\n const items = value;\n\n this.selectedOptions = this._optionsGatherer.options.filter(itm => !!items.find(it => this.valueComparer(it, itm.value)));\n }\n else\n {\n throw new Error('Don`t you have redundant \"multiple\"?');\n }\n }\n else\n {\n if(Array.isArray(value))\n {\n throw new Error('Are you missing attribute \"multiple\"?');\n }\n else\n {\n const item = value;\n\n this.selectedOptions = this._optionsGatherer.options.find(itm => this.valueComparer(itm.value, item));\n }\n }\n\n this._clearSelected();\n this._markValueAsSelected();\n this._unmappedValue = null;\n this._normalState.invalidateVisuals();\n this.valueChange.emit();\n }\n}"]}
|
|
@@ -157,9 +157,9 @@ export class DynamicValueHandlerComponent extends ValueHandlerBase {
|
|
|
157
157
|
});
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
-
DynamicValueHandlerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.
|
|
161
|
-
DynamicValueHandlerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
|
|
162
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.
|
|
160
|
+
DynamicValueHandlerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DynamicValueHandlerComponent, deps: [{ token: NG_SELECT_PLUGIN_INSTANCES, optional: true }, { token: i1.PluginBus, optional: true }, { token: i0.ElementRef }, { token: VALUE_HANDLER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
161
|
+
DynamicValueHandlerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DynamicValueHandlerComponent, selector: "ng-dynamic-value-handler", usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
162
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DynamicValueHandlerComponent, decorators: [{
|
|
163
163
|
type: Component,
|
|
164
164
|
args: [{
|
|
165
165
|
selector: 'ng-dynamic-value-handler',
|