@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
39 lines • 5.3 kB
JavaScript
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==