{"version":3,"file":"igo2-core-route.mjs","sources":["../../../packages/core/route/src/route.interface.ts","../../../packages/core/route/src/route.service.ts","../../../packages/core/route/src/igo2-core-route.ts"],"sourcesContent":["export interface RouteServiceOptions {\n  centerKey?: string;\n  zoomKey?: string;\n  projectionKey?: string;\n  contextKey?: string;\n  searchKey?: string;\n  visibleOnLayersKey?: string;\n  visibleOffLayersKey?: string;\n  directionsCoordKey?: string;\n  directionsOptionsKey?: string;\n  toolKey?: string;\n  wmsUrlKey?: string;\n  wmsLayersKey?: string;\n  wmtsUrlKey?: string;\n  wmtsLayersKey?: string;\n  arcgisUrlKey?: string;\n  arcgisLayersKey?: string;\n  iarcgisUrlKey?: string;\n  iarcgisLayersKey?: string;\n  tarcgisUrlKey?: string;\n  tarcgisLayersKey?: string;\n  vectorKey?: string;\n  zoomExtentKey?: string;\n  exactMatchKey?: string;\n  focusFirstResultKey?: string;\n  searchGeomKey?: string;\n  sidenavKey?: string;\n  urlsKey?: string;\n  languageKey?: string;\n  positionKey?: string;\n  layersKey?: string;\n  groupsKey?: string;\n  rotationKey?: string;\n}\n\nexport const ROUTE_OPTIONS: RouteServiceOptions = {\n  languageKey: 'lang',\n  searchKey: 'search',\n  searchGeomKey: 'searchGeom',\n  exactMatchKey: 'exactMatch',\n  zoomExtentKey: 'zoomExtent',\n  focusFirstResultKey: 'sf',\n  toolKey: 'tool',\n  directionsCoordKey: 'routing',\n  directionsOptionsKey: 'routingOptions',\n  sidenavKey: 'sidenav',\n  visibleOnLayersKey: 'visiblelayers',\n  visibleOffLayersKey: 'invisiblelayers',\n  vectorKey: 'vector'\n};\n\nexport const LEGACY_ROUTE_OPTIONS: RouteServiceOptions = {\n  projectionKey: 'projection',\n  rotationKey: 'rotation',\n  zoomKey: 'zoom',\n  centerKey: 'center',\n  contextKey: 'context',\n  layersKey: 'layers',\n  wmsUrlKey: 'wmsUrl',\n  wmsLayersKey: 'wmsLayers',\n  wmtsUrlKey: 'wmtsUrl',\n  wmtsLayersKey: 'wmtsLayers',\n  arcgisUrlKey: 'arcgisUrl',\n  arcgisLayersKey: 'arcgisLayers',\n  iarcgisUrlKey: 'iarcgisUrl',\n  iarcgisLayersKey: 'iarcgisLayers',\n  tarcgisUrlKey: 'tarcgisUrl',\n  tarcgisLayersKey: 'tarcgisLayers'\n};\n","import { Injectable, InjectionToken, inject } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\n\nimport { Observable } from 'rxjs';\n\nimport {\n  LEGACY_ROUTE_OPTIONS,\n  ROUTE_OPTIONS,\n  RouteServiceOptions\n} from './route.interface';\n\nexport const ROUTE_SERVICE_OPTIONS = new InjectionToken<RouteServiceOptions>(\n  'routeServiceOptions'\n);\n\nexport function provideRouteServiceOptions(options: RouteServiceOptions) {\n  return {\n    provide: ROUTE_SERVICE_OPTIONS,\n    useValue: options\n  };\n}\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class RouteService {\n  private router = inject(Router);\n  route = inject(ActivatedRoute);\n\n  public options: RouteServiceOptions;\n\n  /**\n   * @deprecated use the new option of context-service\n   */\n  public legacyOptions: RouteServiceOptions;\n\n  constructor() {\n    const configs = inject<RouteServiceOptions>(ROUTE_SERVICE_OPTIONS, {\n      optional: true\n    });\n\n    this.options = { ...ROUTE_OPTIONS, ...configs };\n    this.legacyOptions = LEGACY_ROUTE_OPTIONS;\n  }\n\n  get queryParams(): Observable<Params> {\n    let url = decodeURIComponent(location.search);\n    if (url.includes('¢er=')) {\n      url = url.replace('¢er', '&center');\n      const queryParams: any = url\n        .slice(1)\n        .split('&')\n        .map((p) => p.split('='))\n        .reduce((obj, pair) => {\n          const [key, value] = pair.map(decodeURIComponent);\n          obj[key] = value;\n          return obj;\n        }, {});\n      this.router.navigate([], { queryParams });\n    }\n    return this.route.queryParams;\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;AAmCO,MAAM,aAAa,GAAwB;AAChD,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,aAAa,EAAE,YAAY;AAC3B,IAAA,aAAa,EAAE,YAAY;AAC3B,IAAA,aAAa,EAAE,YAAY;AAC3B,IAAA,mBAAmB,EAAE,IAAI;AACzB,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,kBAAkB,EAAE,SAAS;AAC7B,IAAA,oBAAoB,EAAE,gBAAgB;AACtC,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,kBAAkB,EAAE,eAAe;AACnC,IAAA,mBAAmB,EAAE,iBAAiB;AACtC,IAAA,SAAS,EAAE;;AAGN,MAAM,oBAAoB,GAAwB;AACvD,IAAA,aAAa,EAAE,YAAY;AAC3B,IAAA,WAAW,EAAE,UAAU;AACvB,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,YAAY,EAAE,WAAW;AACzB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,aAAa,EAAE,YAAY;AAC3B,IAAA,YAAY,EAAE,WAAW;AACzB,IAAA,eAAe,EAAE,cAAc;AAC/B,IAAA,aAAa,EAAE,YAAY;AAC3B,IAAA,gBAAgB,EAAE,eAAe;AACjC,IAAA,aAAa,EAAE,YAAY;AAC3B,IAAA,gBAAgB,EAAE;;;MCxDP,qBAAqB,GAAG,IAAI,cAAc,CACrD,qBAAqB;AAGjB,SAAU,0BAA0B,CAAC,OAA4B,EAAA;IACrE,OAAO;AACL,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,QAAQ,EAAE;KACX;AACH;MAKa,YAAY,CAAA;AACf,IAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AAC/B,IAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;AAEvB,IAAA,OAAO;AAEd;;AAEG;AACI,IAAA,aAAa;AAEpB,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,OAAO,GAAG,MAAM,CAAsB,qBAAqB,EAAE;AACjE,YAAA,QAAQ,EAAE;AACX,SAAA,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,EAAE;AAC/C,QAAA,IAAI,CAAC,aAAa,GAAG,oBAAoB;IAC3C;AAEA,IAAA,IAAI,WAAW,GAAA;QACb,IAAI,GAAG,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC7C,QAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACxB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;YACnC,MAAM,WAAW,GAAQ;iBACtB,KAAK,CAAC,CAAC;iBACP,KAAK,CAAC,GAAG;AACT,iBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACvB,iBAAA,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,KAAI;AACpB,gBAAA,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC;AACjD,gBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;AAChB,gBAAA,OAAO,GAAG;YACZ,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;QAC3C;AACA,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW;IAC/B;wGApCW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA;;4FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACxBD;;AAEG;;;;"}