@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
119 lines • 14.6 kB
JavaScript
import { FormGroup } from '@angular/forms';
import { BaseColumn, gettext } from '@c8y/ngx-components';
import { map } from 'lodash-es';
import { AlarmsCellRendererComponent } from './alarms.cell-renderer.component';
import { AlarmsHeaderCellRendererComponent } from './alarms.header-cell-renderer.component';
export class AlarmsDeviceGridColumn extends BaseColumn {
constructor(initialColumnConfig) {
super(initialColumnConfig);
this.name = 'alarms';
this.header = gettext('Alarms');
this.headerCellRendererComponent = AlarmsHeaderCellRendererComponent;
this.cellRendererComponent = AlarmsCellRendererComponent;
this.filterable = true;
this.filteringConfig = {
fields: [
{
type: 'object',
key: 'alarm',
templateOptions: {
label: 'Show items'
},
fieldGroup: [
{
key: 'critical',
type: 'switch',
props: {
label: gettext('With active critical alarms')
}
},
{
key: 'major',
type: 'switch',
props: {
label: gettext('With active major alarms')
}
},
{
key: 'minor',
type: 'switch',
props: {
label: gettext('With active minor alarms')
}
},
{
key: 'warning',
type: 'switch',
props: {
label: gettext('With active warnings')
}
},
{
key: 'none',
type: 'switch',
props: {
label: gettext('With no active alarms or warnings')
}
}
],
validators: {
atLeastOneSelected: {
expression: control => {
const alarmGroup = control.value;
return (alarmGroup.critical ||
alarmGroup.major ||
alarmGroup.minor ||
alarmGroup.warning ||
alarmGroup.none);
}
}
}
}
],
formGroup: new FormGroup({}),
getFilter: model => {
const filter = {};
const ors = [];
if (model.alarm.critical) {
ors.push({ 'c8y_ActiveAlarmsStatus.critical': { __gt: 0 } });
}
if (model.alarm.major) {
ors.push({ 'c8y_ActiveAlarmsStatus.major': { __gt: 0 } });
}
if (model.alarm.minor) {
ors.push({ 'c8y_ActiveAlarmsStatus.minor': { __gt: 0 } });
}
if (model.alarm.warning) {
ors.push({ 'c8y_ActiveAlarmsStatus.warning': { __gt: 0 } });
}
if (model.alarm.none) {
ors.push({ __not: { __has: 'c8y_ActiveAlarmsStatus' } });
ors.push({
__and: map(['critical', 'major', 'minor', 'warning'], sev => {
const zero = {};
const has = { __not: { __has: undefined } };
const key = `c8y_ActiveAlarmsStatus.${sev}`;
zero[key] = 0;
has.__not.__has = key;
return { __or: [zero, has] };
})
});
}
if (ors.length) {
filter.__or = ors;
}
return filter;
}
};
this.sortable = true;
this.sortingConfig = {
pathSortingConfigs: [
{ path: 'c8y_ActiveAlarmsStatus.critical' },
{ path: 'c8y_ActiveAlarmsStatus.major' },
{ path: 'c8y_ActiveAlarmsStatus.minor' },
{ path: 'c8y_ActiveAlarmsStatus.warning' }
]
};
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm1zLmRldmljZS1ncmlkLWNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2RldmljZS1ncmlkL2NvbHVtbnMvYWxhcm1zLmRldmljZS1ncmlkLWNvbHVtbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU1RixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsVUFBVTtJQUNwRCxZQUFZLG1CQUFrQztRQUM1QyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsMkJBQTJCLEdBQUcsaUNBQWlDLENBQUM7UUFDckUsSUFBSSxDQUFDLHFCQUFxQixHQUFHLDJCQUEyQixDQUFDO1FBRXpELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUc7WUFDckIsTUFBTSxFQUFFO2dCQUNOO29CQUNFLElBQUksRUFBRSxRQUFRO29CQUNkLEdBQUcsRUFBRSxPQUFPO29CQUNaLGVBQWUsRUFBRTt3QkFDZixLQUFLLEVBQUUsWUFBWTtxQkFDcEI7b0JBQ0QsVUFBVSxFQUFFO3dCQUNWOzRCQUNFLEdBQUcsRUFBRSxVQUFVOzRCQUNmLElBQUksRUFBRSxRQUFROzRCQUNkLEtBQUssRUFBRTtnQ0FDTCxL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QUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQzs0QkFDNUMsTUFBTSxHQUFHLEdBQUcsMEJBQTBCLEdBQUcsRUFBRSxDQUFDOzRCQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUNkLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQzs0QkFDdEIsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDO3dCQUMvQixDQUFDLENBQUM7cUJBQ0gsQ0FBQyxDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsSUFBSSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2YsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7Z0JBQ3BCLENBQUM7Z0JBQ0QsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQztTQUNGLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLGtCQUFrQixFQUFFO2dCQUNsQixFQUFFLElBQUksRUFBRSxpQ0FBaUMsRUFBRTtnQkFDM0MsRUFBRSxJQUFJLEVBQUUsOEJBQThCLEVBQUU7Z0JBQ3hDLEVBQUUsSUFBSSxFQUFFLDhCQUE4QixFQUFFO2dCQUN4QyxFQUFFLElBQUksRUFBRSxnQ0FBZ0MsRUFBRTthQUMzQztTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCYXNlQ29sdW1uLCBDb2x1bW5Db25maWcsIGdldHRleHQgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBbGFybXNDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2FsYXJtcy5jZWxsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbGFybXNIZWFkZXJDZWxsUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2FsYXJtcy5oZWFkZXItY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuXG5leHBvcnQgY2xhc3MgQWxhcm1zRGV2aWNlR3JpZENvbHVtbiBleHRlbmRzIEJhc2VDb2x1bW4ge1xuICBjb25zdHJ1Y3Rvcihpbml0aWFsQ29sdW1uQ29uZmlnPzogQ29sdW1uQ29uZmlnKSB7XG4gICAgc3VwZXIoaW5pdGlhbENvbHVtbkNvbmZpZyk7XG4gICAgdGhpcy5uYW1lID0gJ2FsYXJtcyc7XG4gICAgdGhpcy5oZWFkZXIgPSBnZXR0ZXh0KCdBbGFybXMnKTtcbiAgICB0aGlzLmhlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCA9IEFsYXJtc0hlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudDtcbiAgICB0aGlzLmNlbGxSZW5kZXJlckNvbXBvbmVudCA9IEFsYXJtc0NlbGxSZW5kZXJlckNvbXBvbmVudDtcblxuICAgIHRoaXMuZmlsdGVyYWJsZSA9IHRydWU7XG4gICAgdGhpcy5maWx0ZXJpbmdDb25maWcgPSB7XG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgIGtleTogJ2FsYXJtJyxcbiAgICAgICAgICB0ZW1wbGF0ZU9wdGlvbnM6IHtcbiAgICAgICAgICAgIGxhYmVsOiAnU2hvdyBpdGVtcydcbiAgICAgICAgICB9LFxuICAgICAgICAgIGZpZWxkR3JvdXA6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAga2V5OiAnY3JpdGljYWwnLFxuICAgICAgICAgICAgICB0eXBlOiAnc3dpdGNoJyxcbiAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnV2l0aCBhY3RpdmUgY3JpdGljYWwgYWxhcm1zJylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAga2V5OiAnbWFqb3InLFxuICAgICAgICAgICAgICB0eXBlOiAnc3dpdGNoJyxcbiAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnV2l0aCBhY3RpdmUgbWFqb3IgYWxhcm1zJylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAga2V5OiAnbWlub3InLFxuICAgICAgICAgICAgICB0eXBlOiAnc3dpdGNoJyxcbiAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnV2l0aCBhY3RpdmUgbWlub3IgYWxhcm1zJylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAga2V5OiAnd2FybmluZycsXG4gICAgICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLFxuICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIGxhYmVsOiBnZXR0ZXh0KCdXaXRoIGFjdGl2ZSB3YXJuaW5ncycpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtleTogJ25vbmUnLFxuICAgICAgICAgICAgICB0eXBlOiAnc3dpdGNoJyxcbiAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnV2l0aCBubyBhY3RpdmUgYWxhcm1zIG9yIHdhcm5pbmdzJylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgdmFsaWRhdG9yczoge1xuICAgICAgICAgICAgYXRMZWFzdE9uZVNlbGVjdGVkOiB7XG4gICAgICAgICAgICAgIGV4cHJlc3Npb246IGNvbnRyb2wgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFsYXJtR3JvdXAgPSBjb250cm9sLnZhbHVlO1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICBhbGFybUdyb3VwLmNyaXRpY2FsIHx8XG4gICAgICAgICAgICAgICAgICBhbGFybUdyb3VwLm1ham9yIHx8XG4gICAgICAgICAgICAgICAgICBhbGFybUdyb3VwLm1pbm9yIHx8XG4gICAgICAgICAgICAgICAgICBhbGFybUdyb3VwLndhcm5pbmcgfHxcbiAgICAgICAgICAgICAgICAgIGFsYXJtR3JvdXAubm9uZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBmb3JtR3JvdXA6IG5ldyBGb3JtR3JvdXAoe30pLFxuICAgICAgZ2V0RmlsdGVyOiBtb2RlbCA9PiB7XG4gICAgICAgIGNvbnN0IGZpbHRlcjogYW55ID0ge307XG4gICAgICAgIGNvbnN0IG9ycyA9IFtdO1xuICAgICAgICBpZiAobW9kZWwuYWxhcm0uY3JpdGljYWwpIHtcbiAgICAgICAgICBvcnMucHVzaCh7ICdjOHlfQWN0aXZlQWxhcm1zU3RhdHVzLmNyaXRpY2FsJzogeyBfX2d0OiAwIH0gfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1vZGVsLmFsYXJtLm1ham9yKSB7XG4gICAgICAgICAgb3JzLnB1c2goeyAnYzh5X0FjdGl2ZUFsYXJtc1N0YXR1cy5tYWpvcic6IHsgX19ndDogMCB9IH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtb2RlbC5hbGFybS5taW5vcikge1xuICAgICAgICAgIG9ycy5wdXNoKHsgJ2M4eV9BY3RpdmVBbGFybXNTdGF0dXMubWlub3InOiB7IF9fZ3Q6IDAgfSB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobW9kZWwuYWxhcm0ud2FybmluZykge1xuICAgICAgICAgIG9ycy5wdXNoKHsgJ2M4eV9BY3RpdmVBbGFybXNTdGF0dXMud2FybmluZyc6IHsgX19ndDogMCB9IH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtb2RlbC5hbGFybS5ub25lKSB7XG4gICAgICAgICAgb3JzLnB1c2goeyBfX25vdDogeyBfX2hhczogJ2M4eV9BY3RpdmVBbGFybXNTdGF0dXMnIH0gfSk7XG4gICAgICAgICAgb3JzLnB1c2goe1xuICAgICAgICAgICAgX19hbmQ6IG1hcChbJ2NyaXRpY2FsJywgJ21ham9yJywgJ21pbm9yJywgJ3dhcm5pbmcnXSwgc2V2ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgemVybyA9IHt9O1xuICAgICAgICAgICAgICBjb25zdCBoYXMgPSB7IF9fbm90OiB7IF9faGFzOiB1bmRlZmluZWQgfSB9O1xuICAgICAgICAgICAgICBjb25zdCBrZXkgPSBgYzh5X0FjdGl2ZUFsYXJtc1N0YXR1cy4ke3Nldn1gO1xuICAgICAgICAgICAgICB6ZXJvW2tleV0gPSAwO1xuICAgICAgICAgICAgICBoYXMuX19ub3QuX19oYXMgPSBrZXk7XG4gICAgICAgICAgICAgIHJldHVybiB7IF9fb3I6IFt6ZXJvLCBoYXNdIH07XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgZmlsdGVyLl9fb3IgPSBvcnM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5zb3J0YWJsZSA9IHRydWU7XG4gICAgdGhpcy5zb3J0aW5nQ29uZmlnID0ge1xuICAgICAgcGF0aFNvcnRpbmdDb25maWdzOiBbXG4gICAgICAgIHsgcGF0aDogJ2M4eV9BY3RpdmVBbGFybXNTdGF0dXMuY3JpdGljYWwnIH0sXG4gICAgICAgIHsgcGF0aDogJ2M4eV9BY3RpdmVBbGFybXNTdGF0dXMubWFqb3InIH0sXG4gICAgICAgIHsgcGF0aDogJ2M4eV9BY3RpdmVBbGFybXNTdGF0dXMubWlub3InIH0sXG4gICAgICAgIHsgcGF0aDogJ2M4eV9BY3RpdmVBbGFybXNTdGF0dXMud2FybmluZycgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==