@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
33 lines • 3.17 kB
JavaScript
import { Pipe, inject } from '@angular/core';
import { GroupService } from './group.service';
import * as i0 from "@angular/core";
/**
* Converts a managed object into a context-aware URL, depending on its type and fragments.
* Usage:
*
* ```html
* {{ managedObject | assetLink }} <!-- e.g. '/device/<moId>' or '/group/<moId> -->
* ```
*/
export class AssetLinkPipe {
constructor() {
this.groupService = inject(GroupService);
}
transform(mo) {
if (!mo) {
return '';
}
const assetPath = this.groupService.getAssetPath(mo);
return `/${assetPath}/${mo.id}`;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetLinkPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AssetLinkPipe, isStandalone: true, name: "assetLink" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetLinkPipe, decorators: [{
type: Pipe,
args: [{
name: 'assetLink',
standalone: true
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtbGluay5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vYXNzZXQtbGluay5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRy9DOzs7Ozs7O0dBT0c7QUFLSCxNQUFNLE9BQU8sYUFBYTtJQUoxQjtRQUtVLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBUzdDO0lBUEMsU0FBUyxDQUFDLEVBQWtCO1FBQzFCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNSLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxTQUFTLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ2xDLENBQUM7K0dBVFUsYUFBYTs2R0FBYixhQUFhOzs0RkFBYixhQUFhO2tCQUp6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxXQUFXO29CQUNqQixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdyb3VwU2VydmljZSB9IGZyb20gJy4vZ3JvdXAuc2VydmljZSc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCB9IGZyb20gJ0BjOHkvY2xpZW50JztcblxuLyoqXG4gKiBDb252ZXJ0cyBhIG1hbmFnZWQgb2JqZWN0IGludG8gYSBjb250ZXh0LWF3YXJlIFVSTCwgZGVwZW5kaW5nIG9uIGl0cyB0eXBlIGFuZCBmcmFnbWVudHMuXG4gKiBVc2FnZTpcbiAqXG4gKiBgYGBodG1sXG4gKiAge3sgbWFuYWdlZE9iamVjdCB8IGFzc2V0TGluayB9fSA8IS0tIGUuZy4gJy9kZXZpY2UvPG1vSWQ+JyBvciAnL2dyb3VwLzxtb0lkPiAtLT5cbiAqIGBgYFxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdhc3NldExpbmsnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEFzc2V0TGlua1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgcHJpdmF0ZSBncm91cFNlcnZpY2UgPSBpbmplY3QoR3JvdXBTZXJ2aWNlKTtcblxuICB0cmFuc2Zvcm0obW86IElNYW5hZ2VkT2JqZWN0KTogc3RyaW5nIHtcbiAgICBpZiAoIW1vKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGNvbnN0IGFzc2V0UGF0aCA9IHRoaXMuZ3JvdXBTZXJ2aWNlLmdldEFzc2V0UGF0aChtbyk7XG4gICAgcmV0dXJuIGAvJHthc3NldFBhdGh9LyR7bW8uaWR9YDtcbiAgfVxufVxuIl19