@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
46 lines • 5.58 kB
JavaScript
import { getBasicInputArrayFormFieldConfig } from '../../dynamic-forms/presets';
import { gettext } from '../../i18n/gettext';
import { BaseColumn } from './base.column';
export class CustomColumn extends BaseColumn {
constructor(initialColumnConfig) {
super(initialColumnConfig);
this.name = this.name || 'custom';
this.header = this.header || gettext('Custom');
this.filterable = true;
this.filteringConfig = {
fields: [
{
key: 'exists',
type: 'switch',
defaultValue: false,
templateOptions: {
label: gettext('Only rows where value is defined')
}
},
...getBasicInputArrayFormFieldConfig({
key: 'equals',
label: gettext('Only rows where value equals to'),
addText: gettext('Add next`value`'),
tooltip: gettext('Use * as a wildcard character'),
placeholder: '10300',
optional: true
})
],
getFilter: (model) => {
const filter = {};
if (model.exists) {
filter.__has = this.path;
}
if (model.equals) {
filter[this.path] = { __in: model.equals };
}
return filter;
}
};
this.sortable = true;
this.sortingConfig = {
pathSortingConfigs: [{ path: this.path }]
};
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLmNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvZGF0YS1ncmlkL2NvbHVtbi9jdXN0b20uY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE1BQU0sT0FBTyxZQUFhLFNBQVEsVUFBVTtJQUMxQyxZQUFZLG1CQUFrQztRQUM1QyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRztZQUNyQixNQUFNLEVBQUU7Z0JBQ047b0JBQ0UsR0FBRyxFQUFFLFFBQVE7b0JBQ2IsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsWUFBWSxFQUFFLEtBQUs7b0JBQ25CLGVBQWUsRUFBRTt3QkFDZixLQUFLLEVBQUUsT0FBTyxDQUFDLGtDQUFrQyxDQUFDO3FCQUNuRDtpQkFDRjtnQkFDRCxHQUFHLGlDQUFpQyxDQUFDO29CQUNuQyxHQUFHLEVBQUUsUUFBUTtvQkFDYixLQUFLLEVBQUUsT0FBTyxDQUFDLGlDQUFpQyxDQUFDO29CQUNqRCxPQUFPLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDO29CQUNuQyxPQUFPLEVBQUUsT0FBTyxDQUFDLCtCQUErQixDQUFDO29CQUNqRCxXQUFXLEVBQUUsT0FBTztvQkFDcEIsUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQzthQUNIO1lBQ0QsU0FBUyxFQUFFLENBQUMsS0FBVSxFQUFPLEVBQUU7Z0JBQzdCLE1BQU0sTUFBTSxHQUFRLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2pCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDM0IsQ0FBQztnQkFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzdDLENBQUM7Z0JBQ0QsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQztTQUNGLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHO1lBQ25CLGtCQUFrQixFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFDLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRCYXNpY0lucHV0QXJyYXlGb3JtRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9keW5hbWljLWZvcm1zL3ByZXNldHMnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uLy4uL2kxOG4vZ2V0dGV4dCc7XG5pbXBvcnQgeyBDb2x1bW5Db25maWcgfSBmcm9tICcuLi9kYXRhLWdyaWQubW9kZWwnO1xuaW1wb3J0IHsgQmFzZUNvbHVtbiB9IGZyb20gJy4vYmFzZS5jb2x1bW4nO1xuXG5leHBvcnQgY2xhc3MgQ3VzdG9tQ29sdW1uIGV4dGVuZHMgQmFzZUNvbHVtbiB7XG4gIGNvbnN0cnVjdG9yKGluaXRpYWxDb2x1bW5Db25maWc/OiBDb2x1bW5Db25maWcpIHtcbiAgICBzdXBlcihpbml0aWFsQ29sdW1uQ29uZmlnKTtcblxuICAgIHRoaXMubmFtZSA9IHRoaXMubmFtZSB8fCAnY3VzdG9tJztcbiAgICB0aGlzLmhlYWRlciA9IHRoaXMuaGVhZGVyIHx8IGdldHRleHQoJ0N1c3RvbScpO1xuXG4gICAgdGhpcy5maWx0ZXJhYmxlID0gdHJ1ZTtcbiAgICB0aGlzLmZpbHRlcmluZ0NvbmZpZyA9IHtcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiAnZXhpc3RzJyxcbiAgICAgICAgICB0eXBlOiAnc3dpdGNoJyxcbiAgICAgICAgICBkZWZhdWx0VmFsdWU6IGZhbHNlLFxuICAgICAgICAgIHRlbXBsYXRlT3B0aW9uczoge1xuICAgICAgICAgICAgbGFiZWw6IGdldHRleHQoJ09ubHkgcm93cyB3aGVyZSB2YWx1ZSBpcyBkZWZpbmVkJylcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIC4uLmdldEJhc2ljSW5wdXRBcnJheUZvcm1GaWVsZENvbmZpZyh7XG4gICAgICAgICAga2V5OiAnZXF1YWxzJyxcbiAgICAgICAgICBsYWJlbDogZ2V0dGV4dCgnT25seSByb3dzIHdoZXJlIHZhbHVlIGVxdWFscyB0bycpLFxuICAgICAgICAgIGFkZFRleHQ6IGdldHRleHQoJ0FkZCBuZXh0YHZhbHVlYCcpLFxuICAgICAgICAgIHRvb2x0aXA6IGdldHRleHQoJ1VzZSAqIGFzIGEgd2lsZGNhcmQgY2hhcmFjdGVyJyksXG4gICAgICAgICAgcGxhY2Vob2xkZXI6ICcxMDMwMCcsXG4gICAgICAgICAgb3B0aW9uYWw6IHRydWVcbiAgICAgICAgfSlcbiAgICAgIF0sXG4gICAgICBnZXRGaWx0ZXI6IChtb2RlbDogYW55KTogYW55ID0+IHtcbiAgICAgICAgY29uc3QgZmlsdGVyOiBhbnkgPSB7fTtcbiAgICAgICAgaWYgKG1vZGVsLmV4aXN0cykge1xuICAgICAgICAgIGZpbHRlci5fX2hhcyA9IHRoaXMucGF0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAobW9kZWwuZXF1YWxzKSB7XG4gICAgICAgICAgZmlsdGVyW3RoaXMucGF0aF0gPSB7IF9faW46IG1vZGVsLmVxdWFscyB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWx0ZXI7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMuc29ydGFibGUgPSB0cnVlO1xuICAgIHRoaXMuc29ydGluZ0NvbmZpZyA9IHtcbiAgICAgIHBhdGhTb3J0aW5nQ29uZmlnczogW3sgcGF0aDogdGhpcy5wYXRoIH1dXG4gICAgfTtcbiAgfVxufVxuIl19