@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
34 lines • 4.22 kB
JavaScript
import { Inject, Injectable, Optional } from '@angular/core';
import { get as getProp } from 'lodash-es';
import { ASSET_NAVIGATOR_CONFIG } from './asset-node-config.model';
import { AssetNodeService } from './asset-node.service';
import * as i0 from "@angular/core";
import * as i1 from "./asset-node.service";
export class AssetNodeFactory {
constructor(service, moduleConfig) {
this.service = service;
this.moduleConfig = moduleConfig;
}
get() {
const rootNavigatorNode = getProp(this.moduleConfig, 'rootNavigatorNode') ?? true;
let { rootNode } = this.service;
if (rootNavigatorNode === false) {
return;
}
if (!rootNode) {
rootNode = this.service.createRootNode(rootNavigatorNode === true ? {} : rootNavigatorNode);
}
return rootNode;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetNodeFactory, deps: [{ token: i1.AssetNodeService }, { token: ASSET_NAVIGATOR_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetNodeFactory }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetNodeFactory, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.AssetNodeService }, { type: undefined, decorators: [{
type: Optional
}, {
type: Inject,
args: [ASSET_NAVIGATOR_CONFIG]
}] }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbm9kZS5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXNzZXRzLW5hdmlnYXRvci9hc3NldC1ub2RlLmZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLElBQUksT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTNDLE9BQU8sRUFBd0Isc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBR3hELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFDVSxPQUF5QixFQUNrQixZQUFrQztRQUQ3RSxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUNrQixpQkFBWSxHQUFaLFlBQVksQ0FBc0I7SUFDcEYsQ0FBQztJQUVKLEdBQUc7UUFDRCxNQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xGLElBQUksRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBRWhDLElBQUksaUJBQWlCLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDaEMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDOUYsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7K0dBbEJVLGdCQUFnQixrREFHTCxzQkFBc0I7bUhBSGpDLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBSU4sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXQgYXMgZ2V0UHJvcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBc3NldE5vZGUgfSBmcm9tICcuL2Fzc2V0LW5vZGUnO1xuaW1wb3J0IHsgQXNzZXROYXZpZ2F0b3JDb25maWcsIEFTU0VUX05BVklHQVRPUl9DT05GSUcgfSBmcm9tICcuL2Fzc2V0LW5vZGUtY29uZmlnLm1vZGVsJztcbmltcG9ydCB7IEFzc2V0Tm9kZVNlcnZpY2UgfSBmcm9tICcuL2Fzc2V0LW5vZGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBc3NldE5vZGVGYWN0b3J5IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBBc3NldE5vZGVTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVNTRVRfTkFWSUdBVE9SX0NPTkZJRykgcHVibGljIG1vZHVsZUNvbmZpZzogQXNzZXROYXZpZ2F0b3JDb25maWdcbiAgKSB7fVxuXG4gIGdldCgpOiBBc3NldE5vZGUge1xuICAgIGNvbnN0IHJvb3ROYXZpZ2F0b3JOb2RlID0gZ2V0UHJvcCh0aGlzLm1vZHVsZUNvbmZpZywgJ3Jvb3ROYXZpZ2F0b3JOb2RlJykgPz8gdHJ1ZTtcbiAgICBsZXQgeyByb290Tm9kZSB9ID0gdGhpcy5zZXJ2aWNlO1xuXG4gICAgaWYgKHJvb3ROYXZpZ2F0b3JOb2RlID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghcm9vdE5vZGUpIHtcbiAgICAgIHJvb3ROb2RlID0gdGhpcy5zZXJ2aWNlLmNyZWF0ZVJvb3ROb2RlKHJvb3ROYXZpZ2F0b3JOb2RlID09PSB0cnVlID8ge30gOiByb290TmF2aWdhdG9yTm9kZSk7XG4gICAgfVxuICAgIHJldHVybiByb290Tm9kZTtcbiAgfVxufVxuIl19