tuain-ng-forms-lib
Version:
Componentes y Clases Angular para la gestión de formularios TUAIN
74 lines • 10.6 kB
JavaScript
import { FormPiece } from '../piece';
export class RecordTableColumn extends FormPiece {
fieldCode = '';
fieldTitle = '';
fieldType = '';
fieldAlignment = '';
fieldFormat = '';
sortable = true;
searchable = true;
sortDirections = [];
// Filtros
filterVisible = false;
filterDef = null;
filterSetup = null;
constructor(recTableColReceived, formConfig) {
super(recTableColReceived, formConfig);
this.filterDef = null;
if (recTableColReceived) {
this.fieldCode = recTableColReceived.fieldCode;
this.fieldTitle = recTableColReceived.fieldTitle ?? '';
this.fieldType = recTableColReceived.fieldTypeCode || this._formConfig.fieldTypes.text;
const defaultTypeAlignment = (this._formConfig.tableFieldStyles[this.fieldType] != null) ? this._formConfig.tableFieldStyles[this.fieldType]['text-align'] : 'left';
this.fieldAlignment = (recTableColReceived.alignment != null) ? recTableColReceived.alignment.toLowerCase() : defaultTypeAlignment;
this._absoluteVisible = recTableColReceived?.visible ?? true;
this.sortable = recTableColReceived?.sortable ?? false;
this.searchable = recTableColReceived?.searchable ?? true;
this.sortDirections = (this.sortable) ? ['ascend', 'descend'] : [];
this.fieldFormat = recTableColReceived.format || '';
this.customAttributes = recTableColReceived?.customAttributes ?? {};
}
}
setSearchable(searchable = true) { this.searchable = searchable; }
hideFilter() {
this.filterVisible = false;
}
addFilterDefinition(filterDefinition) {
this.filterDef = {
operators: filterDefinition.operators,
options: filterDefinition.options ?? null,
};
}
get filterDefinition() {
return this.filterDef;
}
addFilter(columnValues, operator) {
this.filterSetup = {
fieldCode: this.fieldCode,
operator: operator ?? this.filterDef?.operators[0] ?? 'IN',
values: columnValues,
};
}
get filter() {
return this.filterSetup;
}
removeFilter() {
this.filterSetup = null;
}
get options() {
if (this.filterDef?.operators?.length === 1 && this.filterDef?.operators[0] === 'IN') {
return this.filterDef?.options;
}
return null;
}
setSortDirections(ascend, descend) {
this.sortDirections = [];
if (ascend) {
this.sortDirections.unshift('ascend');
}
if (descend) {
this.sortDirections.unshift('descend');
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY2xhc3Nlcy9mb3Jtcy90YWJsZS9jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQWFyQyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsU0FBUztJQUM5QyxTQUFTLEdBQVcsRUFBRSxDQUFDO0lBQ3ZCLFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDeEIsU0FBUyxHQUFXLEVBQUUsQ0FBQztJQUN2QixjQUFjLEdBQVcsRUFBRSxDQUFDO0lBQzVCLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsUUFBUSxHQUFZLElBQUksQ0FBQztJQUN6QixVQUFVLEdBQVksSUFBSSxDQUFDO0lBQzNCLGNBQWMsR0FBYSxFQUFFLENBQUM7SUFDOUIsVUFBVTtJQUNWLGFBQWEsR0FBWSxLQUFLLENBQUM7SUFDL0IsU0FBUyxHQUFxQixJQUFJLENBQUM7SUFDbkMsV0FBVyxHQUF1QixJQUFJLENBQUM7SUFFdkMsWUFBWSxtQkFBcUMsRUFBRSxVQUF1QjtRQUN4RSxLQUFLLENBQUMsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxDQUFDO1lBQy9DLElBQUksQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFtQixDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDdkYsTUFBTSxvQkFBb0IsR0FBRyxDQUFD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QUNaLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtUGllY2UgfSBmcm9tICcuLi9waWVjZSc7XG5pbXBvcnQgeyBDb2x1bW5EZWZpbml0aW9uLCBJRm9ybUNvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZm9ybS1jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJEZWYge1xuICBvcGVyYXRvcnM6IHN0cmluZ1tdO1xuICBvcHRpb25zOiBhbnlbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJTZXR1cCB7XG4gIGZpZWxkQ29kZTogc3RyaW5nO1xuICBvcGVyYXRvcjogc3RyaW5nO1xuICB2YWx1ZXM6IGFueVtdO1xufVxuZXhwb3J0IGNsYXNzIFJlY29yZFRhYmxlQ29sdW1uIGV4dGVuZHMgRm9ybVBpZWNlIHtcbiAgZmllbGRDb2RlOiBzdHJpbmcgPSAnJztcbiAgZmllbGRUaXRsZTogc3RyaW5nID0gJyc7XG4gIGZpZWxkVHlwZTogc3RyaW5nID0gJyc7XG4gIGZpZWxkQWxpZ25tZW50OiBzdHJpbmcgPSAnJztcbiAgZmllbGRGb3JtYXQ6IHN0cmluZyA9ICcnO1xuICBzb3J0YWJsZTogYm9vbGVhbiA9IHRydWU7XG4gIHNlYXJjaGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuICBzb3J0RGlyZWN0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgLy8gRmlsdHJvc1xuICBmaWx0ZXJWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIGZpbHRlckRlZjogRmlsdGVyRGVmIHwgbnVsbCA9IG51bGw7XG4gIGZpbHRlclNldHVwOiBGaWx0ZXJTZXR1cCB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKHJlY1RhYmxlQ29sUmVjZWl2ZWQ6IENvbHVtbkRlZmluaXRpb24sIGZvcm1Db25maWc6IElGb3JtQ29uZmlnKSB7XG4gICAgc3VwZXIocmVjVGFibGVDb2xSZWNlaXZlZCwgZm9ybUNvbmZpZyk7XG4gICAgdGhpcy5maWx0ZXJEZWYgPSBudWxsO1xuICAgIGlmIChyZWNUYWJsZUNvbFJlY2VpdmVkKSB7XG4gICAgICB0aGlzLmZpZWxkQ29kZSA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQuZmllbGRDb2RlO1xuICAgICAgdGhpcy5maWVsZFRpdGxlID0gcmVjVGFibGVDb2xSZWNlaXZlZC5maWVsZFRpdGxlID8/ICcnO1xuICAgICAgdGhpcy5maWVsZFR5cGUgPSByZWNUYWJsZUNvbFJlY2VpdmVkLmZpZWxkVHlwZUNvZGUgfHwgdGhpcy5fZm9ybUNvbmZpZy5maWVsZFR5cGVzLnRleHQ7XG4gICAgICBjb25zdCBkZWZhdWx0VHlwZUFsaWdubWVudCA9ICh0aGlzLl9mb3JtQ29uZmlnLnRhYmxlRmllbGRTdHlsZXNbdGhpcy5maWVsZFR5cGVdICE9IG51bGwpID8gdGhpcy5fZm9ybUNvbmZpZy50YWJsZUZpZWxkU3R5bGVzW3RoaXMuZmllbGRUeXBlXVsndGV4dC1hbGlnbiddIDogJ2xlZnQnO1xuICAgICAgdGhpcy5maWVsZEFsaWdubWVudCA9IChyZWNUYWJsZUNvbFJlY2VpdmVkLmFsaWdubWVudCAhPSBudWxsKSA/IHJlY1RhYmxlQ29sUmVjZWl2ZWQuYWxpZ25tZW50LnRvTG93ZXJDYXNlKCkgOiBkZWZhdWx0VHlwZUFsaWdubWVudDtcbiAgICAgIHRoaXMuX2Fic29sdXRlVmlzaWJsZSA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQ/LnZpc2libGUgPz8gdHJ1ZTtcbiAgICAgIHRoaXMuc29ydGFibGUgPSByZWNUYWJsZUNvbFJlY2VpdmVkPy5zb3J0YWJsZSA/PyBmYWxzZTtcbiAgICAgIHRoaXMuc2VhcmNoYWJsZSA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQ/LnNlYXJjaGFibGUgPz8gdHJ1ZTtcbiAgICAgIHRoaXMuc29ydERpcmVjdGlvbnMgPSAodGhpcy5zb3J0YWJsZSkgPyBbJ2FzY2VuZCcsICdkZXNjZW5kJ10gOiBbXTtcbiAgICAgIHRoaXMuZmllbGRGb3JtYXQgPSByZWNUYWJsZUNvbFJlY2VpdmVkLmZvcm1hdCB8fCAnJztcbiAgICAgIHRoaXMuY3VzdG9tQXR0cmlidXRlcyA9IHJlY1RhYmxlQ29sUmVjZWl2ZWQ/LmN1c3RvbUF0dHJpYnV0ZXMgPz8ge307XG4gICAgfVxuICB9XG5cbiAgc2V0U2VhcmNoYWJsZShzZWFyY2hhYmxlID0gdHJ1ZSk6IHZvaWQgeyB0aGlzLnNlYXJjaGFibGUgPSBzZWFyY2hhYmxlOyB9XG5cbiAgaGlkZUZpbHRlcigpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlclZpc2libGUgPSBmYWxzZTtcbiAgfVxuXG4gIGFkZEZpbHRlckRlZmluaXRpb24oZmlsdGVyRGVmaW5pdGlvbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJEZWYgPSB7XG4gICAgICBvcGVyYXRvcnM6IGZpbHRlckRlZmluaXRpb24ub3BlcmF0b3JzLFxuICAgICAgb3B0aW9uczogZmlsdGVyRGVmaW5pdGlvbi5vcHRpb25zID8/IG51bGwsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBmaWx0ZXJEZWZpbml0aW9uKCk6IEZpbHRlckRlZiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmZpbHRlckRlZjtcbiAgfVxuXG4gIGFkZEZpbHRlcihjb2x1bW5WYWx1ZXM6IGFueSwgb3BlcmF0b3I6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlclNldHVwID0ge1xuICAgICAgZmllbGRDb2RlOiB0aGlzLmZpZWxkQ29kZSxcbiAgICAgIG9wZXJhdG9yOiBvcGVyYXRvciA/PyB0aGlzLmZpbHRlckRlZj8ub3BlcmF0b3JzWzBdID8/ICdJTicsXG4gICAgICB2YWx1ZXM6IGNvbHVtblZhbHVlcyxcbiAgICB9XG4gIH1cblxuICBnZXQgZmlsdGVyKCk6IEZpbHRlclNldHVwIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyU2V0dXA7XG4gIH1cblxuICByZW1vdmVGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJTZXR1cCA9IG51bGw7XG4gIH1cblxuICBnZXQgb3B0aW9ucygpOiBhbnlbXSB8IG51bGwge1xuICAgIGlmICh0aGlzLmZpbHRlckRlZj8ub3BlcmF0b3JzPy5sZW5ndGggPT09IDEgJiYgdGhpcy5maWx0ZXJEZWY/Lm9wZXJhdG9yc1swXSA9PT0gJ0lOJykge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyRGVmPy5vcHRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHNldFNvcnREaXJlY3Rpb25zKGFzY2VuZDogYm9vbGVhbiwgZGVzY2VuZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuc29ydERpcmVjdGlvbnMgPSBbXTtcbiAgICBpZiAoYXNjZW5kKSB7XG4gICAgICB0aGlzLnNvcnREaXJlY3Rpb25zLnVuc2hpZnQoJ2FzY2VuZCcpO1xuICAgIH1cbiAgICBpZiAoZGVzY2VuZCkge1xuICAgICAgdGhpcy5zb3J0RGlyZWN0aW9ucy51bnNoaWZ0KCdkZXNjZW5kJyk7XG4gICAgfVxuICB9XG59XG4iXX0=