{"version":3,"file":"c8y-ngx-components-upgrade.mjs","sources":["../../upgrade/absolute-date.service.ts","../../upgrade/ng1/views.provider.ts","../../upgrade/bridge.service.ts","../../upgrade/action-bar.factory.ts","../../upgrade/action.factory.ts","../../upgrade/auth-bridge.service.ts","../../upgrade/breadcrumb.factory.ts","../../upgrade/docs.factory.ts","../../upgrade/nodes.factory.ts","../../upgrade/tabs.factory.ts","../../upgrade/upgrade.module.ts","../../upgrade/ng1/alert.decorator.ts","../../upgrade/ng1/downgraded.components.ts","../../upgrade/ng1/serverMessages.service.ts","../../upgrade/ng1/downgraded.services.ts","../../upgrade/ng1/gettextCatalog.decorator.ts","../../upgrade/ng1/groupsHierarchyNavigator.decorator.ts","../../upgrade/ng1/http.interceptor.ts","../../upgrade/ng1/navigator-node-root-legacy.ts","../../upgrade/ng1/navigator.provider.ts","../../upgrade/ng1/root.component.ts","../../upgrade/ng1/title.decorator.ts","../../upgrade/ng1/index.ts","../../upgrade/hybrid-app.module.ts","../../upgrade/upgrade.routes.ts","../../upgrade/dashboard/dashboard-bridge.service.ts","../../upgrade/dashboard/widget.component.ts","../../upgrade/dashboard/device-selector.component.ts","../../upgrade/dashboard/component.factory.ts","../../upgrade/dashboard/dashboard-upgrade.module.ts","../../upgrade/c8y-ngx-components-upgrade.ts"],"sourcesContent":["import { DatePipe } from '@c8y/ngx-components';\n\nexport class AbsoluteDateService {\n  constructor(private datePipe: DatePipe) {}\n  getFilter() {\n    return (value: any, format = 'medium', timezone?: string, locale?: string) =>\n      this.datePipe.transform(value, format, timezone, locale);\n  }\n}\nexport function absoluteDateServiceFactory(datePipe: DatePipe) {\n  return new AbsoluteDateService(datePipe).getFilter();\n}\nexport const absoluteDateServiceProvider = {\n  provide: AbsoluteDateService,\n  useFactory: absoluteDateServiceFactory,\n  deps: [DatePipe]\n};\n","import { ViewContext } from '@c8y/ngx-components';\nimport { find, forEach, map, startsWith, unary } from 'lodash-es';\nimport { ReplaySubject } from 'rxjs';\n\nexport enum ViewContextLegacyParameter {\n  Device = 'deviceId',\n  Group = 'groupId',\n  User = 'userId',\n  Application = 'applicationId',\n  Microservice = 'applicationId',\n  SubscribedApplications = 'applicationId',\n  Tenant = 'tenantId',\n  Service = 'deviceId', // use 'deviceId' as parameter name so that device views (Measurements, Events, Alarms) can be reused for service\n  Simulators = 'deviceId' // required to hook the Alarms tab to a Simulator view\n}\n\nfunction c8yViewsProvider($routeProvider, c8yTabsProvider, c8yPathUtils) {\n  'ngInject';\n\n  const viewMap = {};\n  const contextViews = new ReplaySubject();\n\n  return {\n    when,\n    $get() {\n      return {\n        contextViews,\n        when(path, cfg) {\n          return when(path, cfg, true);\n        },\n        getByPath,\n        prefixWithSlash\n      };\n    }\n  };\n\n  /**\n   * @ngdoc function\n   * @name when\n   * @methodOf c8y.ui.provider:c8yViewsProvider\n   *\n   * @description\n   * Defines a view for given route.\n   * If multiple views are defined for a single route then there will be a separate tab for each view available when user visits that route.\n   *\n   * @param path Target route.\n   * @param cfg View configuration object with the following properties:\n   *\n   * - **name** - `string` - View's name (in case of multiple views at single route this will be displayed as tab's title).\n   * - **priority** - `integer` - View's priority (in case of multiple views at single route this will determine the position of view's tab in the tabs stack).\n   * - **icon** - `string` - Font Awesome icon name for the view (displayed on the tab's header).\n   * - **showIf** - `function` - Function returning boolean value indicating whether to show a tab for the view or not.\n   * - **templateUrl** - `string` - Path to the template to use for displaying the view.\n   *\n   * You can also provide other view options - the same as available for standard {@link https://docs.angularjs.org/api/ngRoute/provider/$routeProvider $routeProvider} in AngularJS.\n   *\n   * ```html\n   * The following example demonstrates how to add a new view to device details route\n   * (which will be displayed as a tab if other views are assigned to the same route):\n   * <pre>\n   *   c8yViewsProvider.when('/device/:deviceId', {\n   *     name: 'Tracking',\n   *     templateUrl: ':::PLUGIN_PATH:::/views/index.html',\n   *     icon: 'crosshairs',\n   *     showIf: ['$routeParams', 'c8yDevices', function ($routeParams, c8yDevices) {\n   *       var deviceId = $routeParams.deviceId;\n   *       return c8yDevices.detailCached(deviceId).then(function (res) {\n   *         var device = res.data;\n   *         return device && (device.c8y_MotionTracking || device.c8y_Geofence);\n   *       });\n   *     }]\n   *   });\n   * </pre>\n   * ```\n   */\n  function when(path, cfg, runPhase) {\n    const newPath = prefixWithSlash(path);\n    cfg.resolve = cfg.resolve || {};\n    // eslint-disable-next-line no-underscore-dangle\n    cfg.resolve.__c8y_locales = [\n      'c8yLocales',\n      c8yLocales => {\n        return c8yLocales.initDone;\n      }\n    ];\n\n    let currentCfg = viewMap[newPath];\n    const originalPath = newPath;\n\n    if (!cfg.name) {\n      // console.warn('View name not defined');\n    }\n\n    if (!currentCfg) {\n      viewMap[newPath] = [];\n      currentCfg = viewMap[newPath];\n    }\n\n    const upgradedContext = Object.keys(ViewContext)\n      .map(key => ({\n        key,\n        isUpgrade:\n          prefixWithSlash(ViewContext[key].replace('id', ViewContextLegacyParameter[key])) === path\n      }))\n      .find(({ isUpgrade }) => isUpgrade);\n\n    if (upgradedContext) {\n      currentCfg.push(cfg);\n      cfg.path = newPath;\n\n      const p = c8yPathUtils.appendSegment(originalPath.replace(path, ''), cfg.name);\n      contextViews.next({\n        ...cfg,\n        path: cfg.name ? p.substring(1) : '',\n        contextKey: upgradedContext.key,\n        runPhase\n      });\n      cfg.showIf = undefined;\n      if (cfg.name) {\n        cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n      }\n    } else {\n      if (currentCfg.length === 1) {\n        const [existingConfig] = currentCfg;\n        existingConfig.path = c8yPathUtils.appendSegment(originalPath, existingConfig.name);\n        existingConfig.tab = createTab(originalPath, existingConfig);\n        $routeProvider.when(existingConfig.path, existingConfig);\n      }\n\n      currentCfg.push(cfg);\n      cfg.path = newPath;\n\n      if (currentCfg.length > 1) {\n        cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n        createTab(originalPath, cfg);\n\n        $routeProvider.when(prefixWithSlash(originalPath), {\n          resolveRedirectTo($route, $q, c8yUiUtil, c8yTabs, gettextCatalog) {\n            'ngInject';\n\n            const sortedCurrentCfg = c8yTabsProvider.sortTabsViews(currentCfg, gettextCatalog);\n            const params = $route.current.pathParams;\n\n            return $q\n              .all(map(sortedCurrentCfg, unary(c8yUiUtil.configureVisibility)))\n              .then(views => {\n                const first = find(views, 'show');\n                let url = first.path;\n                forEach(params, (val, key) => {\n                  url = url.replace(`:${key}`, val);\n                });\n                c8yTabs.redirectedViewPath = url;\n                return url;\n              });\n          }\n        });\n      }\n    }\n    return $routeProvider.when(prefixWithSlash(cfg.path), cfg);\n  }\n\n  function getByPath(path) {\n    return viewMap[prefixWithSlash(path)];\n  }\n\n  function createTab(path, cfg) {\n    c8yTabsProvider.addTab(path, cfg);\n  }\n\n  function prefixWithSlash(path) {\n    const prefix = startsWith(path, '/') ? '' : '/';\n    return prefix + path;\n  }\n}\n\nexport { c8yViewsProvider };\n","import { gettext } from '@c8y/ngx-components/gettext';\nimport {\n  Action,\n  ActionBarItem,\n  ActionService,\n  AppStateService,\n  Breadcrumb,\n  BreadcrumbItem,\n  DocLink,\n  EmptyComponent,\n  PluginsResolveService,\n  RouterService,\n  Search,\n  Tab,\n  ViewContext\n} from '@c8y/ngx-components';\nimport { isArray } from 'lodash-es';\nimport {\n  BehaviorSubject,\n  combineLatest,\n  from,\n  fromEventPattern,\n  merge,\n  Observable,\n  of,\n  Subject\n} from 'rxjs';\nimport { debounceTime, delay, filter, map, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { NgZone } from '@angular/core';\nimport { ActivatedRouteSnapshot, ActivationEnd, ResolveEnd, Router } from '@angular/router';\nimport { ViewContextLegacyParameter } from './ng1/views.provider';\n\nexport class BridgeService {\n  $routeChanges: Observable<any>;\n  $ng1RouteChangeSuccess: Observable<any>;\n  $ng1RouteChangeStart: Observable<any>;\n  $ng1RouteUpdate: Observable<any>;\n  $liveTabs: Subject<Tab[]> = new BehaviorSubject([]);\n  navigationNodes$: Observable<any>;\n  initialNavigationDone = false;\n\n  constructor(\n    public injector: any,\n    private appState: AppStateService,\n    public router: Router,\n    private ngZone: NgZone,\n    private routerService: RouterService,\n    private actionService: ActionService\n  ) {\n    this.fixE2eIssues();\n    this.$ng1RouteChangeSuccess = this.fromNg1Event(\n      this.injector.get('$rootScope'),\n      '$routeChangeSuccess'\n    );\n    this.$ng1RouteChangeStart = this.fromNg1Event(\n      this.injector.get('$rootScope'),\n      '$routeChangeStart'\n    );\n    this.$ng1RouteUpdate = this.fromNg1Event(this.injector.get('$rootScope'), '$routeUpdate');\n    this.hookLanguage();\n    this.hookTab();\n    this.hookNavigator();\n    this.hookUserMenu();\n    this.hookViewProvider();\n    this.hookRoute();\n\n    this.routerService.readyForInitialNavigation$.pipe(take(1), delay(1)).subscribe(() => {\n      this.initialNavigationDone = true;\n      this.router.initialNavigation();\n    });\n    this.ng1Routes();\n  }\n\n  /**\n   * Ensure that angularjs routes are not using any\n   * secondary router outlets\n   */\n  hookRoute() {\n    this.router.events\n      .pipe(\n        filter(event => event instanceof ResolveEnd),\n        map((event: ResolveEnd) => event.state.root.firstChild),\n        filter(route => route && route.routeConfig && route.routeConfig.path === '**')\n      )\n      .subscribe((event: ActivatedRouteSnapshot) => {\n        if (event.root.children.length > 1) {\n          window.location.hash = event.root.children[0].url.toString();\n        }\n      });\n  }\n\n  hookViewProvider() {\n    const c8yViews = this.injector.get('c8yViews');\n    // fix to trigger an angularjs route change success\n    // event on context route match to make legacy\n    // view-providers resolve.\n    c8yViews.when('/device/:id', {\n      template: ''\n    });\n    c8yViews.when('/group/:id', {\n      template: ''\n    });\n    c8yViews.contextViews.subscribe(cfg => this.addRoute(cfg));\n  }\n\n  addRoute(cfg) {\n    this.routerService.addRoute({\n      label: cfg.label || cfg.name,\n      path: cfg.path,\n      icon: cfg.icon,\n      context: ViewContext[cfg.contextKey] as ViewContext,\n      priority: cfg.priority,\n      component: EmptyComponent,\n      data: {\n        showIf: cfg.showIf\n          ? ngxRoute => {\n              const params = {\n                ...ngxRoute.params,\n                [ViewContextLegacyParameter[cfg.contextKey]]: ngxRoute.params.id\n              };\n              const showIfResult = this.injector.invoke(cfg.showIf, undefined, {\n                $routeParams: params\n              });\n              // make sure showIf result is a promise with boolean result:\n              return this.injector.get('$q').when(showIfResult).then(Boolean);\n            }\n          : undefined\n      },\n      ...(cfg.featureId && { featureId: cfg.featureId })\n    });\n\n    if (cfg.runPhase) {\n      this.routerService.refresh();\n    }\n  }\n\n  ng1Routes() {\n    const template = '';\n    const fallbackRoutes = [];\n\n    for (const context in ViewContext) {\n      if (ViewContext[context] !== ViewContext.Alarms) {\n        const path = ViewContext[context].match(/(\\w+)\\//)[1];\n        const regexp = new RegExp(`^/${path}/(?:([^/]+)).*$`);\n        fallbackRoutes.push({\n          keys: [{ name: ViewContextLegacyParameter[context], optional: false }],\n          regexp,\n          template\n        });\n      }\n    }\n\n    /**\n     * When asset detail routes (/device/:id,  /group/:id) are matched in Angular Router, ngRoute in\n     * angular.js must also have matching generic routes so that the ids can be extracted from the paths and\n     * injected in multiple calls (showIf, c8yActions, etc) as properties of $routeParams.\n     *\n     * The function in src/ngRoute/route.js (angular.js) where the routes are matched is called parseRoute(). This\n     * function calls angular.forEach and in turn this function checks for the presence of a forEach method before\n     * trying object key iteration.\n     * By attaching a non enumerable forEach method to the routes object we guarantee that the fallback generic routes\n     * are only matched after any other registered through $routeProvider.when.\n     */\n    const $route = this.injector.get('$route');\n    Object.defineProperty($route.routes, 'forEach', {\n      // make non enumerable\n      value: function forEach(iterator, context) {\n        // tslint:disable-next-line: forin\n        for (const key in this) {\n          iterator.call(context, this[key], key, this);\n        }\n        fallbackRoutes.forEach(r => iterator.call(context, r));\n      },\n      configurable: true\n    });\n\n    /**\n     * Some functions use the current context. As some parts are upgraded and some not, the following updates the\n     * angularjs getContext function to resolve always the right context.\n     */\n    const c8yUiUtil = this.injector.get('c8yUiUtil');\n    const _getContext = c8yUiUtil.getContext;\n    this.router.events\n      .pipe(filter(event => event instanceof ActivationEnd))\n      .subscribe((event: ActivationEnd) => {\n        if (event.snapshot.routeConfig.path === '**') {\n          c8yUiUtil.getContext = _getContext;\n        } else if (event.snapshot.data && event.snapshot.data.context) {\n          c8yUiUtil.getContext = () => {\n            return {\n              context: event.snapshot.data.context.replace('/:id', ''),\n              id: event.snapshot.data.contextData.id,\n              contextData: event.snapshot.data.contextData\n            };\n          };\n        } else {\n          c8yUiUtil.getContext = () => ({ context: null, id: null });\n        }\n      });\n  }\n\n  fixE2eIssues() {\n    try {\n      const { ngZone } = this;\n      const { Utils } = (window as any).org.cometd;\n      const timeoutFn = Utils.setTimeout;\n      // tslint:disable-next-line:only-arrow-functions\n      Utils.setTimeout = function (...args) {\n        return ngZone.runOutsideAngular(() => timeoutFn.apply(Utils, args));\n      };\n    } catch (e) {\n      // do nothing\n    }\n\n    try {\n      const { ace } = window as any;\n      const editFn = ace.edit;\n      const { ngZone } = this;\n      // tslint:disable-next-line:only-arrow-functions\n      ace.edit = function (...args) {\n        return ngZone.runOutsideAngular(() => editFn.apply(ace, args));\n      };\n    } catch (e) {\n      // do nothing\n    }\n  }\n\n  hookLanguage() {\n    let first = true;\n    this.appState\n      .map(store => store.lang)\n      .subscribe(lang => {\n        this.injector.get('c8yLocales').switchToLanguage(lang);\n        if (!first) {\n          this.injector.get('$rootScope').$apply();\n        }\n        first = false;\n      });\n  }\n\n  hookTab() {\n    // Just for instantiation of the c8yAction service\n    this.injector.get('c8yActions');\n    const $location = this.injector.get('$location');\n    const c8yTabs = this.injector.get('c8yTabs');\n    let liveTabs = [];\n    c8yTabs.addTab = tab => {\n      liveTabs.push({\n        ...tab,\n        label: tab.label || tab.name,\n        path: decodeURIComponent(tab.path)\n      });\n      this.$liveTabs.next(liveTabs);\n    };\n    this.$ng1RouteChangeStart.subscribe(() => {\n      liveTabs = [];\n      this.$liveTabs.next(liveTabs);\n    });\n\n    const syncRouters = () => {\n      const path = $location.path();\n\n      // Don't sync if Angular Router is using secondary outlets\n      // (e.g., /device/123/(dashboard-details:general))\n      // Let Angular Router handle these advanced navigation scenarios\n      if (this.router.url.includes('(') && this.router.url.includes(':')) {\n        return;\n      }\n\n      // Only sync if paths differ and initial navigation is complete\n      if (this.router.url !== path && this.initialNavigationDone) {\n        this.router.navigate(path === '/' ? '' : path.split('/'), {\n          queryParams: $location.search(),\n          skipLocationChange: true\n        });\n      }\n      if (this.actionService) {\n        this.actionService.refresh();\n      }\n    };\n\n    // Listen to $routeChangeSuccess (full navigation - always sync)\n    this.$ng1RouteChangeSuccess.subscribe(syncRouters);\n    // Listen to $routeUpdate (skip if query-param-only)\n    this.$ng1RouteUpdate\n      .pipe(\n        filter(() => {\n          const path = $location.path();\n          const angularPath = this.router.url.split('?')[0];\n          // Only process if path actually changed (not just query params)\n          return angularPath !== path;\n        })\n      )\n      .subscribe(syncRouters);\n    this.$routeChanges = merge(\n      this.$ng1RouteChangeSuccess,\n      this.fromNg1Event(c8yTabs, c8yTabs.EVENT_UPDATE),\n      of(1)\n    ).pipe(debounceTime(100));\n  }\n\n  hookNavigator() {\n    this.navigationNodes$ = this.injector.get('c8yNavigator').rootNodes$;\n  }\n\n  getTabs(): Observable<any> {\n    const onlyVisible = ({ show }) => show;\n    const upgradeTab = tab => ({\n      ...tab,\n      label: tab.label || tab.name,\n      path: decodeURIComponent(tab.path)\n    });\n    const routeTabs = this.$routeChanges.pipe(\n      switchMap(() => {\n        const routes = this.injector.get('c8yTabs').routeTabs;\n        const visibilityPromise = Promise.all(\n          routes.map(({ checkingVisibility }) => checkingVisibility)\n        );\n        return visibilityPromise.then(() => routes.filter(onlyVisible).map(upgradeTab));\n      }),\n      startWith([])\n    );\n    return combineLatest([routeTabs, this.$liveTabs]).pipe(\n      map(([route, live]) => route.concat(live))\n    );\n  }\n\n  getQuickLinks(): Promise<DocLink[]> {\n    const c8yQuickLinks = this.injector.get('c8yQuickLinks');\n    return c8yQuickLinks.list();\n  }\n\n  getActionBarItems(): Observable<ActionBarItem> {\n    const c8yActionBar = this.injector.get('c8yActionBar');\n    const $rootScope = this.injector.get('$rootScope');\n    const getActionBarElements = () =>\n      c8yActionBar.elements.map(element => ({\n        priority: element.getAttribute('action-bar-priority') || 0,\n        template: element,\n        placement: element.getAttribute('action-bar-position') || 'right'\n      }));\n    return this.fromNg1Event($rootScope, 'c8yActionBarChanged').pipe(\n      startWith(1),\n      map(getActionBarElements)\n    );\n  }\n\n  getBreadcrumbs(): Observable<Breadcrumb[]> {\n    const $location = this.injector.get('$location');\n    const c8yBreadcrumbs = this.injector.get('c8yBreadcrumbs');\n    const breadcrumbsUpdate$ = new Observable(subscriber =>\n      c8yBreadcrumbs.$on('update', () => subscriber.next(null))\n    );\n    return breadcrumbsUpdate$.pipe(\n      startWith(0),\n      switchMap(() => {\n        const path = $location.path();\n        const breadcrumbs = c8yBreadcrumbs.get(path) || {};\n        const breadcrumbsData = this.resolveBreadcrumbsData(breadcrumbs.data);\n        return from(breadcrumbsData).pipe(\n          map((value: any[]) => {\n            const liveBreadcrumbs = c8yBreadcrumbs.getLiveBreadcrumbs();\n            value = value.concat(liveBreadcrumbs);\n            return value.map(items => ({ items: items as BreadcrumbItem[] }) as Breadcrumb);\n          })\n        );\n      })\n    );\n  }\n\n  resolveBreadcrumbsData(data): Observable<any[]> {\n    try {\n      return this.injector.invoke(data);\n    } catch (ex) {\n      // empty\n    }\n    if (isArray(data)) {\n      return of([data]);\n    }\n    return of([]);\n  }\n\n  getSearch(): Search[] {\n    const c8ySearch = this.injector.get('c8ySearch');\n    return c8ySearch.list().map(item => {\n      return {\n        icon: 'search',\n        name: item.name,\n        term: '',\n        onSearch() {\n          if (this.term) {\n            c8ySearch.search(this.term);\n          }\n        }\n      } as Search;\n    });\n  }\n\n  getActions(): Observable<Action> {\n    const registeredActions = this.injector.get('c8yActions').registeredActions;\n    return of(\n      registeredActions\n        .filter(action => !action.hidden)\n        .map(action => ({\n          // The priority was reversed: Aligned it to dashboard, high first, low last.\n          priority: (action.priority || 0) * -1,\n          label: action.text,\n          icon: action.icon,\n          disabled: action.disabled,\n          action: () => {\n            this.injector.invoke(action.action, action);\n          }\n        }))\n    );\n  }\n\n  fromNg1Event(obj, evt) {\n    let stopListening;\n    function add(handler) {\n      stopListening = obj.$on(evt, handler);\n    }\n    return fromEventPattern(add, () => stopListening());\n  }\n\n  private hookUserMenu() {\n    const userMenuService = this.injector.get('c8yUserMenuService');\n    const c8yAccessDenied = this.injector.get('c8yAccessDenied');\n    userMenuService.add({\n      icon: 'access',\n      priority: 10,\n      label: gettext('Access denied requests'),\n      click: c8yAccessDenied.showAccessDeniedRequestsList\n    });\n  }\n}\n\nexport function bridgeServiceFactory(\n  injector: any,\n  appState: AppStateService,\n  router: Router,\n  ngZone: NgZone,\n  routerService: RouterService,\n  actionService: ActionService\n) {\n  return new BridgeService(injector, appState, router, ngZone, routerService, actionService);\n}\n\nexport const bridgeServiceProvider = {\n  provide: BridgeService,\n  useFactory: bridgeServiceFactory,\n  deps: [\n    '$injector',\n    AppStateService,\n    Router,\n    NgZone,\n    RouterService,\n    ActionService,\n    PluginsResolveService\n  ]\n};\n","import { Injectable } from '@angular/core';\nimport { ActionBarFactory, ActionBarItem } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ActionBarFactoryService implements ActionBarFactory {\n  routeChanges$: Observable<any>;\n  $ng1RouteChangeSuccess: Observable<any>;\n  constructor(private bridge: BridgeService) {\n    this.routeChanges$ = bridge.$routeChanges;\n    this.$ng1RouteChangeSuccess = bridge.$ng1RouteChangeSuccess;\n  }\n\n  get(): Observable<ActionBarItem> {\n    return this.routeChanges$.pipe(\n      switchMap(() => {\n        return this.bridge.getActionBarItems();\n      })\n    );\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { ActionFactory, TabsService } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class Ng1ActionFactoryService implements ActionFactory {\n  routeChanges$: Observable<any>;\n  $location: any;\n  constructor(private bridge: BridgeService, private tabs: TabsService) {\n    this.routeChanges$ = bridge.$routeChanges;\n    this.$location = bridge.injector.get('$location');\n    this.tabs.items$.subscribe(newTabs => this.handleTabsRedirect(newTabs));\n  }\n\n  handleTabsRedirect(tabs) {\n    /**\n     * This function is doing the same process as function redirect in the file\n     * modules/core/ui/navigation/tabs.provider.js\n     * That function  is not run because bridge.service.ts overrides the method addTab where the redirect() was called.\n     */\n    const redirectedTab = tabs.find(tab => tab.redirectedTo);\n    const [topPriorityTab] = tabs;\n    if (redirectedTab && !topPriorityTab.redirectedTo) {\n      this.$location.replace();\n      this.$location.path(topPriorityTab.path);\n      topPriorityTab.redirectedTo = true;\n      redirectedTab.redirectedTo = false;\n    }\n  }\n\n  get() {\n    return this.bridge.getActions();\n  }\n}\n","import { AppStateService, TenantUiService } from '@c8y/ngx-components';\nimport { BasicAuth, FetchClient, ICredentials } from '@c8y/client';\n\nexport class AuthBridgeService {\n  constructor(\n    public injector: any,\n    private basicAuth: BasicAuth,\n    private fetchClient: FetchClient,\n    private appState: AppStateService,\n    private tenantUiService: TenantUiService\n  ) {\n    this.hookAuth();\n  }\n\n  updateBasicAuth(credentials: ICredentials) {\n    const { headers } = this.fetchClient.getFetchOptions({});\n    if (headers.Authorization) {\n      const token = headers.Authorization.match(/basic\\s(.*)$/i)[1];\n      if (token) {\n        this.basicAuth.updateCredentials(credentials);\n        this.fetchClient.setAuth(this.basicAuth);\n      }\n    }\n  }\n\n  hookAuth() {\n    this.appState.currentUser.subscribe(user => {\n      if (!user) {\n        this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: false });\n        return;\n      }\n      this.injector.get('c8yAuth').headers = () => this.fetchClient.getFetchOptions({}).headers;\n      const { headers } = this.fetchClient.getFetchOptions({});\n      const authorizationHeader = headers.Authorization;\n      if (typeof authorizationHeader === 'string' && authorizationHeader.startsWith('Basic')) {\n        const matches = authorizationHeader.match(/basic\\s(.*)$/i);\n        const token = matches && matches[1];\n        if (token) {\n          this.setToken(token, headers.tfatoken);\n        }\n      } else if (\n        typeof authorizationHeader === 'string' &&\n        authorizationHeader.startsWith('Bearer')\n      ) {\n        const matches = authorizationHeader.match(/bearer\\s(.*)$/i);\n        const token = matches && matches[1];\n        if (token) {\n          this.setToken(token, headers.tfatoken, 'Bearer');\n        }\n      } else {\n        this.setToken(undefined, headers.tfatoken, 'Oauth');\n      }\n      this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: true });\n    });\n  }\n\n  setToken(token?: string, tfa?: string, type = 'Basic') {\n    const c8yAuth = this.injector.get('c8yAuth');\n    if (type === 'Basic' || type === 'Bearer') {\n      c8yAuth.onSetToken({ token, type });\n      if (tfa) {\n        c8yAuth.setTFAToken(tfa);\n      }\n    } else {\n      c8yAuth.authReady();\n    }\n  }\n\n  getPreferredLoginOption() {\n    return this.tenantUiService.getPreferredLoginOption(this.appState.state.loginOptions);\n  }\n}\n\nexport function authBridgeServiceFactory(\n  injector: any,\n  basicAuth: BasicAuth,\n  fetchClient: FetchClient,\n  appState: AppStateService,\n  tenantUiService: TenantUiService\n) {\n  return new AuthBridgeService(injector, basicAuth, fetchClient, appState, tenantUiService);\n}\n\nexport const authBridgeServiceProvider = {\n  provide: AuthBridgeService,\n  useFactory: authBridgeServiceFactory,\n  deps: ['$injector', BasicAuth, FetchClient, AppStateService, TenantUiService]\n};\n","import { Injectable } from '@angular/core';\nimport { BreadcrumbFactory } from '@c8y/ngx-components';\nimport { ReplaySubject } from 'rxjs';\nimport { debounceTime, switchMap } from 'rxjs/operators';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1BreadcrumbFactoryService implements BreadcrumbFactory {\n  private trigger: any = new ReplaySubject(1);\n  private breadcrumbs = this.trigger.pipe(\n    debounceTime(100),\n    switchMap(() => {\n      return this.bridge.getBreadcrumbs();\n    })\n  );\n  constructor(private bridge: BridgeService) {}\n\n  get() {\n    this.trigger.next();\n    return this.breadcrumbs;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { DocLink, ExtensionFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1DocsFactoryService implements ExtensionFactory<DocLink> {\n  private links: Promise<DocLink[]>;\n  constructor(private bridge: BridgeService) {\n    this.links = this.bridge.getQuickLinks();\n    this.links.then(list => {\n      list.map(el => {\n        el.type = el.type || 'quicklink';\n        return el;\n      });\n    });\n  }\n\n  get() {\n    return this.links;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1NodesFactoryService implements NavigatorNodeFactory {\n  constructor(private bridge: BridgeService) {}\n\n  get() {\n    return this.bridge.navigationNodes$;\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { TabFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1TabsFactoryService implements TabFactory {\n  tabsObservable;\n  constructor(private bridge: BridgeService) {\n    this.tabsObservable = bridge.getTabs();\n  }\n  get() {\n    return this.tabsObservable;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { setAngularJSGlobal } from '@angular/upgrade/static';\nimport {\n  hookAction,\n  hookActionBar,\n  hookBreadcrumb,\n  hookDocs,\n  hookNavigator,\n  hookTab,\n  RouterModule\n} from '@c8y/ngx-components';\nimport { UpgradedServicesModule } from '@c8y/ngx-components/upgrade/upgraded-services';\nimport * as angular from 'angular';\nimport { absoluteDateServiceProvider } from './absolute-date.service';\nimport { Ng1ActionBarFactoryService } from './action-bar.factory';\nimport { Ng1ActionFactoryService } from './action.factory';\nimport { authBridgeServiceProvider } from './auth-bridge.service';\nimport { Ng1BreadcrumbFactoryService } from './breadcrumb.factory';\nimport { bridgeServiceProvider } from './bridge.service';\nimport { Ng1DocsFactoryService } from './docs.factory';\nimport { Ng1NodesFactoryService } from './nodes.factory';\nimport { Ng1TabsFactoryService } from './tabs.factory';\n\nsetAngularJSGlobal(angular);\n\n@NgModule({\n  imports: [RouterModule, UpgradedServicesModule],\n  exports: [],\n  providers: [\n    absoluteDateServiceProvider,\n    bridgeServiceProvider,\n    authBridgeServiceProvider,\n    hookNavigator(Ng1NodesFactoryService),\n    hookTab(Ng1TabsFactoryService),\n    hookActionBar(Ng1ActionBarFactoryService),\n    hookAction(Ng1ActionFactoryService),\n    hookBreadcrumb(Ng1BreadcrumbFactoryService),\n    hookDocs(Ng1DocsFactoryService)\n  ]\n})\nexport class UpgradeModule {}\n","function c8yAlertDecorator($delegate, $rootScope, $injector) {\r\n  'ngInject';\r\n\r\n  $delegate.add = alert => {\r\n    $delegate.addAlert(transformAlert(alert));\r\n  };\r\n\r\n  $rootScope.$on('alert', (evt, alert) => {\r\n    $delegate.addAlert(transformAlert(alert));\r\n  });\r\n\r\n  $rootScope.$on('message', (evt, alert) => {\r\n    $delegate.addAlert(transformAlert(alert));\r\n  });\r\n\r\n  /**\r\n   * Solution based on the: https://stackoverflow.com/questions/40102148/how-to-iterate-over-all-properties-in-objects-prototype-chain.\r\n   * Problem came after switching to ES6, as all prototype properties of classes are non-enumerable.\r\n   */\r\n  const allNames = new Set();\r\n  for (let o = $delegate; o !== Object.prototype; o = Object.getPrototypeOf(o)) {\r\n    for (const name of Object.getOwnPropertyNames(o)) {\r\n      allNames.add(name);\r\n    }\r\n  }\r\n  Array.from(allNames).forEach((property: string) => {\r\n    if (typeof $delegate[property] === 'function') {\r\n      $delegate[property] = $delegate[property].bind($delegate);\r\n    }\r\n  });\r\n\r\n  function transformAlert(alert: any) {\r\n    const newAlert: any = { ...alert };\r\n    if (alert.onClose) {\r\n      newAlert.onClose = () => {\r\n        $injector.invoke(alert.onClose);\r\n      };\r\n    }\r\n    if (alert.onDetail) {\r\n      newAlert.onDetail = () => {\r\n        $injector.invoke(alert.onDetail);\r\n      };\r\n    }\r\n    return newAlert;\r\n  }\r\n\r\n  return $delegate;\r\n}\r\n\r\nexport { c8yAlertDecorator };\r\n","import { downgradeComponent } from '@angular/upgrade/static';\nimport {\n  BootstrapComponent,\n  DataGridComponent,\n  EmptyStateComponent,\n  HelpComponent,\n  HighlightComponent,\n  LoadingComponent,\n  PasswordCheckListComponent,\n  PasswordInputComponent,\n  RangeDisplayComponent,\n  UserTotpRevokeComponent\n} from '@c8y/ngx-components';\nimport { AppLogsAutoRefreshComponent } from '@c8y/ngx-components/app-logs';\nimport { WidgetPreviewWrapperComponent } from '@c8y/ngx-components/context-dashboard';\nimport { DatapointSelectionListComponent } from '@c8y/ngx-components/datapoint-selector';\nimport {\n  GlobalContextWidgetWrapperComponent,\n  GlobalContextConnectorComponent,\n  LocalControlsComponent\n} from '@c8y/ngx-components/global-context';\nimport { PlatformConfigurationFormComponent } from '@c8y/ngx-components/platform-configuration';\nimport { RolesAssetTreeComponent } from '@c8y/ngx-components/user-roles';\nimport { PaginationComponent } from 'ngx-bootstrap/pagination';\n\nexport const bootstrapComponentDowngradedComponent = downgradeComponent({\n  component: BootstrapComponent\n});\nexport const userTotpComponentDowngradedComponent = downgradeComponent({\n  component: UserTotpRevokeComponent\n});\nexport const appLogsAutoRefreshComponentDowngradedComponent = downgradeComponent({\n  component: AppLogsAutoRefreshComponent\n});\nexport const dataGridComponentDowngradedComponent = downgradeComponent({\n  component: DataGridComponent\n});\nexport const loadingComponentDowngradedComponent = downgradeComponent({\n  component: LoadingComponent\n});\nexport const rangeDisplayComponentDowngradedComponent = downgradeComponent({\n  component: RangeDisplayComponent\n});\nexport const helpComponentDowngradedComponent = downgradeComponent({ component: HelpComponent });\nexport const highlightComponentDowngradedComponent = downgradeComponent({\n  component: HighlightComponent,\n  inputs: ['pattern', 'text']\n});\nexport const emptyStateComponentDowngradedComponent = downgradeComponent({\n  component: EmptyStateComponent\n});\nexport const datapointSelectionListComponentDowngradedComponent = downgradeComponent({\n  component: DatapointSelectionListComponent\n});\n\nexport const paginationComponentDowngradedComponent = downgradeComponent({\n  component: PaginationComponent\n});\nexport const rolesAssetTreeComponentDowngradedComponent = downgradeComponent({\n  component: RolesAssetTreeComponent\n});\nexport const passwordInputComponentDowngradedComponent = downgradeComponent({\n  component: PasswordInputComponent\n});\nexport const platformConfigurationFormDowngradedComponent = downgradeComponent({\n  component: PlatformConfigurationFormComponent\n});\n\nexport const globalContextWidgetWrapperDowngradedComponent = downgradeComponent({\n  component: GlobalContextWidgetWrapperComponent,\n  inputs: [\n    'widgetControls',\n    'displayMode',\n    'isLoading',\n    'config',\n    'controlLinks',\n    'dashboardChildForLegacy'\n  ],\n  outputs: ['onChange']\n});\n\nexport const widgetPreviewWrapperDowngradedComponent = downgradeComponent({\n  component: WidgetPreviewWrapperComponent\n});\n\nexport const passwordCheckListDowngradedComponent = downgradeComponent({\n  component: PasswordCheckListComponent\n});\n\nexport const globalContextConnectorDowngradedComponent = downgradeComponent({\n  component: GlobalContextConnectorComponent,\n  inputs: ['controls', 'config', 'isLoading', 'dashboardChild', 'linked', 'emitRefresh'],\n  outputs: ['configChange', 'refresh', 'linkedChange']\n});\n\nexport const localControlsDowngradedComponent = downgradeComponent({\n  component: LocalControlsComponent,\n  inputs: ['controls', 'displayMode', 'config', 'isLoading', 'disabled'],\n  outputs: ['configChange', 'refresh']\n});\n","import { Injectable, Inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HOOK_PATTERN_MESSAGES } from '@c8y/ngx-components';\n\n@Injectable()\nexport class ServerMessagesService {\n  MESSAGE_PATTERNS: any;\n  constructor(private translateService: TranslateService, @Inject(HOOK_PATTERN_MESSAGES) patterns) {\n    this.MESSAGE_PATTERNS = patterns;\n  }\n\n  translate(s: string) {\n    return this.translateService.instant(s);\n  }\n}\n","import { downgradeInjectable } from '@angular/upgrade/static';\nimport {\n  AlertService,\n  AppStateService,\n  AssetLinkPipe,\n  CachedLocaleDictionaryService,\n  ChangeCurrentUserPasswordService,\n  DateFormatService,\n  DocsService,\n  FeatureCacheService,\n  FilesService,\n  GainsightService,\n  GlobalConfigService,\n  HeaderService,\n  ModalService,\n  PasswordService,\n  PasswordValidationService,\n  PropertyValueTransformService,\n  ServiceRegistry,\n  UserMenuService\n} from '@c8y/ngx-components';\nimport { ApiService } from '@c8y/ngx-components/api';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\nimport { DeviceTypeDetailEditedService } from '@c8y/ngx-components/device-protocols';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AbsoluteDateService } from '../absolute-date.service';\nimport { AuthBridgeService } from '../auth-bridge.service';\nimport { BridgeService } from '../bridge.service';\nimport { ServerMessagesService } from './serverMessages.service';\nimport { DatapointSelectorService } from '@c8y/ngx-components/datapoint-selector';\nimport { WidgetConfigMigrationService } from '@c8y/ngx-components/global-context';\nimport { WidgetConfigService } from '@c8y/ngx-components/context-dashboard';\n\nexport const absoluteDateServiceDowngradedInjectable = downgradeInjectable(AbsoluteDateService);\nexport const widgetConfigMigrationServiceDowngradedInjectable = downgradeInjectable(\n  WidgetConfigMigrationService\n);\nexport const widgetConfigServiceDowngradedInjectable = downgradeInjectable(WidgetConfigService);\nexport const bridgeServiceDowngradedInjectable = downgradeInjectable(BridgeService);\nexport const authBridgeServiceDowngradedInjectable = downgradeInjectable(AuthBridgeService);\nexport const appStateServiceDowngradedInjectable = downgradeInjectable(AppStateService);\nexport const headerServiceDowngradedInjectable = downgradeInjectable(HeaderService);\nexport const alertsServiceDowngradedInjectable = downgradeInjectable(AlertService);\nexport const userMenuServiceDowngradedInjectable = downgradeInjectable(UserMenuService);\nexport const apiServiceDowngradedInjectable = downgradeInjectable(ApiService);\nexport const docsServiceDowngradedInjectable = downgradeInjectable(DocsService);\nexport const passwordServiceDowngradedInjectable = downgradeInjectable(PasswordService);\nexport const passwordValidationServiceDowngradedInjectable =\n  downgradeInjectable(PasswordValidationService);\nexport const translateServiceDowngradedInjectable = downgradeInjectable(TranslateService);\nexport const cachedLocaleDictionaryServiceDowngradedInjectable = downgradeInjectable(\n  CachedLocaleDictionaryService\n);\nexport const globalConfigServiceDowngradedInjectable = downgradeInjectable(GlobalConfigService);\nexport const serverMessagesServiceDowngradedInjectable = downgradeInjectable(ServerMessagesService);\nexport const modalServiceDowngradedInjectable = downgradeInjectable(ModalService);\nexport const changeCurrentUserPasswordServiceDowngradedInjectable = downgradeInjectable(\n  ChangeCurrentUserPasswordService\n);\nexport const gainsightServiceDowngradedInjectable = downgradeInjectable(GainsightService);\nexport const filesServiceDowngradedInjectable = downgradeInjectable(FilesService);\nexport const deviceTypeDetailEditedServiceDowngradedInjectable = downgradeInjectable(\n  DeviceTypeDetailEditedService\n);\nexport const deviceGridServiceDowngradedInjectable = downgradeInjectable(DeviceGridService);\nexport const serviceRegistryInjectable = downgradeInjectable(ServiceRegistry);\nexport const assetLinkPipeDowngradedInjectable = downgradeInjectable(AssetLinkPipe);\nexport const propertyValueTransformServiceDowngradedInjectable = downgradeInjectable(\n  PropertyValueTransformService\n);\n\nexport const featureCacheServiceDowngradedInjectable = downgradeInjectable(FeatureCacheService);\nexport const datapointSelectorServiceDowngradedInjectable =\n  downgradeInjectable(DatapointSelectorService);\nexport const dateFormatServiceInjectable = downgradeInjectable(DateFormatService);\n","import * as angular from 'angular';\n\nfunction gettextCatalogDecorator($delegate, $interpolate, c8yTranslate) {\n  'ngInject';\n\n  const gettextCatalog = $delegate;\n  const originalGetString = angular.bind(gettextCatalog, gettextCatalog.getString);\n\n  function newGetString(input, scope, context) {\n    if (typeof input === 'string') {\n      const translatedString = originalGetString(input, scope, context);\n      const interpolatedString = scope ? $interpolate(input)(scope) : input;\n\n      let stringToReturn = translatedString;\n\n      if (translatedString && translatedString === interpolatedString) {\n        const translatedServerMessage = c8yTranslate.instant(interpolatedString);\n        stringToReturn = translatedServerMessage;\n      }\n\n      return stringToReturn;\n    }\n\n    return input;\n  }\n\n  gettextCatalog.getString = newGetString;\n\n  return gettextCatalog;\n}\n\nexport { gettextCatalogDecorator };\n","function groupTypesHierarchyNavigatorDecorator($delegate, $q) {\n  'ngInject';\n  $delegate.loadAll = () => $q.when();\n  $delegate.addGroupNavigation = () => $q.when();\n  return $delegate;\n}\n\nexport { groupTypesHierarchyNavigatorDecorator };\n","function c8yNg1HttpInterceptor($q, c8yLoadingIndicator, c8yApiService) {\r\n  'ngInject';\r\n\r\n  function request(config) {\r\n    const { url, method } = config;\r\n    c8yApiService.onStart({ url, method, options: config });\r\n    return config;\r\n  }\r\n\r\n  function requestError(rejection) {\r\n    finishRequest(rejection);\r\n    return $q.reject(rejection);\r\n  }\r\n\r\n  function response(res) {\r\n    finishRequest(res);\r\n    return res;\r\n  }\r\n\r\n  function responseError(rejection) {\r\n    finishRequest(rejection);\r\n    c8yLoadingIndicator.responseError(rejection);\r\n    return $q.reject(rejection);\r\n  }\r\n\r\n  function finishRequest(res) {\r\n    const { url, method } = res.config;\r\n    c8yApiService.onFinish({\r\n      url,\r\n      method,\r\n      response: res,\r\n      options: res.config\r\n    });\r\n  }\r\n\r\n  return {\r\n    request,\r\n    requestError,\r\n    response,\r\n    responseError\r\n  };\r\n}\r\n\r\nexport { c8yNg1HttpInterceptor };\r\n","import { NavigatorNodeRoot, NavigatorNode } from '@c8y/ngx-components';\nimport { assign } from 'lodash-es';\n\nexport class NavigatorNodeRootLegacy extends NavigatorNodeRoot {\n  addRoot(nodeData): NavigatorNode {\n    let duplicate;\n    if (nodeData.path === '') {\n      nodeData.path = '/';\n    }\n    nodeData.label = nodeData.name;\n    if (typeof nodeData.parent === 'object') {\n      nodeData.parent.label = nodeData.parent.name;\n    }\n\n    if (nodeData.preventDuplicates) {\n      duplicate = this.find(({ path, parents, label }) => {\n        return (\n          path === nodeData.path &&\n          label === nodeData.label &&\n          parents.some(p => p.label === nodeData.parent)\n        );\n      });\n      if (duplicate) {\n        duplicate.routerLinkExact = false;\n      }\n    }\n\n    return duplicate || super.addRoot(nodeData);\n  }\n\n  createNode(node) {\n    const newNode = super.createNode(node);\n    const update = newNode.update.bind(newNode);\n    // eslint-disable-next-line @typescript-eslint/no-this-alias\n    const root = this;\n    return Object.defineProperties(\n      assign(newNode, {\n        realName: (newNode as any).name || newNode.label,\n        _parent: true, // just use it to detect if it has been deleted\n        update(data) {\n          if (this._parent === undefined) {\n            // _parent was deleted somene instead to put this in root\n            root.addRoot(this);\n            // put it back so it can be deleted again\n            this._parent = true;\n          }\n          update(data);\n        },\n        addChild(nodeChild) {\n          this.add(root.createNode(nodeChild));\n        }\n      }),\n      {\n        label: {\n          get() {\n            return this.realName || '';\n          },\n          set(name) {\n            this.realName = name;\n          }\n        },\n        name: {\n          get() {\n            return this.realName || '';\n          },\n          set(name) {\n            this.realName = name;\n          }\n        },\n        show: {\n          get() {\n            return !this.hidden;\n          },\n          set(show) {\n            this.hidden = !show;\n          },\n          configurable: true\n        }\n      }\n    );\n  }\n}\n","import { NavigatorNode } from '@c8y/ngx-components';\nimport { Observable, Subject, defer, of } from 'rxjs';\nimport { merge } from 'rxjs/operators';\nimport { pick, map, property, some, every } from 'lodash-es';\nimport { NavigatorNodeRootLegacy } from './navigator-node-root-legacy';\n\n// Just to hook into the bridge service\nexport function c8yNavigatorProvider() {\n  const root = new NavigatorNodeRootLegacy();\n  const rootNodesSubject: Subject<NavigatorNode[]> = new Subject();\n  const conditionalNodes = [];\n  const rootNodes$: Observable<NavigatorNode[]> = rootNodesSubject.pipe(\n    merge(defer(() => of(root.children)))\n  );\n\n  function addNavigation(nodes) {\n    const nodeList = Array.isArray(nodes) ? nodes : [nodes];\n    nodeList.forEach(node => {\n      if (isConditional(node)) {\n        node.hidden = undefined;\n        conditionalNodes.push(node);\n      }\n      node.navNode = root.addRoot(node);\n    });\n    rootNodesSubject.next(root.children);\n  }\n\n  function removeNavigation(node) {\n    const found = root.find(n => n === node);\n    if (found) {\n      found.parents.forEach(p => p.remove(found));\n      rootNodesSubject.next(root.children);\n    }\n  }\n\n  function findNode(node) {\n    return root.find(node);\n  }\n\n  function isConditional(node) {\n    return node.showIf || node.showIfPermissions || node.showIfContainsVisibleViews;\n  }\n\n  function $get($q, $injector) {\n    'ngInject';\n\n    // This avoids the circular dependency\n    setTimeout(() => conditionalNodes.forEach(processShowIf));\n\n    function processShowIf(node) {\n      const c8yUiUtil = $injector.get('c8yUiUtil');\n      const visibilityPromises = [];\n      const { showIf, showIfPermissions, showIfContainsVisibleViews } = node;\n\n      if (showIf) {\n        visibilityPromises.push($injector.invoke(showIf));\n      }\n      if (showIfContainsVisibleViews) {\n        visibilityPromises.push(viewsConditionalVisibility(node));\n      }\n\n      c8yUiUtil\n        .configureVisibility(\n          {\n            showIf: () => $q.all(visibilityPromises).then(every),\n            showIfPermissions\n          },\n          'visible'\n        )\n        .then(({ visible }) => {\n          if (visible) {\n            node.navNode.update({\n              hidden: false,\n              showIf: null,\n              showIfPermission: null,\n              showIfContainsVisibleViews: null\n            });\n          } else {\n            node.navNode.update({\n              hidden: true\n            });\n          }\n        });\n    }\n\n    function viewsConditionalVisibility(node) {\n      const c8yUiUtil = $injector.get('c8yUiUtil');\n      const c8yViews = $injector.get('c8yViews');\n      const views = c8yViews.getByPath(node.path);\n      return $q\n        .all(\n          map(views, view =>\n            c8yUiUtil\n              .configureVisibility(pick(view, ['showIf', 'showIfPermissions']), 'show', false)\n              .then(property('show'))\n          )\n        )\n        .then(some);\n    }\n\n    return {\n      rootNodes() {\n        return root.children;\n      },\n      findNode,\n      addNavigation,\n      removeNavigation,\n      rootNodes$\n    };\n  }\n\n  return {\n    $get,\n    addNavigation,\n    removeNavigation\n  };\n}\n","const rootComponent = {\n  template: `\n  <c8y-bootstrap>\n    <div id=\"c8y-legacy-view\">\n      <div ng-view ng-if=\"vm.widthSet && vm.authState.hasAuth\"></div>\n    </div>\n  </c8y-bootstrap>`,\n  controller: c8yUiRootController,\n  controllerAs: 'vm'\n};\n\nfunction c8yUiRootController(\n  $rootScope,\n  $timeout,\n  c8yBase,\n  c8yNavigator,\n  c8yApplication,\n  c8yHeaderService\n) {\n  'ngInject';\n  // eslint-disable-next-line @typescript-eslint/no-this-alias\n  const vm = this;\n\n  Object.assign(vm, {\n    $onInit,\n    navOpen: false\n  });\n\n  ////////////\n\n  function $onInit() {\n    c8yHeaderService\n      .map(states => states.nav.open)\n      .subscribe(isOpen => {\n        vm.navOpen = isOpen;\n      });\n    c8yHeaderService.configNavigator({ canToggle: true });\n    $rootScope.$on('authStateChange', onAuthStateChange);\n    vm.rootNodes = c8yNavigator.rootNodes;\n    c8yApplication.currentAppCached().then(onAppInfo);\n    vm.navHiddenOnStartup = c8yBase.appOption('hide_navigator');\n    checkReady();\n  }\n\n  function onAuthStateChange(evt, data) {\n    vm.authState = data;\n  }\n\n  function onAppInfo() {\n    vm.tabsHorizontal = c8yBase.appOption('tabsHorizontal');\n  }\n\n  function checkReady() {\n    const element = document.querySelector('#c8y-legacy-view');\n    const hasWidth = element && element.clientWidth;\n    if (hasWidth) {\n      vm.widthSet = true;\n    } else {\n      $timeout(checkReady);\n    }\n  }\n}\nexport { rootComponent };\n","import * as angular from 'angular';\n\nfunction c8yTitleDecorator(\n  $q,\n  $delegate,\n  $injector,\n  $rootScope,\n  $location,\n  $templateCache,\n  $compile,\n  c8yHeaderService\n) {\n  'ngInject';\n\n  $delegate.changeTitle = changeTitle;\n  $delegate.setTitleElement = setTitleElement;\n\n  $rootScope.$on('$routeChangeStart', () => {\n    changeTitle({});\n  });\n\n  $rootScope.$on('$routeChangeSuccess', event => {\n    resolveTitle(event);\n  });\n\n  $rootScope.$on('$routeUpdate', event => {\n    resolveTitle(event);\n  });\n\n  function resolveTitle(event: any) {\n    const title = $delegate.get($location.path());\n    if (title) {\n      const titleData = $q.when(title.data ? $injector.invoke(title.data) : {});\n      titleData.then(data => {\n        const { templateUrl } = data;\n        if (templateUrl) {\n          const template = $templateCache.get(templateUrl);\n          setTitleElement($compile(template)(event.targetScope));\n        } else {\n          changeTitle(data);\n        }\n      });\n    }\n  }\n\n  function changeTitle(\n    newTitleSubtitleObjOrPromise,\n    options = { skipTitleTranslation: false, skipSubtitleTranslation: false }\n  ) {\n    $q.when(newTitleSubtitleObjOrPromise).then(newTitleSubtitleObj =>\n      changeTitleInAngular(translate(newTitleSubtitleObj, options))\n    );\n  }\n\n  function translate(\n    { title = '', subtitle = '' },\n    { skipTitleTranslation = false, skipSubtitleTranslation = false }\n  ) {\n    const titleTemplate = skipTitleTranslation ? '{{ title }}' : '{{ title | translate }}';\n    const subtitleTemplate = skipSubtitleTranslation\n      ? '{{ subtitle }}'\n      : '{{ subtitle | translate }}';\n    const template = `\n      <h1 class=\"text-truncate\">${titleTemplate}\n      <small>${subtitleTemplate}</small></h1>\n    `;\n\n    const isolatedScope = $rootScope.$new(true);\n    isolatedScope.title = title;\n    isolatedScope.subtitle = subtitle;\n\n    return $compile(angular.element(template))(isolatedScope)[0];\n  }\n\n  function changeTitleInAngular(domElement) {\n    c8yHeaderService.changeTitle(domElement);\n  }\n\n  function setTitleElement($element) {\n    $element.show();\n    changeTitleInAngular($element[0]);\n  }\n\n  return $delegate;\n}\n\nexport { c8yTitleDecorator };\n","import { NgZone } from '@angular/core';\nimport { downgradeInjectable } from '@angular/upgrade/static';\nimport { QueriesUtil } from '@c8y/client';\nimport * as angular from 'angular';\nimport { c8yAlertDecorator } from './alert.decorator';\nimport {\n  appLogsAutoRefreshComponentDowngradedComponent,\n  bootstrapComponentDowngradedComponent,\n  dataGridComponentDowngradedComponent,\n  datapointSelectionListComponentDowngradedComponent,\n  emptyStateComponentDowngradedComponent,\n  globalContextConnectorDowngradedComponent,\n  globalContextWidgetWrapperDowngradedComponent,\n  helpComponentDowngradedComponent,\n  highlightComponentDowngradedComponent,\n  loadingComponentDowngradedComponent,\n  localControlsDowngradedComponent,\n  paginationComponentDowngradedComponent,\n  passwordCheckListDowngradedComponent,\n  passwordInputComponentDowngradedComponent,\n  platformConfigurationFormDowngradedComponent,\n  rangeDisplayComponentDowngradedComponent,\n  rolesAssetTreeComponentDowngradedComponent,\n  userTotpComponentDowngradedComponent,\n  widgetPreviewWrapperDowngradedComponent\n} from './downgraded.components';\nimport {\n  absoluteDateServiceDowngradedInjectable,\n  alertsServiceDowngradedInjectable,\n  apiServiceDowngradedInjectable,\n  appStateServiceDowngradedInjectable,\n  assetLinkPipeDowngradedInjectable,\n  authBridgeServiceDowngradedInjectable,\n  bridgeServiceDowngradedInjectable,\n  cachedLocaleDictionaryServiceDowngradedInjectable,\n  changeCurrentUserPasswordServiceDowngradedInjectable,\n  datapointSelectorServiceDowngradedInjectable,\n  dateFormatServiceInjectable,\n  deviceGridServiceDowngradedInjectable,\n  deviceTypeDetailEditedServiceDowngradedInjectable,\n  docsServiceDowngradedInjectable,\n  featureCacheServiceDowngradedInjectable,\n  filesServiceDowngradedInjectable,\n  gainsightServiceDowngradedInjectable,\n  globalConfigServiceDowngradedInjectable,\n  headerServiceDowngradedInjectable,\n  modalServiceDowngradedInjectable,\n  passwordServiceDowngradedInjectable,\n  passwordValidationServiceDowngradedInjectable,\n  propertyValueTransformServiceDowngradedInjectable,\n  serverMessagesServiceDowngradedInjectable,\n  serviceRegistryInjectable,\n  translateServiceDowngradedInjectable,\n  userMenuServiceDowngradedInjectable,\n  widgetConfigMigrationServiceDowngradedInjectable,\n  widgetConfigServiceDowngradedInjectable\n} from './downgraded.services';\nimport { gettextCatalogDecorator } from './gettextCatalog.decorator';\nimport { groupTypesHierarchyNavigatorDecorator } from './groupsHierarchyNavigator.decorator';\nimport { c8yNg1HttpInterceptor } from './http.interceptor';\nimport { c8yNavigatorProvider } from './navigator.provider';\nimport { rootComponent } from './root.component';\nimport { c8yTitleDecorator } from './title.decorator';\nimport { c8yViewsProvider } from './views.provider';\n\nconst NAME_UPGRADE = 'c8y.upgrade';\n(window as any).preventNg1Bootstrap = true;\n\nangular\n  .module(NAME_UPGRADE, [])\n  // tslint:disable-next-line:only-arrow-functions\n  .config(function ($httpProvider) {\n    'ngInject';\n\n    const ng1InterceptorIndex = $httpProvider.interceptors.indexOf('c8yLoadingIndicator');\n    if (ng1InterceptorIndex > -1) {\n      $httpProvider.interceptors.splice(ng1InterceptorIndex, 1);\n    }\n    $httpProvider.interceptors.push(c8yNg1HttpInterceptor);\n  })\n  .component('c8yUiRoot', rootComponent)\n  .directive('c8yBootstrap', bootstrapComponentDowngradedComponent)\n  .factory('c8yBridgeService', bridgeServiceDowngradedInjectable)\n  .factory('c8yAuthBridgeService', authBridgeServiceDowngradedInjectable)\n  .factory('c8yAppStateService', appStateServiceDowngradedInjectable)\n  .factory('c8yDateFormatService', dateFormatServiceInjectable)\n  .factory('c8yHeaderService', headerServiceDowngradedInjectable)\n  .factory('c8yUserMenuService', userMenuServiceDowngradedInjectable)\n  // tslint:disable-next-line:only-arrow-functions\n  .service('c8yQueriesUtil', function () {\n    return new QueriesUtil();\n  })\n  .factory('c8yAlert', alertsServiceDowngradedInjectable)\n  .decorator('c8yAlert', c8yAlertDecorator)\n  .decorator('groupTypesHierarchyNavigator', groupTypesHierarchyNavigatorDecorator) // prevents loading the groups\n  .factory('c8yApiService', apiServiceDowngradedInjectable)\n  .factory('c8yDocs', docsServiceDowngradedInjectable)\n  .service('c8yPasswordConfirm', passwordServiceDowngradedInjectable)\n  .service('c8yPasswordValidationService', passwordValidationServiceDowngradedInjectable)\n  .service('c8yModalService', modalServiceDowngradedInjectable)\n  .service(\n    'c8yChangeCurrentUserPasswordService',\n    changeCurrentUserPasswordServiceDowngradedInjectable\n  )\n  .service('c8yGainsightService', gainsightServiceDowngradedInjectable)\n  .service('c8yFilesService', filesServiceDowngradedInjectable)\n  .service('c8yGlobalConfigService', globalConfigServiceDowngradedInjectable)\n  .service('c8yPropertyValueTransformService', propertyValueTransformServiceDowngradedInjectable)\n  .service('c8yFeatureCacheService', featureCacheServiceDowngradedInjectable)\n  .service('c8yDatapointSelectorService', datapointSelectorServiceDowngradedInjectable)\n  .service('c8yWidgetConfigMigrationService', widgetConfigMigrationServiceDowngradedInjectable)\n  .service('c8yWidgetConfigService', widgetConfigServiceDowngradedInjectable);\n\nangular\n  .module('c8y.ui')\n  .filter('absoluteDate', absoluteDateServiceDowngradedInjectable as any)\n  .directive('c8yLoading', loadingComponentDowngradedComponent)\n  .provider('c8yNavigator', c8yNavigatorProvider)\n  .provider('c8yViews', c8yViewsProvider)\n  .directive('c8yUserTotpRevoke', userTotpComponentDowngradedComponent)\n  .directive('c8yAppLogsAutoRefresh', appLogsAutoRefreshComponentDowngradedComponent)\n  .directive('c8yDataGrid', dataGridComponentDowngradedComponent)\n  .directive('c8yRangeDisplay', rangeDisplayComponentDowngradedComponent)\n  .directive('c8yHelp', helpComponentDowngradedComponent)\n  .directive('c8yUiEmptyState', emptyStateComponentDowngradedComponent)\n  .directive('c8yDatapointSelectionList', datapointSelectionListComponentDowngradedComponent)\n  .directive('c8yHighlight', highlightComponentDowngradedComponent)\n  .directive('c8yGlobalContextWidgetWrapper', globalContextWidgetWrapperDowngradedComponent)\n  .directive('c8yPasswordCheckList', passwordCheckListDowngradedComponent)\n  .directive('c8yGlobalContextConnector', globalContextConnectorDowngradedComponent)\n  .directive('c8yLocalControls', localControlsDowngradedComponent)\n  .directive('c8yPasswordInput', passwordInputComponentDowngradedComponent)\n  .directive('pagination', paginationComponentDowngradedComponent)\n  .directive('c8yRolesAssetTreeDowngraded', rolesAssetTreeComponentDowngradedComponent)\n  .directive('c8yPlatformConfigurationForm', platformConfigurationFormDowngradedComponent)\n  .directive('c8yWidgetPreviewWrapper', widgetPreviewWrapperDowngradedComponent)\n  .factory('c8yTranslate', translateServiceDowngradedInjectable)\n  .factory('c8yCachedLocaleDictionaryService', cachedLocaleDictionaryServiceDowngradedInjectable)\n  .decorator('gettextCatalog', gettextCatalogDecorator)\n  .factory('c8yServerMessages', serverMessagesServiceDowngradedInjectable)\n  .factory('ngZone', downgradeInjectable(NgZone))\n  .factory('c8yDeviceTypeDetailEdited', deviceTypeDetailEditedServiceDowngradedInjectable)\n  .factory('c8yDeviceGridService', deviceGridServiceDowngradedInjectable)\n  .factory('c8yServiceRegistry', serviceRegistryInjectable)\n  .factory('assetLink', assetLinkPipeDowngradedInjectable);\n\nangular\n  .module('c8y.ui')\n  .decorator('c8yTitle', c8yTitleDecorator)\n  .run([\n    'c8yTitle',\n    function () {\n      // needed to inject c8yTitle with decorator applied to it, to ensure displaying ng1 titles\n    }\n  ]);\n\nexport const ng1ModulesUpgrade = ['app', NAME_UPGRADE];\n","import { UpgradeModule as NgUpgradeModule } from '@angular/upgrade/static';\nimport { ng1ModulesUpgrade } from './ng1';\n\nexport abstract class HybridAppModule {\n  ng1Modules = ng1ModulesUpgrade;\n  protected upgrade: NgUpgradeModule;\n\n  ngDoBootstrap() {\n    (window as any).bootstrap();\n    this.upgrade.bootstrap(document.getElementById('app'), this.ng1Modules, { strictDi: false });\n  }\n}\n","import { EmptyComponent } from '@c8y/ngx-components';\n\nexport const UPGRADE_ROUTES = [{ path: '**', component: EmptyComponent }];\n","import { Injectable, NgZone, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { getActivatedRoute } from '@c8y/ngx-components';\nimport {\n  ContextDashboardService,\n  ContextWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { get } from 'lodash-es';\n\n@Injectable({ providedIn: 'root' })\nexport class DashboardBridgeService {\n  dashboardSvc;\n  compile;\n  dashboardClipboard;\n\n  private ng1Injector: any = inject('$injector' as any);\n  private zone = inject(NgZone);\n  private router = inject(Router);\n  private contextDashboardService = inject(ContextDashboardService, { optional: true });\n\n  constructor() {\n    this.dashboardSvc = this.ng1Injector.get('dashboardSvc');\n    this.compile = this.ng1Injector.get('$compile');\n  }\n\n  get ng1Components() {\n    return this.ng1Injector.get('c8yComponents');\n  }\n\n  async instantiateComponent(widget, element, dashboardChild) {\n    const { dashboard, context, child } = widget;\n    if (dashboard) {\n      const transformedChild = await this.dashboardSvc.transformChildWithContext(\n        this.dashboardSvc.forcedContext || context,\n        dashboard,\n        child\n      );\n      if (this.dashboardSvc.forcedContext || dashboard.deviceType || dashboard.updateTarget) {\n        await this.dashboardSvc.updateConfigTargetsWithContext(\n          this.dashboardSvc.forcedContext || context,\n          transformedChild.config\n        );\n      }\n      return this.zone.runOutsideAngular(() =>\n        this.loadTemplate(transformedChild, child, element, context, dashboardChild)\n      );\n    } else {\n      return this.loadConfigTemplate(element, widget);\n    }\n  }\n\n  instantiateDeviceSelector(element, widgetConfig: ContextWidgetConfig) {\n    return this.loadConfigTemplate(element, widgetConfig, true);\n  }\n\n  private loadTemplate(transformedChild, child, element, context, dashboardChild) {\n    const scope = this.ng1Injector.get('$rootScope').$new(true);\n    scope.child = transformedChild;\n    scope.dashboardContext = context;\n    scope.dashboardChildForLegacy = dashboardChild;\n    if (child.widgetComponent) {\n      element.innerHTML = `<c8y-ui-component component-name=\"'${child.widgetComponent}'\" config=\"child.config\" context=\"dashboardContext\"></c8y-ui-component>`;\n    } else if (child.templateUrl) {\n      element.innerHTML = `<ng-include src=\"'${child.templateUrl}'\"></ng-include>`;\n    }\n    this.compile(element)(scope);\n    return scope;\n  }\n\n  private getDashboard() {\n    return getActivatedRoute(this.router).snapshot.data.dashboard;\n  }\n\n  private loadConfigTemplate(\n    element,\n    widgetConfig: ContextWidgetConfig,\n    onlyDeviceSelector = false\n  ) {\n    const { settings } = widgetConfig;\n    const scope = this.ng1Injector.get('$rootScope').$new(true);\n\n    scope.settings = { ...settings, ...settings.ng1 };\n    scope.options = widgetConfig.options;\n    scope.config = widgetConfig;\n    scope.forms = {};\n    scope.rootId = settings.context.id;\n    scope.dashboard = get(widgetConfig, 'settings.dashboardMo');\n\n    let configCmp = '';\n    if (!onlyDeviceSelector) {\n      if (widgetConfig.settings.configComponent) {\n        configCmp = `<c8y-ui-component component-name=\"'${widgetConfig.settings.configComponent}'\" config=\"config\"></c8y-ui-component>`;\n      } else if (widgetConfig.settings.configTemplateUrl) {\n        configCmp = `<ng-include src=\"'${widgetConfig.settings.configTemplateUrl}'\"></ng-include>`;\n      }\n    }\n\n    element.innerHTML = `\n    <ng-form name=\"forms.componentForm\">\n      <div class=\"form-group m-0\"\n        ng-if=\"!settings.noDeviceTarget\"\n        ng-style=\"{overflow: 'hidden'}\"\n      >\n      </div>\n      ${configCmp}\n    </ng-form>`;\n\n    scope.$watch('forms.componentForm.$invalid', formStatus => {\n      this.contextDashboardService.formDisabled = formStatus;\n    });\n    this.compile(element)(scope);\n    this.contextDashboardService.formDisabled = scope.forms.componentForm.$invalid;\n\n    return scope;\n  }\n}\n","import {\n  ChangeDetectionStrategy,\n  Component,\n  ElementRef,\n  OnInit,\n  OnDestroy,\n  Optional\n} from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport {\n  DashboardChildComponent,\n  OnBeforeSave,\n  WidgetsDashboardComponent\n} from '@c8y/ngx-components';\nimport { debounceTime, merge, Subscription } from 'rxjs';\n\n@Component({\n  selector: 'c8y-widget-legacy',\n  template: '',\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetComponent implements OnInit, OnDestroy, OnBeforeSave {\n  ng1Scope;\n  config;\n  alerts;\n  private resizeSubscription?: Subscription;\n  private readonly DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED = 400;\n\n  constructor(\n    @Optional() private dashboard: WidgetsDashboardComponent,\n    private dashboardBridgeService: DashboardBridgeService,\n    private el: ElementRef,\n    @Optional() private dashboardChild: DashboardChildComponent\n  ) {}\n\n  onBeforeSave(): boolean {\n    this.ng1Scope.$broadcast('saveWidget');\n    return true;\n  }\n\n  async ngOnInit() {\n    if (this.config) {\n      if (this.config.child) {\n        this.config.child.alerts = this.alerts;\n      }\n      this.ng1Scope = await this.dashboardBridgeService.instantiateComponent(\n        this.config,\n        this.el.nativeElement,\n        this.dashboardChild\n      );\n      if (this.dashboard) {\n        this.resizeSubscription = merge(this.dashboard.onChangeDashboard, this.dashboard.onResize)\n          .pipe(debounceTime(this.DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED))\n          .subscribe(() => {\n            this.ng1Scope.$broadcast('dashboardResize');\n          });\n      }\n    }\n  }\n\n  ngOnDestroy(): void {\n    if (this.ng1Scope) {\n      this.ng1Scope.$destroy();\n    }\n    if (this.resizeSubscription) {\n      this.resizeSubscription.unsubscribe();\n    }\n  }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, OnDestroy } from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\n\n@Component({\n  selector: 'c8y-device-selector-legacy',\n  template: '',\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LegacyDeviceSelectorComponent implements OnInit, OnDestroy {\n  ng1Scope;\n  config;\n\n  constructor(\n    private dashboardBridgeService: DashboardBridgeService,\n    private el: ElementRef\n  ) {}\n\n  async ngOnInit() {\n    this.ng1Scope = this.dashboardBridgeService.instantiateDeviceSelector(\n      this.el.nativeElement,\n      this.config\n    );\n  }\n\n  ngOnDestroy(): void {\n    if (this.ng1Scope) {\n      this.ng1Scope.$destroy();\n    }\n  }\n}\n","import { Injectable } from '@angular/core';\nimport {\n  DynamicComponentDefinition,\n  DynamicDatapointsResolver,\n  DynamicManagedObjectResolver\n} from '@c8y/ngx-components';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { of, Observable } from 'rxjs';\nimport { shareReplay, switchMap, take } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ComponentFactoryService {\n  private components$: Observable<DynamicComponentDefinition[]>;\n  constructor(private bridge: DashboardBridgeService) {\n    this.components$ = of(1).pipe(\n      switchMap(() => this.getComponents()),\n      shareReplay(1),\n      take(1)\n    );\n  }\n\n  get() {\n    return this.components$;\n  }\n\n  private async getComponents(): Promise<DynamicComponentDefinition[]> {\n    const ng1Components = await this.bridge.ng1Components.list();\n    const components: DynamicComponentDefinition[] = ng1Components.map(cmp => {\n      const resolve = {};\n      if (cmp.options?.datapointAttributes && Array.isArray(cmp.options?.datapointAttributes)) {\n        cmp.options?.datapointAttributes.forEach(\n          attribute => (resolve[attribute] = DynamicDatapointsResolver as any)\n        );\n      }\n      if (\n        cmp.options?.managedObjectAttributes &&\n        Array.isArray(cmp.options?.managedObjectAttributes)\n      ) {\n        cmp.options?.managedObjectAttributes.forEach(\n          attribute => (resolve[attribute] = DynamicManagedObjectResolver as any)\n        );\n      }\n      const data = {\n        settings: {\n          ...cmp.options,\n          configTemplateUrl: cmp.configTemplateUrl,\n          widgetComponent: cmp.widgetComponent,\n          configComponent: cmp.configComponent,\n          transformConfigWithContext:\n            cmp.transformConfigWithContext || cmp.componentTransformConfigWithContext,\n          upgrade: true\n        }\n      } as any;\n      data.settings.templateUrl = cmp.templateUrl; // workaround as in object it creates build error\n      data.displaySettings = cmp.displaySettings;\n\n      return {\n        id: cmp.name,\n        label: cmp.nameDisplay || cmp.name,\n        description: cmp.description,\n        component: WidgetComponent,\n        configComponent: WidgetComponent,\n        previewImage: cmp.previewImage,\n        errorStrategy: cmp.errorStrategy,\n        resolve,\n        data\n      } as DynamicComponentDefinition;\n    });\n\n    // add the device selector legacy component\n    components.push({\n      id: 'device.selector.legacy',\n      label: 'Device selector',\n      description: '',\n      data: { settings: { noNewWidgets: true, upgrade: true } },\n      component: LegacyDeviceSelectorComponent\n    });\n\n    return components;\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { Ng1ComponentFactoryService } from './component.factory';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { C8yTranslateModule, hookComponent } from '@c8y/ngx-components';\nimport { AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';\n\n@NgModule({\n  imports: [\n    CommonModule,\n    C8yTranslateModule,\n    AssetSelectorModule,\n    LegacyDeviceSelectorComponent,\n    WidgetComponent\n  ],\n  providers: [hookComponent(Ng1ComponentFactoryService)]\n})\nexport class DashboardUpgradeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","i1.BridgeService","i2","merge","debounceTime","i2.DashboardBridgeService","i1.DashboardBridgeService"],"mappings":"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"}