{"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../src/app/components/dropdown/dropdown.ts"],"names":["Object","create","__values","o","s","Symbol","iterator","m","i","call","length","next","value","done","TypeError","DROPDOWN_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","Dropdown","multi","DropdownItem","this","onClick","EventEmitter","prototype","onOptionClick","event","emit","originalEvent","option","Component","args","selector","template","Input","Output","el","renderer","cd","zone","filterService","scrollHeight","resetFilterOnHide","dropdownIcon","autoDisplayFirst","emptyFilterMessage","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions","filterMatchMode","tooltip","tooltipPosition","tooltipPositionStyle","autofocusFilter","onChange","onFocus","onBlur","onShow","onHide","onModelChange","onModelTouched","viewPortOffsetTop","defineProperty","_disabled","focused","destroyed","detectChanges","ngAfterContentInit","_this","templates","forEach","item","getType","itemTemplate","selectedItemTemplate","groupTemplate","ngOnInit","optionsToDisplay","options","updateSelectedOption","_options","val","optionsChanged","updateFilledState","_filterValue","activateFilter","ngAfterViewInit","editable","updateEditableLabel","selectedOption","getOptionLabel","editableInputViewChild","nativeElement","optionLabel","ObjectUtils","resolveFieldData","undefined","label","getOptionValue","optionValue","isOptionDisabled","optionDisabled","disabled","getOptionGroupLabel","optionGroup","optionGroupLabel","getOptionGroupChildren","optionGroupChildren","items","onItemClick","selectItem","accessibleViewChild","focus","setTimeout","hide","filled","virtualScroll","viewPort","measureScrollOffset","ngAfterViewChecked","overlayVisible","updateVirtualScrollSelectedIndex","runOutsideAngular","alignOverlay","selectedOptionUpdated","itemsWrapper","range","getRenderedRange","start","virtualScrollSelectedIndex","end","scrollToIndex","DomHandler","findSingle","overlay","scrollInView","writeValue","filter","resetFilter","markForCheck","filterViewChild","findOption","placeholder","registerOnChange","fn","registerOnTouched","setDisabledState","onMouseclick","readonly","isInputClick","show","hasClass","target","isSameNode","isOutsideClicked","contains","onEditableInputClick","bindDocumentClickListener","onEditableInputFocus","onEditableInputChange","onOverlayAnimationStart","toState","element","itemsWrapperSelector","appendOverlay","style","zIndex","String","zindex","bindDocumentResizeListener","bindScrollListener","selectedListItem","preventModelTouched","onOverlayHide","scrollToSelectedVirtualScrollElement","virtualAutoScrolled","scrollToOffset","resetOffset","findOptionIndex","appendTo","document","body","appendChild","minWidth","getWidth","containerViewChild","restoreOverlayAppend","absolutePosition","relativePosition","onInputFocus","onInputBlur","findPrevEnabledOption","index","prevEnabledOption","findNextEnabledOption","nextEnabledOption","onKeydown","search","which","altKey","group","selectedItemIndex","findOptionGroupIndex","nextItemIndex","itemIndex","groupIndex","preventDefault","prevItemIndex","prevGroup","searchTimeout","clearTimeout","newOption","char","key","previousSearchChar","currentSearchChar","searchValue","searchIndex","searchOptionWithinGroup","searchOption","searchOptionInRange","opt","toLocaleLowerCase","filterLocale","startsWith","j","opts","equals","dataKey","inGroup","opts_1","opts_1_1","optgroup","onFilter","inputValue","searchFields","filterBy","split","filteredGroups","_b","_c","filteredSubOptions","filterValue","push","applyFocus","documentClickListener","documentTarget","ownerDocument","listen","unbindDocumentClickListener","documentResizeListener","onWindowResize","bind","window","addEventListener","unbindDocumentResizeListener","removeEventListener","isAndroid","scrollHandler","ConnectedOverlayScrollHandler","unbindScrollListener","clear","ngOnDestroy","destroy","animations","trigger","transition","opacity","transform","animate","host","[class.p-inputwrapper-filled]","[class.p-inputwrapper-focus]","providers","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","ElementRef","Renderer2","ChangeDetectorRef","NgZone","FilterService","ViewChild","CdkVirtualScrollViewport","ContentChildren","PrimeTemplate","NgModule","imports","CommonModule","SharedModule","ScrollingModule","TooltipModule","RippleModule","exports","declarations"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {ScrollingModule, CdkVirtualScrollViewport} from '@angular/cdk/scrolling';\nimport {NgModule,Component,ElementRef,OnInit,AfterViewInit,AfterContentInit,AfterViewChecked,OnDestroy,Input,Output,Renderer2,EventEmitter,ContentChildren,\n QueryList,ViewChild,TemplateRef,forwardRef,ChangeDetectorRef,NgZone,ViewRef,ChangeDetectionStrategy, ViewEncapsulation} from '@angular/core';\nimport {trigger,style,transition,animate,AnimationEvent} from '@angular/animations';\nimport {CommonModule} from '@angular/common';\nimport {SelectItem} from 'primeng/api';\nimport {SharedModule,PrimeTemplate, FilterService} from 'primeng/api';\nimport {DomHandler, ConnectedOverlayScrollHandler} from 'primeng/dom';\nimport {ObjectUtils} from 'primeng/utils';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\nimport {TooltipModule} from 'primeng/tooltip';\nimport {RippleModule} from 'primeng/ripple';\n\nexport const DROPDOWN_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Dropdown),\n multi: true\n};\n\n@Component({\n selector: 'p-dropdownItem',\n template: `\n
  • \n {{label||'empty'}}\n \n
  • \n `\n})\nexport class DropdownItem {\n\n @Input() option: SelectItem;\n\n @Input() selected: boolean;\n\n @Input() label: string;\n\n @Input() disabled: boolean;\n\n @Input() visible: boolean;\n\n @Input() itemSize: number;\n\n @Input() template: TemplateRef;\n\n @Output() onClick: EventEmitter = new EventEmitter();\n\n onOptionClick(event: Event) {\n this.onClick.emit({\n originalEvent: event,\n option: this.option\n });\n }\n}\n\n@Component({\n selector: 'p-dropdown',\n template: `\n
    \n
    \n \n
    \n \n {{label||'empty'}}\n \n \n {{placeholder||'empty'}}\n \n \n
    \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
      \n \n \n
    • \n {{getOptionGroupLabel(optgroup)||'empty'}}\n \n
    • \n \n
      \n
      \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    • {{emptyFilterMessage}}
    • \n
    \n
    \n
    \n
    \n `,\n animations: [\n trigger('overlayAnimation', [\n transition(':enter', [\n style({opacity: 0, transform: 'scaleY(0.8)'}),\n animate('{{showTransitionParams}}')\n ]),\n transition(':leave', [\n animate('{{hideTransitionParams}}', style({ opacity: 0 }))\n ])\n ])\n ],\n host: {\n '[class.p-inputwrapper-filled]': 'filled',\n '[class.p-inputwrapper-focus]': 'focused'\n },\n providers: [DROPDOWN_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./dropdown.css']\n})\nexport class Dropdown implements OnInit,AfterViewInit,AfterContentInit,AfterViewChecked,OnDestroy,ControlValueAccessor {\n\n @Input() scrollHeight: string = '200px';\n\n @Input() filter: boolean;\n\n @Input() name: string;\n\n @Input() style: any;\n\n @Input() panelStyle: any;\n\n @Input() styleClass: string;\n\n @Input() panelStyleClass: string;\n\n @Input() readonly: boolean;\n\n @Input() required: boolean;\n\n @Input() editable: boolean;\n\n @Input() appendTo: any;\n\n @Input() tabindex: number;\n\n @Input() placeholder: string;\n\n @Input() filterPlaceholder: string;\n\n @Input() filterLocale: string;\n\n @Input() inputId: string;\n\n @Input() selectId: string;\n\n @Input() dataKey: string;\n\n @Input() filterBy: string;\n\n @Input() autofocus: boolean;\n\n @Input() resetFilterOnHide: boolean = false;\n\n @Input() dropdownIcon: string = 'pi pi-chevron-down';\n\n @Input() optionLabel: string;\n\n @Input() optionValue: string;\n\n @Input() optionDisabled: string;\n\n @Input() optionGroupLabel: string;\n\n @Input() optionGroupChildren: string;\n\n @Input() autoDisplayFirst: boolean = true;\n\n @Input() group: boolean;\n\n @Input() showClear: boolean;\n\n @Input() emptyFilterMessage: string = 'No results found';\n\n @Input() virtualScroll: boolean;\n\n @Input() itemSize: number;\n\n @Input() autoZIndex: boolean = true;\n\n @Input() baseZIndex: number = 0;\n\n @Input() showTransitionOptions: string = '.12s cubic-bezier(0, 0, 0.2, 1)';\n\n @Input() hideTransitionOptions: string = '.1s linear';\n\n @Input() ariaFilterLabel: string;\n\n @Input() ariaLabelledBy: string;\n\n @Input() filterMatchMode: string = \"contains\";\n\n @Input() maxlength: number;\n\n @Input() tooltip: string = '';\n\n @Input() tooltipPosition: string = 'right';\n\n @Input() tooltipPositionStyle: string = 'absolute';\n\n @Input() tooltipStyleClass: string;\n\n @Input() autofocusFilter: boolean = true;\n\n @Output() onChange: EventEmitter = new EventEmitter();\n\n @Output() onFocus: EventEmitter = new EventEmitter();\n\n @Output() onBlur: EventEmitter = new EventEmitter();\n\n @Output() onClick: EventEmitter = new EventEmitter();\n\n @Output() onShow: EventEmitter = new EventEmitter();\n\n @Output() onHide: EventEmitter = new EventEmitter();\n\n @ViewChild('container') containerViewChild: ElementRef;\n\n @ViewChild('filter') filterViewChild: ElementRef;\n\n @ViewChild('in') accessibleViewChild: ElementRef;\n\n @ViewChild(CdkVirtualScrollViewport) viewPort: CdkVirtualScrollViewport;\n\n @ViewChild('editableInput') editableInputViewChild: ElementRef;\n\n @ContentChildren(PrimeTemplate) templates: QueryList;\n\n private _disabled: boolean;\n\n @Input() get disabled(): boolean {\n return this._disabled;\n };\n\n set disabled(_disabled: boolean) {\n if (_disabled)\n this.focused = false;\n\n this._disabled = _disabled;\n if (!(this.cd as ViewRef).destroyed) {\n this.cd.detectChanges();\n }\n }\n\n overlay: HTMLDivElement;\n\n itemsWrapper: HTMLDivElement;\n\n itemTemplate: TemplateRef;\n\n groupTemplate: TemplateRef;\n\n selectedItemTemplate: TemplateRef;\n\n selectedOption: any;\n\n _options: any[];\n\n value: any;\n\n onModelChange: Function = () => {};\n\n onModelTouched: Function = () => {};\n\n optionsToDisplay: any[];\n\n hover: boolean;\n\n focused: boolean;\n\n filled: boolean;\n\n overlayVisible: boolean;\n\n documentClickListener: any;\n\n scrollHandler: any;\n\n optionsChanged: boolean;\n\n panel: HTMLDivElement;\n\n dimensionsUpdated: boolean;\n\n hoveredItem: any;\n\n selectedOptionUpdated: boolean;\n\n _filterValue: string;\n\n searchValue: string;\n\n searchIndex: number;\n\n searchTimeout: any;\n\n previousSearchChar: string;\n\n currentSearchChar: string;\n\n documentResizeListener: any;\n\n virtualAutoScrolled: boolean;\n\n virtualScrollSelectedIndex: number;\n\n viewPortOffsetTop: number = 0;\n\n preventModelTouched: boolean;\n\n constructor(public el: ElementRef, public renderer: Renderer2, public cd: ChangeDetectorRef, public zone: NgZone, public filterService: FilterService) {}\n\n ngAfterContentInit() {\n this.templates.forEach((item) => {\n switch(item.getType()) {\n case 'item':\n this.itemTemplate = item.template;\n break;\n\n case 'selectedItem':\n this.selectedItemTemplate = item.template;\n break;\n\n case 'group':\n this.groupTemplate = item.template;\n break;\n\n default:\n this.itemTemplate = item.template;\n break;\n }\n });\n }\n\n ngOnInit() {\n this.optionsToDisplay = this.options;\n this.updateSelectedOption(null);\n }\n\n @Input() get options(): any[] {\n return this._options;\n }\n\n set options(val: any[]) {\n this._options = val;\n this.optionsToDisplay = this._options;\n this.updateSelectedOption(this.value);\n this.optionsChanged = true;\n this.updateFilledState();\n\n if (this._filterValue && this._filterValue.length) {\n this.activateFilter();\n }\n }\n\n @Input() get filterValue(): string {\n return this._filterValue;\n }\n\n set filterValue(val: string) {\n this._filterValue = val;\n this.activateFilter();\n }\n\n ngAfterViewInit() {\n if (this.editable) {\n this.updateEditableLabel();\n }\n }\n\n get label(): string {\n return this.selectedOption ? this.getOptionLabel(this.selectedOption) : null;\n }\n\n updateEditableLabel(): void {\n if (this.editableInputViewChild && this.editableInputViewChild.nativeElement) {\n this.editableInputViewChild.nativeElement.value = (this.selectedOption ? this.getOptionLabel(this.selectedOption) : this.value||'');\n }\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel ? ObjectUtils.resolveFieldData(option, this.optionLabel) : (option.label != undefined ? option.label : option);\n }\n\n getOptionValue(option: any) {\n return this.optionValue ? ObjectUtils.resolveFieldData(option, this.optionValue) : (option.value !== undefined ? option.value : option);\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled ? ObjectUtils.resolveFieldData(option, this.optionDisabled) : (option.disabled !== undefined ? option.disabled : false);\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupLabel) : (optionGroup.label != undefined ? optionGroup.label : optionGroup);\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren ? ObjectUtils.resolveFieldData(optionGroup, this.optionGroupChildren) : optionGroup.items;\n }\n\n onItemClick(event) {\n const option = event.option;\n\n if (!this.isOptionDisabled(option)) {\n this.selectItem(event, option);\n this.accessibleViewChild.nativeElement.focus();\n }\n\n setTimeout(() => {\n this.hide(event);\n }, 150);\n }\n\n selectItem(event, option) {\n if (this.selectedOption != option) {\n this.selectedOption = option;\n this.value = this.getOptionValue(option);\n this.filled = true;\n\n this.onModelChange(this.value);\n this.updateEditableLabel();\n this.onChange.emit({\n originalEvent: event.originalEvent,\n value: this.value\n });\n\n if (this.virtualScroll) {\n setTimeout(() => {\n this.viewPortOffsetTop = this.viewPort ? this.viewPort.measureScrollOffset() : 0;\n }, 1);\n }\n }\n }\n\n ngAfterViewChecked() {\n if (this.optionsChanged && this.overlayVisible) {\n this.optionsChanged = false;\n\n if (this.virtualScroll) {\n this.updateVirtualScrollSelectedIndex(true);\n }\n\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n this.alignOverlay();\n }, 1);\n });\n }\n\n if (this.selectedOptionUpdated && this.itemsWrapper) {\n if (this.virtualScroll && this.viewPort) {\n let range = this.viewPort.getRenderedRange();\n this.updateVirtualScrollSelectedIndex(false);\n\n if (range.start > this.virtualScrollSelectedIndex || range.end < this.virtualScrollSelectedIndex) {\n this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);\n }\n }\n\n let selectedItem = DomHandler.findSingle(this.overlay, 'li.p-highlight');\n if (selectedItem) {\n DomHandler.scrollInView(this.itemsWrapper, DomHandler.findSingle(this.overlay, 'li.p-highlight'));\n }\n this.selectedOptionUpdated = false;\n }\n }\n\n writeValue(value: any): void {\n if (this.filter) {\n this.resetFilter();\n }\n\n this.value = value;\n this.updateSelectedOption(value);\n this.updateEditableLabel();\n this.updateFilledState();\n this.cd.markForCheck();\n }\n\n resetFilter(): void {\n this._filterValue = null;\n\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.filterViewChild.nativeElement.value = '';\n }\n\n this.optionsToDisplay = this.options;\n }\n\n updateSelectedOption(val: any): void {\n this.selectedOption = this.findOption(val, this.optionsToDisplay);\n if (this.autoDisplayFirst && !this.placeholder && !this.selectedOption && this.optionsToDisplay && this.optionsToDisplay.length && !this.editable) {\n this.selectedOption = this.optionsToDisplay[0];\n }\n this.selectedOptionUpdated = true;\n }\n\n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n\n setDisabledState(val: boolean): void {\n this.disabled = val;\n this.cd.markForCheck();\n }\n\n onMouseclick(event) {\n if (this.disabled || this.readonly || this.isInputClick(event)) {\n return;\n }\n\n this.onClick.emit(event);\n this.accessibleViewChild.nativeElement.focus();\n\n if (this.overlayVisible)\n this.hide(event);\n else\n this.show();\n\n this.cd.detectChanges();\n }\n\n isInputClick(event): boolean {\n return DomHandler.hasClass(event.target, 'p-dropdown-clear-icon') ||\n event.target.isSameNode(this.accessibleViewChild.nativeElement) ||\n (this.editableInputViewChild && event.target.isSameNode(this.editableInputViewChild.nativeElement));\n }\n\n isOutsideClicked(event: Event): boolean {\n return !(this.el.nativeElement.isSameNode(event.target) || this.el.nativeElement.contains(event.target) || (this.overlay && this.overlay.contains( event.target)));\n }\n\n onEditableInputClick() {\n this.bindDocumentClickListener();\n }\n\n onEditableInputFocus(event) {\n this.focused = true;\n this.hide(event);\n this.onFocus.emit(event);\n }\n\n onEditableInputChange(event) {\n this.value = event.target.value;\n this.updateSelectedOption(this.value);\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n }\n\n show() {\n this.overlayVisible = true;\n }\n\n onOverlayAnimationStart(event: AnimationEvent) {\n switch (event.toState) {\n case 'visible':\n this.overlay = event.element;\n let itemsWrapperSelector = this.virtualScroll ? '.cdk-virtual-scroll-viewport' : '.p-dropdown-items-wrapper';\n this.itemsWrapper = DomHandler.findSingle(this.overlay, itemsWrapperSelector);\n this.appendOverlay();\n if (this.autoZIndex) {\n this.overlay.style.zIndex = String(this.baseZIndex + (++DomHandler.zindex));\n }\n this.alignOverlay();\n this.bindDocumentClickListener();\n this.bindDocumentResizeListener();\n this.bindScrollListener();\n\n if (this.options && this.options.length) {\n if (!this.virtualScroll) {\n let selectedListItem = DomHandler.findSingle(this.itemsWrapper, '.p-dropdown-item.p-highlight');\n if (selectedListItem) {\n DomHandler.scrollInView(this.itemsWrapper, selectedListItem);\n }\n }\n }\n\n if (this.filterViewChild && this.filterViewChild.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter) {\n this.filterViewChild.nativeElement.focus();\n }\n }\n\n this.onShow.emit(event);\n break;\n\n case 'void':\n this.onOverlayHide();\n break;\n }\n }\n\n scrollToSelectedVirtualScrollElement() {\n if (!this.virtualAutoScrolled) {\n if (this.viewPortOffsetTop) {\n this.viewPort.scrollToOffset(this.viewPortOffsetTop);\n }\n else if (this.virtualScrollSelectedIndex > -1) {\n this.viewPort.scrollToIndex(this.virtualScrollSelectedIndex);\n }\n }\n\n this.virtualAutoScrolled = true;\n }\n\n updateVirtualScrollSelectedIndex(resetOffset) {\n if (this.selectedOption && this.optionsToDisplay && this.optionsToDisplay.length) {\n if (resetOffset) {\n this.viewPortOffsetTop = 0;\n }\n\n this.virtualScrollSelectedIndex = this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay);\n }\n }\n\n appendOverlay() {\n if (this.appendTo) {\n if (this.appendTo === 'body')\n document.body.appendChild(this.overlay);\n else\n DomHandler.appendChild(this.overlay, this.appendTo);\n\n if (!this.overlay.style.minWidth) {\n this.overlay.style.minWidth = DomHandler.getWidth(this.containerViewChild.nativeElement) + 'px';\n }\n }\n }\n\n restoreOverlayAppend() {\n if (this.overlay && this.appendTo) {\n this.el.nativeElement.appendChild(this.overlay);\n }\n }\n\n hide(event) {\n this.overlayVisible = false;\n\n if (this.filter && this.resetFilterOnHide) {\n this.resetFilter();\n }\n\n if (this.virtualScroll) {\n this.virtualAutoScrolled = false;\n }\n\n this.cd.markForCheck();\n this.onHide.emit(event);\n }\n\n alignOverlay() {\n if (this.overlay) {\n if (this.appendTo)\n DomHandler.absolutePosition(this.overlay, this.containerViewChild.nativeElement);\n else\n DomHandler.relativePosition(this.overlay, this.containerViewChild.nativeElement);\n }\n }\n\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n\n onInputBlur(event) {\n this.focused = false;\n this.onBlur.emit(event);\n\n if (!this.preventModelTouched) {\n this.onModelTouched();\n }\n this.preventModelTouched = false;\n }\n\n findPrevEnabledOption(index) {\n let prevEnabledOption;\n\n if (this.optionsToDisplay && this.optionsToDisplay.length) {\n for (let i = (index - 1); 0 <= i; i--) {\n let option = this.optionsToDisplay[i];\n if (option.disabled) {\n continue;\n }\n else {\n prevEnabledOption = option;\n break;\n }\n }\n\n if (!prevEnabledOption) {\n for (let i = this.optionsToDisplay.length - 1; i >= index ; i--) {\n let option = this.optionsToDisplay[i];\n if (this.isOptionDisabled(option)) {\n continue;\n }\n else {\n prevEnabledOption = option;\n break;\n }\n }\n }\n }\n\n return prevEnabledOption;\n }\n\n findNextEnabledOption(index) {\n let nextEnabledOption;\n\n if (this.optionsToDisplay && this.optionsToDisplay.length) {\n for (let i = (index + 1); index < (this.optionsToDisplay.length - 1); i++) {\n let option = this.optionsToDisplay[i];\n if (this.isOptionDisabled(option)) {\n continue;\n }\n else {\n nextEnabledOption = option;\n break;\n }\n }\n\n if (!nextEnabledOption) {\n for (let i = 0; i < index; i++) {\n let option = this.optionsToDisplay[i];\n if (this.isOptionDisabled(option)) {\n continue;\n }\n else {\n nextEnabledOption = option;\n break;\n }\n }\n }\n }\n\n return nextEnabledOption;\n }\n\n onKeydown(event: KeyboardEvent, search: boolean) {\n if (this.readonly || !this.optionsToDisplay || this.optionsToDisplay.length === null) {\n return;\n }\n\n switch(event.which) {\n //down\n case 40:\n if (!this.overlayVisible && event.altKey) {\n this.show();\n }\n else {\n if (this.group) {\n let selectedItemIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n \n if (selectedItemIndex !== -1) {\n let nextItemIndex = selectedItemIndex.itemIndex + 1;\n if (nextItemIndex < (this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex]).length)) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex])[nextItemIndex]);\n this.selectedOptionUpdated = true;\n }\n else if (this.optionsToDisplay[selectedItemIndex.groupIndex + 1]) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex + 1])[0]);\n this.selectedOptionUpdated = true;\n }\n }\n else {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[0])[0]);\n }\n }\n else {\n let selectedItemIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n let nextEnabledOption = this.findNextEnabledOption(selectedItemIndex);\n if (nextEnabledOption) {\n this.selectItem(event, nextEnabledOption);\n this.selectedOptionUpdated = true;\n }\n }\n }\n\n event.preventDefault();\n\n break;\n\n //up\n case 38:\n if (this.group) {\n let selectedItemIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n if (selectedItemIndex !== -1) {\n let prevItemIndex = selectedItemIndex.itemIndex - 1;\n if (prevItemIndex >= 0) {\n this.selectItem(event, this.getOptionGroupChildren(this.optionsToDisplay[selectedItemIndex.groupIndex])[prevItemIndex]);\n this.selectedOptionUpdated = true;\n }\n else if (prevItemIndex < 0) {\n let prevGroup = this.optionsToDisplay[selectedItemIndex.groupIndex - 1];\n if (prevGroup) {\n this.selectItem(event, this.getOptionGroupChildren(prevGroup)[this.getOptionGroupChildren(prevGroup).length - 1]);\n this.selectedOptionUpdated = true;\n }\n }\n }\n }\n else {\n let selectedItemIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n let prevEnabledOption = this.findPrevEnabledOption(selectedItemIndex);\n if (prevEnabledOption) {\n this.selectItem(event, prevEnabledOption);\n this.selectedOptionUpdated = true;\n }\n }\n\n event.preventDefault();\n break;\n\n //space\n case 32:\n case 32:\n if (!this.overlayVisible){\n this.show();\n event.preventDefault();\n }\n break;\n\n //enter\n case 13:\n if (!this.filter || (this.optionsToDisplay && this.optionsToDisplay.length > 0)) {\n this.hide(event);\n }\n\n event.preventDefault();\n break;\n\n //escape and tab\n case 27:\n case 9:\n this.hide(event);\n break;\n\n //search item based on keyboard input\n default:\n if (search) {\n this.search(event);\n }\n break;\n }\n }\n\n search(event) {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n const char = event.key;\n this.previousSearchChar = this.currentSearchChar;\n this.currentSearchChar = char;\n\n if (this.previousSearchChar === this.currentSearchChar)\n this.searchValue = this.currentSearchChar;\n else\n this.searchValue = this.searchValue ? this.searchValue + char : char;\n\n let newOption;\n if (this.group) {\n let searchIndex = this.selectedOption ? this.findOptionGroupIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : {groupIndex: 0, itemIndex: 0};\n newOption = this.searchOptionWithinGroup(searchIndex);\n }\n else {\n let searchIndex = this.selectedOption ? this.findOptionIndex(this.getOptionValue(this.selectedOption), this.optionsToDisplay) : -1;\n newOption = this.searchOption(++searchIndex);\n }\n\n if (newOption && !this.isOptionDisabled(newOption)) {\n this.selectItem(event, newOption);\n this.selectedOptionUpdated = true;\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = null;\n }, 250);\n }\n\n searchOption(index) {\n let option;\n\n if (this.searchValue) {\n option = this.searchOptionInRange(index, this.optionsToDisplay.length);\n\n if (!option) {\n option = this.searchOptionInRange(0, index);\n }\n }\n\n return option;\n }\n\n searchOptionInRange(start, end) {\n for (let i = start; i < end; i++) {\n let opt = this.optionsToDisplay[i];\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith((this.searchValue as any).toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n\n return null;\n }\n\n searchOptionWithinGroup(index) {\n let option;\n\n if (this.searchValue) {\n for (let i = index.groupIndex; i < this.optionsToDisplay.length; i++) {\n for (let j = (index.groupIndex === i) ? (index.itemIndex + 1) : 0; j < this.getOptionGroupChildren(this.optionsToDisplay[i]).length; j++) {\n let opt = this.getOptionGroupChildren(this.optionsToDisplay[i])[j];\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith((this.searchValue as any).toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n }\n\n if (!option) {\n for (let i = 0; i <= index.groupIndex; i++) {\n for (let j = 0; j < ((index.groupIndex === i) ? index.itemIndex : this.getOptionGroupChildren(this.optionsToDisplay[i]).length); j++) {\n let opt = this.getOptionGroupChildren(this.optionsToDisplay[i])[j];\n if (this.getOptionLabel(opt).toLocaleLowerCase(this.filterLocale).startsWith((this.searchValue as any).toLocaleLowerCase(this.filterLocale)) && !this.isOptionDisabled(opt)) {\n return opt;\n }\n }\n }\n }\n }\n\n return null;\n }\n\n findOptionIndex(val: any, opts: any[]): number {\n let index: number = -1;\n if (opts) {\n for (let i = 0; i < opts.length; i++) {\n if ((val == null && this.getOptionValue(opts[i]) == null) || ObjectUtils.equals(val, this.getOptionValue(opts[i]), this.dataKey)) {\n index = i;\n break;\n }\n }\n }\n\n return index;\n }\n\n findOptionGroupIndex(val: any, opts: any[]): any {\n let groupIndex, itemIndex;\n\n if (opts) {\n for (let i = 0; i < opts.length; i++) {\n groupIndex = i;\n itemIndex = this.findOptionIndex(val, this.getOptionGroupChildren(opts[i]));\n\n if (itemIndex !== -1) {\n break;\n }\n }\n }\n\n if (itemIndex !== -1) {\n return {groupIndex: groupIndex, itemIndex: itemIndex};\n }\n else {\n return -1;\n }\n }\n\n findOption(val: any, opts: any[], inGroup?: boolean): SelectItem {\n if (this.group && !inGroup) {\n let opt: SelectItem;\n if (opts && opts.length) {\n for (let optgroup of opts) {\n opt = this.findOption(val, this.getOptionGroupChildren(optgroup), true);\n if (opt) {\n break;\n }\n }\n }\n return opt;\n }\n else {\n let index: number = this.findOptionIndex(val, opts);\n return (index != -1) ? opts[index] : null;\n }\n }\n\n onFilter(event): void {\n let inputValue = event.target.value;\n if (inputValue && inputValue.length) {\n this._filterValue = inputValue;\n this.activateFilter();\n }\n else {\n this._filterValue = null;\n this.optionsToDisplay = this.options;\n }\n\n this.optionsChanged = true;\n }\n\n activateFilter() {\n let searchFields: string[] = (this.filterBy || this.optionLabel || 'label').split(',');\n\n if (this.options && this.options.length) {\n if (this.group) {\n let filteredGroups = [];\n for (let optgroup of this.options) {\n let filteredSubOptions = this.filterService.filter(this.getOptionGroupChildren(optgroup), searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n if (filteredSubOptions && filteredSubOptions.length) {\n filteredGroups.push({\n label: optgroup.label,\n value: optgroup.value,\n items: filteredSubOptions\n });\n }\n }\n\n this.optionsToDisplay = filteredGroups;\n }\n else {\n this.optionsToDisplay = this.filterService.filter(this.options, searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n }\n\n this.optionsChanged = true;\n }\n }\n\n applyFocus(): void {\n if (this.editable)\n DomHandler.findSingle(this.el.nativeElement, '.p-dropdown-label.p-inputtext').focus();\n else\n DomHandler.findSingle(this.el.nativeElement, 'input[readonly]').focus();\n }\n\n focus(): void {\n this.applyFocus();\n }\n\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n const documentTarget: any = this.el ? this.el.nativeElement.ownerDocument : 'document';\n\n this.documentClickListener = this.renderer.listen(documentTarget, 'click', (event) => {\n if (this.isOutsideClicked(event)) {\n this.hide(event);\n this.unbindDocumentClickListener();\n }\n\n this.cd.markForCheck();\n });\n }\n }\n\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n this.documentClickListener();\n this.documentClickListener = null;\n }\n }\n\n bindDocumentResizeListener() {\n this.documentResizeListener = this.onWindowResize.bind(this);\n window.addEventListener('resize', this.documentResizeListener);\n }\n\n unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n\n onWindowResize() {\n if (!DomHandler.isAndroid()) {\n this.hide(event);\n }\n }\n\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.containerViewChild.nativeElement, (event: any) => {\n if (this.overlayVisible) {\n this.hide(event);\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n }\n\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n }\n\n updateFilledState() {\n this.filled = (this.selectedOption != null);\n }\n\n clear(event: Event) {\n this.value = null;\n this.onModelChange(this.value);\n this.onChange.emit({\n originalEvent: event,\n value: this.value\n });\n this.updateSelectedOption(this.value);\n this.updateEditableLabel();\n this.updateFilledState();\n }\n\n onOverlayHide() {\n this.unbindDocumentClickListener();\n this.unbindDocumentResizeListener();\n this.unbindScrollListener();\n this.overlay = null;\n this.itemsWrapper = null;\n this.onModelTouched();\n }\n\n ngOnDestroy() {\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n this.restoreOverlayAppend();\n this.onOverlayHide();\n }\n}\n\n@NgModule({\n imports: [CommonModule,SharedModule,ScrollingModule,TooltipModule,RippleModule],\n exports: [Dropdown,SharedModule,ScrollingModule],\n declarations: [Dropdown,DropdownItem]\n})\nexport class DropdownModule { }\n"]}