UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

39 lines 5.3 kB
import { Injectable } from '@angular/core'; import { TabsService } from '@c8y/ngx-components'; import { BridgeService } from './bridge.service'; import * as i0 from "@angular/core"; import * as i1 from "./bridge.service"; import * as i2 from "@c8y/ngx-components"; export class Ng1ActionFactoryService { constructor(bridge, tabs) { this.bridge = bridge; this.tabs = tabs; this.routeChanges$ = bridge.$routeChanges; this.$location = bridge.injector.get('$location'); this.tabs.items$.subscribe(newTabs => this.handleTabsRedirect(newTabs)); } handleTabsRedirect(tabs) { /** * This function is doing the same process as function redirect in the file * modules/core/ui/navigation/tabs.provider.js * That function is not run because bridge.service.ts overrides the method addTab where the redirect() was called. */ const redirectedTab = tabs.find(tab => tab.redirectedTo); const [topPriorityTab] = tabs; if (redirectedTab && !topPriorityTab.redirectedTo) { this.$location.replace(); this.$location.path(topPriorityTab.path); topPriorityTab.redirectedTo = true; redirectedTab.redirectedTo = false; } } get() { return this.bridge.getActions(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng1ActionFactoryService, deps: [{ token: i1.BridgeService }, { token: i2.TabsService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng1ActionFactoryService }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Ng1ActionFactoryService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.BridgeService }, { type: i2.TabsService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi91cGdyYWRlL2FjdGlvbi5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFpQixXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFJakQsTUFBTSxPQUFPLHVCQUF1QjtJQUdsQyxZQUFvQixNQUFxQixFQUFVLElBQWlCO1FBQWhELFdBQU0sR0FBTixNQUFNLENBQWU7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2xFLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFJO1FBQ3JCOzs7O1dBSUc7UUFDSCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDOUIsSUFBSSxhQUFhLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekMsY0FBYyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDbkMsYUFBYSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2xDLENBQUM7K0dBM0JVLHVCQUF1QjttSEFBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uRmFjdG9yeSwgVGFic1NlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IEJyaWRnZVNlcnZpY2UgfSBmcm9tICcuL2JyaWRnZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5nMUFjdGlvbkZhY3RvcnlTZXJ2aWNlIGltcGxlbWVudHMgQWN0aW9uRmFjdG9yeSB7XG4gIHJvdXRlQ2hhbmdlcyQ6IE9ic2VydmFibGU8YW55PjtcbiAgJGxvY2F0aW9uOiBhbnk7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYnJpZGdlOiBCcmlkZ2VTZXJ2aWNlLCBwcml2YXRlIHRhYnM6IFRhYnNTZXJ2aWNlKSB7XG4gICAgdGhpcy5yb3V0ZUNoYW5nZXMkID0gYnJpZGdlLiRyb3V0ZUNoYW5nZXM7XG4gICAgdGhpcy4kbG9jYXRpb24gPSBicmlkZ2UuaW5qZWN0b3IuZ2V0KCckbG9jYXRpb24nKTtcbiAgICB0aGlzLnRhYnMuaXRlbXMkLnN1YnNjcmliZShuZXdUYWJzID0+IHRoaXMuaGFuZGxlVGFic1JlZGlyZWN0KG5ld1RhYnMpKTtcbiAgfVxuXG4gIGhhbmRsZVRhYnNSZWRpcmVjdCh0YWJzKSB7XG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBkb2luZyB0aGUgc2FtZSBwcm9jZXNzIGFzIGZ1bmN0aW9uIHJlZGlyZWN0IGluIHRoZSBmaWxlXG4gICAgICogbW9kdWxlcy9jb3JlL3VpL25hdmlnYXRpb24vdGFicy5wcm92aWRlci5qc1xuICAgICAqIFRoYXQgZnVuY3Rpb24gIGlzIG5vdCBydW4gYmVjYXVzZSBicmlkZ2Uuc2VydmljZS50cyBvdmVycmlkZXMgdGhlIG1ldGhvZCBhZGRUYWIgd2hlcmUgdGhlIHJlZGlyZWN0KCkgd2FzIGNhbGxlZC5cbiAgICAgKi9cbiAgICBjb25zdCByZWRpcmVjdGVkVGFiID0gdGFicy5maW5kKHRhYiA9PiB0YWIucmVkaXJlY3RlZFRvKTtcbiAgICBjb25zdCBbdG9wUHJpb3JpdHlUYWJdID0gdGFicztcbiAgICBpZiAocmVkaXJlY3RlZFRhYiAmJiAhdG9wUHJpb3JpdHlUYWIucmVkaXJlY3RlZFRvKSB7XG4gICAgICB0aGlzLiRsb2NhdGlvbi5yZXBsYWNlKCk7XG4gICAgICB0aGlzLiRsb2NhdGlvbi5wYXRoKHRvcFByaW9yaXR5VGFiLnBhdGgpO1xuICAgICAgdG9wUHJpb3JpdHlUYWIucmVkaXJlY3RlZFRvID0gdHJ1ZTtcbiAgICAgIHJlZGlyZWN0ZWRUYWIucmVkaXJlY3RlZFRvID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLmJyaWRnZS5nZXRBY3Rpb25zKCk7XG4gIH1cbn1cbiJdfQ==