@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.
Files changed (155) hide show
  1. package/changelog.md +11 -0
  2. package/es2015/elements/src/components/ngSelectElements.component.js +3 -3
  3. package/es2015/elements/src/components/ngSelectElements.component.js.map +1 -1
  4. package/es2015/elements/src/modules/ngSelectElements.module.js +4 -4
  5. package/es2015/elements/src/modules/ngSelectElements.module.js.map +1 -1
  6. package/es2015/material/src/components/basicDialogPopup/basicDialogPopup.component.js +3 -3
  7. package/es2015/material/src/components/basicDialogPopup/basicDialogPopup.component.js.map +1 -1
  8. package/es2015/material/src/directives/dialogPopup/dialogPopup.directive.js +3 -3
  9. package/es2015/material/src/directives/dialogPopup/dialogPopup.directive.js.map +1 -1
  10. package/es2015/material/src/modules/dialogPopup.module.js +4 -4
  11. package/es2015/material/src/modules/dialogPopup.module.js.map +1 -1
  12. package/es2015/material/src/modules/virtualEditPopup.module.js +4 -4
  13. package/es2015/material/src/modules/virtualEditPopup.module.js.map +1 -1
  14. package/es2015/material/src/plugins/popup/dialog/dialogPopup.component.js +3 -3
  15. package/es2015/material/src/plugins/popup/dialog/dialogPopup.component.js.map +1 -1
  16. package/es2015/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js +3 -3
  17. package/es2015/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js.map +1 -1
  18. package/es2015/src/components/option/optgroup.component.js +3 -3
  19. package/es2015/src/components/option/optgroup.component.js.map +1 -1
  20. package/es2015/src/components/option/option.component.js +3 -3
  21. package/es2015/src/components/option/option.component.js.map +1 -1
  22. package/es2015/src/components/select/select.component.js +6 -6
  23. package/es2015/src/components/select/select.component.js.map +1 -1
  24. package/es2015/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js +3 -3
  25. package/es2015/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js.map +1 -1
  26. package/es2015/src/directives/ngSelectEdit/ngSelectEdit.directive.js +3 -3
  27. package/es2015/src/directives/ngSelectEdit/ngSelectEdit.directive.js.map +1 -1
  28. package/es2015/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js +3 -3
  29. package/es2015/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js.map +1 -1
  30. package/es2015/src/misc/ngSelectControlValueAccessor.directive.js +3 -3
  31. package/es2015/src/misc/ngSelectControlValueAccessor.directive.js.map +1 -1
  32. package/es2015/src/misc/ngSelectOptions.interface.js.map +1 -1
  33. package/es2015/src/misc/pluginBus/pluginBus.js +3 -3
  34. package/es2015/src/misc/pluginBus/pluginBus.js.map +1 -1
  35. package/es2015/src/modules/ngSelect.module.js +4 -4
  36. package/es2015/src/modules/ngSelect.module.js.map +1 -1
  37. package/es2015/src/modules/ngSelectDynamic.module.js +4 -4
  38. package/es2015/src/modules/ngSelectDynamic.module.js.map +1 -1
  39. package/es2015/src/modules/ngSelectEdit.module.js +4 -4
  40. package/es2015/src/modules/ngSelectEdit.module.js.map +1 -1
  41. package/es2015/src/pipes/ngSelectHasValue.pipe.js +3 -3
  42. package/es2015/src/pipes/ngSelectHasValue.pipe.js.map +1 -1
  43. package/es2015/src/pipes/ngSelectValue.pipe.js +3 -3
  44. package/es2015/src/pipes/ngSelectValue.pipe.js.map +1 -1
  45. package/es2015/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js +3 -3
  46. package/es2015/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js.map +1 -1
  47. package/es2015/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js +3 -3
  48. package/es2015/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js.map +1 -1
  49. package/es2015/src/plugins/liveSearch/basic/basicLiveSearch.component.js +3 -3
  50. package/es2015/src/plugins/liveSearch/basic/basicLiveSearch.component.js.map +1 -1
  51. package/es2015/src/plugins/liveSearch/edit/editLiveSearch.component.js +3 -3
  52. package/es2015/src/plugins/liveSearch/edit/editLiveSearch.component.js.map +1 -1
  53. package/es2015/src/plugins/liveSearch/no/noLiveSearch.component.js +3 -3
  54. package/es2015/src/plugins/liveSearch/no/noLiveSearch.component.js.map +1 -1
  55. package/es2015/src/plugins/normalState/basic/basicNormalState.component.js +3 -3
  56. package/es2015/src/plugins/normalState/basic/basicNormalState.component.js.map +1 -1
  57. package/es2015/src/plugins/normalState/edit/editNormalState.component.js +3 -3
  58. package/es2015/src/plugins/normalState/edit/editNormalState.component.js.map +1 -1
  59. package/es2015/src/plugins/normalState/normalStateAbstract.component.js +3 -3
  60. package/es2015/src/plugins/normalState/normalStateAbstract.component.js.map +1 -1
  61. package/es2015/src/plugins/popup/basic/basicPopup.component.js +3 -3
  62. package/es2015/src/plugins/popup/basic/basicPopup.component.js.map +1 -1
  63. package/es2015/src/plugins/popup/edit/editPopup.component.js +3 -3
  64. package/es2015/src/plugins/popup/edit/editPopup.component.js.map +1 -1
  65. package/es2015/src/plugins/popup/popupAbstract.component.js +3 -3
  66. package/es2015/src/plugins/popup/popupAbstract.component.js.map +1 -1
  67. package/es2015/src/plugins/positioner/default/defaultPositioner.component.js +3 -3
  68. package/es2015/src/plugins/positioner/default/defaultPositioner.component.js.map +1 -1
  69. package/es2015/src/plugins/positioner/no/noPositioner.component.js +3 -3
  70. package/es2015/src/plugins/positioner/no/noPositioner.component.js.map +1 -1
  71. package/es2015/src/plugins/valueHandler/basic/basicValueHandler.component.js +3 -3
  72. package/es2015/src/plugins/valueHandler/basic/basicValueHandler.component.js.map +1 -1
  73. package/es2015/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js +3 -3
  74. package/es2015/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js.map +1 -1
  75. package/es2015/src/plugins/valueHandler/valueHandlerBase.js +3 -3
  76. package/es2015/src/plugins/valueHandler/valueHandlerBase.js.map +1 -1
  77. package/es2020/elements/src/components/ngSelectElements.component.js +3 -3
  78. package/es2020/elements/src/components/ngSelectElements.component.js.map +1 -1
  79. package/es2020/elements/src/modules/ngSelectElements.module.js +4 -4
  80. package/es2020/elements/src/modules/ngSelectElements.module.js.map +1 -1
  81. package/es2020/material/src/components/basicDialogPopup/basicDialogPopup.component.js +3 -3
  82. package/es2020/material/src/components/basicDialogPopup/basicDialogPopup.component.js.map +1 -1
  83. package/es2020/material/src/directives/dialogPopup/dialogPopup.directive.js +3 -3
  84. package/es2020/material/src/directives/dialogPopup/dialogPopup.directive.js.map +1 -1
  85. package/es2020/material/src/modules/dialogPopup.module.js +4 -4
  86. package/es2020/material/src/modules/dialogPopup.module.js.map +1 -1
  87. package/es2020/material/src/modules/virtualEditPopup.module.js +4 -4
  88. package/es2020/material/src/modules/virtualEditPopup.module.js.map +1 -1
  89. package/es2020/material/src/plugins/popup/dialog/dialogPopup.component.js +3 -3
  90. package/es2020/material/src/plugins/popup/dialog/dialogPopup.component.js.map +1 -1
  91. package/es2020/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js +3 -3
  92. package/es2020/material/src/plugins/popup/virtualEdit/virtualEditPopup.component.js.map +1 -1
  93. package/es2020/src/components/option/optgroup.component.js +3 -3
  94. package/es2020/src/components/option/optgroup.component.js.map +1 -1
  95. package/es2020/src/components/option/option.component.js +3 -3
  96. package/es2020/src/components/option/option.component.js.map +1 -1
  97. package/es2020/src/components/select/select.component.js +6 -6
  98. package/es2020/src/components/select/select.component.js.map +1 -1
  99. package/es2020/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js +3 -3
  100. package/es2020/src/directives/ngSelectAbsolute/ngSelectAbsolute.directive.js.map +1 -1
  101. package/es2020/src/directives/ngSelectEdit/ngSelectEdit.directive.js +3 -3
  102. package/es2020/src/directives/ngSelectEdit/ngSelectEdit.directive.js.map +1 -1
  103. package/es2020/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js +3 -3
  104. package/es2020/src/directives/ngSelectPlaceholder/ngSelectPlaceholder.directive.js.map +1 -1
  105. package/es2020/src/misc/ngSelectControlValueAccessor.directive.js +3 -3
  106. package/es2020/src/misc/ngSelectControlValueAccessor.directive.js.map +1 -1
  107. package/es2020/src/misc/ngSelectOptions.interface.js.map +1 -1
  108. package/es2020/src/misc/pluginBus/pluginBus.js +3 -3
  109. package/es2020/src/misc/pluginBus/pluginBus.js.map +1 -1
  110. package/es2020/src/modules/ngSelect.module.js +4 -4
  111. package/es2020/src/modules/ngSelect.module.js.map +1 -1
  112. package/es2020/src/modules/ngSelectDynamic.module.js +4 -4
  113. package/es2020/src/modules/ngSelectDynamic.module.js.map +1 -1
  114. package/es2020/src/modules/ngSelectEdit.module.js +4 -4
  115. package/es2020/src/modules/ngSelectEdit.module.js.map +1 -1
  116. package/es2020/src/pipes/ngSelectHasValue.pipe.js +3 -3
  117. package/es2020/src/pipes/ngSelectHasValue.pipe.js.map +1 -1
  118. package/es2020/src/pipes/ngSelectValue.pipe.js +3 -3
  119. package/es2020/src/pipes/ngSelectValue.pipe.js.map +1 -1
  120. package/es2020/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js +3 -3
  121. package/es2020/src/plugins/keyboardHandler/basic/basicKeyboardHandler.component.js.map +1 -1
  122. package/es2020/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js +3 -3
  123. package/es2020/src/plugins/keyboardHandler/edit/editKeyboardHandler.component.js.map +1 -1
  124. package/es2020/src/plugins/liveSearch/basic/basicLiveSearch.component.js +3 -3
  125. package/es2020/src/plugins/liveSearch/basic/basicLiveSearch.component.js.map +1 -1
  126. package/es2020/src/plugins/liveSearch/edit/editLiveSearch.component.js +3 -3
  127. package/es2020/src/plugins/liveSearch/edit/editLiveSearch.component.js.map +1 -1
  128. package/es2020/src/plugins/liveSearch/no/noLiveSearch.component.js +3 -3
  129. package/es2020/src/plugins/liveSearch/no/noLiveSearch.component.js.map +1 -1
  130. package/es2020/src/plugins/normalState/basic/basicNormalState.component.js +3 -3
  131. package/es2020/src/plugins/normalState/basic/basicNormalState.component.js.map +1 -1
  132. package/es2020/src/plugins/normalState/edit/editNormalState.component.js +3 -3
  133. package/es2020/src/plugins/normalState/edit/editNormalState.component.js.map +1 -1
  134. package/es2020/src/plugins/normalState/normalStateAbstract.component.js +3 -3
  135. package/es2020/src/plugins/normalState/normalStateAbstract.component.js.map +1 -1
  136. package/es2020/src/plugins/popup/basic/basicPopup.component.js +3 -3
  137. package/es2020/src/plugins/popup/basic/basicPopup.component.js.map +1 -1
  138. package/es2020/src/plugins/popup/edit/editPopup.component.js +3 -3
  139. package/es2020/src/plugins/popup/edit/editPopup.component.js.map +1 -1
  140. package/es2020/src/plugins/popup/popupAbstract.component.js +3 -3
  141. package/es2020/src/plugins/popup/popupAbstract.component.js.map +1 -1
  142. package/es2020/src/plugins/positioner/default/defaultPositioner.component.js +3 -3
  143. package/es2020/src/plugins/positioner/default/defaultPositioner.component.js.map +1 -1
  144. package/es2020/src/plugins/positioner/no/noPositioner.component.js +3 -3
  145. package/es2020/src/plugins/positioner/no/noPositioner.component.js.map +1 -1
  146. package/es2020/src/plugins/valueHandler/basic/basicValueHandler.component.js +3 -3
  147. package/es2020/src/plugins/valueHandler/basic/basicValueHandler.component.js.map +1 -1
  148. package/es2020/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js +3 -3
  149. package/es2020/src/plugins/valueHandler/dynamic/dynamicValueHandler.component.js.map +1 -1
  150. package/es2020/src/plugins/valueHandler/valueHandlerBase.js +3 -3
  151. package/es2020/src/plugins/valueHandler/valueHandlerBase.js.map +1 -1
  152. package/package.json +1 -1
  153. package/src/misc/ngSelectOptions.interface.d.ts +6 -0
  154. package/src/misc/ngSelectOptions.interface.d.ts.map +1 -1
  155. 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.0.4", 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.0.4", 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.0.4", ngImport: i0, type: EditNormalStateComponent, decorators: [{
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;;qHA5CQ,wBAAwB,kBAab,0BAA0B,iIAI1B,mBAAmB,aACnB,oBAAoB;yGAlB/B,wBAAwB,oFCnDrC,2pCAkBM;2FDiCO,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>"]}
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.0.4", ngImport: i0, type: NormalStateAbstractComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
89
- NormalStateAbstractComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: NormalStateAbstractComponent, ngImport: i0 });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NormalStateAbstractComponent, decorators: [{
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;;yHA5HiB,4BAA4B;6GAA5B,4BAA4B;2FAA5B,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}"]}
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.0.4", 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.0.4", 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.0.4", ngImport: i0, type: BasicPopupComponent, decorators: [{
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;;gHAdQ,mBAAmB,kBAGR,0BAA0B,iIAI1B,aAAa,6BACb,mBAAmB,aACnB,QAAQ;oGATnB,mBAAmB,kFC3ChC,qgCAoBM;2FDuBO,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>"]}
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.0.4", 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.0.4", 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.0.4", ngImport: i0, type: EditPopupComponent, decorators: [{
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;;+GA9CQ,kBAAkB,kBAqBP,0BAA0B,iIAI1B,aAAa,6BACb,mBAAmB,aACnB,QAAQ;mGA3BnB,kBAAkB,uFC5C/B,u5BAkBM;2FD0BO,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>"]}
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.0.4", ngImport: i0, type: PopupAbstractComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
196
- PopupAbstractComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: PopupAbstractComponent, viewQueries: [{ propertyName: "popupElementChildren", predicate: ["popupDiv"], descendants: true }], ngImport: i0 });
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PopupAbstractComponent, decorators: [{
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":"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","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":"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","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.0.4", 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.0.4", type: DefaultPositionerComponent, selector: "ng-default-positioner", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DefaultPositionerComponent, decorators: [{
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.0.4", 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.0.4", type: NoPositionerComponent, selector: "ng-no-positioner", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NoPositionerComponent, decorators: [{
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;;kHAvEQ,qBAAqB,kBA2CV,0BAA0B,uDAE1B,kBAAkB;sGA7C7B,qBAAqB,wDAHpB,EAAE;2FAGH,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}"]}
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.0.4", 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.0.4", 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.0.4", ngImport: i0, type: BasicValueHandlerComponent, decorators: [{
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.0.4", 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.0.4", 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.0.4", ngImport: i0, type: DynamicValueHandlerComponent, decorators: [{
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',