@tots/editable-columns 15.0.0 → 15.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/columns/input-column/input-column.component.mjs +3 -2
- package/esm2020/lib/components/tots-table-full-group/tots-table-full-group.component.mjs +86 -0
- package/esm2020/lib/editable-columns.module.mjs +25 -7
- package/esm2020/public-api.mjs +5 -1
- package/fesm2015/tots-editable-columns.mjs +111 -11
- package/fesm2015/tots-editable-columns.mjs.map +1 -1
- package/fesm2020/tots-editable-columns.mjs +108 -11
- package/fesm2020/tots-editable-columns.mjs.map +1 -1
- package/lib/components/tots-table-full-group/tots-table-full-group.component.d.ts +20 -0
- package/lib/editable-columns.module.d.ts +7 -5
- package/package.json +2 -2
- package/public-api.d.ts +4 -0
|
@@ -18,7 +18,7 @@ export class InputColumn extends TotsBaseColumnComponent {
|
|
|
18
18
|
loadChanges() {
|
|
19
19
|
this.input.valueChanges
|
|
20
20
|
.subscribe(res => {
|
|
21
|
-
this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid } });
|
|
21
|
+
this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
24
|
loadForm() {
|
|
@@ -34,6 +34,7 @@ export class InputColumn extends TotsBaseColumnComponent {
|
|
|
34
34
|
loadInput() {
|
|
35
35
|
let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);
|
|
36
36
|
this.input = new FormControl(value, this.getValidators());
|
|
37
|
+
this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });
|
|
37
38
|
}
|
|
38
39
|
getFormKey() {
|
|
39
40
|
if (Array.isArray(this.column.field_key)) {
|
|
@@ -103,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
|
103
104
|
type: Component,
|
|
104
105
|
args: [{ selector: 'tots-input-column', template: "<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: ["mat-form-field{margin-bottom:0}\n"] }]
|
|
105
106
|
}], ctorParameters: function () { return []; } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RvdHMvZWRpdGFibGUtY29sdW1ucy9zcmMvbGliL2NvbHVtbnMvaW5wdXQtY29sdW1uL2lucHV0LWNvbHVtbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b3RzL2VkaXRhYmxlLWNvbHVtbnMvc3JjL2xpYi9jb2x1bW5zL2lucHV0LWNvbHVtbi9pbnB1dC1jb2x1bW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsV0FBVyxFQUEwQixNQUFNLGdCQUFnQixDQUFDO0FBRXJFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQU92RSxNQUFNLE9BQU8sV0FBWSxTQUFRLHVCQUF1QjtJQUl0RDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWTthQUN0QixTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLFNBQVMsRUFBQztZQUN4RSxPQUFPO1NBQ1I7UUFFRCxJQUFJLEtBQUssR0FBYyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDL0MsSUFBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLFNBQVMsRUFBQztZQUN6QyxPQUFPO1NBQ1Y7UUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLEtBQUssR0FBRyxlQUFlLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxXQUFXLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2pKLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDeEM7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFVLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3JELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDN0IsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQzVDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNuQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUM7YUFDdEI7U0FDRjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtZQUNyRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztTQUNyQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDaEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDaEM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2xELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3RELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2xELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7O3dHQS9HVSxXQUFXOzRGQUFYLFdBQVcsZ0ZDVnhCLGljQU1BOzJGRElhLFdBQVc7a0JBTHZCLFNBQVM7K0JBQ0UsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZEFwcGVhcmFuY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IFRvdHNCYXNlQ29sdW1uQ29tcG9uZW50LCBUb3RzVGFibGVIZWxwZXIgfSBmcm9tICdAdG90cy90YWJsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvdHMtaW5wdXQtY29sdW1uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWNvbHVtbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LWNvbHVtbi5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRDb2x1bW4gZXh0ZW5kcyBUb3RzQmFzZUNvbHVtbkNvbXBvbmVudCB7XG5cbiAgaW5wdXQhOiBGb3JtQ29udHJvbDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2FkSW5wdXQoKTtcbiAgICB0aGlzLmxvYWRGb3JtKCk7XG4gICAgdGhpcy5sb2FkQ2hhbmdlcygpO1xuICB9XG5cbiAgbG9hZENoYW5nZXMoKSB7XG4gICAgdGhpcy5pbnB1dC52YWx1ZUNoYW5nZXNcbiAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICB0aGlzLm9uQWN0aW9uLm5leHQoeyBrZXk6ICdpbnB1dC1jaGFuZ2UnLCBpdGVtOiB7IGZpZWxkX2tleTogdGhpcy5nZXRGb3JtS2V5KCksIGl0ZW06IHRoaXMuaXRlbSwgdmFsdWU6IHJlcywgdmFsaWQ6IHRoaXMuaW5wdXQudmFsaWQsIGluZGV4OiB0aGlzLmluZGV4IH0gfSk7XG4gICAgfSk7XG4gIH1cblxuICBsb2FkRm9ybSgpIHtcbiAgICBpZih0aGlzLmNvbHVtbi5leHRyYSA9PSB1bmRlZmluZWQgfHwgdGhpcy5jb2x1bW4uZXh0cmEuZ3JvdXAgPT0gdW5kZWZpbmVkKXtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgZ3JvdXA6IEZvcm1Hcm91cCA9IHRoaXMuY29sdW1uLmV4dHJhLmdyb3VwO1xuICAgIGlmKGdyb3VwLmdldCh0aGlzLmdldEZvcm1LZXkoKSkgIT0gdW5kZWZpbmVkKXtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGdyb3VwLmFkZENvbnRyb2wodGhpcy5nZXRGb3JtS2V5KCksIHRoaXMuaW5wdXQpO1xuICB9XG5cbiAgbG9hZElucHV0KCkge1xuICAgIGxldCB2YWx1ZSA9IFRvdHNUYWJsZUhlbHBlci5nZXRJdGVtVmFsdWVCeUtleSh0aGlzLml0ZW0sIHRoaXMuY29sdW1uLmZpZWxkX2tleSk7XG4gICAgdGhpcy5pbnB1dCA9IG5ldyBGb3JtQ29udHJvbCh2YWx1ZSwgdGhpcy5nZXRWYWxpZGF0b3JzKCkpO1xuXG4gICAgdGhpcy5vbkFjdGlvbi5uZXh0KHsga2V5OiAnaW5wdXQtY3JlYXRlJywgaXRlbTogeyBmaWVsZF9rZXk6IHRoaXMuZ2V0Rm9ybUtleSgpLCBpbnB1dDogdGhpcy5pbnB1dCwgaW5kZXg6IHRoaXMuaW5kZXgsIGNvbHVtbjogdGhpcy5jb2x1bW4gfSB9KTtcbiAgfVxuXG4gIGdldEZvcm1LZXkoKTogc3RyaW5nIHtcbiAgICBpZihBcnJheS5pc0FycmF5KHRoaXMuY29sdW1uLmZpZWxkX2tleSkpe1xuICAgICAgcmV0dXJuIHRoaXMuY29sdW1uLmZpZWxkX2tleS5qb2luKCdfJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbHVtbi5maWVsZF9rZXkhO1xuICAgIH1cbiAgfVxuXG4gIGdldFZhbGlkYXRvcnMoKSA6IFZhbGlkYXRvckZuW10gfCBWYWxpZGF0b3JGbiB8IG51bGwge1xuICAgIGlmICh0aGlzLmNvbHVtbi5leHRyYSAmJiB0aGlzLmNvbHVtbi5leHRyYS52YWxpZGF0b3JzKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb2x1bW4uZXh0cmEudmFsaWRhdG9ycztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2UoKSA6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmNvbHVtbi5leHRyYS5lcnJvcnMpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGVycm9yIG9mIHRoaXMuY29sdW1uLmV4dHJhLmVycm9ycykge1xuICAgICAgaWYgKHRoaXMuaW5wdXQuaGFzRXJyb3IoZXJyb3IubmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIGVycm9yLm1lc3NhZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0QXBwZWFyYW5jZSgpIDogTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB7XG4gICAgaWYgKHRoaXMuY29sdW1uLmV4dHJhICYmIHRoaXMuY29sdW1uLmV4dHJhLmFwcGVhcmFuY2UpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbHVtbi5leHRyYS5hcHBlYXJhbmNlO1xuICAgIH1cbiAgICByZXR1cm4gJ2ZpbGwnO1xuICB9XG5cbiAgZ2V0TGFiZWwoKSA6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuY29sdW1uLmV4dHJhICYmIHRoaXMuY29sdW1uLmV4dHJhLmxhYmVsKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb2x1bW4uZXh0cmEubGFiZWw7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRDbGFzc2VzKCkgOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmNvbHVtbi5leHRyYSAmJiB0aGlzLmNvbHVtbi5leHRyYS5jbGFzc2VzKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb2x1bW4uZXh0cmEuY2xhc3NlcztcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgZ2V0UGxhY2Vob2xkZXIoKSA6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY29sdW1uLmV4dHJhICYmIHRoaXMuY29sdW1uLmV4dHJhLnBsYWNlaG9sZGVyKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb2x1bW4uZXh0cmEucGxhY2Vob2xkZXI7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldENhcHRpb24oKSA6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY29sdW1uLmV4dHJhICYmIHRoaXMuY29sdW1uLmV4dHJhLmNhcHRpb24pIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbHVtbi5leHRyYS5jYXB0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBoYXNFcnJvcigpIDogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXQuaW52YWxpZCAmJiAodGhpcy5pbnB1dC5kaXJ0eSB8fCB0aGlzLmlucHV0LnRvdWNoZWQpO1xuICB9XG5cbiAgZ2V0SW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXQ7XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cInt7Z2V0Q2xhc3NlcygpfX1cIiBbYXBwZWFyYW5jZV09XCJnZXRBcHBlYXJhbmNlKClcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gIDxtYXQtbGFiZWwgKm5nSWY9XCJnZXRMYWJlbCgpXCI+IHt7IGdldExhYmVsKCkgfX0gPC9tYXQtbGFiZWw+XG4gIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwidGV4dFwiIFtmb3JtQ29udHJvbF09XCJpbnB1dFwiIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCIvPlxuICA8bWF0LWhpbnQgKm5nSWY9XCJnZXRDYXB0aW9uKClcIiBbYWxpZ25dPVwiJ2VuZCdcIj4ge3tnZXRDYXB0aW9uKCl9fSA8L21hdC1oaW50PlxuICA8bWF0LWVycm9yICpuZ0lmPVwiaGFzRXJyb3IoKVwiPnt7Z2V0RXJyb3JNZXNzYWdlKCl9fTwvbWF0LWVycm9yPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { FormArray, FormGroup } from '@angular/forms';
|
|
3
|
+
import { TotsTableConfig } from '@tots/table';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@tots/table";
|
|
6
|
+
export class TotsTableFullGroupComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.config = new TotsTableConfig();
|
|
9
|
+
this.pageIndex = 0;
|
|
10
|
+
this.pageSize = 50;
|
|
11
|
+
this.hasPagination = true;
|
|
12
|
+
this.messageNotFound = "No results found, please try with other search terms";
|
|
13
|
+
this.onAction = new EventEmitter();
|
|
14
|
+
}
|
|
15
|
+
onTableAction(action) {
|
|
16
|
+
if (action.key == 'loaded-items') {
|
|
17
|
+
this.loadGroup();
|
|
18
|
+
}
|
|
19
|
+
else if (action.key == 'input-create') {
|
|
20
|
+
this.addInputInGroup(action.item.input, action.item.index, action.item.column);
|
|
21
|
+
}
|
|
22
|
+
else if (action.key == 'input-change') {
|
|
23
|
+
this.onAction.emit(action);
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
this.onAction.emit({ key: 'form-change', item: { valid: this.formArrayMain.valid, values: this.formArrayMain?.value } });
|
|
26
|
+
});
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
this.onAction.emit(action);
|
|
30
|
+
}
|
|
31
|
+
addInputInGroup(input, index, column) {
|
|
32
|
+
let group = this.formArrayMain?.at(index);
|
|
33
|
+
if (group == undefined) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
group.addControl(this.getFormKey(column), input);
|
|
37
|
+
}
|
|
38
|
+
loadGroup() {
|
|
39
|
+
if (this.tableComp == undefined) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
// Get Items
|
|
43
|
+
let items = this.tableComp.getDataItems();
|
|
44
|
+
// Create main array form
|
|
45
|
+
this.formArrayMain = new FormArray([]);
|
|
46
|
+
// Verify if undefined
|
|
47
|
+
if (items == undefined) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// Create form group for each item
|
|
51
|
+
items.data.forEach(item => {
|
|
52
|
+
let group = new FormGroup({});
|
|
53
|
+
this.formArrayMain?.push(group);
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
getFormKey(column) {
|
|
57
|
+
if (Array.isArray(column.field_key)) {
|
|
58
|
+
return column.field_key.join('_');
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return column.field_key;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
TotsTableFullGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsTableFullGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
TotsTableFullGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: TotsTableFullGroupComponent, selector: "tots-table-full-group", inputs: { config: "config", pageIndex: "pageIndex", pageSize: "pageSize", hasPagination: "hasPagination", messageNotFound: "messageNotFound" }, outputs: { onAction: "onAction" }, viewQueries: [{ propertyName: "tableComp", first: true, predicate: ["tableComp"], descendants: true }], ngImport: i0, template: "<tots-table #tableComp [config]=\"config\" [pageIndex]=\"pageIndex\" [pageSize]=\"pageSize\" [hasPagination]=\"hasPagination\" [messageNotFound]=\"messageNotFound\" (onAction)=\"onTableAction($event)\"></tots-table>\n", styles: [""], dependencies: [{ kind: "component", type: i1.TotsTableComponent, selector: "tots-table", inputs: ["config", "pageIndex", "pageSize", "hasPagination", "messageNotFound"], outputs: ["onAction"] }] });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsTableFullGroupComponent, decorators: [{
|
|
68
|
+
type: Component,
|
|
69
|
+
args: [{ selector: 'tots-table-full-group', template: "<tots-table #tableComp [config]=\"config\" [pageIndex]=\"pageIndex\" [pageSize]=\"pageSize\" [hasPagination]=\"hasPagination\" [messageNotFound]=\"messageNotFound\" (onAction)=\"onTableAction($event)\"></tots-table>\n" }]
|
|
70
|
+
}], propDecorators: { tableComp: [{
|
|
71
|
+
type: ViewChild,
|
|
72
|
+
args: ['tableComp']
|
|
73
|
+
}], config: [{
|
|
74
|
+
type: Input
|
|
75
|
+
}], pageIndex: [{
|
|
76
|
+
type: Input
|
|
77
|
+
}], pageSize: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], hasPagination: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], messageNotFound: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}], onAction: [{
|
|
84
|
+
type: Output
|
|
85
|
+
}] } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG90cy10YWJsZS1mdWxsLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RvdHMvZWRpdGFibGUtY29sdW1ucy9zcmMvbGliL2NvbXBvbmVudHMvdG90cy10YWJsZS1mdWxsLWdyb3VwL3RvdHMtdGFibGUtZnVsbC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b3RzL2VkaXRhYmxlLWNvbHVtbnMvc3JjL2xpYi9jb21wb25lbnRzL3RvdHMtdGFibGUtZnVsbC1ncm91cC90b3RzLXRhYmxlLWZ1bGwtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBZSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQW1ELGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBTy9GLE1BQU0sT0FBTywyQkFBMkI7SUFMeEM7UUFTVyxXQUFNLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUMvQixjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBQ3RCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsb0JBQWUsR0FBVyxzREFBc0QsQ0FBQztRQUVoRixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7S0FxRDFEO0lBakRDLGFBQWEsQ0FBQyxNQUF1QjtRQUNuQyxJQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksY0FBYyxFQUFDO1lBQzlCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjthQUFNLElBQUksTUFBTSxDQUFDLEdBQUcsSUFBSSxjQUFjLEVBQUU7WUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ2hGO2FBQU0sSUFBSSxNQUFNLENBQUMsR0FBRyxJQUFJLGNBQWMsRUFBRTtZQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQixVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVILENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFrQixFQUFFLEtBQWEsRUFBRSxNQUFrQjtRQUNuRSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxJQUFHLEtBQUssSUFBSSxTQUFTLEVBQUM7WUFDcEIsT0FBTztTQUNSO1FBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBRyxJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsRUFBQztZQUM3QixPQUFPO1NBQ1I7UUFDRCxZQUFZO1FBQ1osSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyx5QkFBeUI7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLFNBQVMsQ0FBWSxFQUFFLENBQUMsQ0FBQztRQUNsRCxzQkFBc0I7UUFDdEIsSUFBRyxLQUFLLElBQUksU0FBUyxFQUFDO1lBQ3BCLE9BQU87U0FDUjtRQUNELGtDQUFrQztRQUNsQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QixJQUFJLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsTUFBa0I7UUFDM0IsSUFBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBQztZQUNqQyxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ25DO2FBQU07WUFDTCxPQUFPLE1BQU0sQ0FBQyxTQUFVLENBQUM7U0FDMUI7SUFDSCxDQUFDOzt3SEE5RFUsMkJBQTJCOzRHQUEzQiwyQkFBMkIsd1ZDVHhDLDJOQUNBOzJGRFFhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSx1QkFBdUI7OEJBTVQsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUViLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUb3RzQWN0aW9uVGFibGUsIFRvdHNDb2x1bW4sIFRvdHNUYWJsZUNvbXBvbmVudCwgVG90c1RhYmxlQ29uZmlnIH0gZnJvbSAnQHRvdHMvdGFibGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0b3RzLXRhYmxlLWZ1bGwtZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vdG90cy10YWJsZS1mdWxsLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG90cy10YWJsZS1mdWxsLWdyb3VwLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUb3RzVGFibGVGdWxsR3JvdXBDb21wb25lbnQge1xuXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlQ29tcCcpIHRhYmxlQ29tcCE6IFRvdHNUYWJsZUNvbXBvbmVudDtcblxuICBASW5wdXQoKSBjb25maWcgPSBuZXcgVG90c1RhYmxlQ29uZmlnKCk7XG4gIEBJbnB1dCgpIHBhZ2VJbmRleDogbnVtYmVyID0gMDtcbiAgQElucHV0KCkgcGFnZVNpemU6IG51bWJlciA9IDUwO1xuICBASW5wdXQoKSBoYXNQYWdpbmF0aW9uOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgbWVzc2FnZU5vdEZvdW5kOiBzdHJpbmcgPSBcIk5vIHJlc3VsdHMgZm91bmQsIHBsZWFzZSB0cnkgd2l0aCBvdGhlciBzZWFyY2ggdGVybXNcIjtcblxuICBAT3V0cHV0KCkgb25BY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFRvdHNBY3Rpb25UYWJsZT4oKTtcblxuICBmb3JtQXJyYXlNYWluPzogRm9ybUFycmF5PEZvcm1Hcm91cD47XG5cbiAgb25UYWJsZUFjdGlvbihhY3Rpb246IFRvdHNBY3Rpb25UYWJsZSkge1xuICAgIGlmKGFjdGlvbi5rZXkgPT0gJ2xvYWRlZC1pdGVtcycpe1xuICAgICAgdGhpcy5sb2FkR3JvdXAoKTtcbiAgICB9IGVsc2UgaWYgKGFjdGlvbi5rZXkgPT0gJ2lucHV0LWNyZWF0ZScpIHtcbiAgICAgIHRoaXMuYWRkSW5wdXRJbkdyb3VwKGFjdGlvbi5pdGVtLmlucHV0LCBhY3Rpb24uaXRlbS5pbmRleCwgYWN0aW9uLml0ZW0uY29sdW1uKTtcbiAgICB9IGVsc2UgaWYgKGFjdGlvbi5rZXkgPT0gJ2lucHV0LWNoYW5nZScpIHtcbiAgICAgIHRoaXMub25BY3Rpb24uZW1pdChhY3Rpb24pO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMub25BY3Rpb24uZW1pdCh7IGtleTogJ2Zvcm0tY2hhbmdlJywgaXRlbTogeyB2YWxpZDogdGhpcy5mb3JtQXJyYXlNYWluIS52YWxpZCwgdmFsdWVzOiB0aGlzLmZvcm1BcnJheU1haW4/LnZhbHVlIH0gfSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5vbkFjdGlvbi5lbWl0KGFjdGlvbik7XG4gIH1cblxuICBhZGRJbnB1dEluR3JvdXAoaW5wdXQ6IEZvcm1Db250cm9sLCBpbmRleDogbnVtYmVyLCBjb2x1bW46IFRvdHNDb2x1bW4pIHtcbiAgICBsZXQgZ3JvdXAgPSB0aGlzLmZvcm1BcnJheU1haW4/LmF0KGluZGV4KTtcbiAgICBpZihncm91cCA9PSB1bmRlZmluZWQpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBncm91cC5hZGRDb250cm9sKHRoaXMuZ2V0Rm9ybUtleShjb2x1bW4pLCBpbnB1dCk7XG4gIH1cblxuICBsb2FkR3JvdXAoKSB7XG4gICAgaWYodGhpcy50YWJsZUNvbXAgPT0gdW5kZWZpbmVkKXtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gR2V0IEl0ZW1zXG4gICAgbGV0IGl0ZW1zID0gdGhpcy50YWJsZUNvbXAuZ2V0RGF0YUl0ZW1zKCk7XG4gICAgLy8gQ3JlYXRlIG1haW4gYXJyYXkgZm9ybVxuICAgIHRoaXMuZm9ybUFycmF5TWFpbiA9IG5ldyBGb3JtQXJyYXk8Rm9ybUdyb3VwPihbXSk7XG4gICAgLy8gVmVyaWZ5IGlmIHVuZGVmaW5lZFxuICAgIGlmKGl0ZW1zID09IHVuZGVmaW5lZCl7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIENyZWF0ZSBmb3JtIGdyb3VwIGZvciBlYWNoIGl0ZW1cbiAgICBpdGVtcy5kYXRhLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBsZXQgZ3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICAgIHRoaXMuZm9ybUFycmF5TWFpbj8ucHVzaChncm91cCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRGb3JtS2V5KGNvbHVtbjogVG90c0NvbHVtbik6IHN0cmluZyB7XG4gICAgaWYoQXJyYXkuaXNBcnJheShjb2x1bW4uZmllbGRfa2V5KSl7XG4gICAgICByZXR1cm4gY29sdW1uLmZpZWxkX2tleS5qb2luKCdfJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjb2x1bW4uZmllbGRfa2V5ITtcbiAgICB9XG4gIH1cbn1cbiIsIjx0b3RzLXRhYmxlICN0YWJsZUNvbXAgW2NvbmZpZ109XCJjb25maWdcIiBbcGFnZUluZGV4XT1cInBhZ2VJbmRleFwiIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiIFtoYXNQYWdpbmF0aW9uXT1cImhhc1BhZ2luYXRpb25cIiBbbWVzc2FnZU5vdEZvdW5kXT1cIm1lc3NhZ2VOb3RGb3VuZFwiIChvbkFjdGlvbik9XCJvblRhYmxlQWN0aW9uKCRldmVudClcIj48L3RvdHMtdGFibGU+XG4iXX0=
|
|
@@ -4,34 +4,48 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
|
4
4
|
/** Angular Material */
|
|
5
5
|
import { MatInputModule } from '@angular/material/input';
|
|
6
6
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
+
/** Tots Libraries */
|
|
8
|
+
import { TotsTableModule } from '@tots/table';
|
|
7
9
|
/** Columns */
|
|
8
10
|
import { InputColumn } from './columns/input-column/input-column.component';
|
|
11
|
+
/** Components */
|
|
12
|
+
import { TotsTableFullGroupComponent } from './components/tots-table-full-group/tots-table-full-group.component';
|
|
9
13
|
import * as i0 from "@angular/core";
|
|
10
14
|
export class TotsEditableColumnsModule {
|
|
11
15
|
}
|
|
12
16
|
TotsEditableColumnsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
17
|
TotsEditableColumnsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, declarations: [
|
|
14
18
|
/** Columns */
|
|
15
|
-
InputColumn
|
|
19
|
+
InputColumn,
|
|
20
|
+
/** Components */
|
|
21
|
+
TotsTableFullGroupComponent], imports: [CommonModule,
|
|
16
22
|
FormsModule,
|
|
17
23
|
ReactiveFormsModule,
|
|
18
24
|
/** Angular Material */
|
|
19
25
|
MatFormFieldModule,
|
|
20
|
-
MatInputModule
|
|
26
|
+
MatInputModule,
|
|
27
|
+
/** Tots Libraries */
|
|
28
|
+
TotsTableModule], exports: [
|
|
21
29
|
/** Columns */
|
|
22
|
-
InputColumn
|
|
30
|
+
InputColumn,
|
|
31
|
+
/** Components */
|
|
32
|
+
TotsTableFullGroupComponent] });
|
|
23
33
|
TotsEditableColumnsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, imports: [CommonModule,
|
|
24
34
|
FormsModule,
|
|
25
35
|
ReactiveFormsModule,
|
|
26
36
|
/** Angular Material */
|
|
27
37
|
MatFormFieldModule,
|
|
28
|
-
MatInputModule
|
|
38
|
+
MatInputModule,
|
|
39
|
+
/** Tots Libraries */
|
|
40
|
+
TotsTableModule] });
|
|
29
41
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, decorators: [{
|
|
30
42
|
type: NgModule,
|
|
31
43
|
args: [{
|
|
32
44
|
declarations: [
|
|
33
45
|
/** Columns */
|
|
34
|
-
InputColumn
|
|
46
|
+
InputColumn,
|
|
47
|
+
/** Components */
|
|
48
|
+
TotsTableFullGroupComponent
|
|
35
49
|
],
|
|
36
50
|
imports: [
|
|
37
51
|
CommonModule,
|
|
@@ -40,11 +54,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
|
40
54
|
/** Angular Material */
|
|
41
55
|
MatFormFieldModule,
|
|
42
56
|
MatInputModule,
|
|
57
|
+
/** Tots Libraries */
|
|
58
|
+
TotsTableModule
|
|
43
59
|
],
|
|
44
60
|
exports: [
|
|
45
61
|
/** Columns */
|
|
46
|
-
InputColumn
|
|
62
|
+
InputColumn,
|
|
63
|
+
/** Components */
|
|
64
|
+
TotsTableFullGroupComponent
|
|
47
65
|
]
|
|
48
66
|
}]
|
|
49
67
|
}] });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtY29sdW1ucy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90b3RzL2VkaXRhYmxlLWNvbHVtbnMvc3JjL2xpYi9lZGl0YWJsZS1jb2x1bW5zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsdUJBQXVCO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVsRSxxQkFBcUI7QUFDckIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxjQUFjO0FBQ2QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRTVFLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQzs7QUFxQ2pILE1BQU0sT0FBTyx5QkFBeUI7O3NIQUF6Qix5QkFBeUI7dUhBQXpCLHlCQUF5QjtRQTFCbEMsY0FBYztRQUNkLFdBQVc7UUFFWCxpQkFBaUI7UUFDakIsMkJBQTJCLGFBRzNCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBRW5CLHVCQUF1QjtRQUN2QixrQkFBa0I7UUFDbEIsY0FBYztRQUVkLHFCQUFxQjtRQUNyQixlQUFlO1FBR2YsY0FBYztRQUNkLFdBQVc7UUFFWCxpQkFBaUI7UUFDakIsMkJBQTJCO3VIQUdsQix5QkFBeUIsWUFuQmxDLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBRW5CLHVCQUF1QjtRQUN2QixrQkFBa0I7UUFDbEIsY0FBYztRQUVkLHFCQUFxQjtRQUNyQixlQUFlOzJGQVVOLHlCQUF5QjtrQkE3QnJDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUVaLGNBQWM7d0JBQ2QsV0FBVzt3QkFFWCxpQkFBaUI7d0JBQ2pCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBRW5CLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUVkLHFCQUFxQjt3QkFDckIsZUFBZTtxQkFDaEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsV0FBVzt3QkFFWCxpQkFBaUI7d0JBQ2pCLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKiogQW5ndWxhciBNYXRlcmlhbCAqL1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuLyoqIFRvdHMgTGlicmFyaWVzICovXG5pbXBvcnQgeyBUb3RzVGFibGVNb2R1bGUgfSBmcm9tICdAdG90cy90YWJsZSc7XG5cbi8qKiBDb2x1bW5zICovXG5pbXBvcnQgeyBJbnB1dENvbHVtbiB9IGZyb20gJy4vY29sdW1ucy9pbnB1dC1jb2x1bW4vaW5wdXQtY29sdW1uLmNvbXBvbmVudCc7XG5cbi8qKiBDb21wb25lbnRzICovXG5pbXBvcnQgeyBUb3RzVGFibGVGdWxsR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdG90cy10YWJsZS1mdWxsLWdyb3VwL3RvdHMtdGFibGUtZnVsbC1ncm91cC5jb21wb25lbnQnO1xuXG5cblxuXG5cblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcblxuICAgIC8qKiBDb2x1bW5zICovXG4gICAgSW5wdXRDb2x1bW4sXG5cbiAgICAvKiogQ29tcG9uZW50cyAqL1xuICAgIFRvdHNUYWJsZUZ1bGxHcm91cENvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG5cbiAgICAvKiogQW5ndWxhciBNYXRlcmlhbCAqL1xuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcblxuICAgIC8qKiBUb3RzIExpYnJhcmllcyAqL1xuICAgIFRvdHNUYWJsZU1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgLyoqIENvbHVtbnMgKi9cbiAgICBJbnB1dENvbHVtbixcblxuICAgIC8qKiBDb21wb25lbnRzICovXG4gICAgVG90c1RhYmxlRnVsbEdyb3VwQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVG90c0VkaXRhYmxlQ29sdW1uc01vZHVsZSB7IH1cbiJdfQ==
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -5,8 +5,12 @@
|
|
|
5
5
|
* Columns
|
|
6
6
|
*/
|
|
7
7
|
export * from './lib/columns/input-column/input-column.component';
|
|
8
|
+
/**
|
|
9
|
+
* Components
|
|
10
|
+
*/
|
|
11
|
+
export * from './lib/components/tots-table-full-group/tots-table-full-group.component';
|
|
8
12
|
/**
|
|
9
13
|
* Modules
|
|
10
14
|
*/
|
|
11
15
|
export * from './lib/editable-columns.module';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RvdHMvZWRpdGFibGUtY29sdW1ucy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVIOztHQUVHO0FBQ0gsY0FBYyxtREFBbUQsQ0FBQztBQUVsRTs7R0FFRztBQUNILGNBQWMsd0VBQXdFLENBQUM7QUFFdkY7O0dBRUc7QUFDSCxjQUFjLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBlZGl0YWJsZS1jb2x1bW5zXG4gKi9cblxuLyoqXG4gKiBDb2x1bW5zXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbHVtbnMvaW5wdXQtY29sdW1uL2lucHV0LWNvbHVtbi5jb21wb25lbnQnO1xuXG4vKipcbiAqIENvbXBvbmVudHNcbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90b3RzLXRhYmxlLWZ1bGwtZ3JvdXAvdG90cy10YWJsZS1mdWxsLWdyb3VwLmNvbXBvbmVudCc7XG5cbi8qKlxuICogTW9kdWxlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZGl0YWJsZS1jb2x1bW5zLm1vZHVsZSc7XG4iXX0=
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, NgModule } from '@angular/core';
|
|
2
|
+
import { Component, EventEmitter, ViewChild, Input, Output, NgModule } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/forms';
|
|
4
|
-
import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import
|
|
4
|
+
import { FormControl, FormArray, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import * as i1$1 from '@tots/table';
|
|
6
|
+
import { TotsBaseColumnComponent, TotsTableHelper, TotsTableConfig, TotsTableModule } from '@tots/table';
|
|
6
7
|
import * as i1 from '@angular/common';
|
|
7
8
|
import { CommonModule } from '@angular/common';
|
|
8
9
|
import * as i3 from '@angular/material/form-field';
|
|
@@ -22,7 +23,7 @@ class InputColumn extends TotsBaseColumnComponent {
|
|
|
22
23
|
loadChanges() {
|
|
23
24
|
this.input.valueChanges
|
|
24
25
|
.subscribe(res => {
|
|
25
|
-
this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid } });
|
|
26
|
+
this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
loadForm() {
|
|
@@ -38,6 +39,7 @@ class InputColumn extends TotsBaseColumnComponent {
|
|
|
38
39
|
loadInput() {
|
|
39
40
|
let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);
|
|
40
41
|
this.input = new FormControl(value, this.getValidators());
|
|
42
|
+
this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });
|
|
41
43
|
}
|
|
42
44
|
getFormKey() {
|
|
43
45
|
if (Array.isArray(this.column.field_key)) {
|
|
@@ -108,33 +110,127 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
|
108
110
|
args: [{ selector: 'tots-input-column', template: "<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: ["mat-form-field{margin-bottom:0}\n"] }]
|
|
109
111
|
}], ctorParameters: function () { return []; } });
|
|
110
112
|
|
|
113
|
+
class TotsTableFullGroupComponent {
|
|
114
|
+
constructor() {
|
|
115
|
+
this.config = new TotsTableConfig();
|
|
116
|
+
this.pageIndex = 0;
|
|
117
|
+
this.pageSize = 50;
|
|
118
|
+
this.hasPagination = true;
|
|
119
|
+
this.messageNotFound = "No results found, please try with other search terms";
|
|
120
|
+
this.onAction = new EventEmitter();
|
|
121
|
+
}
|
|
122
|
+
onTableAction(action) {
|
|
123
|
+
if (action.key == 'loaded-items') {
|
|
124
|
+
this.loadGroup();
|
|
125
|
+
}
|
|
126
|
+
else if (action.key == 'input-create') {
|
|
127
|
+
this.addInputInGroup(action.item.input, action.item.index, action.item.column);
|
|
128
|
+
}
|
|
129
|
+
else if (action.key == 'input-change') {
|
|
130
|
+
this.onAction.emit(action);
|
|
131
|
+
setTimeout(() => {
|
|
132
|
+
var _a;
|
|
133
|
+
this.onAction.emit({ key: 'form-change', item: { valid: this.formArrayMain.valid, values: (_a = this.formArrayMain) === null || _a === void 0 ? void 0 : _a.value } });
|
|
134
|
+
});
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
this.onAction.emit(action);
|
|
138
|
+
}
|
|
139
|
+
addInputInGroup(input, index, column) {
|
|
140
|
+
var _a;
|
|
141
|
+
let group = (_a = this.formArrayMain) === null || _a === void 0 ? void 0 : _a.at(index);
|
|
142
|
+
if (group == undefined) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
group.addControl(this.getFormKey(column), input);
|
|
146
|
+
}
|
|
147
|
+
loadGroup() {
|
|
148
|
+
if (this.tableComp == undefined) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
// Get Items
|
|
152
|
+
let items = this.tableComp.getDataItems();
|
|
153
|
+
// Create main array form
|
|
154
|
+
this.formArrayMain = new FormArray([]);
|
|
155
|
+
// Verify if undefined
|
|
156
|
+
if (items == undefined) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
// Create form group for each item
|
|
160
|
+
items.data.forEach(item => {
|
|
161
|
+
var _a;
|
|
162
|
+
let group = new FormGroup({});
|
|
163
|
+
(_a = this.formArrayMain) === null || _a === void 0 ? void 0 : _a.push(group);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
getFormKey(column) {
|
|
167
|
+
if (Array.isArray(column.field_key)) {
|
|
168
|
+
return column.field_key.join('_');
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
return column.field_key;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
TotsTableFullGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsTableFullGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
176
|
+
TotsTableFullGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: TotsTableFullGroupComponent, selector: "tots-table-full-group", inputs: { config: "config", pageIndex: "pageIndex", pageSize: "pageSize", hasPagination: "hasPagination", messageNotFound: "messageNotFound" }, outputs: { onAction: "onAction" }, viewQueries: [{ propertyName: "tableComp", first: true, predicate: ["tableComp"], descendants: true }], ngImport: i0, template: "<tots-table #tableComp [config]=\"config\" [pageIndex]=\"pageIndex\" [pageSize]=\"pageSize\" [hasPagination]=\"hasPagination\" [messageNotFound]=\"messageNotFound\" (onAction)=\"onTableAction($event)\"></tots-table>\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.TotsTableComponent, selector: "tots-table", inputs: ["config", "pageIndex", "pageSize", "hasPagination", "messageNotFound"], outputs: ["onAction"] }] });
|
|
177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsTableFullGroupComponent, decorators: [{
|
|
178
|
+
type: Component,
|
|
179
|
+
args: [{ selector: 'tots-table-full-group', template: "<tots-table #tableComp [config]=\"config\" [pageIndex]=\"pageIndex\" [pageSize]=\"pageSize\" [hasPagination]=\"hasPagination\" [messageNotFound]=\"messageNotFound\" (onAction)=\"onTableAction($event)\"></tots-table>\n" }]
|
|
180
|
+
}], propDecorators: { tableComp: [{
|
|
181
|
+
type: ViewChild,
|
|
182
|
+
args: ['tableComp']
|
|
183
|
+
}], config: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], pageIndex: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}], pageSize: [{
|
|
188
|
+
type: Input
|
|
189
|
+
}], hasPagination: [{
|
|
190
|
+
type: Input
|
|
191
|
+
}], messageNotFound: [{
|
|
192
|
+
type: Input
|
|
193
|
+
}], onAction: [{
|
|
194
|
+
type: Output
|
|
195
|
+
}] } });
|
|
196
|
+
|
|
111
197
|
class TotsEditableColumnsModule {
|
|
112
198
|
}
|
|
113
199
|
TotsEditableColumnsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
114
200
|
TotsEditableColumnsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, declarations: [
|
|
115
201
|
/** Columns */
|
|
116
|
-
InputColumn
|
|
202
|
+
InputColumn,
|
|
203
|
+
/** Components */
|
|
204
|
+
TotsTableFullGroupComponent
|
|
117
205
|
], imports: [CommonModule,
|
|
118
206
|
FormsModule,
|
|
119
207
|
ReactiveFormsModule,
|
|
120
208
|
/** Angular Material */
|
|
121
209
|
MatFormFieldModule,
|
|
122
|
-
MatInputModule
|
|
210
|
+
MatInputModule,
|
|
211
|
+
/** Tots Libraries */
|
|
212
|
+
TotsTableModule], exports: [
|
|
123
213
|
/** Columns */
|
|
124
|
-
InputColumn
|
|
214
|
+
InputColumn,
|
|
215
|
+
/** Components */
|
|
216
|
+
TotsTableFullGroupComponent
|
|
125
217
|
] });
|
|
126
218
|
TotsEditableColumnsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, imports: [CommonModule,
|
|
127
219
|
FormsModule,
|
|
128
220
|
ReactiveFormsModule,
|
|
129
221
|
/** Angular Material */
|
|
130
222
|
MatFormFieldModule,
|
|
131
|
-
MatInputModule
|
|
223
|
+
MatInputModule,
|
|
224
|
+
/** Tots Libraries */
|
|
225
|
+
TotsTableModule] });
|
|
132
226
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, decorators: [{
|
|
133
227
|
type: NgModule,
|
|
134
228
|
args: [{
|
|
135
229
|
declarations: [
|
|
136
230
|
/** Columns */
|
|
137
|
-
InputColumn
|
|
231
|
+
InputColumn,
|
|
232
|
+
/** Components */
|
|
233
|
+
TotsTableFullGroupComponent
|
|
138
234
|
],
|
|
139
235
|
imports: [
|
|
140
236
|
CommonModule,
|
|
@@ -143,10 +239,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
|
143
239
|
/** Angular Material */
|
|
144
240
|
MatFormFieldModule,
|
|
145
241
|
MatInputModule,
|
|
242
|
+
/** Tots Libraries */
|
|
243
|
+
TotsTableModule
|
|
146
244
|
],
|
|
147
245
|
exports: [
|
|
148
246
|
/** Columns */
|
|
149
|
-
InputColumn
|
|
247
|
+
InputColumn,
|
|
248
|
+
/** Components */
|
|
249
|
+
TotsTableFullGroupComponent
|
|
150
250
|
]
|
|
151
251
|
}]
|
|
152
252
|
}] });
|
|
@@ -159,5 +259,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
|
159
259
|
* Generated bundle index. Do not edit.
|
|
160
260
|
*/
|
|
161
261
|
|
|
162
|
-
export { InputColumn, TotsEditableColumnsModule };
|
|
262
|
+
export { InputColumn, TotsEditableColumnsModule, TotsTableFullGroupComponent };
|
|
163
263
|
//# sourceMappingURL=tots-editable-columns.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tots-editable-columns.mjs","sources":["../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.ts","../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.html","../../../../projects/tots/editable-columns/src/lib/editable-columns.module.ts","../../../../projects/tots/editable-columns/src/public-api.ts","../../../../projects/tots/editable-columns/src/tots-editable-columns.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\nimport { TotsBaseColumnComponent, TotsTableHelper } from '@tots/table';\n\n@Component({\n selector: 'tots-input-column',\n templateUrl: './input-column.component.html',\n styleUrls: ['./input-column.component.css']\n})\nexport class InputColumn extends TotsBaseColumnComponent {\n\n input!: FormControl;\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.loadInput();\n this.loadForm();\n this.loadChanges();\n }\n\n loadChanges() {\n this.input.valueChanges\n .subscribe(res => {\n this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid } });\n });\n }\n\n loadForm() {\n if(this.column.extra == undefined || this.column.extra.group == undefined){\n return;\n }\n\n let group: FormGroup = this.column.extra.group;\n if(group.get(this.getFormKey()) != undefined){\n return;\n }\n\n group.addControl(this.getFormKey(), this.input);\n }\n\n loadInput() {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n this.input = new FormControl(value, this.getValidators());\n }\n\n getFormKey(): string {\n if(Array.isArray(this.column.field_key)){\n return this.column.field_key.join('_');\n } else {\n return this.column.field_key!;\n }\n }\n\n getValidators() : ValidatorFn[] | ValidatorFn | null {\n if (this.column.extra && this.column.extra.validators) {\n return this.column.extra.validators;\n }\n return null;\n }\n\n getErrorMessage() : string {\n if (!this.column.extra.errors) {\n return '';\n }\n\n for (const error of this.column.extra.errors) {\n if (this.input.hasError(error.name)) {\n return error.message;\n }\n }\n\n return '';\n }\n\n getAppearance() : MatFormFieldAppearance {\n if (this.column.extra && this.column.extra.appearance) {\n return this.column.extra.appearance;\n }\n return 'fill';\n }\n\n getLabel() : string | undefined {\n if (this.column.extra && this.column.extra.label) {\n return this.column.extra.label;\n }\n return undefined;\n }\n\n getClasses() : string {\n if (this.column.extra && this.column.extra.classes) {\n return this.column.extra.classes;\n }\n return '';\n }\n\n getPlaceholder() : string {\n if (this.column.extra && this.column.extra.placeholder) {\n return this.column.extra.placeholder;\n }\n return '';\n }\n\n getCaption() : string {\n if (this.column.extra && this.column.extra.caption) {\n return this.column.extra.caption;\n }\n return '';\n }\n\n hasError() : boolean {\n return this.input.invalid && (this.input.dirty || this.input.touched);\n }\n\n getInput() {\n return this.input;\n }\n}\n","<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n/** Angular Material */\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n/** Columns */\nimport { InputColumn } from './columns/input-column/input-column.component';\n\n\n\n\n\n@NgModule({\n declarations: [\n\n /** Columns */\n InputColumn\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n /** Angular Material */\n MatFormFieldModule,\n MatInputModule,\n ],\n exports: [\n /** Columns */\n InputColumn\n ]\n})\nexport class TotsEditableColumnsModule { }\n","/*\n * Public API Surface of editable-columns\n */\n\n/**\n * Columns\n */\nexport * from './lib/columns/input-column/input-column.component';\n\n/**\n * Modules\n */\nexport * from './lib/editable-columns.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tots-editable-columns.mjs","sources":["../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.ts","../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.html","../../../../projects/tots/editable-columns/src/lib/components/tots-table-full-group/tots-table-full-group.component.ts","../../../../projects/tots/editable-columns/src/lib/components/tots-table-full-group/tots-table-full-group.component.html","../../../../projects/tots/editable-columns/src/lib/editable-columns.module.ts","../../../../projects/tots/editable-columns/src/public-api.ts","../../../../projects/tots/editable-columns/src/tots-editable-columns.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\nimport { TotsBaseColumnComponent, TotsTableHelper } from '@tots/table';\n\n@Component({\n selector: 'tots-input-column',\n templateUrl: './input-column.component.html',\n styleUrls: ['./input-column.component.css']\n})\nexport class InputColumn extends TotsBaseColumnComponent {\n\n input!: FormControl;\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.loadInput();\n this.loadForm();\n this.loadChanges();\n }\n\n loadChanges() {\n this.input.valueChanges\n .subscribe(res => {\n this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });\n });\n }\n\n loadForm() {\n if(this.column.extra == undefined || this.column.extra.group == undefined){\n return;\n }\n\n let group: FormGroup = this.column.extra.group;\n if(group.get(this.getFormKey()) != undefined){\n return;\n }\n\n group.addControl(this.getFormKey(), this.input);\n }\n\n loadInput() {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n this.input = new FormControl(value, this.getValidators());\n\n this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });\n }\n\n getFormKey(): string {\n if(Array.isArray(this.column.field_key)){\n return this.column.field_key.join('_');\n } else {\n return this.column.field_key!;\n }\n }\n\n getValidators() : ValidatorFn[] | ValidatorFn | null {\n if (this.column.extra && this.column.extra.validators) {\n return this.column.extra.validators;\n }\n return null;\n }\n\n getErrorMessage() : string {\n if (!this.column.extra.errors) {\n return '';\n }\n\n for (const error of this.column.extra.errors) {\n if (this.input.hasError(error.name)) {\n return error.message;\n }\n }\n\n return '';\n }\n\n getAppearance() : MatFormFieldAppearance {\n if (this.column.extra && this.column.extra.appearance) {\n return this.column.extra.appearance;\n }\n return 'fill';\n }\n\n getLabel() : string | undefined {\n if (this.column.extra && this.column.extra.label) {\n return this.column.extra.label;\n }\n return undefined;\n }\n\n getClasses() : string {\n if (this.column.extra && this.column.extra.classes) {\n return this.column.extra.classes;\n }\n return '';\n }\n\n getPlaceholder() : string {\n if (this.column.extra && this.column.extra.placeholder) {\n return this.column.extra.placeholder;\n }\n return '';\n }\n\n getCaption() : string {\n if (this.column.extra && this.column.extra.caption) {\n return this.column.extra.caption;\n }\n return '';\n }\n\n hasError() : boolean {\n return this.input.invalid && (this.input.dirty || this.input.touched);\n }\n\n getInput() {\n return this.input;\n }\n}\n","<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { TotsActionTable, TotsColumn, TotsTableComponent, TotsTableConfig } from '@tots/table';\n\n@Component({\n selector: 'tots-table-full-group',\n templateUrl: './tots-table-full-group.component.html',\n styleUrls: ['./tots-table-full-group.component.css']\n})\nexport class TotsTableFullGroupComponent {\n\n @ViewChild('tableComp') tableComp!: TotsTableComponent;\n\n @Input() config = new TotsTableConfig();\n @Input() pageIndex: number = 0;\n @Input() pageSize: number = 50;\n @Input() hasPagination: boolean = true;\n @Input() messageNotFound: string = \"No results found, please try with other search terms\";\n\n @Output() onAction = new EventEmitter<TotsActionTable>();\n\n formArrayMain?: FormArray<FormGroup>;\n\n onTableAction(action: TotsActionTable) {\n if(action.key == 'loaded-items'){\n this.loadGroup();\n } else if (action.key == 'input-create') {\n this.addInputInGroup(action.item.input, action.item.index, action.item.column);\n } else if (action.key == 'input-change') {\n this.onAction.emit(action);\n setTimeout(() => {\n this.onAction.emit({ key: 'form-change', item: { valid: this.formArrayMain!.valid, values: this.formArrayMain?.value } });\n });\n return;\n }\n this.onAction.emit(action);\n }\n\n addInputInGroup(input: FormControl, index: number, column: TotsColumn) {\n let group = this.formArrayMain?.at(index);\n if(group == undefined){\n return;\n }\n group.addControl(this.getFormKey(column), input);\n }\n\n loadGroup() {\n if(this.tableComp == undefined){\n return;\n }\n // Get Items\n let items = this.tableComp.getDataItems();\n // Create main array form\n this.formArrayMain = new FormArray<FormGroup>([]);\n // Verify if undefined\n if(items == undefined){\n return;\n }\n // Create form group for each item\n items.data.forEach(item => {\n let group = new FormGroup({});\n this.formArrayMain?.push(group);\n });\n }\n\n getFormKey(column: TotsColumn): string {\n if(Array.isArray(column.field_key)){\n return column.field_key.join('_');\n } else {\n return column.field_key!;\n }\n }\n}\n","<tots-table #tableComp [config]=\"config\" [pageIndex]=\"pageIndex\" [pageSize]=\"pageSize\" [hasPagination]=\"hasPagination\" [messageNotFound]=\"messageNotFound\" (onAction)=\"onTableAction($event)\"></tots-table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n/** Angular Material */\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n/** Tots Libraries */\nimport { TotsTableModule } from '@tots/table';\n\n/** Columns */\nimport { InputColumn } from './columns/input-column/input-column.component';\n\n/** Components */\nimport { TotsTableFullGroupComponent } from './components/tots-table-full-group/tots-table-full-group.component';\n\n\n\n\n\n\n\n@NgModule({\n declarations: [\n\n /** Columns */\n InputColumn,\n\n /** Components */\n TotsTableFullGroupComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n /** Angular Material */\n MatFormFieldModule,\n MatInputModule,\n\n /** Tots Libraries */\n TotsTableModule\n ],\n exports: [\n /** Columns */\n InputColumn,\n\n /** Components */\n TotsTableFullGroupComponent\n ]\n})\nexport class TotsEditableColumnsModule { }\n","/*\n * Public API Surface of editable-columns\n */\n\n/**\n * Columns\n */\nexport * from './lib/columns/input-column/input-column.component';\n\n/**\n * Components\n */\nexport * from './lib/components/tots-table-full-group/tots-table-full-group.component';\n\n/**\n * Modules\n */\nexport * from './lib/editable-columns.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, NgModule } from '@angular/core';
|
|
2
|
+
import { Component, EventEmitter, ViewChild, Input, Output, NgModule } from '@angular/core';
|
|
3
3
|
import * as i2 from '@angular/forms';
|
|
4
|
-
import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
-
import
|
|
4
|
+
import { FormControl, FormArray, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import * as i1$1 from '@tots/table';
|
|
6
|
+
import { TotsBaseColumnComponent, TotsTableHelper, TotsTableConfig, TotsTableModule } from '@tots/table';
|
|
6
7
|
import * as i1 from '@angular/common';
|
|
7
8
|
import { CommonModule } from '@angular/common';
|
|
8
9
|
import * as i3 from '@angular/material/form-field';
|
|
@@ -22,7 +23,7 @@ class InputColumn extends TotsBaseColumnComponent {
|
|
|
22
23
|
loadChanges() {
|
|
23
24
|
this.input.valueChanges
|
|
24
25
|
.subscribe(res => {
|
|
25
|
-
this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid } });
|
|
26
|
+
this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });
|
|
26
27
|
});
|
|
27
28
|
}
|
|
28
29
|
loadForm() {
|
|
@@ -38,6 +39,7 @@ class InputColumn extends TotsBaseColumnComponent {
|
|
|
38
39
|
loadInput() {
|
|
39
40
|
let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);
|
|
40
41
|
this.input = new FormControl(value, this.getValidators());
|
|
42
|
+
this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });
|
|
41
43
|
}
|
|
42
44
|
getFormKey() {
|
|
43
45
|
if (Array.isArray(this.column.field_key)) {
|
|
@@ -108,31 +110,122 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
|
108
110
|
args: [{ selector: 'tots-input-column', template: "<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n", styles: ["mat-form-field{margin-bottom:0}\n"] }]
|
|
109
111
|
}], ctorParameters: function () { return []; } });
|
|
110
112
|
|
|
113
|
+
class TotsTableFullGroupComponent {
|
|
114
|
+
constructor() {
|
|
115
|
+
this.config = new TotsTableConfig();
|
|
116
|
+
this.pageIndex = 0;
|
|
117
|
+
this.pageSize = 50;
|
|
118
|
+
this.hasPagination = true;
|
|
119
|
+
this.messageNotFound = "No results found, please try with other search terms";
|
|
120
|
+
this.onAction = new EventEmitter();
|
|
121
|
+
}
|
|
122
|
+
onTableAction(action) {
|
|
123
|
+
if (action.key == 'loaded-items') {
|
|
124
|
+
this.loadGroup();
|
|
125
|
+
}
|
|
126
|
+
else if (action.key == 'input-create') {
|
|
127
|
+
this.addInputInGroup(action.item.input, action.item.index, action.item.column);
|
|
128
|
+
}
|
|
129
|
+
else if (action.key == 'input-change') {
|
|
130
|
+
this.onAction.emit(action);
|
|
131
|
+
setTimeout(() => {
|
|
132
|
+
this.onAction.emit({ key: 'form-change', item: { valid: this.formArrayMain.valid, values: this.formArrayMain?.value } });
|
|
133
|
+
});
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
this.onAction.emit(action);
|
|
137
|
+
}
|
|
138
|
+
addInputInGroup(input, index, column) {
|
|
139
|
+
let group = this.formArrayMain?.at(index);
|
|
140
|
+
if (group == undefined) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
group.addControl(this.getFormKey(column), input);
|
|
144
|
+
}
|
|
145
|
+
loadGroup() {
|
|
146
|
+
if (this.tableComp == undefined) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
// Get Items
|
|
150
|
+
let items = this.tableComp.getDataItems();
|
|
151
|
+
// Create main array form
|
|
152
|
+
this.formArrayMain = new FormArray([]);
|
|
153
|
+
// Verify if undefined
|
|
154
|
+
if (items == undefined) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
// Create form group for each item
|
|
158
|
+
items.data.forEach(item => {
|
|
159
|
+
let group = new FormGroup({});
|
|
160
|
+
this.formArrayMain?.push(group);
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
getFormKey(column) {
|
|
164
|
+
if (Array.isArray(column.field_key)) {
|
|
165
|
+
return column.field_key.join('_');
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
return column.field_key;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
TotsTableFullGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsTableFullGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
173
|
+
TotsTableFullGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.3", type: TotsTableFullGroupComponent, selector: "tots-table-full-group", inputs: { config: "config", pageIndex: "pageIndex", pageSize: "pageSize", hasPagination: "hasPagination", messageNotFound: "messageNotFound" }, outputs: { onAction: "onAction" }, viewQueries: [{ propertyName: "tableComp", first: true, predicate: ["tableComp"], descendants: true }], ngImport: i0, template: "<tots-table #tableComp [config]=\"config\" [pageIndex]=\"pageIndex\" [pageSize]=\"pageSize\" [hasPagination]=\"hasPagination\" [messageNotFound]=\"messageNotFound\" (onAction)=\"onTableAction($event)\"></tots-table>\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.TotsTableComponent, selector: "tots-table", inputs: ["config", "pageIndex", "pageSize", "hasPagination", "messageNotFound"], outputs: ["onAction"] }] });
|
|
174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsTableFullGroupComponent, decorators: [{
|
|
175
|
+
type: Component,
|
|
176
|
+
args: [{ selector: 'tots-table-full-group', template: "<tots-table #tableComp [config]=\"config\" [pageIndex]=\"pageIndex\" [pageSize]=\"pageSize\" [hasPagination]=\"hasPagination\" [messageNotFound]=\"messageNotFound\" (onAction)=\"onTableAction($event)\"></tots-table>\n" }]
|
|
177
|
+
}], propDecorators: { tableComp: [{
|
|
178
|
+
type: ViewChild,
|
|
179
|
+
args: ['tableComp']
|
|
180
|
+
}], config: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], pageIndex: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], pageSize: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], hasPagination: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], messageNotFound: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], onAction: [{
|
|
191
|
+
type: Output
|
|
192
|
+
}] } });
|
|
193
|
+
|
|
111
194
|
class TotsEditableColumnsModule {
|
|
112
195
|
}
|
|
113
196
|
TotsEditableColumnsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
114
197
|
TotsEditableColumnsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, declarations: [
|
|
115
198
|
/** Columns */
|
|
116
|
-
InputColumn
|
|
199
|
+
InputColumn,
|
|
200
|
+
/** Components */
|
|
201
|
+
TotsTableFullGroupComponent], imports: [CommonModule,
|
|
117
202
|
FormsModule,
|
|
118
203
|
ReactiveFormsModule,
|
|
119
204
|
/** Angular Material */
|
|
120
205
|
MatFormFieldModule,
|
|
121
|
-
MatInputModule
|
|
206
|
+
MatInputModule,
|
|
207
|
+
/** Tots Libraries */
|
|
208
|
+
TotsTableModule], exports: [
|
|
122
209
|
/** Columns */
|
|
123
|
-
InputColumn
|
|
210
|
+
InputColumn,
|
|
211
|
+
/** Components */
|
|
212
|
+
TotsTableFullGroupComponent] });
|
|
124
213
|
TotsEditableColumnsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, imports: [CommonModule,
|
|
125
214
|
FormsModule,
|
|
126
215
|
ReactiveFormsModule,
|
|
127
216
|
/** Angular Material */
|
|
128
217
|
MatFormFieldModule,
|
|
129
|
-
MatInputModule
|
|
218
|
+
MatInputModule,
|
|
219
|
+
/** Tots Libraries */
|
|
220
|
+
TotsTableModule] });
|
|
130
221
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImport: i0, type: TotsEditableColumnsModule, decorators: [{
|
|
131
222
|
type: NgModule,
|
|
132
223
|
args: [{
|
|
133
224
|
declarations: [
|
|
134
225
|
/** Columns */
|
|
135
|
-
InputColumn
|
|
226
|
+
InputColumn,
|
|
227
|
+
/** Components */
|
|
228
|
+
TotsTableFullGroupComponent
|
|
136
229
|
],
|
|
137
230
|
imports: [
|
|
138
231
|
CommonModule,
|
|
@@ -141,10 +234,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
|
141
234
|
/** Angular Material */
|
|
142
235
|
MatFormFieldModule,
|
|
143
236
|
MatInputModule,
|
|
237
|
+
/** Tots Libraries */
|
|
238
|
+
TotsTableModule
|
|
144
239
|
],
|
|
145
240
|
exports: [
|
|
146
241
|
/** Columns */
|
|
147
|
-
InputColumn
|
|
242
|
+
InputColumn,
|
|
243
|
+
/** Components */
|
|
244
|
+
TotsTableFullGroupComponent
|
|
148
245
|
]
|
|
149
246
|
}]
|
|
150
247
|
}] });
|
|
@@ -157,5 +254,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.3", ngImpor
|
|
|
157
254
|
* Generated bundle index. Do not edit.
|
|
158
255
|
*/
|
|
159
256
|
|
|
160
|
-
export { InputColumn, TotsEditableColumnsModule };
|
|
257
|
+
export { InputColumn, TotsEditableColumnsModule, TotsTableFullGroupComponent };
|
|
161
258
|
//# sourceMappingURL=tots-editable-columns.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tots-editable-columns.mjs","sources":["../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.ts","../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.html","../../../../projects/tots/editable-columns/src/lib/editable-columns.module.ts","../../../../projects/tots/editable-columns/src/public-api.ts","../../../../projects/tots/editable-columns/src/tots-editable-columns.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\nimport { TotsBaseColumnComponent, TotsTableHelper } from '@tots/table';\n\n@Component({\n selector: 'tots-input-column',\n templateUrl: './input-column.component.html',\n styleUrls: ['./input-column.component.css']\n})\nexport class InputColumn extends TotsBaseColumnComponent {\n\n input!: FormControl;\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.loadInput();\n this.loadForm();\n this.loadChanges();\n }\n\n loadChanges() {\n this.input.valueChanges\n .subscribe(res => {\n this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid } });\n });\n }\n\n loadForm() {\n if(this.column.extra == undefined || this.column.extra.group == undefined){\n return;\n }\n\n let group: FormGroup = this.column.extra.group;\n if(group.get(this.getFormKey()) != undefined){\n return;\n }\n\n group.addControl(this.getFormKey(), this.input);\n }\n\n loadInput() {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n this.input = new FormControl(value, this.getValidators());\n }\n\n getFormKey(): string {\n if(Array.isArray(this.column.field_key)){\n return this.column.field_key.join('_');\n } else {\n return this.column.field_key!;\n }\n }\n\n getValidators() : ValidatorFn[] | ValidatorFn | null {\n if (this.column.extra && this.column.extra.validators) {\n return this.column.extra.validators;\n }\n return null;\n }\n\n getErrorMessage() : string {\n if (!this.column.extra.errors) {\n return '';\n }\n\n for (const error of this.column.extra.errors) {\n if (this.input.hasError(error.name)) {\n return error.message;\n }\n }\n\n return '';\n }\n\n getAppearance() : MatFormFieldAppearance {\n if (this.column.extra && this.column.extra.appearance) {\n return this.column.extra.appearance;\n }\n return 'fill';\n }\n\n getLabel() : string | undefined {\n if (this.column.extra && this.column.extra.label) {\n return this.column.extra.label;\n }\n return undefined;\n }\n\n getClasses() : string {\n if (this.column.extra && this.column.extra.classes) {\n return this.column.extra.classes;\n }\n return '';\n }\n\n getPlaceholder() : string {\n if (this.column.extra && this.column.extra.placeholder) {\n return this.column.extra.placeholder;\n }\n return '';\n }\n\n getCaption() : string {\n if (this.column.extra && this.column.extra.caption) {\n return this.column.extra.caption;\n }\n return '';\n }\n\n hasError() : boolean {\n return this.input.invalid && (this.input.dirty || this.input.touched);\n }\n\n getInput() {\n return this.input;\n }\n}\n","<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n/** Angular Material */\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n/** Columns */\nimport { InputColumn } from './columns/input-column/input-column.component';\n\n\n\n\n\n@NgModule({\n declarations: [\n\n /** Columns */\n InputColumn\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n /** Angular Material */\n MatFormFieldModule,\n MatInputModule,\n ],\n exports: [\n /** Columns */\n InputColumn\n ]\n})\nexport class TotsEditableColumnsModule { }\n","/*\n * Public API Surface of editable-columns\n */\n\n/**\n * Columns\n */\nexport * from './lib/columns/input-column/input-column.component';\n\n/**\n * Modules\n */\nexport * from './lib/editable-columns.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tots-editable-columns.mjs","sources":["../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.ts","../../../../projects/tots/editable-columns/src/lib/columns/input-column/input-column.component.html","../../../../projects/tots/editable-columns/src/lib/components/tots-table-full-group/tots-table-full-group.component.ts","../../../../projects/tots/editable-columns/src/lib/components/tots-table-full-group/tots-table-full-group.component.html","../../../../projects/tots/editable-columns/src/lib/editable-columns.module.ts","../../../../projects/tots/editable-columns/src/public-api.ts","../../../../projects/tots/editable-columns/src/tots-editable-columns.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FormControl, FormGroup, ValidatorFn } from '@angular/forms';\nimport { MatFormFieldAppearance } from '@angular/material/form-field';\nimport { TotsBaseColumnComponent, TotsTableHelper } from '@tots/table';\n\n@Component({\n selector: 'tots-input-column',\n templateUrl: './input-column.component.html',\n styleUrls: ['./input-column.component.css']\n})\nexport class InputColumn extends TotsBaseColumnComponent {\n\n input!: FormControl;\n\n constructor() {\n super();\n }\n\n ngOnInit(): void {\n this.loadInput();\n this.loadForm();\n this.loadChanges();\n }\n\n loadChanges() {\n this.input.valueChanges\n .subscribe(res => {\n this.onAction.next({ key: 'input-change', item: { field_key: this.getFormKey(), item: this.item, value: res, valid: this.input.valid, index: this.index } });\n });\n }\n\n loadForm() {\n if(this.column.extra == undefined || this.column.extra.group == undefined){\n return;\n }\n\n let group: FormGroup = this.column.extra.group;\n if(group.get(this.getFormKey()) != undefined){\n return;\n }\n\n group.addControl(this.getFormKey(), this.input);\n }\n\n loadInput() {\n let value = TotsTableHelper.getItemValueByKey(this.item, this.column.field_key);\n this.input = new FormControl(value, this.getValidators());\n\n this.onAction.next({ key: 'input-create', item: { field_key: this.getFormKey(), input: this.input, index: this.index, column: this.column } });\n }\n\n getFormKey(): string {\n if(Array.isArray(this.column.field_key)){\n return this.column.field_key.join('_');\n } else {\n return this.column.field_key!;\n }\n }\n\n getValidators() : ValidatorFn[] | ValidatorFn | null {\n if (this.column.extra && this.column.extra.validators) {\n return this.column.extra.validators;\n }\n return null;\n }\n\n getErrorMessage() : string {\n if (!this.column.extra.errors) {\n return '';\n }\n\n for (const error of this.column.extra.errors) {\n if (this.input.hasError(error.name)) {\n return error.message;\n }\n }\n\n return '';\n }\n\n getAppearance() : MatFormFieldAppearance {\n if (this.column.extra && this.column.extra.appearance) {\n return this.column.extra.appearance;\n }\n return 'fill';\n }\n\n getLabel() : string | undefined {\n if (this.column.extra && this.column.extra.label) {\n return this.column.extra.label;\n }\n return undefined;\n }\n\n getClasses() : string {\n if (this.column.extra && this.column.extra.classes) {\n return this.column.extra.classes;\n }\n return '';\n }\n\n getPlaceholder() : string {\n if (this.column.extra && this.column.extra.placeholder) {\n return this.column.extra.placeholder;\n }\n return '';\n }\n\n getCaption() : string {\n if (this.column.extra && this.column.extra.caption) {\n return this.column.extra.caption;\n }\n return '';\n }\n\n hasError() : boolean {\n return this.input.invalid && (this.input.dirty || this.input.touched);\n }\n\n getInput() {\n return this.input;\n }\n}\n","<mat-form-field class=\"{{getClasses()}}\" [appearance]=\"getAppearance()\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"getLabel()\"> {{ getLabel() }} </mat-label>\n <input matInput type=\"text\" [formControl]=\"input\" [placeholder]=\"getPlaceholder()\"/>\n <mat-hint *ngIf=\"getCaption()\" [align]=\"'end'\"> {{getCaption()}} </mat-hint>\n <mat-error *ngIf=\"hasError()\">{{getErrorMessage()}}</mat-error>\n</mat-form-field>\n","import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\nimport { TotsActionTable, TotsColumn, TotsTableComponent, TotsTableConfig } from '@tots/table';\n\n@Component({\n selector: 'tots-table-full-group',\n templateUrl: './tots-table-full-group.component.html',\n styleUrls: ['./tots-table-full-group.component.css']\n})\nexport class TotsTableFullGroupComponent {\n\n @ViewChild('tableComp') tableComp!: TotsTableComponent;\n\n @Input() config = new TotsTableConfig();\n @Input() pageIndex: number = 0;\n @Input() pageSize: number = 50;\n @Input() hasPagination: boolean = true;\n @Input() messageNotFound: string = \"No results found, please try with other search terms\";\n\n @Output() onAction = new EventEmitter<TotsActionTable>();\n\n formArrayMain?: FormArray<FormGroup>;\n\n onTableAction(action: TotsActionTable) {\n if(action.key == 'loaded-items'){\n this.loadGroup();\n } else if (action.key == 'input-create') {\n this.addInputInGroup(action.item.input, action.item.index, action.item.column);\n } else if (action.key == 'input-change') {\n this.onAction.emit(action);\n setTimeout(() => {\n this.onAction.emit({ key: 'form-change', item: { valid: this.formArrayMain!.valid, values: this.formArrayMain?.value } });\n });\n return;\n }\n this.onAction.emit(action);\n }\n\n addInputInGroup(input: FormControl, index: number, column: TotsColumn) {\n let group = this.formArrayMain?.at(index);\n if(group == undefined){\n return;\n }\n group.addControl(this.getFormKey(column), input);\n }\n\n loadGroup() {\n if(this.tableComp == undefined){\n return;\n }\n // Get Items\n let items = this.tableComp.getDataItems();\n // Create main array form\n this.formArrayMain = new FormArray<FormGroup>([]);\n // Verify if undefined\n if(items == undefined){\n return;\n }\n // Create form group for each item\n items.data.forEach(item => {\n let group = new FormGroup({});\n this.formArrayMain?.push(group);\n });\n }\n\n getFormKey(column: TotsColumn): string {\n if(Array.isArray(column.field_key)){\n return column.field_key.join('_');\n } else {\n return column.field_key!;\n }\n }\n}\n","<tots-table #tableComp [config]=\"config\" [pageIndex]=\"pageIndex\" [pageSize]=\"pageSize\" [hasPagination]=\"hasPagination\" [messageNotFound]=\"messageNotFound\" (onAction)=\"onTableAction($event)\"></tots-table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n/** Angular Material */\nimport { MatInputModule } from '@angular/material/input';\nimport { MatFormFieldModule } from '@angular/material/form-field';\n\n/** Tots Libraries */\nimport { TotsTableModule } from '@tots/table';\n\n/** Columns */\nimport { InputColumn } from './columns/input-column/input-column.component';\n\n/** Components */\nimport { TotsTableFullGroupComponent } from './components/tots-table-full-group/tots-table-full-group.component';\n\n\n\n\n\n\n\n@NgModule({\n declarations: [\n\n /** Columns */\n InputColumn,\n\n /** Components */\n TotsTableFullGroupComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n /** Angular Material */\n MatFormFieldModule,\n MatInputModule,\n\n /** Tots Libraries */\n TotsTableModule\n ],\n exports: [\n /** Columns */\n InputColumn,\n\n /** Components */\n TotsTableFullGroupComponent\n ]\n})\nexport class TotsEditableColumnsModule { }\n","/*\n * Public API Surface of editable-columns\n */\n\n/**\n * Columns\n */\nexport * from './lib/columns/input-column/input-column.component';\n\n/**\n * Components\n */\nexport * from './lib/components/tots-table-full-group/tots-table-full-group.component';\n\n/**\n * Modules\n */\nexport * from './lib/editable-columns.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { FormArray, FormControl, FormGroup } from '@angular/forms';
|
|
3
|
+
import { TotsActionTable, TotsColumn, TotsTableComponent, TotsTableConfig } from '@tots/table';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class TotsTableFullGroupComponent {
|
|
6
|
+
tableComp: TotsTableComponent;
|
|
7
|
+
config: TotsTableConfig;
|
|
8
|
+
pageIndex: number;
|
|
9
|
+
pageSize: number;
|
|
10
|
+
hasPagination: boolean;
|
|
11
|
+
messageNotFound: string;
|
|
12
|
+
onAction: EventEmitter<TotsActionTable>;
|
|
13
|
+
formArrayMain?: FormArray<FormGroup>;
|
|
14
|
+
onTableAction(action: TotsActionTable): void;
|
|
15
|
+
addInputInGroup(input: FormControl, index: number, column: TotsColumn): void;
|
|
16
|
+
loadGroup(): void;
|
|
17
|
+
getFormKey(column: TotsColumn): string;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TotsTableFullGroupComponent, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TotsTableFullGroupComponent, "tots-table-full-group", never, { "config": "config"; "pageIndex": "pageIndex"; "pageSize": "pageSize"; "hasPagination": "hasPagination"; "messageNotFound": "messageNotFound"; }, { "onAction": "onAction"; }, never, never, false, never>;
|
|
20
|
+
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./columns/input-column/input-column.component";
|
|
3
|
-
import * as i2 from "
|
|
4
|
-
import * as i3 from "@angular/
|
|
5
|
-
import * as i4 from "@angular/
|
|
6
|
-
import * as i5 from "@angular/material/
|
|
3
|
+
import * as i2 from "./components/tots-table-full-group/tots-table-full-group.component";
|
|
4
|
+
import * as i3 from "@angular/common";
|
|
5
|
+
import * as i4 from "@angular/forms";
|
|
6
|
+
import * as i5 from "@angular/material/form-field";
|
|
7
|
+
import * as i6 from "@angular/material/input";
|
|
8
|
+
import * as i7 from "@tots/table";
|
|
7
9
|
export declare class TotsEditableColumnsModule {
|
|
8
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<TotsEditableColumnsModule, never>;
|
|
9
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TotsEditableColumnsModule, [typeof i1.InputColumn], [typeof
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TotsEditableColumnsModule, [typeof i1.InputColumn, typeof i2.TotsTableFullGroupComponent], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i4.ReactiveFormsModule, typeof i5.MatFormFieldModule, typeof i6.MatInputModule, typeof i7.TotsTableModule], [typeof i1.InputColumn, typeof i2.TotsTableFullGroupComponent]>;
|
|
10
12
|
static ɵinj: i0.ɵɵInjectorDeclaration<TotsEditableColumnsModule>;
|
|
11
13
|
}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tots/editable-columns",
|
|
3
|
-
"version": "15.0.
|
|
3
|
+
"version": "15.0.2",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^15.0.0",
|
|
6
6
|
"@angular/core": "^15.0.0",
|
|
7
7
|
"@angular/material": "^15.0.0",
|
|
8
|
-
"@tots/table": "^15.0.
|
|
8
|
+
"@tots/table": "^15.0.43"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"tslib": "^2.3.0"
|