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