UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

45 lines 6.58 kB
import { BaseColumn, gettext } from '@c8y/ngx-components'; import { GroupCellRendererComponent } from './group.cell-renderer.component'; import { GroupFilteringFormRendererComponent } from './group.filtering-form-renderer.component'; export class GroupDeviceGridColumn extends BaseColumn { constructor(initialColumnConfig) { super(initialColumnConfig); this.name = 'group'; this.header = gettext('Group'); this.cellRendererComponent = GroupCellRendererComponent; this.filteringFormRendererComponent = GroupFilteringFormRendererComponent; this.filterable = true; this.filteringConfig = { generateChips(model) { if (model.selectedNodes) { return model.selectedNodes.map(mo => ({ displayValue: mo.name, value: mo, remove() { const { externalFilterQuery, columnName, value } = this; const nodes = externalFilterQuery.selectedNodes.filter(node => node.id !== value.id); return { externalFilterQuery: { selectedNodes: nodes }, columnName: columnName }; } })); } }, getFilter(model) { const filter = {}; if (model.selectedNodes) { filter.__or = model.selectedNodes.map((mo) => { if (mo.c8y_DeviceQueryString) { return { __useFilterQueryString: mo.c8y_DeviceQueryString }; } return { __bygroupid: mo.id }; }); } return filter; } }; this.sortable = false; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuZGV2aWNlLWdyaWQtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vZGV2aWNlLWdyaWQvY29sdW1ucy9ncm91cC5kZXZpY2UtZ3JpZC1jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLFVBQVUsRUFHVixPQUFPLEVBRVIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUVoRyxNQUFNLE9BQU8scUJBQXNCLFNBQVEsVUFBVTtJQUNuRCxZQUFZLG1CQUFrQztRQUM1QyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMscUJBQXFCLEdBQUcsMEJBQTBCLENBQUM7UUFDeEQsSUFBSSxDQUFDLDhCQUE4QixHQUFHLG1DQUFtQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUc7WUFDckIsYUFBYSxDQUFDLEtBQUs7Z0JBQ2pCLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUN4QixPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDcEMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJO3dCQUNyQixLQUFLLEVBQUUsRUFBRTt3QkFDVCxNQUFNOzRCQUNKLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDOzRCQUN4RCxNQUFNLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBRXJGLE9BQU87Z0NBQ0wsbUJBQW1CLEVBQUUsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFO2dDQUM3QyxVQUFVLEVBQUUsVUFBVTs2QkFDdkIsQ0FBQzt3QkFDSixDQUFDO3FCQUNGLENBQUMsQ0FBQyxDQUFDO2dCQUNOLENBQUM7WUFDSCxDQUFDO1lBQ0QsU0FBUyxDQUFDLEtBQUs7Z0JBQ2IsTUFBTSxNQUFNLEdBQVEsRUFBRSxDQUFDO2dCQUN2QixJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDeEIsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQWtCLEVBQUUsRUFBRTt3QkFDM0QsSUFBSSxFQUFFLENBQUMscUJBQXFCLEVBQUUsQ0FBQzs0QkFDN0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO3dCQUM5RCxDQUFDO3dCQUNELE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUNoQyxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDO2dCQUNELE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQge1xuICBCYXNlQ29sdW1uLFxuICBDb2x1bW5Db25maWcsXG4gIEZpbHRlckNoaXAsXG4gIGdldHRleHQsXG4gIFBhcnRpYWxGaWx0ZXJDaGlwR2VuZXJhdGlvblR5cGVcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBHcm91cENlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vZ3JvdXAuY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgR3JvdXBGaWx0ZXJpbmdGb3JtUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2dyb3VwLmZpbHRlcmluZy1mb3JtLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjbGFzcyBHcm91cERldmljZUdyaWRDb2x1bW4gZXh0ZW5kcyBCYXNlQ29sdW1uIHtcbiAgY29uc3RydWN0b3IoaW5pdGlhbENvbHVtbkNvbmZpZz86IENvbHVtbkNvbmZpZykge1xuICAgIHN1cGVyKGluaXRpYWxDb2x1bW5Db25maWcpO1xuICAgIHRoaXMubmFtZSA9ICdncm91cCc7XG4gICAgdGhpcy5oZWFkZXIgPSBnZXR0ZXh0KCdHcm91cCcpO1xuICAgIHRoaXMuY2VsbFJlbmRlcmVyQ29tcG9uZW50ID0gR3JvdXBDZWxsUmVuZGVyZXJDb21wb25lbnQ7XG4gICAgdGhpcy5maWx0ZXJpbmdGb3JtUmVuZGVyZXJDb21wb25lbnQgPSBHcm91cEZpbHRlcmluZ0Zvcm1SZW5kZXJlckNvbXBvbmVudDtcbiAgICB0aGlzLmZpbHRlcmFibGUgPSB0cnVlO1xuICAgIHRoaXMuZmlsdGVyaW5nQ29uZmlnID0ge1xuICAgICAgZ2VuZXJhdGVDaGlwcyhtb2RlbCk6IFBhcnRpYWxGaWx0ZXJDaGlwR2VuZXJhdGlvblR5cGVbXSB7XG4gICAgICAgIGlmIChtb2RlbC5zZWxlY3RlZE5vZGVzKSB7XG4gICAgICAgICAgcmV0dXJuIG1vZGVsLnNlbGVjdGVkTm9kZXMubWFwKG1vID0+ICh7XG4gICAgICAgICAgICBkaXNwbGF5VmFsdWU6IG1vLm5hbWUsXG4gICAgICAgICAgICB2YWx1ZTogbW8sXG4gICAgICAgICAgICByZW1vdmUoKTogUGFydGlhbDxGaWx0ZXJDaGlwPiB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgZXh0ZXJuYWxGaWx0ZXJRdWVyeSwgY29sdW1uTmFtZSwgdmFsdWUgfSA9IHRoaXM7XG4gICAgICAgICAgICAgIGNvbnN0IG5vZGVzID0gZXh0ZXJuYWxGaWx0ZXJRdWVyeS5zZWxlY3RlZE5vZGVzLmZpbHRlcihub2RlID0+IG5vZGUuaWQgIT09IHZhbHVlLmlkKTtcblxuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGV4dGVybmFsRmlsdGVyUXVlcnk6IHsgc2VsZWN0ZWROb2Rlczogbm9kZXMgfSxcbiAgICAgICAgICAgICAgICBjb2x1bW5OYW1lOiBjb2x1bW5OYW1lXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZ2V0RmlsdGVyKG1vZGVsKSB7XG4gICAgICAgIGNvbnN0IGZpbHRlcjogYW55ID0ge307XG4gICAgICAgIGlmIChtb2RlbC5zZWxlY3RlZE5vZGVzKSB7XG4gICAgICAgICAgZmlsdGVyLl9fb3IgPSBtb2RlbC5zZWxlY3RlZE5vZGVzLm1hcCgobW86IElNYW5hZ2VkT2JqZWN0KSA9PiB7XG4gICAgICAgICAgICBpZiAobW8uYzh5X0RldmljZVF1ZXJ5U3RyaW5nKSB7XG4gICAgICAgICAgICAgIHJldHVybiB7IF9fdXNlRmlsdGVyUXVlcnlTdHJpbmc6IG1vLmM4eV9EZXZpY2VRdWVyeVN0cmluZyB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHsgX19ieWdyb3VwaWQ6IG1vLmlkIH07XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbHRlcjtcbiAgICAgIH1cbiAgICB9O1xuICAgIHRoaXMuc29ydGFibGUgPSBmYWxzZTtcbiAgfVxufVxuIl19