{"version":3,"file":"hslayers-ng-common-history-list.mjs","sources":["../../../projects/hslayers/common/history-list/history-list.service.ts","../../../projects/hslayers/common/history-list/history-list.component.ts","../../../projects/hslayers/common/history-list/history-list.component.html","../../../projects/hslayers/common/history-list/history-list.module.ts","../../../projects/hslayers/common/history-list/hslayers-ng-common-history-list.ts"],"sourcesContent":["import {CookieService} from 'ngx-cookie-service';\nimport {Injectable, inject} from '@angular/core';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class HsHistoryListService {\n  private cookieService = inject(CookieService);\n\n  items: any = {};\n  readSourceHistory(forWhat: string): Array<string> {\n    if (forWhat !== undefined) {\n      let sourceString = this.cookieService.get(`last${forWhat}Sources`);\n      if (sourceString !== undefined) {\n        this.items[forWhat] = {\n          history: [],\n        };\n        if (sourceString !== '') {\n          sourceString = sourceString.replace(/[\\[\\]\\\"]/gi, '');\n          const historyArray = sourceString.split(',');\n          for (const item of historyArray) {\n            this.items[forWhat].history.push(item);\n          }\n        }\n      } else {\n        this.items[forWhat].history = [];\n      }\n      return this.items[forWhat].history;\n    }\n  }\n  uniq(a: Array<string>): Array<string> {\n    return a.sort().filter((item, pos, ary) => {\n      return !pos || item != ary[pos - 1];\n    });\n  }\n\n  addSourceHistory(forWhat: string, url: string): void {\n    if (url === null || url === undefined) {\n      return;\n    }\n    if (this.items[forWhat]?.history === undefined) {\n      this.items[forWhat] = {\n        history: [],\n      };\n    }\n    if (!this.items[forWhat]?.history?.includes(url)) {\n      this.items[forWhat].history.push(url);\n      this.cookieService.set(\n        `last${forWhat}Sources`,\n        JSON.stringify(this.items[forWhat].history),\n      );\n    }\n  }\n}\n","import {\n  Component,\n  EventEmitter,\n  Input,\n  OnChanges,\n  Output,\n  SimpleChanges,\n  inject,\n} from '@angular/core';\nimport {HsHistoryListService} from './history-list.service';\n\n@Component({\n  selector: 'hs-history-list',\n  templateUrl: './history-list.component.html',\n  standalone: false,\n})\nexport class HsHistoryListComponent implements OnChanges {\n  hsHistoryListService = inject(HsHistoryListService);\n\n  @Input() what: string; //input\n\n  @Output() historyUrlSelected = new EventEmitter<string>(); //output\n  items: Array<string>;\n  ngOnChanges(changes: SimpleChanges): void {\n    this.items = this.hsHistoryListService.readSourceHistory(\n      changes.what.currentValue,\n    );\n  }\n  historyUrlClicked(value: string): void {\n    this.historyUrlSelected.emit(value);\n  }\n}\n","<div ngbDropdown display=\"dynamic\" placement=\"bottom-right\" class=\"h-100\">\n  <button ngbDropdownToggle type=\"button\"\n    class=\"btn btn-outline-secondary dropdown-toggle dropdown-toggle-split rounded-0 h-100\"\n    [title]=\"'HISTORY.toggleDropdown' | translate\" aria-haspopup=\"true\" aria-expanded=\"false\">\n  </button>\n  <div ngbDropdownMenu class=\"dropdown-menu\" style=\"width:325px; overflow: hidden\">\n    @for (item of items; track $index) {\n    <a class=\"dropdown-item\" (click)=\"historyUrlClicked(item)\">{{item}}</a>\n    }\n  </div>\n</div>\n","import {CUSTOM_ELEMENTS_SCHEMA, NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {CookieService} from 'ngx-cookie-service';\nimport {FormsModule} from '@angular/forms';\nimport {NgbDropdownModule} from '@ng-bootstrap/ng-bootstrap';\nimport {TranslatePipe} from '@ngx-translate/core';\n\nimport {HsHistoryListComponent} from './history-list.component';\n\n@NgModule({\n  schemas: [CUSTOM_ELEMENTS_SCHEMA],\n  declarations: [HsHistoryListComponent],\n  imports: [FormsModule, CommonModule, TranslatePipe, NgbDropdownModule],\n  exports: [HsHistoryListComponent],\n  providers: [CookieService],\n})\nexport class HsHistoryListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}