ngx-dropdown-list 1.2.0 → 21.0.2

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 (35) hide show
  1. package/{fesm2020 → fesm2022}/ngx-dropdown-list.mjs +783 -721
  2. package/fesm2022/ngx-dropdown-list.mjs.map +1 -0
  3. package/ngx-dropdown-list-21.0.2.tgz +0 -0
  4. package/package.json +10 -18
  5. package/{src/ngx-dropdown-list/dropdown-list.component.d.ts → types/ngx-dropdown-list.d.ts} +109 -106
  6. package/esm2020/ngx-dropdown-list.mjs +0 -5
  7. package/esm2020/public_api.mjs +0 -2
  8. package/esm2020/src/ngx-dropdown-list/anchor/anchor.component.mjs +0 -149
  9. package/esm2020/src/ngx-dropdown-list/dropdown/dropdown.component.mjs +0 -252
  10. package/esm2020/src/ngx-dropdown-list/dropdown-list.component.mjs +0 -233
  11. package/esm2020/src/ngx-dropdown-list/dropdown-list.module.mjs +0 -38
  12. package/esm2020/src/ngx-dropdown-list/filter/input-filter.component.mjs +0 -44
  13. package/esm2020/src/ngx-dropdown-list/group-item/group-item.component.mjs +0 -25
  14. package/esm2020/src/ngx-dropdown-list/index.mjs +0 -3
  15. package/esm2020/src/ngx-dropdown-list/item/item.component.mjs +0 -77
  16. package/esm2020/src/ngx-dropdown-list/types/index.mjs +0 -3
  17. package/esm2020/src/ngx-dropdown-list/types/selection-group-items.types.mjs +0 -2
  18. package/esm2020/src/ngx-dropdown-list/types/selection-item.types.mjs +0 -2
  19. package/esm2020/src/ngx-dropdown-list/utils/util.mjs +0 -59
  20. package/fesm2015/ngx-dropdown-list.mjs +0 -854
  21. package/fesm2015/ngx-dropdown-list.mjs.map +0 -1
  22. package/fesm2020/ngx-dropdown-list.mjs.map +0 -1
  23. package/ngx-dropdown-list.d.ts +0 -5
  24. package/public_api.d.ts +0 -1
  25. package/src/ngx-dropdown-list/anchor/anchor.component.d.ts +0 -85
  26. package/src/ngx-dropdown-list/dropdown/dropdown.component.d.ts +0 -120
  27. package/src/ngx-dropdown-list/dropdown-list.module.d.ts +0 -14
  28. package/src/ngx-dropdown-list/filter/input-filter.component.d.ts +0 -26
  29. package/src/ngx-dropdown-list/group-item/group-item.component.d.ts +0 -14
  30. package/src/ngx-dropdown-list/index.d.ts +0 -2
  31. package/src/ngx-dropdown-list/item/item.component.d.ts +0 -43
  32. package/src/ngx-dropdown-list/types/index.d.ts +0 -2
  33. package/src/ngx-dropdown-list/types/selection-group-items.types.d.ts +0 -8
  34. package/src/ngx-dropdown-list/types/selection-item.types.d.ts +0 -9
  35. package/src/ngx-dropdown-list/utils/util.d.ts +0 -21
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-dropdown-list.mjs","sources":["../../src/ngx-dropdown-list/utils/util.ts","../../src/ngx-dropdown-list/anchor/anchor.component.ts","../../src/ngx-dropdown-list/filter/input-filter.component.ts","../../src/ngx-dropdown-list/group-item/group-item.component.ts","../../src/ngx-dropdown-list/item/item.component.ts","../../src/ngx-dropdown-list/dropdown/dropdown.component.ts","../../src/ngx-dropdown-list/dropdown-list.component.ts","../../src/ngx-dropdown-list/dropdown-list.module.ts","../../ngx-dropdown-list.ts"],"sourcesContent":["/**\r\n * check whether the provided items contains group\r\n */\r\nexport function hasGroup(items): boolean {\r\n return items ? (items.find(item => item.group) != null) : false;\r\n}\r\n\r\n/**\r\n * clear all selections from the provide items.\r\n * @param items the dropdown items, can be group or item\r\n */\r\nexport function clearAllSelection(items: any): void {\r\n if (hasGroup(items)) {\r\n for (const groupItem of items) {\r\n if (groupItem.items) {\r\n groupItem.items.filter(item => item.selected).forEach(item => item.selected = false);\r\n }\r\n }\r\n } else {\r\n // clear the selection of previous selected item\r\n items.filter(item => item.selected).forEach(item => item.selected = false);\r\n }\r\n}\r\n\r\n/**\r\n * stop all propagation and default actions\r\n */\r\nexport function stopPropagationAndDefault(event: Event): void {\r\n event.stopImmediatePropagation();\r\n event.stopPropagation();\r\n event.preventDefault();\r\n}\r\n\r\n/**\r\n * check whether the provided value is number of not\r\n */\r\nexport function isNumber(value: any): boolean {\r\n return !(value == null || isNaN(value) || value.length === 0);\r\n}\r\n\r\n/**\r\n * get the selected item from the items list (including item and group)\r\n */\r\nexport function getFirstSelectedItem(items: any): any {\r\n if (!items) {\r\n return undefined;\r\n }\r\n let selectedItem;\r\n if (hasGroup(items)) {\r\n for (const item of items) {\r\n selectedItem = item.items ? item.items.find(subItem => subItem.selected) : undefined;\r\n if (selectedItem) {\r\n break;\r\n }\r\n }\r\n } else {\r\n selectedItem = items ? items.find(item => item.selected) : undefined;\r\n }\r\n return selectedItem;\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport {stopPropagationAndDefault, isNumber} from '../utils/util';\r\nimport {DecimalPipe} from '@angular/common';\r\n\r\n@Component({\r\n selector: 'anchor',\r\n template: `\r\n <span #anchor tabindex=\"2\" [ngClass]=\"anchorClass\" (window:resize)=\"onResize()\"\r\n (mousedown)=\"onAnchorClick($event)\" (blur)=\"onAnchorBlur($event)\"> {{anchorDisplayText}}\r\n <span #selectionClearance class=\"selection-clearance\" (mousedown)=\"onClearanceClick($event)\" *ngIf=\"showClearanceFlag\">&times;</span>\r\n </span>\r\n `,\r\n styleUrls: ['./anchor.component.scss'],\r\n providers: [DecimalPipe]\r\n})\r\n\r\nexport class AnchorComponent {\r\n /**\r\n * Child element reference of anchor\r\n */\r\n @ViewChild('anchor', { read: ElementRef }) anchorRef: ElementRef;\r\n\r\n /**\r\n * bind to [placeHolder] for displaying the place holder string of the anchor.\r\n */\r\n @Input() placeHolder: string;\r\n /**\r\n * bind to [checkbox] for checking whether the clearance flag should be shown or not.\r\n */\r\n @Input() checkbox = false;\r\n /**\r\n * bind to [suffixText] for displaying the suffix of the selected text of anchor\r\n */\r\n @Input() suffixText: string;\r\n /**\r\n * bind to [allowClear] for enabling the clearance (clearance is not avaiable when checkbox is enabled)\r\n */\r\n @Input() allowClear = true;\r\n /**\r\n * bind to [formatNumber] for show formatted number text\r\n */\r\n @Input() formatNumber: boolean;\r\n /**\r\n * bind to [selectedText] for displaying the selected text on anchor\r\n */\r\n @Input() selectedText: any;\r\n /**\r\n * bind to [openStatus], it's the visibility status of dropdown, for showing the arrow on anchor\r\n */\r\n @Input() openStatus = false;\r\n /**\r\n * bind to [disabled] for disabling the anchor\r\n */\r\n @Input() disabled = false;\r\n /**\r\n * will be triggered when clicking the anchor\r\n */\r\n @Output() anchorClick = new EventEmitter<any>();\r\n /**\r\n * will be triggered when clicking the clearance\r\n */\r\n @Output() clearanceClick = new EventEmitter<any>();\r\n\r\n /**\r\n * length of anchor element, used for calculate the string length of the anchor displayed text.\r\n */\r\n anchorLength: number;\r\n\r\n constructor(private _decimalPipe: DecimalPipe) {}\r\n\r\n /**\r\n * flag for showing the clearance flag\r\n */\r\n get showClearanceFlag(): boolean {\r\n return !this.checkbox && this.selectedText && this.allowClear;\r\n }\r\n\r\n /**\r\n * the text displays on anchor\r\n */\r\n get anchorDisplayText(): string {\r\n let anchorDisplayText = this.selectedText ? (this.formatNumber ? (isNumber(this.selectedText) ?\r\n this._decimalPipe.transform(this.selectedText, '1.0-2') : this.selectedText) :\r\n this.selectedText) + (this.suffixText ? this.suffixText : '') : this.placeHolder;\r\n\r\n let charLength = 1;\r\n if (this.showClearanceFlag && this.anchorLength > 0) {\r\n charLength = Math.floor((this.anchorLength - 50) / 7);\r\n } else {\r\n charLength = Math.floor((this.anchorLength - 50) / 7);\r\n }\r\n\r\n if (anchorDisplayText.length > charLength) {\r\n anchorDisplayText = anchorDisplayText.slice(0, charLength - 2) + '...';\r\n }\r\n return anchorDisplayText;\r\n }\r\n\r\n /**\r\n * anchor CSS class\r\n */\r\n get anchorClass(): string {\r\n let anchorClassStatusPart;\r\n let anchorClassFontColor;\r\n if (this.disabled) {\r\n anchorClassStatusPart = 'selection-anchor-disabled';\r\n anchorClassFontColor = 'place-holder';\r\n } else {\r\n if (this.openStatus) {\r\n anchorClassStatusPart = 'selection-anchor-open';\r\n } else {\r\n anchorClassStatusPart = 'selection-anchor-close';\r\n }\r\n if (this.selectedText != null) {\r\n anchorClassFontColor = 'selected-item';\r\n } else {\r\n anchorClassFontColor = 'place-holder';\r\n }\r\n }\r\n return `${anchorClassStatusPart} ${anchorClassFontColor}`;\r\n }\r\n\r\n /**\r\n * triggered when clicking the anchor\r\n */\r\n onAnchorClick(event: Event): void {\r\n this.anchorClick.emit(event);\r\n }\r\n\r\n /**\r\n * triggered with (blur) of anchor\r\n */\r\n onAnchorBlur(event: Event): void {\r\n stopPropagationAndDefault(event);\r\n }\r\n\r\n /**\r\n * triggered when clicking the clearance\r\n */\r\n onClearanceClick(event: Event): void {\r\n this.clearanceClick.emit(event);\r\n }\r\n\r\n /**\r\n * triggered when resizing, get the clientWidth of anchor\r\n */\r\n onResize() {\r\n this.anchorLength = this.anchorRef ? this.anchorRef.nativeElement ? this.anchorRef.nativeElement.clientWidth : 0 : 0;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'input-filter',\r\n template: `\r\n <input type=\"text\" class=\"filter-box\" [(ngModel)]=\"filterValue\" (input)=\"onChange()\" (blur)=\"onFilterTextBlur($event)\">\r\n `,\r\n styleUrls: ['./input-filter.component.scss']\r\n})\r\n\r\nexport class InputFilterComponent {\r\n /**\r\n * bind to [filterValue], the value of the filter\r\n */\r\n @Input() filterValue: string;\r\n /**\r\n * bind to [inputFilterBlur], emits with (blur) of filter input box\r\n */\r\n @Output() inputFilterBlur = new EventEmitter<string>();\r\n /**\r\n * bind to [filterValueChange], for 2-way binding of filterValue\r\n */\r\n @Output() filterValueChange = new EventEmitter<string>();\r\n\r\n /**\r\n * triggers with (blur) event, emits the (inputFilterBlur) event\r\n */\r\n onFilterTextBlur(event) {\r\n this.inputFilterBlur.emit(event);\r\n }\r\n\r\n /**\r\n * triggers with (input) event, emits the (filterValueChange) event for 2-way binding of filterValue\r\n */\r\n onChange() {\r\n this.filterValueChange.emit(this.filterValue);\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {SelectionGroupItems} from '../types';\r\n\r\n@Component({\r\n selector: 'group-item',\r\n template: `\r\n <label class=\"dropdown-item dropdown-item-group\" (mousedown)=\"onItemGroupClick($event)\">{{item.group}}</label>\r\n `,\r\n styleUrls: ['./group-item.component.scss']\r\n})\r\n\r\nexport class GroupItemComponent {\r\n /**\r\n * bind to [item], the group item of dropdown\r\n */\r\n @Input() item: SelectionGroupItems;\r\n\r\n /**\r\n * prevent all clicking event from happening\r\n */\r\n onItemGroupClick(event) {\r\n event.stopImmediatePropagation();\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {SelectionItem} from '../types';\r\nimport {isNumber} from '../utils/util';\r\n\r\n@Component({\r\n selector: 'item',\r\n template: `\r\n <label [class.container-checkbox]=\"checkbox\"\r\n [class.container-selection]=\"!checkbox && !item.selected\"\r\n [class.container-selection-selected]=\"!checkbox && item.selected\"\r\n [id]=\"item.id\" (mousedown)=\"onItemClick(item)\">\r\n {{needFormatNumber(item.text)? (item.text | number:'1.0-2') : item.text}}{{suffixText? suffixText : ''}}\r\n <ng-container *ngIf=\"checkbox\">\r\n <input type='checkbox' [id]=\"'checkbox-'+item.text\" (change)=\"onCheckStatusChange(item)\" [checked]=\"item.selected\">\r\n <span class=\"checkmark\" [id]=\"'checkmark-'+item.text\"></span>\r\n </ng-container>\r\n </label>`,\r\n styleUrls: ['./item.component.scss']\r\n})\r\n\r\nexport class ItemComponent {\r\n /**\r\n * bind to [checkbox], the flag of checkbox mode\r\n */\r\n @Input() checkbox: boolean;\r\n /**\r\n * bind to [item], the dropdown option item\r\n */\r\n @Input() item: SelectionItem;\r\n /**\r\n * bind to [formatNumber], the flag for formatting the number\r\n */\r\n @Input() formatNumber = false;\r\n /**\r\n * bind to [suffixText], the suffixText that will be displayed in the dropdown\r\n */\r\n @Input() suffixText: string;\r\n /**\r\n * bind to [itemClick] event, triggers when clicking the item of dropdown\r\n */\r\n @Output() itemClick = new EventEmitter<string>();\r\n /**\r\n * bind to [checkStatusChange] event, triggers when check status is changed in checkbox mode.\r\n */\r\n @Output() checkStatusChange = new EventEmitter<string>();\r\n\r\n /**\r\n * check whether needs to format number for the provided text\r\n */\r\n needFormatNumber(value: any): boolean {\r\n return isNumber(value) && this.formatNumber;\r\n }\r\n\r\n /**\r\n * triggered when clicking the item, emits the [itemClick] event\r\n */\r\n onItemClick(item) {\r\n this.itemClick.emit(item);\r\n }\r\n\r\n /**\r\n * triggered when checking status changed in checkbox mode, emits the [checkStatusChange] event\r\n */\r\n onCheckStatusChange(item) {\r\n this.checkStatusChange.emit(item);\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild} from '@angular/core';\r\nimport {clearAllSelection, getFirstSelectedItem, hasGroup, stopPropagationAndDefault} from '../utils/util';\r\n\r\n@Component({\r\n selector: 'dropdown',\r\n template: `\r\n <span #dropdown class=\"dropdown\" tabindex=\"3\" (mousedown)=\"onItemsClick($event)\" (blur)=\"onItemsBlur($event)\" *ngIf=\"!disabled\" >\r\n <input-filter #filterInput tabindex=\"4\" *ngIf=\"filterBox && !checkbox\" [(filterValue)]=\"filterValue\" (inputFilterBlur)=\"onFilterTextBlur($event)\"></input-filter>\r\n <span #selectionOptions [ngClass]=\"optionsClass\">\r\n <ng-container *ngFor=\"let item of itemsValues\" >\r\n <ng-container *ngIf=\"item && item.group\">\r\n <group-item [item]=\"item\"></group-item>\r\n <item *ngFor=\"let subItem of item.items\" (itemClick)=\"onItemClick(subItem)\" (checkStatusChange)=\"toggleSelection(subItem)\"\r\n [item]=\"subItem\" [checkbox]=\"checkbox\" [formatNumber]=\"formatNumber\" [suffixText]=\"suffixText\">\r\n </item>\r\n </ng-container>\r\n <ng-container *ngIf=\"item && !item.group\">\r\n <item (itemClick)=\"onItemClick(item)\" (checkStatusChange)=\"toggleSelection(item)\"\r\n [item]=\"item\" [checkbox]=\"checkbox\" [formatNumber]=\"formatNumber\" [suffixText]=\"suffixText\">\r\n </item>\r\n </ng-container>\r\n </ng-container>\r\n </span>\r\n </span>\r\n `,\r\n styleUrls: ['./dropdown.component.scss']\r\n})\r\n\r\nexport class DropdownComponent implements OnChanges {\r\n /**\r\n * Child element reference of dropdown\r\n */\r\n @ViewChild('dropdown', { read: ElementRef }) dropdownRef: ElementRef;\r\n /**\r\n * Child element reference of filter input text\r\n */\r\n @ViewChild('filterInput', { read: ElementRef }) filterInputRef: ElementRef;\r\n /**\r\n * bind to [placeHolder] for displaying the place holder string of the anchor.\r\n */\r\n @Input() placeHolder: string;\r\n /**\r\n * bind to [items] for the options/groups in the dropdown\r\n */\r\n @Input() items: any[];\r\n /**\r\n * bind to [checkbox], the flag for multi-select (checkbox) mode.\r\n */\r\n @Input() checkbox = false;\r\n /**\r\n * bind to [selectedValue] for the value of the selected option from dropdown\r\n */\r\n @Input() selectedValue: any;\r\n /**\r\n * bind to [filterBox] for displaying the filter input text box\r\n */\r\n @Input() filterBox = false;\r\n /**\r\n * bind to [suffixText] for displaying the suffix of the selected text of anchor\r\n */\r\n @Input() suffixText: string;\r\n /**\r\n * bind to [disabled] for disabling the dropdown\r\n */\r\n @Input() disabled: boolean;\r\n /**\r\n * bind to [allowClear] for enabling the clearance (clearance is not avaiable when checkbox is enabled)\r\n */\r\n @Input() allowClear = true;\r\n /**\r\n * bind to [formatNumber] for show formatted number text\r\n */\r\n @Input() formatNumber = false;\r\n /**\r\n * for 2-way binding of [selectedValue]\r\n */\r\n @Output() selectedValueChange = new EventEmitter<string>(true);\r\n /**\r\n * [selectionChange] event that will be triggered when changing of the selection\r\n */\r\n @Output() selectionChange = new EventEmitter<any>(true);\r\n /**\r\n * [dropdownBlur] event that will be triggered with (blur) of dropdown\r\n */\r\n @Output() dropdownBlur = new EventEmitter<any>();\r\n /**\r\n * [itemClick] event that will be triggered when clicking the option of dropdown\r\n */\r\n @Output() itemClick = new EventEmitter<any>();\r\n /**\r\n * filter value\r\n */\r\n filterValue: string;\r\n /**\r\n * flag of clicking dropdown. It's to prevent (blur) of dropdown from happening in checkbox mode.\r\n */\r\n private _clickedItems = false;\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.items) {\r\n this._checkSelectionChange(changes.items.previousValue, changes.items.currentValue);\r\n }\r\n }\r\n\r\n /**\r\n * triggered when clicking the dropdown\r\n */\r\n onItemsClick(event: any): void {\r\n if (event.offsetX > (event.target.clientWidth + event.target.clientLeft)) {\r\n stopPropagationAndDefault(event);\r\n return;\r\n }\r\n // should ignore clicking on filter\r\n if (this.checkbox && event.target.type !== 'text') {\r\n this._clickedItems = true;\r\n }\r\n }\r\n\r\n /**\r\n * triggered when clicking the item\r\n */\r\n onItemClick(currentItem): void {\r\n if (!this.checkbox) {\r\n this.selectedValue = this._getItemValue(currentItem); // currentItem.value != null ? currentItem.value : currentItem.text;\r\n clearAllSelection(this.items);\r\n // set the selection of current one\r\n currentItem.selected = true;\r\n this.itemClick.emit(currentItem);\r\n this._onSelectionChange(this.selectedValue);\r\n }\r\n }\r\n\r\n /**\r\n * triggers with (blur) event of filter input box\r\n */\r\n onFilterTextBlur(event): void {\r\n this.dropdownBlur.emit(event);\r\n }\r\n\r\n /**\r\n * triggers with (blur) event of dropdown\r\n */\r\n onItemsBlur(event): void {\r\n if (this.checkbox) {\r\n if (this._clickedItems) {\r\n // in checkbox mode, this blur event will be ignored when clicking the dropdown (check the checkbox)\r\n event.target.focus();\r\n this._clickedItems = false;\r\n return;\r\n }\r\n }\r\n this.dropdownBlur.emit(event);\r\n }\r\n\r\n /**\r\n * toggle the selection when checking status changed (in checkbox mode)\r\n */\r\n toggleSelection(item: {id: string, value?: any, text: any, selected?: boolean}): void {\r\n item.selected = !item.selected;\r\n this.selectionChange.emit(this._getItemValue(item)); // item.value != null ? item.value : item.text);\r\n }\r\n\r\n /**\r\n * items values list after applying the filter\r\n */\r\n get itemsValues(): any[] {\r\n let filter;\r\n if (this.filterValue) {\r\n filter = this.filterValue.toUpperCase();\r\n }\r\n\r\n if (filter == null) {\r\n return this.items;\r\n }\r\n if (!this.items || this.items.length === 0) {\r\n return [];\r\n }\r\n if (hasGroup(this.items)) {\r\n const items = [];\r\n this.items.forEach(groupItem => {\r\n if (groupItem.group != null && groupItem.group.toString().toUpperCase().includes(filter)) {\r\n // if groupItem contains the filters, the groupItem needs to be displayed as well\r\n items.push(groupItem);\r\n } else {\r\n const filteredItems = groupItem.items.filter(item => item.text != null && item.text.toString().toUpperCase().includes(filter));\r\n if (filteredItems && filteredItems.length > 0) {\r\n items.push({group: groupItem.group, items: filteredItems});\r\n }\r\n }\r\n });\r\n return items;\r\n } else {\r\n return this.items.filter(item => (item.text != null && item.text.toString().toUpperCase().includes(filter)));\r\n }\r\n }\r\n /**\r\n * options CSS class\r\n */\r\n get optionsClass(): string {\r\n if (this.filterBox && !this.checkbox) {\r\n return 'options with-filter';\r\n } else {\r\n return 'options no-filter';\r\n }\r\n }\r\n\r\n /**\r\n * get item value. Return text if value is not available\r\n */\r\n private _getItemValue(item): any {\r\n return item ? item.value != null ? item.value : item.text : undefined;\r\n }\r\n\r\n /**\r\n * selection changed, emits events: (selectedValueChange) and (selectionChange);\r\n */\r\n private _onSelectionChange(value) {\r\n this.selectedValueChange.emit(value);\r\n this.selectionChange.emit(value);\r\n }\r\n\r\n /**\r\n * check whether the selection is changed. Emits relative events when if changed.\r\n */\r\n private _checkSelectionChange(previousValue, currentValue) {\r\n const curSelectedItem = getFirstSelectedItem(currentValue);\r\n const lastSelectedItem = getFirstSelectedItem(previousValue);\r\n const curSelectedItemId = curSelectedItem ? curSelectedItem.id : undefined;\r\n const lastSelectedItemId = lastSelectedItem ? lastSelectedItem.id : undefined;\r\n if (curSelectedItemId !== lastSelectedItemId && !this.checkbox) {\r\n this._onSelectionChange(this._getItemValue(curSelectedItem));\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport {clearAllSelection, getFirstSelectedItem, stopPropagationAndDefault} from './utils/util';\r\n\r\n@Component({\r\n selector: 'ngx-dropdown-list',\r\n template: `\r\n <span class=\"ngx-select\">\r\n <anchor (anchorClick)=\"onAnchorClick($event)\" (clearanceClick)=\"onClearanceClick($event)\"\r\n [checkbox]=\"multiSelection\"\r\n [formatNumber]=\"formatNumber\"\r\n [suffixText]=\"suffixText\"\r\n [placeHolder]=\"placeHolder\"\r\n [allowClear]=\"allowClear\"\r\n [openStatus]=\"dropdownVisibility\"\r\n [selectedText]=\"selectedText\"\r\n [disabled]=\"disabled\">\r\n </anchor>\r\n <dropdown #dropdown (dropdownBlur) = \"onItemsBlur()\" (selectionChange)=\"onSelectionChange($event)\"\r\n [items]=\"items\"\r\n [checkbox]=\"multiSelection\"\r\n [filterBox]=\"filterBox\"\r\n [formatNumber]=\"formatNumber\"\r\n [suffixText]=\"suffixText\"\r\n [(selectedValue)]=\"selectedValue\"\r\n (itemClick) = \"onItemClick()\"\r\n [disabled]=\"disabled\">\r\n </dropdown>\r\n </span>\r\n `,\r\n styleUrls: ['./dropdown-list.component.scss'],\r\n})\r\n\r\nexport class DropdownListComponent {\r\n @ViewChild('dropdown', { read: ElementRef }) dropdownRef: ElementRef;\r\n\r\n /**\r\n * bind to [placeHolder] for displaying the place holder string of the anchor.\r\n */\r\n @Input() placeHolder: string;\r\n /**\r\n * bind to [items] for the options/groups in the dropdown\r\n */\r\n @Input() items: any[];\r\n /**\r\n * bind to [multiSelection], the flag for multi-select (checkbox) mode.\r\n */\r\n @Input() multiSelection = false;\r\n /**\r\n * bind to [selectedValue] for the value of the selected option from dropdown\r\n */\r\n @Input() selectedValue: any;\r\n /**\r\n * bind to [filterBox] for displaying the filter input text box\r\n */\r\n @Input() filterBox = false;\r\n /**\r\n * bind to [suffixText] for displaying the suffix of the selected text of anchor\r\n */\r\n @Input() suffixText: string;\r\n /**\r\n * bind to [disabled] for disabling the dropdown\r\n */\r\n @Input() disabled: boolean;\r\n /**\r\n * bind to [allowClear] for enabling the clearance (clearance is not avaiable when checkbox is enabled)\r\n */\r\n @Input() allowClear = true;\r\n /**\r\n * bind to [formatNumber] for show formatted number text\r\n */\r\n @Input() formatNumber = false;\r\n /**\r\n * for 2-way binding of [selectedValue], using async event to\r\n * prevent \"ExpressionChangedAfterItHasBeenCheckedError\".\r\n */\r\n @Output() selectedValueChange = new EventEmitter<string>(true);\r\n /**\r\n * [selectionChange] event that will be triggered when changing of the selection.\r\n * Using async event to prevent \"ExpressionChangedAfterItHasBeenCheckedError\".\r\n */\r\n @Output() selectionChange = new EventEmitter<any>(true);\r\n\r\n /**\r\n * visibility flag of drop down\r\n */\r\n dropdownVisibility = false;\r\n\r\n /**\r\n * current selected text\r\n */\r\n get selectedText(): any {\r\n if (!this.multiSelection) {\r\n const selectedItem = getFirstSelectedItem(this.items);\r\n return selectedItem ? selectedItem.text : undefined;\r\n }\r\n }\r\n\r\n /**\r\n * triggered with (selectionChange) event, emits (selectedValueChange) and (selectionChange)\r\n */\r\n onSelectionChange(event) {\r\n this.selectedValueChange.emit(event);\r\n this.selectionChange.emit(event);\r\n }\r\n\r\n /**\r\n * triggered with (anchorClick) event, controlling the \"open\" and \"close\" of the dropdown\r\n */\r\n onAnchorClick(event: Event): void {\r\n if (this.disabled) {\r\n stopPropagationAndDefault(event);\r\n return;\r\n }\r\n if (this._isSelectionOpen()) {\r\n this._hideItemList();\r\n } else {\r\n this._showItemsList();\r\n }\r\n stopPropagationAndDefault(event);\r\n }\r\n\r\n /**\r\n * triggered with (itemClick) event, closes the dropdown in non-checkbox mode\r\n */\r\n onItemClick(): void {\r\n if (!this.multiSelection) {\r\n this._hideItemList();\r\n }\r\n }\r\n\r\n /**\r\n * triggered with (clearanceClick) event, clearing all selections\r\n * and emits (selectedValueChange) and (selectionChange) event for empty value\r\n */\r\n onClearanceClick(event: Event): void {\r\n if (!this.multiSelection) {\r\n this.selectedValue = void 0;\r\n this.selectedValueChange.emit(undefined);\r\n this.selectionChange.emit(undefined);\r\n clearAllSelection(this.items);\r\n }\r\n stopPropagationAndDefault(event);\r\n }\r\n\r\n /**\r\n * triggered with (dropdownBlur) event, closes the dropdown\r\n */\r\n onItemsBlur(): void {\r\n if (this._isSelectionOpen()) {\r\n this._hideItemList();\r\n }\r\n }\r\n\r\n /**\r\n * close the dropdown\r\n */\r\n private _hideItemList(): void {\r\n // hide the dropdown element (has some problem for using CSS directly, using this as a workaround)\r\n this._dropdownElement.classList.remove('visible');\r\n this._dropdownElement.style.display = 'none';\r\n this.dropdownVisibility = false;\r\n }\r\n\r\n /**\r\n * open the dropdown\r\n */\r\n private _showItemsList(): void {\r\n // display the dropdown element (has some problem for using CSS directly, using this as a workaround)\r\n this._dropdownElement.classList.add('visible');\r\n this._dropdownElement.style.display = 'block';\r\n\r\n this.dropdownVisibility = true;\r\n\r\n // scrolling to the selected item\r\n if (this._selectedElement) {\r\n this._selectedElement.scrollIntoView({ behavior: 'auto', block: 'center' });\r\n }\r\n\r\n // setting the focus\r\n if (this.filterBox && !this.multiSelection) {\r\n this._filterInputElement.focus();\r\n } else {\r\n this._dropdownElement.focus();\r\n }\r\n }\r\n\r\n /**\r\n * visibility status of dropdown\r\n */\r\n private _isSelectionOpen(): boolean {\r\n return this.dropdownVisibility;\r\n }\r\n\r\n /**\r\n * get the real dropdown element (for focusing and visibility controlling), the <span> not the <dropdown>\r\n */\r\n private get _dropdownElement(): any {\r\n return this.dropdownRef ? this.dropdownRef.nativeElement ? this.dropdownRef.nativeElement.firstElementChild : null : null;\r\n }\r\n\r\n /**\r\n * get the real filter element (for focusing), the <input> not the <input-filter>\r\n */\r\n private get _filterInputElement(): any {\r\n return this._dropdownElement ?\r\n this._dropdownElement.firstElementChild ? this._dropdownElement.firstElementChild.firstElementChild : null : null;\r\n }\r\n\r\n /**\r\n * get the HTMLElement of selected item, for doing (scrollIntoView) scrolling to the selected item\r\n */\r\n private get _selectedElement(): HTMLElement {\r\n const selectedItem = getFirstSelectedItem(this.items);\r\n return selectedItem ? document.getElementById(selectedItem.id) as HTMLElement : undefined;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ItemComponent } from './item/item.component';\r\nimport { GroupItemComponent } from './group-item/group-item.component';\r\nimport { InputFilterComponent } from './filter/input-filter.component';\r\nimport { AnchorComponent } from './anchor/anchor.component';\r\nimport { DropdownComponent } from './dropdown/dropdown.component';\r\nimport { DropdownListComponent } from './dropdown-list.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n DropdownListComponent,\r\n ItemComponent,\r\n GroupItemComponent,\r\n InputFilterComponent,\r\n AnchorComponent,\r\n DropdownComponent\r\n ],\r\n exports: [ DropdownListComponent],\r\n imports: [ CommonModule, FormsModule ],\r\n providers: [],\r\n bootstrap: [],\r\n})\r\nexport class DropdownListModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.InputFilterComponent","i2.GroupItemComponent","i3.ItemComponent","i4","i1.AnchorComponent","i2.DropdownComponent"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-dropdown-list.mjs","sources":["../../src/ngx-dropdown-list/utils/util.ts","../../src/ngx-dropdown-list/anchor/anchor.component.ts","../../src/ngx-dropdown-list/filter/input-filter.component.ts","../../src/ngx-dropdown-list/group-item/group-item.component.ts","../../src/ngx-dropdown-list/item/item.component.ts","../../src/ngx-dropdown-list/dropdown/dropdown.component.ts","../../src/ngx-dropdown-list/dropdown-list.component.ts","../../src/ngx-dropdown-list/dropdown-list.module.ts","../../ngx-dropdown-list.ts"],"sourcesContent":["/**\r\n * check whether the provided items contains group\r\n */\r\nexport function hasGroup(items): boolean {\r\n return items ? (items.find(item => item.group) != null) : false;\r\n}\r\n\r\n/**\r\n * clear all selections from the provide items.\r\n * @param items the dropdown items, can be group or item\r\n */\r\nexport function clearAllSelection(items: any): void {\r\n if (hasGroup(items)) {\r\n for (const groupItem of items) {\r\n if (groupItem.items) {\r\n groupItem.items.filter(item => item.selected).forEach(item => item.selected = false);\r\n }\r\n }\r\n } else {\r\n // clear the selection of previous selected item\r\n items.filter(item => item.selected).forEach(item => item.selected = false);\r\n }\r\n}\r\n\r\n/**\r\n * stop all propagation and default actions\r\n */\r\nexport function stopPropagationAndDefault(event: Event): void {\r\n event.stopImmediatePropagation();\r\n event.stopPropagation();\r\n event.preventDefault();\r\n}\r\n\r\n/**\r\n * check whether the provided value is number of not\r\n */\r\nexport function isNumber(value: any): boolean {\r\n return !(value == null || isNaN(value) || value.length === 0);\r\n}\r\n\r\n/**\r\n * get the selected item from the items list (including item and group)\r\n */\r\nexport function getFirstSelectedItem(items: any): any {\r\n if (!items) {\r\n return undefined;\r\n }\r\n let selectedItem;\r\n if (hasGroup(items)) {\r\n for (const item of items) {\r\n selectedItem = item.items ? item.items.find(subItem => subItem.selected) : undefined;\r\n if (selectedItem) {\r\n break;\r\n }\r\n }\r\n } else {\r\n selectedItem = items ? items.find(item => item.selected) : undefined;\r\n }\r\n return selectedItem;\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport {stopPropagationAndDefault, isNumber} from '../utils/util';\r\nimport {DecimalPipe} from '@angular/common';\r\n\r\n@Component({\r\n selector: 'anchor',\r\n template: `\r\n <span #anchor tabindex=\"2\" [ngClass]=\"anchorClass\" (window:resize)=\"onResize()\"\r\n (mousedown)=\"onAnchorClick($event)\" (blur)=\"onAnchorBlur($event)\"> {{anchorDisplayText}}\r\n <span #selectionClearance class=\"selection-clearance\" (mousedown)=\"onClearanceClick($event)\" *ngIf=\"showClearanceFlag\">&times;</span>\r\n </span>\r\n `,\r\n styleUrls: ['./anchor.component.scss'],\r\n providers: [DecimalPipe]\r\n})\r\n\r\nexport class AnchorComponent {\r\n /**\r\n * Child element reference of anchor\r\n */\r\n @ViewChild('anchor', { read: ElementRef }) anchorRef: ElementRef;\r\n\r\n /**\r\n * bind to [placeHolder] for displaying the place holder string of the anchor.\r\n */\r\n @Input() placeHolder: string;\r\n /**\r\n * bind to [checkbox] for checking whether the clearance flag should be shown or not.\r\n */\r\n @Input() checkbox = false;\r\n /**\r\n * bind to [suffixText] for displaying the suffix of the selected text of anchor\r\n */\r\n @Input() suffixText: string;\r\n /**\r\n * bind to [allowClear] for enabling the clearance (clearance is not avaiable when checkbox is enabled)\r\n */\r\n @Input() allowClear = true;\r\n /**\r\n * bind to [formatNumber] for show formatted number text\r\n */\r\n @Input() formatNumber: boolean;\r\n /**\r\n * bind to [selectedText] for displaying the selected text on anchor\r\n */\r\n @Input() selectedText: any;\r\n /**\r\n * bind to [openStatus], it's the visibility status of dropdown, for showing the arrow on anchor\r\n */\r\n @Input() openStatus = false;\r\n /**\r\n * bind to [disabled] for disabling the anchor\r\n */\r\n @Input() disabled = false;\r\n /**\r\n * will be triggered when clicking the anchor\r\n */\r\n @Output() anchorClick = new EventEmitter<any>();\r\n /**\r\n * will be triggered when clicking the clearance\r\n */\r\n @Output() clearanceClick = new EventEmitter<any>();\r\n\r\n /**\r\n * length of anchor element, used for calculate the string length of the anchor displayed text.\r\n */\r\n anchorLength: number;\r\n\r\n constructor(private _decimalPipe: DecimalPipe) {}\r\n\r\n /**\r\n * flag for showing the clearance flag\r\n */\r\n get showClearanceFlag(): boolean {\r\n return !this.checkbox && this.selectedText && this.allowClear;\r\n }\r\n\r\n /**\r\n * the text displays on anchor\r\n */\r\n get anchorDisplayText(): string {\r\n let anchorDisplayText = this.selectedText ? (this.formatNumber ? (isNumber(this.selectedText) ?\r\n this._decimalPipe.transform(this.selectedText, '1.0-2') : this.selectedText) :\r\n this.selectedText) + (this.suffixText ? this.suffixText : '') : this.placeHolder;\r\n\r\n let charLength = 1;\r\n if (this.showClearanceFlag && this.anchorLength > 0) {\r\n charLength = Math.floor((this.anchorLength - 50) / 7);\r\n } else {\r\n charLength = Math.floor((this.anchorLength - 50) / 7);\r\n }\r\n\r\n if (anchorDisplayText.length > charLength) {\r\n anchorDisplayText = anchorDisplayText.slice(0, charLength - 2) + '...';\r\n }\r\n return anchorDisplayText;\r\n }\r\n\r\n /**\r\n * anchor CSS class\r\n */\r\n get anchorClass(): string {\r\n let anchorClassStatusPart;\r\n let anchorClassFontColor;\r\n if (this.disabled) {\r\n anchorClassStatusPart = 'selection-anchor-disabled';\r\n anchorClassFontColor = 'place-holder';\r\n } else {\r\n if (this.openStatus) {\r\n anchorClassStatusPart = 'selection-anchor-open';\r\n } else {\r\n anchorClassStatusPart = 'selection-anchor-close';\r\n }\r\n if (this.selectedText != null) {\r\n anchorClassFontColor = 'selected-item';\r\n } else {\r\n anchorClassFontColor = 'place-holder';\r\n }\r\n }\r\n return `${anchorClassStatusPart} ${anchorClassFontColor}`;\r\n }\r\n\r\n /**\r\n * triggered when clicking the anchor\r\n */\r\n onAnchorClick(event: Event): void {\r\n this.anchorClick.emit(event);\r\n }\r\n\r\n /**\r\n * triggered with (blur) of anchor\r\n */\r\n onAnchorBlur(event: Event): void {\r\n stopPropagationAndDefault(event);\r\n }\r\n\r\n /**\r\n * triggered when clicking the clearance\r\n */\r\n onClearanceClick(event: Event): void {\r\n this.clearanceClick.emit(event);\r\n }\r\n\r\n /**\r\n * triggered when resizing, get the clientWidth of anchor\r\n */\r\n onResize() {\r\n this.anchorLength = this.anchorRef ? this.anchorRef.nativeElement ? this.anchorRef.nativeElement.clientWidth : 0 : 0;\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'input-filter',\r\n template: `\r\n <input type=\"text\" class=\"filter-box\" [(ngModel)]=\"filterValue\" (input)=\"onChange()\" (blur)=\"onFilterTextBlur($event)\">\r\n `,\r\n styleUrls: ['./input-filter.component.scss']\r\n})\r\n\r\nexport class InputFilterComponent {\r\n /**\r\n * bind to [filterValue], the value of the filter\r\n */\r\n @Input() filterValue: string;\r\n /**\r\n * bind to [inputFilterBlur], emits with (blur) of filter input box\r\n */\r\n @Output() inputFilterBlur = new EventEmitter<string>();\r\n /**\r\n * bind to [filterValueChange], for 2-way binding of filterValue\r\n */\r\n @Output() filterValueChange = new EventEmitter<string>();\r\n\r\n /**\r\n * triggers with (blur) event, emits the (inputFilterBlur) event\r\n */\r\n onFilterTextBlur(event) {\r\n this.inputFilterBlur.emit(event);\r\n }\r\n\r\n /**\r\n * triggers with (input) event, emits the (filterValueChange) event for 2-way binding of filterValue\r\n */\r\n onChange() {\r\n this.filterValueChange.emit(this.filterValue);\r\n }\r\n}\r\n","import {Component, Input} from '@angular/core';\r\nimport {SelectionGroupItems} from '../types';\r\n\r\n@Component({\r\n selector: 'group-item',\r\n template: `\r\n <label class=\"dropdown-item dropdown-item-group\" (mousedown)=\"onItemGroupClick($event)\">{{item.group}}</label>\r\n `,\r\n styleUrls: ['./group-item.component.scss']\r\n})\r\n\r\nexport class GroupItemComponent {\r\n /**\r\n * bind to [item], the group item of dropdown\r\n */\r\n @Input() item: SelectionGroupItems;\r\n\r\n /**\r\n * prevent all clicking event from happening\r\n */\r\n onItemGroupClick(event) {\r\n event.stopImmediatePropagation();\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\r\nimport {SelectionItem} from '../types';\r\nimport {isNumber} from '../utils/util';\r\n\r\n@Component({\r\n selector: 'item',\r\n template: `\r\n <label [class.container-checkbox]=\"checkbox\"\r\n [class.container-selection]=\"!checkbox && !item.selected\"\r\n [class.container-selection-selected]=\"!checkbox && item.selected\"\r\n [id]=\"item.id\" (mousedown)=\"onItemClick(item)\">\r\n {{needFormatNumber(item.text)? (item.text | number:'1.0-2') : item.text}}{{suffixText? suffixText : ''}}\r\n <ng-container *ngIf=\"checkbox\">\r\n <input type='checkbox' [id]=\"'checkbox-'+item.text\" (change)=\"onCheckStatusChange(item)\" [checked]=\"item.selected\">\r\n <span class=\"checkmark\" [id]=\"'checkmark-'+item.text\"></span>\r\n </ng-container>\r\n </label>`,\r\n styleUrls: ['./item.component.scss']\r\n})\r\n\r\nexport class ItemComponent {\r\n /**\r\n * bind to [checkbox], the flag of checkbox mode\r\n */\r\n @Input() checkbox: boolean;\r\n /**\r\n * bind to [item], the dropdown option item\r\n */\r\n @Input() item: SelectionItem;\r\n /**\r\n * bind to [formatNumber], the flag for formatting the number\r\n */\r\n @Input() formatNumber = false;\r\n /**\r\n * bind to [suffixText], the suffixText that will be displayed in the dropdown\r\n */\r\n @Input() suffixText: string;\r\n /**\r\n * bind to [itemClick] event, triggers when clicking the item of dropdown\r\n */\r\n @Output() itemClick = new EventEmitter<string>();\r\n /**\r\n * bind to [checkStatusChange] event, triggers when check status is changed in checkbox mode.\r\n */\r\n @Output() checkStatusChange = new EventEmitter<string>();\r\n\r\n /**\r\n * check whether needs to format number for the provided text\r\n */\r\n needFormatNumber(value: any): boolean {\r\n return isNumber(value) && this.formatNumber;\r\n }\r\n\r\n /**\r\n * triggered when clicking the item, emits the [itemClick] event\r\n */\r\n onItemClick(item) {\r\n this.itemClick.emit(item);\r\n }\r\n\r\n /**\r\n * triggered when checking status changed in checkbox mode, emits the [checkStatusChange] event\r\n */\r\n onCheckStatusChange(item) {\r\n this.checkStatusChange.emit(item);\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewChild} from '@angular/core';\r\nimport {clearAllSelection, getFirstSelectedItem, hasGroup, stopPropagationAndDefault} from '../utils/util';\r\n\r\n@Component({\r\n selector: 'dropdown',\r\n template: `\r\n <span #dropdown class=\"dropdown\" tabindex=\"3\" (mousedown)=\"onItemsClick($event)\" (blur)=\"onItemsBlur($event)\" *ngIf=\"!disabled\" >\r\n <input-filter #filterInput tabindex=\"4\" *ngIf=\"filterBox && !checkbox\" [(filterValue)]=\"filterValue\" (inputFilterBlur)=\"onFilterTextBlur($event)\"></input-filter>\r\n <span #selectionOptions [ngClass]=\"optionsClass\">\r\n <ng-container *ngFor=\"let item of itemsValues\" >\r\n <ng-container *ngIf=\"item && item.group\">\r\n <group-item [item]=\"item\"></group-item>\r\n <item *ngFor=\"let subItem of item.items\" (itemClick)=\"onItemClick(subItem)\" (checkStatusChange)=\"toggleSelection(subItem)\"\r\n [item]=\"subItem\" [checkbox]=\"checkbox\" [formatNumber]=\"formatNumber\" [suffixText]=\"suffixText\">\r\n </item>\r\n </ng-container>\r\n <ng-container *ngIf=\"item && !item.group\">\r\n <item (itemClick)=\"onItemClick(item)\" (checkStatusChange)=\"toggleSelection(item)\"\r\n [item]=\"item\" [checkbox]=\"checkbox\" [formatNumber]=\"formatNumber\" [suffixText]=\"suffixText\">\r\n </item>\r\n </ng-container>\r\n </ng-container>\r\n </span>\r\n </span>\r\n `,\r\n styleUrls: ['./dropdown.component.scss']\r\n})\r\n\r\nexport class DropdownComponent implements OnChanges {\r\n /**\r\n * Child element reference of dropdown\r\n */\r\n @ViewChild('dropdown', { read: ElementRef }) dropdownRef: ElementRef;\r\n /**\r\n * Child element reference of filter input text\r\n */\r\n @ViewChild('filterInput', { read: ElementRef }) filterInputRef: ElementRef;\r\n /**\r\n * bind to [placeHolder] for displaying the place holder string of the anchor.\r\n */\r\n @Input() placeHolder: string;\r\n /**\r\n * bind to [items] for the options/groups in the dropdown\r\n */\r\n @Input() items: any[];\r\n /**\r\n * bind to [checkbox], the flag for multi-select (checkbox) mode.\r\n */\r\n @Input() checkbox = false;\r\n /**\r\n * bind to [selectedValue] for the value of the selected option from dropdown\r\n */\r\n @Input() selectedValue: any;\r\n /**\r\n * bind to [filterBox] for displaying the filter input text box\r\n */\r\n @Input() filterBox = false;\r\n /**\r\n * bind to [suffixText] for displaying the suffix of the selected text of anchor\r\n */\r\n @Input() suffixText: string;\r\n /**\r\n * bind to [disabled] for disabling the dropdown\r\n */\r\n @Input() disabled: boolean;\r\n /**\r\n * bind to [allowClear] for enabling the clearance (clearance is not avaiable when checkbox is enabled)\r\n */\r\n @Input() allowClear = true;\r\n /**\r\n * bind to [formatNumber] for show formatted number text\r\n */\r\n @Input() formatNumber = false;\r\n /**\r\n * for 2-way binding of [selectedValue]\r\n */\r\n @Output() selectedValueChange = new EventEmitter<string>(true);\r\n /**\r\n * [selectionChange] event that will be triggered when changing of the selection\r\n */\r\n @Output() selectionChange = new EventEmitter<any>(true);\r\n /**\r\n * [dropdownBlur] event that will be triggered with (blur) of dropdown\r\n */\r\n @Output() dropdownBlur = new EventEmitter<any>();\r\n /**\r\n * [itemClick] event that will be triggered when clicking the option of dropdown\r\n */\r\n @Output() itemClick = new EventEmitter<any>();\r\n /**\r\n * filter value\r\n */\r\n filterValue: string;\r\n /**\r\n * flag of clicking dropdown. It's to prevent (blur) of dropdown from happening in checkbox mode.\r\n */\r\n private _clickedItems = false;\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.items) {\r\n this._checkSelectionChange(changes.items.previousValue, changes.items.currentValue);\r\n }\r\n }\r\n\r\n /**\r\n * triggered when clicking the dropdown\r\n */\r\n onItemsClick(event: any): void {\r\n if (event.offsetX > (event.target.clientWidth + event.target.clientLeft)) {\r\n stopPropagationAndDefault(event);\r\n return;\r\n }\r\n // should ignore clicking on filter\r\n if (this.checkbox && event.target.type !== 'text') {\r\n this._clickedItems = true;\r\n }\r\n }\r\n\r\n /**\r\n * triggered when clicking the item\r\n */\r\n onItemClick(currentItem): void {\r\n if (!this.checkbox) {\r\n this.selectedValue = this._getItemValue(currentItem); // currentItem.value != null ? currentItem.value : currentItem.text;\r\n clearAllSelection(this.items);\r\n // set the selection of current one\r\n currentItem.selected = true;\r\n this.itemClick.emit(currentItem);\r\n this._onSelectionChange(this.selectedValue);\r\n }\r\n }\r\n\r\n /**\r\n * triggers with (blur) event of filter input box\r\n */\r\n onFilterTextBlur(event): void {\r\n this.dropdownBlur.emit(event);\r\n }\r\n\r\n /**\r\n * triggers with (blur) event of dropdown\r\n */\r\n onItemsBlur(event): void {\r\n if (this.checkbox) {\r\n if (this._clickedItems) {\r\n // in checkbox mode, this blur event will be ignored when clicking the dropdown (check the checkbox)\r\n event.target.focus();\r\n this._clickedItems = false;\r\n return;\r\n }\r\n }\r\n this.dropdownBlur.emit(event);\r\n }\r\n\r\n /**\r\n * toggle the selection when checking status changed (in checkbox mode)\r\n */\r\n toggleSelection(item: {id: string, value?: any, text: any, selected?: boolean}): void {\r\n item.selected = !item.selected;\r\n this.selectionChange.emit(this._getItemValue(item)); // item.value != null ? item.value : item.text);\r\n }\r\n\r\n /**\r\n * items values list after applying the filter\r\n */\r\n get itemsValues(): any[] {\r\n let filter;\r\n if (this.filterValue) {\r\n filter = this.filterValue.toUpperCase();\r\n }\r\n\r\n if (filter == null) {\r\n return this.items;\r\n }\r\n if (!this.items || this.items.length === 0) {\r\n return [];\r\n }\r\n if (hasGroup(this.items)) {\r\n const items = [];\r\n this.items.forEach(groupItem => {\r\n if (groupItem.group != null && groupItem.group.toString().toUpperCase().includes(filter)) {\r\n // if groupItem contains the filters, the groupItem needs to be displayed as well\r\n items.push(groupItem);\r\n } else {\r\n const filteredItems = groupItem.items.filter(item => item.text != null && item.text.toString().toUpperCase().includes(filter));\r\n if (filteredItems && filteredItems.length > 0) {\r\n items.push({group: groupItem.group, items: filteredItems});\r\n }\r\n }\r\n });\r\n return items;\r\n } else {\r\n return this.items.filter(item => (item.text != null && item.text.toString().toUpperCase().includes(filter)));\r\n }\r\n }\r\n /**\r\n * options CSS class\r\n */\r\n get optionsClass(): string {\r\n if (this.filterBox && !this.checkbox) {\r\n return 'options with-filter';\r\n } else {\r\n return 'options no-filter';\r\n }\r\n }\r\n\r\n /**\r\n * get item value. Return text if value is not available\r\n */\r\n private _getItemValue(item): any {\r\n return item ? item.value != null ? item.value : item.text : undefined;\r\n }\r\n\r\n /**\r\n * selection changed, emits events: (selectedValueChange) and (selectionChange);\r\n */\r\n private _onSelectionChange(value) {\r\n this.selectedValueChange.emit(value);\r\n this.selectionChange.emit(value);\r\n }\r\n\r\n /**\r\n * check whether the selection is changed. Emits relative events when if changed.\r\n */\r\n private _checkSelectionChange(previousValue, currentValue) {\r\n const curSelectedItem = getFirstSelectedItem(currentValue);\r\n const lastSelectedItem = getFirstSelectedItem(previousValue);\r\n const curSelectedItemId = curSelectedItem ? curSelectedItem.id : undefined;\r\n const lastSelectedItemId = lastSelectedItem ? lastSelectedItem.id : undefined;\r\n if (curSelectedItemId !== lastSelectedItemId && !this.checkbox) {\r\n this._onSelectionChange(this._getItemValue(curSelectedItem));\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, Input, Output, ViewChild} from '@angular/core';\r\nimport {clearAllSelection, getFirstSelectedItem, stopPropagationAndDefault} from './utils/util';\r\n\r\n@Component({\r\n selector: 'ngx-dropdown-list',\r\n template: `\r\n <span class=\"ngx-select\">\r\n <anchor (anchorClick)=\"onAnchorClick($event)\" (clearanceClick)=\"onClearanceClick($event)\"\r\n [checkbox]=\"multiSelection\"\r\n [formatNumber]=\"formatNumber\"\r\n [suffixText]=\"suffixText\"\r\n [placeHolder]=\"placeHolder\"\r\n [allowClear]=\"allowClear\"\r\n [openStatus]=\"dropdownVisibility\"\r\n [selectedText]=\"selectedText\"\r\n [disabled]=\"disabled\">\r\n </anchor>\r\n <dropdown #dropdown (dropdownBlur) = \"onItemsBlur()\" (selectionChange)=\"onSelectionChange($event)\"\r\n [items]=\"items\"\r\n [checkbox]=\"multiSelection\"\r\n [filterBox]=\"filterBox\"\r\n [formatNumber]=\"formatNumber\"\r\n [suffixText]=\"suffixText\"\r\n [(selectedValue)]=\"selectedValue\"\r\n (itemClick) = \"onItemClick()\"\r\n [disabled]=\"disabled\">\r\n </dropdown>\r\n </span>\r\n `,\r\n styleUrls: ['./dropdown-list.component.scss'],\r\n})\r\n\r\nexport class DropdownListComponent {\r\n @ViewChild('dropdown', { read: ElementRef }) dropdownRef: ElementRef;\r\n\r\n /**\r\n * bind to [placeHolder] for displaying the place holder string of the anchor.\r\n */\r\n @Input() placeHolder: string;\r\n /**\r\n * bind to [items] for the options/groups in the dropdown\r\n */\r\n @Input() items: any[];\r\n /**\r\n * bind to [multiSelection], the flag for multi-select (checkbox) mode.\r\n */\r\n @Input() multiSelection = false;\r\n /**\r\n * bind to [selectedValue] for the value of the selected option from dropdown\r\n */\r\n @Input() selectedValue: any;\r\n /**\r\n * bind to [filterBox] for displaying the filter input text box\r\n */\r\n @Input() filterBox = false;\r\n /**\r\n * bind to [suffixText] for displaying the suffix of the selected text of anchor\r\n */\r\n @Input() suffixText: string;\r\n /**\r\n * bind to [disabled] for disabling the dropdown\r\n */\r\n @Input() disabled: boolean;\r\n /**\r\n * bind to [allowClear] for enabling the clearance (clearance is not avaiable when checkbox is enabled)\r\n */\r\n @Input() allowClear = true;\r\n /**\r\n * bind to [formatNumber] for show formatted number text\r\n */\r\n @Input() formatNumber = false;\r\n /**\r\n * for 2-way binding of [selectedValue], using async event to\r\n * prevent \"ExpressionChangedAfterItHasBeenCheckedError\".\r\n */\r\n @Output() selectedValueChange = new EventEmitter<string>(true);\r\n /**\r\n * [selectionChange] event that will be triggered when changing of the selection.\r\n * Using async event to prevent \"ExpressionChangedAfterItHasBeenCheckedError\".\r\n */\r\n @Output() selectionChange = new EventEmitter<any>(true);\r\n\r\n /**\r\n * visibility flag of drop down\r\n */\r\n dropdownVisibility = false;\r\n\r\n /**\r\n * current selected text\r\n */\r\n get selectedText(): any {\r\n if (!this.multiSelection) {\r\n const selectedItem = getFirstSelectedItem(this.items);\r\n return selectedItem ? selectedItem.text : undefined;\r\n }\r\n }\r\n\r\n /**\r\n * triggered with (selectionChange) event, emits (selectedValueChange) and (selectionChange)\r\n */\r\n onSelectionChange(event) {\r\n this.selectedValueChange.emit(event);\r\n this.selectionChange.emit(event);\r\n }\r\n\r\n /**\r\n * triggered with (anchorClick) event, controlling the \"open\" and \"close\" of the dropdown\r\n */\r\n onAnchorClick(event: Event): void {\r\n if (this.disabled) {\r\n stopPropagationAndDefault(event);\r\n return;\r\n }\r\n if (this._isSelectionOpen()) {\r\n this._hideItemList();\r\n } else {\r\n this._showItemsList();\r\n }\r\n stopPropagationAndDefault(event);\r\n }\r\n\r\n /**\r\n * triggered with (itemClick) event, closes the dropdown in non-checkbox mode\r\n */\r\n onItemClick(): void {\r\n if (!this.multiSelection) {\r\n this._hideItemList();\r\n }\r\n }\r\n\r\n /**\r\n * triggered with (clearanceClick) event, clearing all selections\r\n * and emits (selectedValueChange) and (selectionChange) event for empty value\r\n */\r\n onClearanceClick(event: Event): void {\r\n if (!this.multiSelection) {\r\n this.selectedValue = void 0;\r\n this.selectedValueChange.emit(undefined);\r\n this.selectionChange.emit(undefined);\r\n clearAllSelection(this.items);\r\n }\r\n stopPropagationAndDefault(event);\r\n }\r\n\r\n /**\r\n * triggered with (dropdownBlur) event, closes the dropdown\r\n */\r\n onItemsBlur(): void {\r\n if (this._isSelectionOpen()) {\r\n this._hideItemList();\r\n }\r\n }\r\n\r\n /**\r\n * close the dropdown\r\n */\r\n private _hideItemList(): void {\r\n // hide the dropdown element (has some problem for using CSS directly, using this as a workaround)\r\n this._dropdownElement.classList.remove('visible');\r\n this._dropdownElement.style.display = 'none';\r\n this.dropdownVisibility = false;\r\n }\r\n\r\n /**\r\n * open the dropdown\r\n */\r\n private _showItemsList(): void {\r\n // display the dropdown element (has some problem for using CSS directly, using this as a workaround)\r\n this._dropdownElement.classList.add('visible');\r\n this._dropdownElement.style.display = 'block';\r\n\r\n this.dropdownVisibility = true;\r\n\r\n // scrolling to the selected item\r\n if (this._selectedElement) {\r\n this._selectedElement.scrollIntoView({ behavior: 'auto', block: 'center' });\r\n }\r\n\r\n // setting the focus\r\n if (this.filterBox && !this.multiSelection) {\r\n this._filterInputElement.focus();\r\n } else {\r\n this._dropdownElement.focus();\r\n }\r\n }\r\n\r\n /**\r\n * visibility status of dropdown\r\n */\r\n private _isSelectionOpen(): boolean {\r\n return this.dropdownVisibility;\r\n }\r\n\r\n /**\r\n * get the real dropdown element (for focusing and visibility controlling), the <span> not the <dropdown>\r\n */\r\n private get _dropdownElement(): any {\r\n return this.dropdownRef ? this.dropdownRef.nativeElement ? this.dropdownRef.nativeElement.firstElementChild : null : null;\r\n }\r\n\r\n /**\r\n * get the real filter element (for focusing), the <input> not the <input-filter>\r\n */\r\n private get _filterInputElement(): any {\r\n return this._dropdownElement ?\r\n this._dropdownElement.firstElementChild ? this._dropdownElement.firstElementChild.firstElementChild : null : null;\r\n }\r\n\r\n /**\r\n * get the HTMLElement of selected item, for doing (scrollIntoView) scrolling to the selected item\r\n */\r\n private get _selectedElement(): HTMLElement {\r\n const selectedItem = getFirstSelectedItem(this.items);\r\n return selectedItem ? document.getElementById(selectedItem.id) as HTMLElement : undefined;\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { ItemComponent } from './item/item.component';\r\nimport { GroupItemComponent } from './group-item/group-item.component';\r\nimport { InputFilterComponent } from './filter/input-filter.component';\r\nimport { AnchorComponent } from './anchor/anchor.component';\r\nimport { DropdownComponent } from './dropdown/dropdown.component';\r\nimport { DropdownListComponent } from './dropdown-list.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n DropdownListComponent,\r\n ItemComponent,\r\n GroupItemComponent,\r\n InputFilterComponent,\r\n AnchorComponent,\r\n DropdownComponent\r\n ],\r\n exports: [ DropdownListComponent],\r\n imports: [ CommonModule, FormsModule ],\r\n providers: [],\r\n bootstrap: [],\r\n})\r\nexport class DropdownListModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i1.InputFilterComponent","i2.GroupItemComponent","i3.ItemComponent","i4","i1.AnchorComponent","i2.DropdownComponent"],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="ngx-dropdown-list" />
5
- export * from './public_api';
package/public_api.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './src/ngx-dropdown-list/index';
@@ -1,85 +0,0 @@
1
- import { ElementRef, EventEmitter } from '@angular/core';
2
- import { DecimalPipe } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- export declare class AnchorComponent {
5
- private _decimalPipe;
6
- /**
7
- * Child element reference of anchor
8
- */
9
- anchorRef: ElementRef;
10
- /**
11
- * bind to [placeHolder] for displaying the place holder string of the anchor.
12
- */
13
- placeHolder: string;
14
- /**
15
- * bind to [checkbox] for checking whether the clearance flag should be shown or not.
16
- */
17
- checkbox: boolean;
18
- /**
19
- * bind to [suffixText] for displaying the suffix of the selected text of anchor
20
- */
21
- suffixText: string;
22
- /**
23
- * bind to [allowClear] for enabling the clearance (clearance is not avaiable when checkbox is enabled)
24
- */
25
- allowClear: boolean;
26
- /**
27
- * bind to [formatNumber] for show formatted number text
28
- */
29
- formatNumber: boolean;
30
- /**
31
- * bind to [selectedText] for displaying the selected text on anchor
32
- */
33
- selectedText: any;
34
- /**
35
- * bind to [openStatus], it's the visibility status of dropdown, for showing the arrow on anchor
36
- */
37
- openStatus: boolean;
38
- /**
39
- * bind to [disabled] for disabling the anchor
40
- */
41
- disabled: boolean;
42
- /**
43
- * will be triggered when clicking the anchor
44
- */
45
- anchorClick: EventEmitter<any>;
46
- /**
47
- * will be triggered when clicking the clearance
48
- */
49
- clearanceClick: EventEmitter<any>;
50
- /**
51
- * length of anchor element, used for calculate the string length of the anchor displayed text.
52
- */
53
- anchorLength: number;
54
- constructor(_decimalPipe: DecimalPipe);
55
- /**
56
- * flag for showing the clearance flag
57
- */
58
- get showClearanceFlag(): boolean;
59
- /**
60
- * the text displays on anchor
61
- */
62
- get anchorDisplayText(): string;
63
- /**
64
- * anchor CSS class
65
- */
66
- get anchorClass(): string;
67
- /**
68
- * triggered when clicking the anchor
69
- */
70
- onAnchorClick(event: Event): void;
71
- /**
72
- * triggered with (blur) of anchor
73
- */
74
- onAnchorBlur(event: Event): void;
75
- /**
76
- * triggered when clicking the clearance
77
- */
78
- onClearanceClick(event: Event): void;
79
- /**
80
- * triggered when resizing, get the clientWidth of anchor
81
- */
82
- onResize(): void;
83
- static ɵfac: i0.ɵɵFactoryDeclaration<AnchorComponent, never>;
84
- static ɵcmp: i0.ɵɵComponentDeclaration<AnchorComponent, "anchor", never, { "placeHolder": "placeHolder"; "checkbox": "checkbox"; "suffixText": "suffixText"; "allowClear": "allowClear"; "formatNumber": "formatNumber"; "selectedText": "selectedText"; "openStatus": "openStatus"; "disabled": "disabled"; }, { "anchorClick": "anchorClick"; "clearanceClick": "clearanceClick"; }, never, never>;
85
- }
@@ -1,120 +0,0 @@
1
- import { ElementRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class DropdownComponent implements OnChanges {
4
- /**
5
- * Child element reference of dropdown
6
- */
7
- dropdownRef: ElementRef;
8
- /**
9
- * Child element reference of filter input text
10
- */
11
- filterInputRef: ElementRef;
12
- /**
13
- * bind to [placeHolder] for displaying the place holder string of the anchor.
14
- */
15
- placeHolder: string;
16
- /**
17
- * bind to [items] for the options/groups in the dropdown
18
- */
19
- items: any[];
20
- /**
21
- * bind to [checkbox], the flag for multi-select (checkbox) mode.
22
- */
23
- checkbox: boolean;
24
- /**
25
- * bind to [selectedValue] for the value of the selected option from dropdown
26
- */
27
- selectedValue: any;
28
- /**
29
- * bind to [filterBox] for displaying the filter input text box
30
- */
31
- filterBox: boolean;
32
- /**
33
- * bind to [suffixText] for displaying the suffix of the selected text of anchor
34
- */
35
- suffixText: string;
36
- /**
37
- * bind to [disabled] for disabling the dropdown
38
- */
39
- disabled: boolean;
40
- /**
41
- * bind to [allowClear] for enabling the clearance (clearance is not avaiable when checkbox is enabled)
42
- */
43
- allowClear: boolean;
44
- /**
45
- * bind to [formatNumber] for show formatted number text
46
- */
47
- formatNumber: boolean;
48
- /**
49
- * for 2-way binding of [selectedValue]
50
- */
51
- selectedValueChange: EventEmitter<string>;
52
- /**
53
- * [selectionChange] event that will be triggered when changing of the selection
54
- */
55
- selectionChange: EventEmitter<any>;
56
- /**
57
- * [dropdownBlur] event that will be triggered with (blur) of dropdown
58
- */
59
- dropdownBlur: EventEmitter<any>;
60
- /**
61
- * [itemClick] event that will be triggered when clicking the option of dropdown
62
- */
63
- itemClick: EventEmitter<any>;
64
- /**
65
- * filter value
66
- */
67
- filterValue: string;
68
- /**
69
- * flag of clicking dropdown. It's to prevent (blur) of dropdown from happening in checkbox mode.
70
- */
71
- private _clickedItems;
72
- ngOnChanges(changes: SimpleChanges): void;
73
- /**
74
- * triggered when clicking the dropdown
75
- */
76
- onItemsClick(event: any): void;
77
- /**
78
- * triggered when clicking the item
79
- */
80
- onItemClick(currentItem: any): void;
81
- /**
82
- * triggers with (blur) event of filter input box
83
- */
84
- onFilterTextBlur(event: any): void;
85
- /**
86
- * triggers with (blur) event of dropdown
87
- */
88
- onItemsBlur(event: any): void;
89
- /**
90
- * toggle the selection when checking status changed (in checkbox mode)
91
- */
92
- toggleSelection(item: {
93
- id: string;
94
- value?: any;
95
- text: any;
96
- selected?: boolean;
97
- }): void;
98
- /**
99
- * items values list after applying the filter
100
- */
101
- get itemsValues(): any[];
102
- /**
103
- * options CSS class
104
- */
105
- get optionsClass(): string;
106
- /**
107
- * get item value. Return text if value is not available
108
- */
109
- private _getItemValue;
110
- /**
111
- * selection changed, emits events: (selectedValueChange) and (selectionChange);
112
- */
113
- private _onSelectionChange;
114
- /**
115
- * check whether the selection is changed. Emits relative events when if changed.
116
- */
117
- private _checkSelectionChange;
118
- static ɵfac: i0.ɵɵFactoryDeclaration<DropdownComponent, never>;
119
- static ɵcmp: i0.ɵɵComponentDeclaration<DropdownComponent, "dropdown", never, { "placeHolder": "placeHolder"; "items": "items"; "checkbox": "checkbox"; "selectedValue": "selectedValue"; "filterBox": "filterBox"; "suffixText": "suffixText"; "disabled": "disabled"; "allowClear": "allowClear"; "formatNumber": "formatNumber"; }, { "selectedValueChange": "selectedValueChange"; "selectionChange": "selectionChange"; "dropdownBlur": "dropdownBlur"; "itemClick": "itemClick"; }, never, never>;
120
- }
@@ -1,14 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./dropdown-list.component";
3
- import * as i2 from "./item/item.component";
4
- import * as i3 from "./group-item/group-item.component";
5
- import * as i4 from "./filter/input-filter.component";
6
- import * as i5 from "./anchor/anchor.component";
7
- import * as i6 from "./dropdown/dropdown.component";
8
- import * as i7 from "@angular/common";
9
- import * as i8 from "@angular/forms";
10
- export declare class DropdownListModule {
11
- static ɵfac: i0.ɵɵFactoryDeclaration<DropdownListModule, never>;
12
- static ɵmod: i0.ɵɵNgModuleDeclaration<DropdownListModule, [typeof i1.DropdownListComponent, typeof i2.ItemComponent, typeof i3.GroupItemComponent, typeof i4.InputFilterComponent, typeof i5.AnchorComponent, typeof i6.DropdownComponent], [typeof i7.CommonModule, typeof i8.FormsModule], [typeof i1.DropdownListComponent]>;
13
- static ɵinj: i0.ɵɵInjectorDeclaration<DropdownListModule>;
14
- }
@@ -1,26 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class InputFilterComponent {
4
- /**
5
- * bind to [filterValue], the value of the filter
6
- */
7
- filterValue: string;
8
- /**
9
- * bind to [inputFilterBlur], emits with (blur) of filter input box
10
- */
11
- inputFilterBlur: EventEmitter<string>;
12
- /**
13
- * bind to [filterValueChange], for 2-way binding of filterValue
14
- */
15
- filterValueChange: EventEmitter<string>;
16
- /**
17
- * triggers with (blur) event, emits the (inputFilterBlur) event
18
- */
19
- onFilterTextBlur(event: any): void;
20
- /**
21
- * triggers with (input) event, emits the (filterValueChange) event for 2-way binding of filterValue
22
- */
23
- onChange(): void;
24
- static ɵfac: i0.ɵɵFactoryDeclaration<InputFilterComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<InputFilterComponent, "input-filter", never, { "filterValue": "filterValue"; }, { "inputFilterBlur": "inputFilterBlur"; "filterValueChange": "filterValueChange"; }, never, never>;
26
- }
@@ -1,14 +0,0 @@
1
- import { SelectionGroupItems } from '../types';
2
- import * as i0 from "@angular/core";
3
- export declare class GroupItemComponent {
4
- /**
5
- * bind to [item], the group item of dropdown
6
- */
7
- item: SelectionGroupItems;
8
- /**
9
- * prevent all clicking event from happening
10
- */
11
- onItemGroupClick(event: any): void;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<GroupItemComponent, never>;
13
- static ɵcmp: i0.ɵɵComponentDeclaration<GroupItemComponent, "group-item", never, { "item": "item"; }, {}, never, never>;
14
- }
@@ -1,2 +0,0 @@
1
- export * from './dropdown-list.component';
2
- export * from './dropdown-list.module';
@@ -1,43 +0,0 @@
1
- import { EventEmitter } from '@angular/core';
2
- import { SelectionItem } from '../types';
3
- import * as i0 from "@angular/core";
4
- export declare class ItemComponent {
5
- /**
6
- * bind to [checkbox], the flag of checkbox mode
7
- */
8
- checkbox: boolean;
9
- /**
10
- * bind to [item], the dropdown option item
11
- */
12
- item: SelectionItem;
13
- /**
14
- * bind to [formatNumber], the flag for formatting the number
15
- */
16
- formatNumber: boolean;
17
- /**
18
- * bind to [suffixText], the suffixText that will be displayed in the dropdown
19
- */
20
- suffixText: string;
21
- /**
22
- * bind to [itemClick] event, triggers when clicking the item of dropdown
23
- */
24
- itemClick: EventEmitter<string>;
25
- /**
26
- * bind to [checkStatusChange] event, triggers when check status is changed in checkbox mode.
27
- */
28
- checkStatusChange: EventEmitter<string>;
29
- /**
30
- * check whether needs to format number for the provided text
31
- */
32
- needFormatNumber(value: any): boolean;
33
- /**
34
- * triggered when clicking the item, emits the [itemClick] event
35
- */
36
- onItemClick(item: any): void;
37
- /**
38
- * triggered when checking status changed in checkbox mode, emits the [checkStatusChange] event
39
- */
40
- onCheckStatusChange(item: any): void;
41
- static ɵfac: i0.ɵɵFactoryDeclaration<ItemComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<ItemComponent, "item", never, { "checkbox": "checkbox"; "item": "item"; "formatNumber": "formatNumber"; "suffixText": "suffixText"; }, { "itemClick": "itemClick"; "checkStatusChange": "checkStatusChange"; }, never, never>;
43
- }
@@ -1,2 +0,0 @@
1
- export * from './selection-item.types';
2
- export * from './selection-group-items.types';
@@ -1,8 +0,0 @@
1
- import { SelectionItem } from './selection-item.types';
2
- /**
3
- * dropdown option group item
4
- */
5
- export interface SelectionGroupItems {
6
- group: string;
7
- items: SelectionItem[];
8
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * dropdown option item
3
- */
4
- export interface SelectionItem {
5
- id: string;
6
- value?: any;
7
- text: any;
8
- selected?: boolean;
9
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * check whether the provided items contains group
3
- */
4
- export declare function hasGroup(items: any): boolean;
5
- /**
6
- * clear all selections from the provide items.
7
- * @param items the dropdown items, can be group or item
8
- */
9
- export declare function clearAllSelection(items: any): void;
10
- /**
11
- * stop all propagation and default actions
12
- */
13
- export declare function stopPropagationAndDefault(event: Event): void;
14
- /**
15
- * check whether the provided value is number of not
16
- */
17
- export declare function isNumber(value: any): boolean;
18
- /**
19
- * get the selected item from the items list (including item and group)
20
- */
21
- export declare function getFirstSelectedItem(items: any): any;