UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

56 lines 6.21 kB
import { InjectionToken } from '@angular/core'; import { gettext, hookGeneric } from '@c8y/ngx-components'; /** * Extension hook allowing to register custom service statuses and configure their visual presentation. * @deprecated Consider using the `hookServiceStatus` function instead. */ export const HOOK_SERVICE_STATUS = new InjectionToken('HOOK_SERVICE_STATUS'); /** * Extension hook allowing to register custom service statuses and configure their visual presentation. * * You can either provide a single `StatusOption` as parameter: * ```typescript * hookServiceStatus(...) * ``` * * Or an array to directly register multiple: * ```typescript * hookServiceStatus([...]) * ``` * * Or you provide an Service that implements `ExtensionFactory<StatusOption>` * ```typescript * export class MyServiceStatusFactory implements ExtensionFactory<StatusOption> {...} * ... * hookServiceStatus(MyServiceStatusFactory) * ``` * A typed alternative to `HOOK_SERVICE_STATUS`. * @param status The `StatusOption`'s or `ExtensionFactory` to be provided. * @returns An `Provider` to be provided in your module. */ export function hookServiceStatus(status, options) { return hookGeneric(status, HOOK_SERVICE_STATUS, options); } /** * Standard status options supported by the platform. */ export const SERVICE_STATUS_OPTIONS = [ { key: 'up', label: gettext('Up'), icon: 'check-circle', class: 'text-success' }, { key: 'down', label: gettext('Down'), icon: 'exclamation-circle', class: 'text-danger' }, { key: 'unknown', label: gettext('Unknown'), icon: 'inactive-state' } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLW9wdGlvbnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zZXJ2aWNlcy9zdGF0dXMtb3B0aW9ucy9zdGF0dXMtb3B0aW9ucy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUF1QyxNQUFNLHFCQUFxQixDQUFDO0FBR2hHOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUNuRCxxQkFBcUIsQ0FDdEIsQ0FBQztBQUVGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixNQUFxQyxFQUNyQyxPQUFxQztJQUVyQyxPQUFPLFdBQVcsQ0FBZSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDekUsQ0FBQztBQXdCRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFtQjtJQUNwRDtRQUNFLEdBQUcsRUFBRSxJQUFJO1FBQ1QsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDcEIsSUFBSSxFQUFFLGNBQWM7UUFDcEIsS0FBSyxFQUFFLGNBQWM7S0FDdEI7SUFDRDtRQUNFLEdBQUcsRUFBRSxNQUFNO1FBQ1gsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDdEIsSUFBSSxFQUFFLG9CQUFvQjtRQUMxQixLQUFLLEVBQUUsYUFBYTtLQUNyQjtJQUNEO1FBQ0UsR0FBRyxFQUFFLFNBQVM7UUFDZCxLQUFLLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUN6QixJQUFJLEVBQUUsZ0JBQWdCO0tBQ3ZCO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXR0ZXh0LCBob29rR2VuZXJpYywgR2VuZXJpY0hvb2tUeXBlLCBHZW5lcmljSG9va09wdGlvbnMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFN1cHBvcnRlZEljb25zU3VnZ2VzdGlvbnMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2ljb24tc2VsZWN0b3IvaWNvbnMnO1xuXG4vKipcbiAqIEV4dGVuc2lvbiBob29rIGFsbG93aW5nIHRvIHJlZ2lzdGVyIGN1c3RvbSBzZXJ2aWNlIHN0YXR1c2VzIGFuZCBjb25maWd1cmUgdGhlaXIgdmlzdWFsIHByZXNlbnRhdGlvbi5cbiAqIEBkZXByZWNhdGVkIENvbnNpZGVyIHVzaW5nIHRoZSBgaG9va1NlcnZpY2VTdGF0dXNgIGZ1bmN0aW9uIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBIT09LX1NFUlZJQ0VfU1RBVFVTID0gbmV3IEluamVjdGlvblRva2VuPFN0YXR1c09wdGlvbiB8IFN0YXR1c09wdGlvbltdPihcbiAgJ0hPT0tfU0VSVklDRV9TVEFUVVMnXG4pO1xuXG4vKipcbiAqIEV4dGVuc2lvbiBob29rIGFsbG93aW5nIHRvIHJlZ2lzdGVyIGN1c3RvbSBzZXJ2aWNlIHN0YXR1c2VzIGFuZCBjb25maWd1cmUgdGhlaXIgdmlzdWFsIHByZXNlbnRhdGlvbi5cbiAqXG4gKiBZb3UgY2FuIGVpdGhlciBwcm92aWRlIGEgc2luZ2xlIGBTdGF0dXNPcHRpb25gIGFzIHBhcmFtZXRlcjpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqICBob29rU2VydmljZVN0YXR1cyguLi4pXG4gKiBgYGBcbiAqXG4gKiBPciBhbiBhcnJheSB0byBkaXJlY3RseSByZWdpc3RlciBtdWx0aXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqICBob29rU2VydmljZVN0YXR1cyhbLi4uXSlcbiAqIGBgYFxuICpcbiAqIE9yIHlvdSBwcm92aWRlIGFuIFNlcnZpY2UgdGhhdCBpbXBsZW1lbnRzIGBFeHRlbnNpb25GYWN0b3J5PFN0YXR1c09wdGlvbj5gXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAgZXhwb3J0IGNsYXNzIE15U2VydmljZVN0YXR1c0ZhY3RvcnkgaW1wbGVtZW50cyBFeHRlbnNpb25GYWN0b3J5PFN0YXR1c09wdGlvbj4gey4uLn1cbiAqICAuLi5cbiAqICBob29rU2VydmljZVN0YXR1cyhNeVNlcnZpY2VTdGF0dXNGYWN0b3J5KVxuICogYGBgXG4gKiBBIHR5cGVkIGFsdGVybmF0aXZlIHRvIGBIT09LX1NFUlZJQ0VfU1RBVFVTYC5cbiAqIEBwYXJhbSBzdGF0dXMgVGhlIGBTdGF0dXNPcHRpb25gJ3Mgb3IgYEV4dGVuc2lvbkZhY3RvcnlgIHRvIGJlIHByb3ZpZGVkLlxuICogQHJldHVybnMgQW4gYFByb3ZpZGVyYCB0byBiZSBwcm92aWRlZCBpbiB5b3VyIG1vZHVsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhvb2tTZXJ2aWNlU3RhdHVzKFxuICBzdGF0dXM6IEdlbmVyaWNIb29rVHlwZTxTdGF0dXNPcHRpb24+LFxuICBvcHRpb25zPzogUGFydGlhbDxHZW5lcmljSG9va09wdGlvbnM+XG4pIHtcbiAgcmV0dXJuIGhvb2tHZW5lcmljPFN0YXR1c09wdGlvbj4oc3RhdHVzLCBIT09LX1NFUlZJQ0VfU1RBVFVTLCBvcHRpb25zKTtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIHRoZSB2aXN1YWwgcHJlc2VudGF0aW9uIG9mIGEgc2VydmljZSBzdGF0dXMgb3B0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YXR1c09wdGlvbiB7XG4gIC8qKlxuICAgKiBLZXkgdXNlZCBmb3IgdGhpcyBzdGF0dXMgaW4gdGhlIGM4eV9TZXJ2aWNlIG9iamVjdC5cbiAgICovXG4gIGtleTogc3RyaW5nO1xuICAvKipcbiAgICogSHVtYW4gcmVhZGFibGUgbmFtZSBvZiB0aGUgc3RhdHVzIHVzZWQgdG8gYmUgdHJhbnNsYXRlZC5cbiAgICovXG4gIGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBpY29uIHRvIHVzZSB0byBkaXNwbGF5IHRoZSBzdGF0dXMuXG4gICAqL1xuICBpY29uOiBTdXBwb3J0ZWRJY29uc1N1Z2dlc3Rpb25zO1xuICAvKipcbiAgICogQ1NTIGNsYXNzKGVzKSB1c2VkIHRvIGUuZy4gYWNjZW50IHRoZSBzdGF0dXMgKGNvbnRleHR1YWwgY29sb3IsIGV0Yy4pXG4gICAqL1xuICBjbGFzcz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBTdGFuZGFyZCBzdGF0dXMgb3B0aW9ucyBzdXBwb3J0ZWQgYnkgdGhlIHBsYXRmb3JtLlxuICovXG5leHBvcnQgY29uc3QgU0VSVklDRV9TVEFUVVNfT1BUSU9OUzogU3RhdHVzT3B0aW9uW10gPSBbXG4gIHtcbiAgICBrZXk6ICd1cCcsXG4gICAgbGFiZWw6IGdldHRleHQoJ1VwJyksXG4gICAgaWNvbjogJ2NoZWNrLWNpcmNsZScsXG4gICAgY2xhc3M6ICd0ZXh0LXN1Y2Nlc3MnXG4gIH0sXG4gIHtcbiAgICBrZXk6ICdkb3duJyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnRG93bicpLFxuICAgIGljb246ICdleGNsYW1hdGlvbi1jaXJjbGUnLFxuICAgIGNsYXNzOiAndGV4dC1kYW5nZXInXG4gIH0sXG4gIHtcbiAgICBrZXk6ICd1bmtub3duJyxcbiAgICBsYWJlbDogZ2V0dGV4dCgnVW5rbm93bicpLFxuICAgIGljb246ICdpbmFjdGl2ZS1zdGF0ZSdcbiAgfVxuXTtcbiJdfQ==