@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
30 lines • 4.17 kB
JavaScript
import { NgModule } from '@angular/core';
import { hookWidget } from '@c8y/ngx-components';
import * as i0 from "@angular/core";
/**
* Module with providers for the given widgets.
* Does not include any widgets by default.
* Import this modules by using the `WidgetsModule.config` method.
*/
export class WidgetsModule {
static config(config) {
return {
ngModule: WidgetsModule,
providers: this.providers(config)
};
}
static providers(config) {
const filteredWidgets = this.excludeById(config.widgets, config.excludeList || []);
return [hookWidget(filteredWidgets)];
}
static excludeById(widgetDefinitions, excludeList) {
return widgetDefinitions.filter(widgetDefinition => !excludeList.includes(widgetDefinition.id));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: WidgetsModule }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WidgetsModule }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WidgetsModule, decorators: [{
type: NgModule
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi93aWRnZXRzL3dpZGdldHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFHTCxVQUFVLEVBQ1gsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFN0I7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBQyxNQUFNLENBQXVDLE1BR25EO1FBQ0MsT0FBTztZQUNMLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztTQUNsQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQW9DLE1BR25EO1FBQ0MsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbkYsT0FBTyxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxNQUFNLENBQUMsV0FBVyxDQUN4QixpQkFBc0IsRUFDdEIsV0FBc0I7UUFFdEIsT0FBTyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7K0dBeEJVLGFBQWE7Z0hBQWIsYUFBYTtnSEFBYixhQUFhOzs0RkFBYixhQUFhO2tCQUR6QixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBEeW5hbWljQ29tcG9uZW50RGVmaW5pdGlvbixcbiAgRHluYW1pY1dpZGdldERlZmluaXRpb24sXG4gIGhvb2tXaWRnZXRcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5cbi8qKlxuICogTW9kdWxlIHdpdGggcHJvdmlkZXJzIGZvciB0aGUgZ2l2ZW4gd2lkZ2V0cy5cbiAqIERvZXMgbm90IGluY2x1ZGUgYW55IHdpZGdldHMgYnkgZGVmYXVsdC5cbiAqIEltcG9ydCB0aGlzIG1vZHVsZXMgYnkgdXNpbmcgdGhlIGBXaWRnZXRzTW9kdWxlLmNvbmZpZ2AgbWV0aG9kLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIFdpZGdldHNNb2R1bGUge1xuICBzdGF0aWMgY29uZmlnPFQgZXh0ZW5kcyBEeW5hbWljQ29tcG9uZW50RGVmaW5pdGlvbj4oY29uZmlnOiB7XG4gICAgd2lkZ2V0czogVFtdO1xuICAgIGV4Y2x1ZGVMaXN0PzogVFsnaWQnXVtdO1xuICB9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxXaWRnZXRzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBXaWRnZXRzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiB0aGlzLnByb3ZpZGVycyhjb25maWcpXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlcnM8VCBleHRlbmRzIER5bmFtaWNXaWRnZXREZWZpbml0aW9uPihjb25maWc6IHtcbiAgICB3aWRnZXRzOiBUW107XG4gICAgZXhjbHVkZUxpc3Q/OiBUWydpZCddW107XG4gIH0pOiBQcm92aWRlcltdIHtcbiAgICBjb25zdCBmaWx0ZXJlZFdpZGdldHMgPSB0aGlzLmV4Y2x1ZGVCeUlkKGNvbmZpZy53aWRnZXRzLCBjb25maWcuZXhjbHVkZUxpc3QgfHwgW10pO1xuICAgIHJldHVybiBbaG9va1dpZGdldChmaWx0ZXJlZFdpZGdldHMpXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGV4Y2x1ZGVCeUlkPFQgZXh0ZW5kcyBEeW5hbWljV2lkZ2V0RGVmaW5pdGlvbj4oXG4gICAgd2lkZ2V0RGVmaW5pdGlvbnM6IFRbXSxcbiAgICBleGNsdWRlTGlzdDogVFsnaWQnXVtdXG4gICk6IER5bmFtaWNXaWRnZXREZWZpbml0aW9uW10ge1xuICAgIHJldHVybiB3aWRnZXREZWZpbml0aW9ucy5maWx0ZXIod2lkZ2V0RGVmaW5pdGlvbiA9PiAhZXhjbHVkZUxpc3QuaW5jbHVkZXMod2lkZ2V0RGVmaW5pdGlvbi5pZCkpO1xuICB9XG59XG4iXX0=