ngx-dropdown-list 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/esm2020/ngx-dropdown-list.mjs +5 -0
- package/esm2020/public_api.mjs +2 -0
- package/esm2020/src/ngx-dropdown-list/anchor/anchor.component.mjs +149 -0
- package/esm2020/src/ngx-dropdown-list/dropdown/dropdown.component.mjs +252 -0
- package/esm2020/src/ngx-dropdown-list/dropdown-list.component.mjs +233 -0
- package/esm2020/src/ngx-dropdown-list/dropdown-list.module.mjs +38 -0
- package/esm2020/src/ngx-dropdown-list/filter/input-filter.component.mjs +44 -0
- package/esm2020/src/ngx-dropdown-list/group-item/group-item.component.mjs +25 -0
- package/esm2020/src/ngx-dropdown-list/index.mjs +3 -0
- package/esm2020/src/ngx-dropdown-list/item/item.component.mjs +77 -0
- package/esm2020/src/ngx-dropdown-list/types/index.mjs +3 -0
- package/esm2020/src/ngx-dropdown-list/types/selection-group-items.types.mjs +2 -0
- package/esm2020/src/ngx-dropdown-list/types/selection-item.types.mjs +2 -0
- package/esm2020/src/ngx-dropdown-list/utils/util.mjs +59 -0
- package/fesm2015/ngx-dropdown-list.mjs +854 -0
- package/fesm2015/ngx-dropdown-list.mjs.map +1 -0
- package/fesm2020/ngx-dropdown-list.mjs +854 -0
- package/fesm2020/ngx-dropdown-list.mjs.map +1 -0
- package/ngx-dropdown-list.d.ts +1 -5
- package/package.json +26 -48
- package/src/ngx-dropdown-list/anchor/anchor.component.d.ts +6 -3
- package/src/ngx-dropdown-list/dropdown/dropdown.component.d.ts +5 -2
- package/src/ngx-dropdown-list/dropdown-list.component.d.ts +7 -4
- package/src/ngx-dropdown-list/dropdown-list.module.d.ts +12 -0
- package/src/ngx-dropdown-list/filter/input-filter.component.d.ts +3 -0
- package/src/ngx-dropdown-list/group-item/group-item.component.d.ts +3 -0
- package/src/ngx-dropdown-list/item/item.component.d.ts +3 -0
- package/bundles/ngx-dropdown-list.umd.js +0 -1212
- package/bundles/ngx-dropdown-list.umd.js.map +0 -1
- package/bundles/ngx-dropdown-list.umd.min.js +0 -2
- package/bundles/ngx-dropdown-list.umd.min.js.map +0 -1
- package/esm2015/ngx-dropdown-list.js +0 -14
- package/esm2015/public_api.js +0 -6
- package/esm2015/src/ngx-dropdown-list/anchor/anchor.component.js +0 -226
- package/esm2015/src/ngx-dropdown-list/dropdown/dropdown.component.js +0 -351
- package/esm2015/src/ngx-dropdown-list/dropdown-list.component.js +0 -290
- package/esm2015/src/ngx-dropdown-list/dropdown-list.module.js +0 -32
- package/esm2015/src/ngx-dropdown-list/filter/input-filter.component.js +0 -64
- package/esm2015/src/ngx-dropdown-list/group-item/group-item.component.js +0 -37
- package/esm2015/src/ngx-dropdown-list/index.js +0 -7
- package/esm2015/src/ngx-dropdown-list/item/item.component.js +0 -104
- package/esm2015/src/ngx-dropdown-list/types/index.js +0 -7
- package/esm2015/src/ngx-dropdown-list/types/selection-group-items.types.js +0 -16
- package/esm2015/src/ngx-dropdown-list/types/selection-item.types.js +0 -20
- package/esm2015/src/ngx-dropdown-list/utils/util.js +0 -101
- package/esm5/ngx-dropdown-list.js +0 -14
- package/esm5/public_api.js +0 -6
- package/esm5/src/ngx-dropdown-list/anchor/anchor.component.js +0 -272
- package/esm5/src/ngx-dropdown-list/dropdown/dropdown.component.js +0 -420
- package/esm5/src/ngx-dropdown-list/dropdown-list.component.js +0 -361
- package/esm5/src/ngx-dropdown-list/dropdown-list.module.js +0 -36
- package/esm5/src/ngx-dropdown-list/filter/input-filter.component.js +0 -79
- package/esm5/src/ngx-dropdown-list/group-item/group-item.component.js +0 -47
- package/esm5/src/ngx-dropdown-list/index.js +0 -7
- package/esm5/src/ngx-dropdown-list/item/item.component.js +0 -120
- package/esm5/src/ngx-dropdown-list/types/index.js +0 -7
- package/esm5/src/ngx-dropdown-list/types/selection-group-items.types.js +0 -16
- package/esm5/src/ngx-dropdown-list/types/selection-item.types.js +0 -20
- package/esm5/src/ngx-dropdown-list/utils/util.js +0 -124
- package/fesm2015/ngx-dropdown-list.js +0 -930
- package/fesm2015/ngx-dropdown-list.js.map +0 -1
- package/fesm5/ngx-dropdown-list.js +0 -1177
- package/fesm5/ngx-dropdown-list.js.map +0 -1
- package/ngx-dropdown-list-1.1.2.tgz +0 -0
- package/ngx-dropdown-list.metadata.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-dropdown-list.js.map","sources":["ng://ngx-dropdown-list/src/ngx-dropdown-list/utils/util.ts","ng://ngx-dropdown-list/src/ngx-dropdown-list/dropdown-list.component.ts","ng://ngx-dropdown-list/src/ngx-dropdown-list/item/item.component.ts","ng://ngx-dropdown-list/src/ngx-dropdown-list/group-item/group-item.component.ts","ng://ngx-dropdown-list/src/ngx-dropdown-list/filter/input-filter.component.ts","ng://ngx-dropdown-list/src/ngx-dropdown-list/anchor/anchor.component.ts","ng://ngx-dropdown-list/src/ngx-dropdown-list/dropdown/dropdown.component.ts","ng://ngx-dropdown-list/src/ngx-dropdown-list/dropdown-list.module.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 {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: 'instant', 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 {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, 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\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, 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\">×</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, 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 { 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"],"names":["tslib_1.__values"],"mappings":"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"}
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"DropdownListComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"ngx-dropdown-list","template":"\n <span class=\"ngx-select\">\n <anchor (anchorClick)=\"onAnchorClick($event)\" (clearanceClick)=\"onClearanceClick($event)\"\n [checkbox]=\"multiSelection\"\n [formatNumber]=\"formatNumber\"\n [suffixText]=\"suffixText\"\n [placeHolder]=\"placeHolder\"\n [allowClear]=\"allowClear\"\n [openStatus]=\"dropdownVisibility\"\n [selectedText]=\"selectedText\"\n [disabled]=\"disabled\">\n </anchor>\n <dropdown #dropdown (dropdownBlur) = \"onItemsBlur()\" (selectionChange)=\"onSelectionChange($event)\"\n [items]=\"items\"\n [checkbox]=\"multiSelection\"\n [filterBox]=\"filterBox\"\n [formatNumber]=\"formatNumber\"\n [suffixText]=\"suffixText\"\n [(selectedValue)]=\"selectedValue\"\n (itemClick) = \"onItemClick()\"\n [disabled]=\"disabled\">\n </dropdown>\n </span>\n ","styles":[":host *,:host :after,:host :before{font-size:inherit;font-weight:inherit;font-family:inherit;box-sizing:inherit;background:inherit}:host .ngx-select{border-radius:4px;font-size:14px;position:relative;display:inline-block;width:100%;height:34px;background:#fff;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}"]}]}],"members":{"dropdownRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":33,"character":3},"arguments":["dropdown",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":33,"character":33}}]}]}],"placeHolder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"multiSelection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":46,"character":3}}]}],"selectedValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":50,"character":3}}]}],"filterBox":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"suffixText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":58,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3}}]}],"allowClear":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"formatNumber":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"selectedValueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":75,"character":3}}]}],"selectionChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"onSelectionChange":[{"__symbolic":"method"}],"onAnchorClick":[{"__symbolic":"method"}],"onItemClick":[{"__symbolic":"method"}],"onClearanceClick":[{"__symbolic":"method"}],"onItemsBlur":[{"__symbolic":"method"}],"_hideItemList":[{"__symbolic":"method"}],"_showItemsList":[{"__symbolic":"method"}],"_isSelectionOpen":[{"__symbolic":"method"}]}},"DropdownListModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"DropdownListComponent"},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}],"exports":[{"__symbolic":"reference","name":"DropdownListComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":20,"character":13},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":20,"character":27}],"providers":[],"bootstrap":[]}]}],"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"item","template":"\n <label [class.container-checkbox]=\"checkbox\"\n [class.container-selection]=\"!checkbox && !item.selected\"\n [class.container-selection-selected]=\"!checkbox && item.selected\"\n [id]=\"item.id\" (mousedown)=\"onItemClick(item)\">\n {{needFormatNumber(item.text)? (item.text | number:'1.0-2') : item.text}}{{suffixText? suffixText : ''}}\n <ng-container *ngIf=\"checkbox\">\n <input type='checkbox' [id]=\"'checkbox-'+item.text\" (change)=\"onCheckStatusChange(item)\" [checked]=\"item.selected\">\n <span class=\"checkmark\" [id]=\"'checkmark-'+item.text\"></span>\n </ng-container>\n </label>","styles":["*,:after,:before{font-size:inherit;font-weight:inherit;font-family:inherit;box-sizing:inherit;background:inherit}.container-checkbox,.container-selection,.container-selection-selected,.dropdown-item{background:0 0;display:list-item;list-style:none;position:relative;width:100%;height:auto;cursor:pointer;color:#495057;padding-bottom:5px;padding-top:5px;padding-left:12px}.container-checkbox{padding-left:35px}.container-checkbox input{position:absolute;opacity:0;cursor:pointer}.container-checkbox .checkmark{position:absolute;top:5px;left:10px;height:15px;width:15px;border:1px solid rgba(0,0,0,.3);background-color:#fff;border-radius:4px}.container-checkbox .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.container-checkbox:hover input~.checkmark{background-color:#ccc}.container-checkbox input:checked~.checkmark{background-color:#2196f3;border:1px solid #2196f3}.container-checkbox input:checked~.checkmark:after{display:block}.container-checkbox:hover{color:#66afe9}.container-selection,.container-selection-selected{padding-left:12px}.container-selection-selected:hover,.container-selection:hover{color:#495057;background:#e0ffff}.container-selection-selected{color:#fff;background:#6495ed}"]}]}],"members":{"checkbox":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"formatNumber":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"suffixText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"itemClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"checkStatusChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":44,"character":3}}]}],"needFormatNumber":[{"__symbolic":"method"}],"onItemClick":[{"__symbolic":"method"}],"onCheckStatusChange":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"group-item","template":"\n <label class=\"dropdown-item dropdown-item-group\" (mousedown)=\"onItemGroupClick($event)\">{{item.group}}</label>\n ","styles":["*,:after,:before{font-size:inherit;font-weight:inherit;font-family:inherit;box-sizing:inherit;background:inherit}.container-checkbox,.container-selection,.container-selection-selected,.dropdown-item{background:0 0;display:list-item;list-style:none;position:relative;width:100%;height:auto;cursor:pointer;color:#495057;padding-bottom:5px;padding-top:5px;padding-left:12px}.container-checkbox{padding-left:35px}.container-checkbox input{position:absolute;opacity:0;cursor:pointer}.container-checkbox .checkmark{position:absolute;top:5px;left:10px;height:15px;width:15px;border:1px solid rgba(0,0,0,.3);background-color:#fff;border-radius:4px}.container-checkbox .checkmark:after{content:\"\";position:absolute;display:none;left:5px;top:2px;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.container-checkbox:hover input~.checkmark{background-color:#ccc}.container-checkbox input:checked~.checkmark{background-color:#2196f3;border:1px solid #2196f3}.container-checkbox input:checked~.checkmark:after{display:block}.container-checkbox:hover{color:#66afe9}.container-selection,.container-selection-selected{padding-left:12px}.container-selection-selected:hover,.container-selection:hover{color:#495057;background:#e0ffff}.container-selection-selected{color:#fff;background:#6495ed}.dropdown-item-group{font-weight:700}.dropdown-item-group:hover{cursor:default}"]}]}],"members":{"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"onItemGroupClick":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"input-filter","template":"\n <input type=\"text\" class=\"filter-box\" [(ngModel)]=\"filterValue\" (input)=\"onChange()\" (blur)=\"onFilterTextBlur($event)\">\n ","styles":["*,:after,:before{font-size:inherit;font-weight:inherit;font-family:inherit;box-sizing:inherit;background:inherit}.filter-box{width:calc(100% - 10px);height:28px;border-radius:4px;border:1px solid #ccc;margin:1px 5px 5px;padding-left:5px;font-size:12px;box-sizing:border-box;color:#495057}.filter-box:focus{outline:0;border-color:#ccc}"]}]}],"members":{"filterValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"inputFilterBlur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":18,"character":3}}]}],"filterValueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"onFilterTextBlur":[{"__symbolic":"method"}],"onChange":[{"__symbolic":"method"}]}},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"anchor","template":"\n <span #anchor tabindex=\"2\" [ngClass]=\"anchorClass\" (window:resize)=\"onResize()\"\n (mousedown)=\"onAnchorClick($event)\" (blur)=\"onAnchorBlur($event)\"> {{anchorDisplayText}}\n <span #selectionClearance class=\"selection-clearance\" (mousedown)=\"onClearanceClick($event)\" *ngIf=\"showClearanceFlag\">×</span>\n </span>\n ","providers":[{"__symbolic":"reference","module":"@angular/common","name":"DecimalPipe","line":13,"character":14}],"styles":["*,:after,:before{font-size:inherit;font-weight:inherit;font-family:inherit;box-sizing:inherit;background:inherit}.selection-anchor-close:after,.selection-anchor-disabled:after,.selection-anchor-open:after,.vertical-center{position:absolute;top:50%;transform:translateY(-50%)}.hover-box,.selection-anchor-close:hover{outline:0;box-shadow:0 0 6px #23adff;border-radius:4px}.anchor-box,.selection-anchor,.selection-anchor-close,.selection-anchor-disabled,.selection-anchor-open{height:100%;border-radius:4px;width:100%;position:relative;display:inline-block;padding:8px 12px 5px;border:1px solid;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-sizing:border-box;white-space:nowrap}.selection-anchor,.selection-anchor-close,.selection-anchor-open{cursor:pointer}.selection-anchor .selection-clearance,.selection-anchor-close .selection-clearance,.selection-anchor-open .selection-clearance{position:absolute;right:35px;font-weight:700}.selection-anchor .selection-clearance:hover,.selection-anchor-close .selection-clearance:hover,.selection-anchor-open .selection-clearance:hover{color:#000}.selection-anchor-close:focus,.selection-anchor-open:focus,.selection-anchor:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;border-color:#66afe9}.selection-anchor-disabled{border-color:#ccc;cursor:default;pointer-events:none;background:#f8f8f8;filter:opacity(50%)}.selection-anchor-disabled:after{font-size:9px;content:'\\0025BC';right:10px;padding-bottom:3px}.selection-anchor-open{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;border-color:#66afe9}.selection-anchor-open:after{font-size:9px;content:'\\0025B2';right:10px;padding-bottom:3px}.selection-anchor-close{border-color:#ccc}.selection-anchor-close:after{font-size:9px;content:'\\0025BC';right:10px;padding-bottom:3px}.place-holder{color:#999}.selected-item{color:#495057}"]}]}],"members":{"anchorRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":20,"character":3},"arguments":["anchor",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":20,"character":31}}]}]}],"placeHolder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"checkbox":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"suffixText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"allowClear":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"formatNumber":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"selectedText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"openStatus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":49,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"anchorClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":57,"character":3}}]}],"clearanceClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":61,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common","name":"DecimalPipe","line":68,"character":36}]}],"onAnchorClick":[{"__symbolic":"method"}],"onAnchorBlur":[{"__symbolic":"method"}],"onClearanceClick":[{"__symbolic":"method"}],"onResize":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"dropdown","template":"\n <span #dropdown class=\"dropdown\" tabindex=\"3\" (mousedown)=\"onItemsClick($event)\" (blur)=\"onItemsBlur($event)\" *ngIf=\"!disabled\" >\n <input-filter #filterInput tabindex=\"4\" *ngIf=\"filterBox && !checkbox\" [(filterValue)]=\"filterValue\" (inputFilterBlur)=\"onFilterTextBlur($event)\"></input-filter>\n <span #selectionOptions [ngClass]=\"optionsClass\">\n <ng-container *ngFor=\"let item of itemsValues\" >\n <ng-container *ngIf=\"item && item.group\">\n <group-item [item]=\"item\"></group-item>\n <item *ngFor=\"let subItem of item.items\" (itemClick)=\"onItemClick(subItem)\" (checkStatusChange)=\"toggleSelection(subItem)\"\n [item]=\"subItem\" [checkbox]=\"checkbox\" [formatNumber]=\"formatNumber\" [suffixText]=\"suffixText\">\n </item>\n </ng-container>\n <ng-container *ngIf=\"item && !item.group\">\n <item (itemClick)=\"onItemClick(item)\" (checkStatusChange)=\"toggleSelection(item)\"\n [item]=\"item\" [checkbox]=\"checkbox\" [formatNumber]=\"formatNumber\" [suffixText]=\"suffixText\">\n </item>\n </ng-container>\n </ng-container>\n </span>\n </span>\n ","styles":["*,:after,:before{font-size:inherit;font-weight:inherit;font-family:inherit;box-sizing:inherit;background:inherit}.dropdown{width:100%;padding:0;display:none;margin:0;border:1px solid #66afe9;border-top:none;border-bottom:none;border-top-right-radius:0;border-top-left-radius:0;box-sizing:border-box;position:relative;z-index:999}.dropdown:focus{outline:0}.dropdown .options{width:calc(100% + 2px);left:0;box-sizing:border-box;background:#fff;position:absolute;max-height:228px;overflow-y:auto;overflow-x:hidden;border:1px solid #66afe9;border-top:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px;margin-left:-1px;margin-right:-1px}.dropdown .with-filter{top:32px}.dropdown .no-filter{top:0}"]}]}],"members":{"dropdownRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":32,"character":3},"arguments":["dropdown",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":32,"character":33}}]}]}],"filterInputRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":36,"character":3},"arguments":["filterInput",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":36,"character":36}}]}]}],"placeHolder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":3}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":44,"character":3}}]}],"checkbox":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"selectedValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":52,"character":3}}]}],"filterBox":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"suffixText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"allowClear":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"formatNumber":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"selectedValueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":76,"character":3}}]}],"selectionChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":80,"character":3}}]}],"dropdownBlur":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":84,"character":3}}]}],"itemClick":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":88,"character":3}}]}],"ngOnChanges":[{"__symbolic":"method"}],"onItemsClick":[{"__symbolic":"method"}],"onItemClick":[{"__symbolic":"method"}],"onFilterTextBlur":[{"__symbolic":"method"}],"onItemsBlur":[{"__symbolic":"method"}],"toggleSelection":[{"__symbolic":"method"}],"_getItemValue":[{"__symbolic":"method"}],"_onSelectionChange":[{"__symbolic":"method"}],"_checkSelectionChange":[{"__symbolic":"method"}]}}},"origins":{"DropdownListComponent":"./src/ngx-dropdown-list/dropdown-list.component","DropdownListModule":"./src/ngx-dropdown-list/dropdown-list.module","ɵa":"./src/ngx-dropdown-list/item/item.component","ɵb":"./src/ngx-dropdown-list/group-item/group-item.component","ɵc":"./src/ngx-dropdown-list/filter/input-filter.component","ɵd":"./src/ngx-dropdown-list/anchor/anchor.component","ɵe":"./src/ngx-dropdown-list/dropdown/dropdown.component"},"importAs":"ngx-dropdown-list"}
|