@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
47 lines • 6.22 kB
JavaScript
import { Injectable } from '@angular/core';
import { NavigatorNode, NavigatorService, gettext } from '@c8y/ngx-components';
import { ReportDashboardService } from './report-dashboard.service';
import * as i0 from "@angular/core";
import * as i1 from "@c8y/ngx-components";
import * as i2 from "./report-dashboard.service";
const REPORTS_NAVIGATOR_NODE_PRIORITY = 40;
export class ReportDashboardNavigationFactory {
constructor(navigatorService, reportDashboardService) {
this.navigatorService = navigatorService;
this.reportDashboardService = reportDashboardService;
this.loaded = false;
}
async get() {
if (!this.loaded) {
this.loaded = true;
this.navigatorService.add(new NavigatorNode({
label: gettext('Reports'),
path: 'reports',
icon: 'c8y-reports',
featureId: 'reports',
priority: REPORTS_NAVIGATOR_NODE_PRIORITY
}));
const reports = (await this.reportDashboardService.listReports({
filter: { __has: 'c8y_IsNavigatorNode' },
pageSize: 2000
})).data;
reports.forEach(report => {
const node = new NavigatorNode({
label: report.name,
path: `reports/${report.id}`,
icon: report.icon,
priority: report.priority,
routerLinkExact: false
});
this.navigatorService.add(node);
});
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReportDashboardNavigationFactory, deps: [{ token: i1.NavigatorService }, { token: i2.ReportDashboardService }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReportDashboardNavigationFactory, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ReportDashboardNavigationFactory, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}], ctorParameters: () => [{ type: i1.NavigatorService }, { type: i2.ReportDashboardService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWRhc2hib2FyZC1uYXZpZ2F0aW9uLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9yZXBvcnQtZGFzaGJvYXJkL3JlcG9ydC1kYXNoYm9hcmQtbmF2aWdhdGlvbi5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUVwRSxNQUFNLCtCQUErQixHQUFHLEVBQUUsQ0FBQztBQUczQyxNQUFNLE9BQU8sZ0NBQWdDO0lBRzNDLFlBQ1UsZ0JBQWtDLEVBQ2xDLHNCQUE4QztRQUQ5QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFKeEQsV0FBTSxHQUFHLEtBQUssQ0FBQztJQUtaLENBQUM7SUFFSixLQUFLLENBQUMsR0FBRztRQUNQLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFFbkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FDdkIsSUFBSSxhQUFhLENBQUM7Z0JBQ2hCLEtBQUssRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDO2dCQUN6QixJQUFJLEVBQUUsU0FBUztnQkFDZixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLFFBQVEsRUFBRSwrQkFBK0I7YUFDMUMsQ0FBQyxDQUNILENBQUM7WUFFRixNQUFNLE9BQU8sR0FBcUIsQ0FDaEMsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsV0FBVyxDQUFDO2dCQUM1QyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUU7Z0JBQ3hDLFFBQVEsRUFBRSxJQUFJO2FBQ2YsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUFDO1lBQ1AsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxhQUFhLENBQUM7b0JBQzdCLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSTtvQkFDbEIsSUFBSSxFQUFFLFdBQVcsTUFBTSxDQUFDLEVBQUUsRUFBRTtvQkFDNUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO29CQUNqQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7b0JBQ3pCLGVBQWUsRUFBRSxLQUFLO2lCQUN2QixDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOytHQXZDVSxnQ0FBZ0M7bUhBQWhDLGdDQUFnQyxjQURuQixNQUFNOzs0RkFDbkIsZ0NBQWdDO2tCQUQ1QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0IH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgTmF2aWdhdG9yTm9kZSwgTmF2aWdhdG9yU2VydmljZSwgZ2V0dGV4dCB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgUmVwb3J0RGFzaGJvYXJkU2VydmljZSB9IGZyb20gJy4vcmVwb3J0LWRhc2hib2FyZC5zZXJ2aWNlJztcblxuY29uc3QgUkVQT1JUU19OQVZJR0FUT1JfTk9ERV9QUklPUklUWSA9IDQwO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJlcG9ydERhc2hib2FyZE5hdmlnYXRpb25GYWN0b3J5IHtcbiAgbG9hZGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuYXZpZ2F0b3JTZXJ2aWNlOiBOYXZpZ2F0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVwb3J0RGFzaGJvYXJkU2VydmljZTogUmVwb3J0RGFzaGJvYXJkU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgZ2V0KCkge1xuICAgIGlmICghdGhpcy5sb2FkZWQpIHtcbiAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcblxuICAgICAgdGhpcy5uYXZpZ2F0b3JTZXJ2aWNlLmFkZChcbiAgICAgICAgbmV3IE5hdmlnYXRvck5vZGUoe1xuICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdSZXBvcnRzJyksXG4gICAgICAgICAgcGF0aDogJ3JlcG9ydHMnLFxuICAgICAgICAgIGljb246ICdjOHktcmVwb3J0cycsXG4gICAgICAgICAgZmVhdHVyZUlkOiAncmVwb3J0cycsXG4gICAgICAgICAgcHJpb3JpdHk6IFJFUE9SVFNfTkFWSUdBVE9SX05PREVfUFJJT1JJVFlcbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHJlcG9ydHM6IElNYW5hZ2VkT2JqZWN0W10gPSAoXG4gICAgICAgIGF3YWl0IHRoaXMucmVwb3J0RGFzaGJvYXJkU2VydmljZS5saXN0UmVwb3J0cyh7XG4gICAgICAgICAgZmlsdGVyOiB7IF9faGFzOiAnYzh5X0lzTmF2aWdhdG9yTm9kZScgfSxcbiAgICAgICAgICBwYWdlU2l6ZTogMjAwMFxuICAgICAgICB9KVxuICAgICAgKS5kYXRhO1xuICAgICAgcmVwb3J0cy5mb3JFYWNoKHJlcG9ydCA9PiB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBuZXcgTmF2aWdhdG9yTm9kZSh7XG4gICAgICAgICAgbGFiZWw6IHJlcG9ydC5uYW1lLFxuICAgICAgICAgIHBhdGg6IGByZXBvcnRzLyR7cmVwb3J0LmlkfWAsXG4gICAgICAgICAgaWNvbjogcmVwb3J0Lmljb24sXG4gICAgICAgICAgcHJpb3JpdHk6IHJlcG9ydC5wcmlvcml0eSxcbiAgICAgICAgICByb3V0ZXJMaW5rRXhhY3Q6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm5hdmlnYXRvclNlcnZpY2UuYWRkKG5vZGUpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=