{"version":3,"file":"ng-devui-editable-select.mjs","sources":["../../devui/editable-select/editable-select.component.ts","../../devui/editable-select/editable-select.component.html","../../devui/editable-select/editable-select.module.ts","../../devui/editable-select/ng-devui-editable-select.ts"],"sourcesContent":["import { ConnectedPosition } from '@angular/cdk/overlay';\r\nimport {\r\n  ChangeDetectorRef,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  forwardRef,\r\n  HostBinding,\r\n  HostListener,\r\n  Input,\r\n  OnChanges,\r\n  OnDestroy,\r\n  OnInit,\r\n  Output,\r\n  SimpleChanges,\r\n  TemplateRef,\r\n  ViewChild,\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { AutoCompleteDirective } from 'ng-devui/auto-complete';\r\nimport { I18nInterface, I18nService } from 'ng-devui/i18n';\r\nimport { AppendToBodyDirection, AppendToBodyScrollStrategyType, DevConfigService, WithConfig } from 'ng-devui/utils';\r\nimport { Observable, Subscription } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'd-editable-select',\r\n  templateUrl: './editable-select.component.html',\r\n  styleUrls: ['./editable-select.component.scss'],\r\n  exportAs: 'editable-select',\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => EditableSelectComponent),\r\n      multi: true,\r\n    },\r\n  ],\r\n  preserveWhitespaces: false,\r\n})\r\nexport class EditableSelectComponent implements ControlValueAccessor, OnInit, OnChanges, OnDestroy {\r\n  @Input() appendToBody = false;\r\n  @Input() appendToBodyDirections: Array<AppendToBodyDirection | ConnectedPosition> = ['rightDown', 'leftDown', 'rightUp', 'leftUp'];\r\n  @Input() @WithConfig() appendToBodyScrollStrategy: AppendToBodyScrollStrategyType;\r\n  @Input() disabled = false;\r\n  @Input() placeholder = '';\r\n  @Input() source: any[] = [];\r\n  @Input() itemTemplate: TemplateRef<any>;\r\n  @Input() noResultItemTemplate: TemplateRef<any>;\r\n  @Input() maxHeight: number;\r\n  @Input() width: number;\r\n  @Input() disabledKey: string;\r\n  @Input() allowClear = false;\r\n  @Input() enableSelectedValueList = false;\r\n  @Input() enableLazyLoad = false;\r\n  @Input() customViewTemplate: TemplateRef<any>;\r\n  @Input() customViewDirection: 'bottom' | 'right' | 'left' | 'top' = 'bottom';\r\n  @Input() formatter = (item: any) => (item ? item.label || item.toString() : '');\r\n  @Input() valueParser = (item: any) => (item ? item.label || item.toString() : '');\r\n  @Input() searchFn: (term: string) => Observable<any[]>;\r\n  @Input() @WithConfig() showAnimation = true;\r\n  @Input() @WithConfig() styleType = 'default';\r\n  @Input() @WithConfig() showGlowStyle = true;\r\n  @HostBinding('class.devui-glow-style') get hasGlowStyle() {\r\n    return this.showGlowStyle;\r\n  }\r\n  @Output() loadMore = new EventEmitter<any>();\r\n  @Output() toggleChange = new EventEmitter<any>();\r\n  @Output() hoverItem = new EventEmitter<any>();\r\n  @Output() selectItem = new EventEmitter<any>();\r\n  @ViewChild(AutoCompleteDirective, { static: true }) autoCompleteDirective: AutoCompleteDirective;\r\n  @ViewChild('editableSelectBox', { static: true }) editableSelectBox: ElementRef;\r\n\r\n  inputValue: any;\r\n  inputValueCache: any;\r\n  multiItems: any[] = [];\r\n  activeIndex = 0;\r\n  i18nCommonText: I18nInterface['common'];\r\n  i18nSubscription: Subscription;\r\n  subscription: Subscription;\r\n\r\n  set dropDownOpen(val) {\r\n    this._dropDownOpen = val;\r\n    if (this._dropDownOpen) {\r\n      this.autoCompleteDirective.openPopup(this.activeIndex);\r\n    } else {\r\n      this.autoCompleteDirective.hidePopup();\r\n      this.onTouched();\r\n    }\r\n  }\r\n\r\n  get dropDownOpen() {\r\n    return this._dropDownOpen;\r\n  }\r\n\r\n  get placeholderContent() {\r\n    return this.valueParser(this.inputValueCache) || this.placeholder;\r\n  }\r\n\r\n  private ANIMATION_DELAY = 300;\r\n  private blurTimer: any;\r\n  private _dropDownOpen = false;\r\n  private onChange = (_: any) => null;\r\n  private onTouched = () => null;\r\n\r\n  @HostListener('document:click', ['$event'])\r\n  onDocumentClick(event: MouseEvent): void {\r\n    if (this.blurTimer) {\r\n      clearTimeout(this.blurTimer);\r\n    }\r\n    this.closeDropdownMenu(event);\r\n  }\r\n\r\n  constructor(private cdr: ChangeDetectorRef, private i18n: I18nService, private devConfigService: DevConfigService) {}\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes?.searchFn && typeof this.searchFn === 'function') {\r\n      if (this.subscription) {\r\n        this.subscription.unsubscribe();\r\n      }\r\n      this.subscription = this.searchFn('').subscribe((source) => {\r\n        this.source = source;\r\n      });\r\n    }\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.i18nCommonText = this.i18n.getI18nText().common;\r\n    this.i18nSubscription = this.i18n.langChange().subscribe((data) => {\r\n      this.i18nCommonText = data.common;\r\n    });\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    if (this.i18nSubscription) {\r\n      this.i18nSubscription.unsubscribe();\r\n    }\r\n  }\r\n\r\n  writeValue(value: any): void {\r\n    this.inputValueCache = this.inputValue = value ?? '';\r\n    this.cdr.markForCheck();\r\n  }\r\n\r\n  registerOnChange(fn: any): void {\r\n    this.onChange = fn;\r\n  }\r\n\r\n  registerOnTouched(fn: any): void {\r\n    this.onTouched = fn;\r\n  }\r\n\r\n  selectValue(value: any): void {\r\n    this._dropDownOpen = false;\r\n    this.inputValueCache = this.inputValue = value ?? '';\r\n    this.selectItem.emit(this.inputValue);\r\n    this.onChange(this.inputValue);\r\n    this.onTouched();\r\n  }\r\n\r\n  valueClear(event: Event): void {\r\n    event.stopPropagation();\r\n    this.inputValueCache = this.inputValue = '';\r\n    this.onChange('');\r\n  }\r\n\r\n  onTermChange(value: any): void {\r\n    this.inputValueCache = this.inputValue = value;\r\n    this.onChange(this.inputValue);\r\n  }\r\n\r\n  toggle(): void {\r\n    const inputString = this.formatter(this.inputValue) ?? '';\r\n    this.activeIndex = this.enableSelectedValueList\r\n      ? this.autoCompleteDirective.popupRef.instance.activeIndex\r\n      : this.source.map((item) => this.formatter(item).toLowerCase()).indexOf(inputString.toLowerCase());\r\n    this.activeIndex = this.activeIndex > -1 ? this.activeIndex : 0;\r\n    this.dropDownOpen = !this.dropDownOpen;\r\n    if (this.dropDownOpen && !this.enableSelectedValueList) {\r\n      this.autoCompleteDirective.searchValue('', false);\r\n      this.autoCompleteDirective.popupRef.instance.scrollToActive(this.activeIndex);\r\n    }\r\n  }\r\n\r\n  loadMoreEvent(event: any): void {\r\n    this.loadMore.emit(event);\r\n  }\r\n\r\n  toggleChangeHandler(value: boolean): void {\r\n    this._dropDownOpen = value;\r\n    this.inputValue = !this.enableSelectedValueList && value ? '' : this.inputValueCache;\r\n    this.toggleChange.emit(value);\r\n  }\r\n\r\n  onHoverItem(event: any): void {\r\n    this.hoverItem.emit(event);\r\n  }\r\n\r\n  closeDropdownMenu(event: FocusEvent | MouseEvent, isBlur = false) {\r\n    if (this.dropDownOpen) {\r\n      const target = isBlur ? event.relatedTarget : event.target;\r\n      const targetEl = target as HTMLElement;\r\n      if (!this.editableSelectBox.nativeElement.contains(targetEl)) {\r\n        this.dropDownOpen = false;\r\n      }\r\n    }\r\n  }\r\n\r\n  blurEventHandle(event: FocusEvent) {\r\n    if (this.blurTimer) {\r\n      clearTimeout(this.blurTimer);\r\n    }\r\n    this.blurTimer = setTimeout(() => this.closeDropdownMenu(event, true), this.ANIMATION_DELAY);\r\n  }\r\n}\r\n","<div\n  #editableSelectBox\n  class=\"devui-form-group devui-has-feedback\"\n  [ngClass]=\"{\n    'devui-select-open': dropDownOpen,\n    'allow-clear': (inputValue || inputValue === 0) && allowClear,\n    'devui-gray-style': styleType === 'gray'\n  }\"\n>\n  <input\n    (click)=\"toggle()\"\n    class=\"devui-form-control devui-dropdown-origin\"\n    type=\"text\"\n    name=\"autoCompleteControl\"\n    [source]=\"source\"\n    (ngModelChange)=\"onTermChange($event)\"\n    [ngModel]=\"inputValue\"\n    [searchFn]=\"searchFn\"\n    [disabled]=\"disabled\"\n    [disabledKey]=\"disabledKey\"\n    [placeholder]=\"placeholderContent\"\n    [itemTemplate]=\"itemTemplate\"\n    [noResultItemTemplate]=\"noResultItemTemplate || noResultDefaultTemplate\"\n    [appendToBody]=\"appendToBody\"\n    [appendToBodyDirections]=\"appendToBodyDirections\"\n    [appendToBodyScrollStrategy]=\"appendToBodyScrollStrategy\"\n    [maxHeight]=\"maxHeight\"\n    [sceneType]=\"enableSelectedValueList ? 'select' : 'select-extend'\"\n    [dAutoCompleteWidth]=\"width\"\n    dAutoComplete\n    [enableLazyLoad]=\"enableLazyLoad\"\n    [formatter]=\"formatter\"\n    [valueParser]=\"valueParser\"\n    [showAnimation]=\"showAnimation\"\n    [customViewTemplate]=\"customViewTemplate\"\n    [customViewDirection]=\"customViewDirection\"\n    (toggleChange)=\"toggleChangeHandler($event)\"\n    (loadMore)=\"loadMoreEvent($event)\"\n    (selectValue)=\"selectValue($event)\"\n    (hoverItem)=\"onHoverItem($event)\"\n    (blur)=\"blurEventHandle($event)\"\n  />\n  <span class=\"devui-form-control-feedback\">\n    <span class=\"devui-select-clear-icon\" (click)=\"valueClear($event)\">\n      <svg viewBox=\"0 0 16 16\">\n        <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n          <path\n            d=\"M8,1 C11.8659932,1 15,4.13400675 15,8 C15,11.8659932 11.8659932,15 8,15 C4.13400675,15 1,11.8659932 1,8 C1,4.13400675 4.13400675,1 8,1 Z M5.87867966,5.17157288 C5.68341751,4.97631073 5.36683502,4.97631073 5.17157288,5.17157288 C4.99800652,5.34513923 4.97872137,5.61456363 5.11371742,5.80943177 L5.17157288,5.87867966 L7.29218611,7.99929289 L5.17157288,10.1213203 C4.97631073,10.3165825 4.97631073,10.633165 5.17157288,10.8284271 C5.34513923,11.0019935 5.61456363,11.0212786 5.80943177,10.8862826 L5.87867966,10.8284271 L7.99929289,8.70639967 L10.1213203,10.8284271 C10.3165825,11.0236893 10.633165,11.0236893 10.8284271,10.8284271 C11.0019935,10.6548608 11.0212786,10.3854364 10.8862826,10.1905682 L10.8284271,10.1213203 L8.70710678,8 L10.8284271,5.87867966 C11.0236893,5.68341751 11.0236893,5.36683502 10.8284271,5.17157288 C10.6548608,4.99800652 10.3854364,4.97872137 10.1905682,5.11371742 L10.1213203,5.17157288 L8,7.29289322 L5.87867966,5.17157288 Z\"\n            fill-rule=\"nonzero\"\n          ></path>\n        </g>\n      </svg>\n    </span>\n    <span class=\"devui-select-chevron-icon\">\n      <svg\n        width=\"16px\"\n        height=\"16px\"\n        viewBox=\"0 0 16 16\"\n        version=\"1.1\"\n        xmlns=\"http://www.w3.org/2000/svg\"\n        xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n      >\n        <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n          <path\n            d=\"M3.64644661,5.64644661 C3.82001296,5.47288026 4.08943736,5.45359511 4.2843055,5.58859116 L4.35355339,5.64644661 L8,9.293 L11.6464466,5.64644661 C11.820013,5.47288026 12.0894374,5.45359511 12.2843055,5.58859116 L12.3535534,5.64644661 C12.5271197,5.82001296 12.5464049,6.08943736 12.4114088,6.2843055 L12.3535534,6.35355339 L8.35355339,10.3535534 C8.17998704,10.5271197 7.91056264,10.5464049 7.7156945,10.4114088 L7.64644661,10.3535534 L3.64644661,6.35355339 C3.45118446,6.15829124 3.45118446,5.84170876 3.64644661,5.64644661 Z\"\n          ></path>\n        </g>\n      </svg>\n    </span>\n  </span>\n</div>\n\n<ng-template #noResultDefaultTemplate>\n  <span>{{ inputValue || inputValue === 0 ? i18nCommonText?.noRecordsFound : i18nCommonText?.noData }}</span>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AutoCompleteModule } from 'ng-devui/auto-complete';\nimport { PositioningModule } from 'ng-devui/position';\nimport { EditableSelectComponent } from './editable-select.component';\n\n@NgModule({\n  imports: [CommonModule, FormsModule, AutoCompleteModule, PositioningModule],\n  exports: [EditableSelectComponent],\n  declarations: [EditableSelectComponent],\n})\nexport class EditableSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}