tuain-ng-forms-lib 12.0.89 → 13.0.1

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.
Files changed (74) hide show
  1. package/esm2020/lib/classes/forms/action.mjs +35 -0
  2. package/esm2020/lib/classes/forms/element.mjs +76 -0
  3. package/esm2020/lib/classes/forms/field.mjs +322 -0
  4. package/{esm2015/lib/classes/forms/form.constants.js → esm2020/lib/classes/forms/form.constants.mjs} +0 -0
  5. package/esm2020/lib/classes/forms/form.mjs +420 -0
  6. package/esm2020/lib/classes/forms/section.mjs +128 -0
  7. package/{esm2015/lib/classes/forms/subsection.js → esm2020/lib/classes/forms/subsection.mjs} +0 -0
  8. package/esm2020/lib/classes/forms/table/action.mjs +22 -0
  9. package/esm2020/lib/classes/forms/table/column.mjs +61 -0
  10. package/esm2020/lib/classes/forms/table/row-data.mjs +104 -0
  11. package/{esm2015/lib/classes/forms/table/table.js → esm2020/lib/classes/forms/table/table.mjs} +15 -20
  12. package/esm2020/lib/components/elements/action.component.mjs +58 -0
  13. package/esm2020/lib/components/elements/field.component.mjs +90 -0
  14. package/esm2020/lib/components/elements/layout/element.component.mjs +31 -0
  15. package/esm2020/lib/components/elements/layout/form-error.component.mjs +20 -0
  16. package/esm2020/lib/components/elements/layout/form-header.component.mjs +30 -0
  17. package/esm2020/lib/components/elements/layout/section.component.mjs +22 -0
  18. package/esm2020/lib/components/elements/layout/sub-section.component.mjs +24 -0
  19. package/esm2020/lib/components/elements/tables/table-record-action.component.mjs +40 -0
  20. package/esm2020/lib/components/elements/tables/table-record-field.component.mjs +25 -0
  21. package/esm2020/lib/components/elements/tables/table.component.mjs +95 -0
  22. package/esm2020/lib/components/forms/basic-form.mjs +1278 -0
  23. package/{esm2015/lib/services/event-manager.service.js → esm2020/lib/services/event-manager.service.mjs} +0 -0
  24. package/{esm2015/lib/services/file-manager.service.js → esm2020/lib/services/file-manager.service.mjs} +0 -0
  25. package/esm2020/lib/services/form-manager.service.mjs +80 -0
  26. package/esm2020/lib/tuain-ng-forms-lib.module.mjs +73 -0
  27. package/esm2020/public-api.mjs +19 -0
  28. package/{esm2015/tuain-ng-forms-lib.js → esm2020/tuain-ng-forms-lib.mjs} +0 -0
  29. package/fesm2015/{tuain-ng-forms-lib.js → tuain-ng-forms-lib.mjs} +238 -150
  30. package/fesm2015/tuain-ng-forms-lib.mjs.map +1 -0
  31. package/fesm2020/tuain-ng-forms-lib.mjs +3475 -0
  32. package/fesm2020/tuain-ng-forms-lib.mjs.map +1 -0
  33. package/lib/classes/forms/element.d.ts +1 -1
  34. package/lib/classes/forms/form.d.ts +20 -20
  35. package/lib/components/elements/action.component.d.ts +3 -0
  36. package/lib/components/elements/field.component.d.ts +3 -0
  37. package/lib/components/elements/layout/element.component.d.ts +3 -0
  38. package/lib/components/elements/layout/form-error.component.d.ts +3 -0
  39. package/lib/components/elements/layout/form-header.component.d.ts +3 -0
  40. package/lib/components/elements/layout/section.component.d.ts +3 -0
  41. package/lib/components/elements/layout/sub-section.component.d.ts +3 -0
  42. package/lib/components/elements/tables/table-record-action.component.d.ts +3 -0
  43. package/lib/components/elements/tables/table-record-field.component.d.ts +3 -0
  44. package/lib/components/elements/tables/table.component.d.ts +7 -3
  45. package/lib/components/forms/basic-form.d.ts +30 -27
  46. package/lib/tuain-ng-forms-lib.module.d.ts +18 -0
  47. package/package.json +26 -12
  48. package/tuain-ng-forms-lib.d.ts +1 -0
  49. package/bundles/tuain-ng-forms-lib.umd.js +0 -4972
  50. package/bundles/tuain-ng-forms-lib.umd.js.map +0 -1
  51. package/esm2015/lib/classes/forms/action.js +0 -36
  52. package/esm2015/lib/classes/forms/element.js +0 -77
  53. package/esm2015/lib/classes/forms/field.js +0 -328
  54. package/esm2015/lib/classes/forms/form.js +0 -427
  55. package/esm2015/lib/classes/forms/section.js +0 -129
  56. package/esm2015/lib/classes/forms/table/action.js +0 -23
  57. package/esm2015/lib/classes/forms/table/column.js +0 -64
  58. package/esm2015/lib/classes/forms/table/row-data.js +0 -104
  59. package/esm2015/lib/components/elements/action.component.js +0 -54
  60. package/esm2015/lib/components/elements/field.component.js +0 -89
  61. package/esm2015/lib/components/elements/layout/element.component.js +0 -29
  62. package/esm2015/lib/components/elements/layout/form-error.component.js +0 -15
  63. package/esm2015/lib/components/elements/layout/form-header.component.js +0 -23
  64. package/esm2015/lib/components/elements/layout/section.component.js +0 -18
  65. package/esm2015/lib/components/elements/layout/sub-section.component.js +0 -19
  66. package/esm2015/lib/components/elements/tables/table-record-action.component.js +0 -35
  67. package/esm2015/lib/components/elements/tables/table-record-field.component.js +0 -20
  68. package/esm2015/lib/components/elements/tables/table.component.js +0 -84
  69. package/esm2015/lib/components/forms/basic-form.js +0 -1390
  70. package/esm2015/lib/services/form-manager.service.js +0 -83
  71. package/esm2015/lib/tuain-ng-forms-lib.module.js +0 -42
  72. package/esm2015/public-api.js +0 -16
  73. package/fesm2015/tuain-ng-forms-lib.js.map +0 -1
  74. package/tuain-ng-forms-lib.metadata.json +0 -1
@@ -1,18 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- export class SectionComponent {
3
- ngOnInit() {
4
- this.start();
5
- }
6
- start() { }
7
- }
8
- SectionComponent.decorators = [
9
- { type: Component, args: [{
10
- selector: 'lib-section',
11
- template: `<ng-content></ng-content>`
12
- },] }
13
- ];
14
- SectionComponent.propDecorators = {
15
- section: [{ type: Input }],
16
- formManager: [{ type: Input }]
17
- };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL2xheW91dC9zZWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQU16RCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxLQUFLLENBQUM7OztZQVpaLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsUUFBUSxFQUFFLDJCQUEyQjthQUN0Qzs7O3NCQUVFLEtBQUs7MEJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItc2VjdGlvbicsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgU2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHNlY3Rpb246IGFueTtcbiAgQElucHV0KCkgZm9ybU1hbmFnZXI6IGFueTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBzdGFydCgpIHsgfVxufVxuIl19
@@ -1,19 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- export class SubSectionComponent {
3
- ngOnInit() {
4
- this.start();
5
- }
6
- start() { }
7
- }
8
- SubSectionComponent.decorators = [
9
- { type: Component, args: [{
10
- selector: 'lib-subsection',
11
- template: `<ng-content></ng-content>`
12
- },] }
13
- ];
14
- SubSectionComponent.propDecorators = {
15
- subSection: [{ type: Input }],
16
- showHeader: [{ type: Input }],
17
- formManager: [{ type: Input }]
18
- };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy9sYXlvdXQvc3ViLXNlY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBTXpELE1BQU0sT0FBTyxtQkFBbUI7SUFLOUIsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLEtBQUssQ0FBQzs7O1lBYlosU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRSwyQkFBMkI7YUFDdEM7Ozt5QkFFRSxLQUFLO3lCQUNMLEtBQUs7MEJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItc3Vic2VjdGlvbicsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgU3ViU2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHN1YlNlY3Rpb246IGFueTtcbiAgQElucHV0KCkgc2hvd0hlYWRlcjogYW55O1xuICBASW5wdXQoKSBmb3JtTWFuYWdlcjogYW55O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkgeyB9XG59XG4iXX0=
@@ -1,35 +0,0 @@
1
- import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
- const INLINE_ACTION = 'INLINE';
3
- export class LibTableRecordActionComponent {
4
- constructor() {
5
- this.actionSelected = new EventEmitter();
6
- }
7
- ngOnInit() {
8
- this.start();
9
- }
10
- start() { }
11
- onActivate() {
12
- const tableEvent = {
13
- actionCode: this.action.actionCode,
14
- recordId: this.recordId,
15
- recordData: this.recordData,
16
- };
17
- this.actionSelected.emit(tableEvent);
18
- }
19
- class() { }
20
- }
21
- LibTableRecordActionComponent.decorators = [
22
- { type: Component, args: [{
23
- selector: 'lib-table-record-action',
24
- template: `<ng-content></ng-content>`,
25
- changeDetection: ChangeDetectionStrategy.OnPush
26
- },] }
27
- ];
28
- LibTableRecordActionComponent.ctorParameters = () => [];
29
- LibTableRecordActionComponent.propDecorators = {
30
- recordId: [{ type: Input }],
31
- recordData: [{ type: Input }],
32
- action: [{ type: Input }],
33
- actionSelected: [{ type: Output }]
34
- };
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVjb3JkLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWFpbi1uZy1mb3Jtcy1saWIvc3JjL2xpYi9jb21wb25lbnRzL2VsZW1lbnRzL3RhYmxlcy90YWJsZS1yZWNvcmQtYWN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3hHLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQztBQVEvQixNQUFNLE9BQU8sNkJBQTZCO0lBT3hDO1FBRlUsbUJBQWMsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUU1RCxDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsS0FBSyxLQUFLLENBQUM7SUFFWCxVQUFVO1FBQ1IsTUFBTSxVQUFVLEdBQXFCO1lBQ25DLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVU7WUFDbEMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELEtBQUssS0FBSyxDQUFDOzs7WUE5QlosU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzs7O3VCQUdFLEtBQUs7eUJBQ0wsS0FBSztxQkFDTCxLQUFLOzZCQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIE9uSW5pdCwgRXZlbnRFbWl0dGVyLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVFdmVudCwgVGFibGVBY3Rpb25FdmVudCB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvdGFibGUnO1xuXG5jb25zdCBJTkxJTkVfQUNUSU9OID0gJ0lOTElORSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi10YWJsZS1yZWNvcmQtYWN0aW9uJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBMaWJUYWJsZVJlY29yZEFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHJlY29yZElkOiBhbnk7XG4gIEBJbnB1dCgpIHJlY29yZERhdGE6IGFueTtcbiAgQElucHV0KCkgYWN0aW9uOiBhbnk7XG5cbiAgQE91dHB1dCgpIGFjdGlvblNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8b2JqZWN0PiA9IG5ldyBFdmVudEVtaXR0ZXI8b2JqZWN0PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zdGFydCgpO1xuICB9XG5cbiAgc3RhcnQoKSB7IH1cblxuICBvbkFjdGl2YXRlKCkge1xuICAgIGNvbnN0IHRhYmxlRXZlbnQ6IFRhYmxlQWN0aW9uRXZlbnQgPSB7XG4gICAgICBhY3Rpb25Db2RlOiB0aGlzLmFjdGlvbi5hY3Rpb25Db2RlLFxuICAgICAgcmVjb3JkSWQ6IHRoaXMucmVjb3JkSWQsXG4gICAgICByZWNvcmREYXRhOiB0aGlzLnJlY29yZERhdGEsXG4gICAgfTtcbiAgICB0aGlzLmFjdGlvblNlbGVjdGVkLmVtaXQodGFibGVFdmVudCk7XG4gIH1cblxuICBjbGFzcygpIHsgfVxufVxuIl19
@@ -1,20 +0,0 @@
1
- import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
- export class LibTableRecordFieldComponent {
3
- ngOnInit() {
4
- this.start();
5
- }
6
- start() { }
7
- }
8
- LibTableRecordFieldComponent.decorators = [
9
- { type: Component, args: [{
10
- selector: 'lib-table-record-field',
11
- template: `<ng-content></ng-content>`,
12
- changeDetection: ChangeDetectionStrategy.OnPush
13
- },] }
14
- ];
15
- LibTableRecordFieldComponent.propDecorators = {
16
- fieldCode: [{ type: Input }],
17
- fieldType: [{ type: Input }],
18
- fieldValue: [{ type: Input }]
19
- };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtcmVjb3JkLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1YWluLW5nLWZvcm1zLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZWxlbWVudHMvdGFibGVzL3RhYmxlLXJlY29yZC1maWVsZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRbEYsTUFBTSxPQUFPLDRCQUE0QjtJQUt2QyxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVELEtBQUssS0FBSyxDQUFDOzs7WUFmWixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7Ozt3QkFHRSxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlLXJlY29yZC1maWVsZCcsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuXG5leHBvcnQgY2xhc3MgTGliVGFibGVSZWNvcmRGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGZpZWxkQ29kZTogYW55O1xuICBASW5wdXQoKSBmaWVsZFR5cGU6IGFueTtcbiAgQElucHV0KCkgZmllbGRWYWx1ZTogYW55O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3RhcnQoKTtcbiAgfVxuXG4gIHN0YXJ0KCkgeyB9XG59XG4iXX0=
@@ -1,84 +0,0 @@
1
- import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
- const changeViewAttributes = ['visibleRecords', 'currentPage', 'recordsPerPage'];
3
- export class LibTableComponent {
4
- constructor() {
5
- this.globalFilterString = '';
6
- this.currentPage = 1;
7
- this.globalSearch = false;
8
- this.selectedRecords = [];
9
- this.totalRecordsNumber = 0;
10
- this.allSelected = false;
11
- this.loaded = false;
12
- this.selectable = false;
13
- this.hasActions = false;
14
- }
15
- ngOnInit() {
16
- var _a;
17
- if (this.table) {
18
- this.formConfig = (_a = this.table) === null || _a === void 0 ? void 0 : _a._formConfig;
19
- this.tableFieldStyles = this.formConfig.tableFieldStyles;
20
- this.selectable = this.table.selectable;
21
- this.hasActions = this.table.hasActions();
22
- this.inlineActions = this.table.getActions(this.formConfig.tableActions.inline);
23
- this.globalActions = this.table.getActions(this.formConfig.tableActions.global);
24
- this.selectionActions = this.table.getActions(this.formConfig.tableActions.selection);
25
- // Inicialización de campos mapeados del objeto
26
- const mapping = Object.entries(this.formConfig.componentTableAttrMap);
27
- for (let index = 0; index < mapping.length; index++) {
28
- const [tableAttrRaw, compAttrRaw] = mapping[index];
29
- const tableAttr = tableAttrRaw.toString();
30
- const compAttr = compAttrRaw.toString();
31
- this.syncAttribute(compAttr, this.table[tableAttr]);
32
- }
33
- // Subscripción a cambios en atributos
34
- this.table.attributeChange.subscribe(event => {
35
- const { name: tableAttr, value } = event;
36
- const compAttr = this.formConfig.componentTableAttrMap[tableAttr];
37
- this.syncAttribute(compAttr, value);
38
- });
39
- }
40
- this.start();
41
- }
42
- start() { }
43
- tableGlobalAction(actionCode) { this.table.notifyGlobalAction(actionCode); }
44
- tableSelectionAction(actionCode) { this.table.notifySelectionAction(actionCode); }
45
- tableActionSelected(actionEvent) { this.table.notifyInlineAction(actionEvent); }
46
- tableSelectionToggle(recordId) { this.table.notifyRecordSelection(recordId); }
47
- toggleSelectAll() { return (this.allSelected) ? this.table.unSelectAll() : this.table.selectAll(); }
48
- globalFilterCompleted() { this.changePage(1); }
49
- changePage(requestedPage) { this.table.changePage(requestedPage); }
50
- tableColumnSort(columnName, direction = null) { this.table.sort(columnName, direction !== null && direction !== void 0 ? direction : 'ascend'); }
51
- globalFilterChanged() { var _a, _b; this.table.setGlobalFilterString((_b = (_a = this.globalFilterString) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : ''); }
52
- syncAttribute(name, value) {
53
- try {
54
- this[name] = value;
55
- return true;
56
- }
57
- catch (_a) {
58
- return false;
59
- }
60
- }
61
- filterHasChanged(column, values) {
62
- if (!values || values.length === 0) {
63
- this.table.removeColumnFilter(column.fieldCode);
64
- }
65
- else {
66
- this.table.addColumnFilter(column.fieldCode, values);
67
- }
68
- }
69
- }
70
- LibTableComponent.decorators = [
71
- { type: Component, args: [{
72
- selector: 'lib-table',
73
- template: `<ng-content></ng-content>`,
74
- changeDetection: ChangeDetectionStrategy.OnPush
75
- },] }
76
- ];
77
- LibTableComponent.propDecorators = {
78
- table: [{ type: Input }],
79
- tableRecords: [{ type: Input }],
80
- disabled: [{ type: Input }],
81
- state: [{ type: Input }],
82
- waiting: [{ type: Input }]
83
- };
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvY29tcG9uZW50cy9lbGVtZW50cy90YWJsZXMvdGFibGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS2xGLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQVFqRixNQUFNLE9BQU8saUJBQWlCO0lBTjlCO1FBUUUsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBS2hDLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLG9CQUFlLEdBQVUsRUFBRSxDQUFDO1FBRTVCLHVCQUFrQixHQUFXLENBQUMsQ0FBQztRQUMvQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUk3QixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixlQUFVLEdBQUcsS0FBSyxDQUFDO0lBaUVyQixDQUFDO0lBdERDLFFBQVE7O1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLFdBQVcsQ0FBQztZQUMxQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztZQUN6RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENB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QUksUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLG1CQUFtQixpQkFBSyxJQUFJLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE1BQUEsTUFBQSxJQUFJLENBQUMsa0JBQWtCLDBDQUFFLElBQUksRUFBRSxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbEcsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLO1FBQ3ZCLElBQUk7WUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ25CLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFBQyxXQUFNO1lBQ04sT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsTUFBTTtRQUM3QixJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3REO0lBQ0gsQ0FBQzs7O1lBekZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7OztvQkEwQkUsS0FBSzsyQkFDTCxLQUFLO3VCQUNMLEtBQUs7b0JBQ0wsS0FBSztzQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFibGVSZWNvcmREYXRhIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3Jtcy90YWJsZS9yb3ctZGF0YSc7XG5pbXBvcnQgeyBUYWJsZUFjdGlvbkV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9mb3Jtcy90YWJsZS90YWJsZSc7XG5pbXBvcnQgeyBSZWNvcmRUYWJsZSwgVGFibGVFdmVudCB9IGZyb20gJy4uLy4uLy4uL2NsYXNzZXMvZm9ybXMvdGFibGUvdGFibGUnO1xuXG5jb25zdCBjaGFuZ2VWaWV3QXR0cmlidXRlcyA9IFsndmlzaWJsZVJlY29yZHMnLCAnY3VycmVudFBhZ2UnLCAncmVjb3Jkc1BlclBhZ2UnXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXRhYmxlJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBMaWJUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGZvcm1Db25maWc6IGFueTtcbiAgZ2xvYmFsRmlsdGVyU3RyaW5nOiBzdHJpbmcgPSAnJztcblxuICAvLyBBdHJpYnV0b3Mgc2luY3Jvbml6YWRvcyBkZWwgb2JqZXRvXG4gIGNvZGU6IGFueTtcbiAgY29sdW1uczogYW55O1xuICBjdXJyZW50UGFnZTogbnVtYmVyID0gMTtcbiAgZ2xvYmFsU2VhcmNoOiBib29sZWFuID0gZmFsc2U7XG4gIHZpc2libGVSZWNvcmRzOiBhbnlbXTtcbiAgc2VsZWN0ZWRSZWNvcmRzOiBhbnlbXSA9IFtdO1xuICByZWNvcmRzUGVyUGFnZTogYW55O1xuICB0b3RhbFJlY29yZHNOdW1iZXI6IG51bWJlciA9IDA7XG4gIGFsbFNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGxheW91dDogc3RyaW5nO1xuXG4gIHRhYmxlRmllbGRTdHlsZXM6IGFueTtcbiAgbG9hZGVkID0gZmFsc2U7XG4gIHNlbGVjdGFibGUgPSBmYWxzZTtcbiAgaGFzQWN0aW9ucyA9IGZhbHNlO1xuICBpbmxpbmVBY3Rpb25zOiBhbnk7XG4gIGdsb2JhbEFjdGlvbnM6IGFueTtcbiAgc2VsZWN0aW9uQWN0aW9uczogYW55O1xuXG4gIEBJbnB1dCgpIHRhYmxlOiBSZWNvcmRUYWJsZTtcbiAgQElucHV0KCkgdGFibGVSZWNvcmRzOiBUYWJsZVJlY29yZERhdGFbXTtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN0YXRlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHdhaXRpbmc6IGJvb2xlYW47XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMudGFibGUpIHtcbiAgICAgIHRoaXMuZm9ybUNvbmZpZyA9IHRoaXMudGFibGU/Ll9mb3JtQ29uZmlnO1xuICAgICAgdGhpcy50YWJsZUZpZWxkU3R5bGVzID0gdGhpcy5mb3JtQ29uZmlnLnRhYmxlRmllbGRTdHlsZXM7XG4gICAgICB0aGlzLnNlbGVjdGFibGUgPSB0aGlzLnRhYmxlLnNlbGVjdGFibGU7XG4gICAgICB0aGlzLmhhc0FjdGlvbnMgPSB0aGlzLnRhYmxlLmhhc0FjdGlvbnMoKTtcbiAgICAgIHRoaXMuaW5saW5lQWN0aW9ucyA9IHRoaXMudGFibGUuZ2V0QWN0aW9ucyh0aGlzLmZvcm1Db25maWcudGFibGVBY3Rpb25zLmlubGluZSk7XG4gICAgICB0aGlzLmdsb2JhbEFjdGlvbnMgPSB0aGlzLnRhYmxlLmdldEFjdGlvbnModGhpcy5mb3JtQ29uZmlnLnRhYmxlQWN0aW9ucy5nbG9iYWwpO1xuICAgICAgdGhpcy5zZWxlY3Rpb25BY3Rpb25zID0gdGhpcy50YWJsZS5nZXRBY3Rpb25zKHRoaXMuZm9ybUNvbmZpZy50YWJsZUFjdGlvbnMuc2VsZWN0aW9uKTtcbiAgICAgIC8vIEluaWNpYWxpemFjacOzbiBkZSBjYW1wb3MgbWFwZWFkb3MgZGVsIG9iamV0b1xuICAgICAgY29uc3QgbWFwcGluZyA9IE9iamVjdC5lbnRyaWVzKHRoaXMuZm9ybUNvbmZpZy5jb21wb25lbnRUYWJsZUF0dHJNYXApO1xuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1hcHBpbmcubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IFt0YWJsZUF0dHJSYXcsIGNvbXBBdHRyUmF3XSA9IG1hcHBpbmdbaW5kZXhdO1xuICAgICAgICBjb25zdCB0YWJsZUF0dHIgPSB0YWJsZUF0dHJSYXcudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgY29tcEF0dHIgPSBjb21wQXR0clJhdy50b1N0cmluZygpO1xuICAgICAgICB0aGlzLnN5bmNBdHRyaWJ1dGUoY29tcEF0dHIsIHRoaXMudGFibGVbdGFibGVBdHRyXSk7XG4gICAgICB9XG4gICAgICAvLyBTdWJzY3JpcGNpw7NuIGEgY2FtYmlvcyBlbiBhdHJpYnV0b3NcbiAgICAgIHRoaXMudGFibGUuYXR0cmlidXRlQ2hhbmdlLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGNvbnN0IHsgbmFtZTogdGFibGVBdHRyLCB2YWx1ZSB9ID0gZXZlbnQ7XG4gICAgICAgIGNvbnN0IGNvbXBBdHRyID0gdGhpcy5mb3JtQ29uZmlnLmNvbXBvbmVudFRhYmxlQXR0ck1hcFt0YWJsZUF0dHJdO1xuICAgICAgICB0aGlzLnN5bmNBdHRyaWJ1dGUoY29tcEF0dHIsIHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnN0YXJ0KCk7XG4gIH1cblxuICBzdGFydCgpIHsgfVxuICB0YWJsZUdsb2JhbEFjdGlvbihhY3Rpb25Db2RlOiBzdHJpbmcpIHsgdGhpcy50YWJsZS5ub3RpZnlHbG9iYWxBY3Rpb24oYWN0aW9uQ29kZSk7IH1cbiAgdGFibGVTZWxlY3Rpb25BY3Rpb24oYWN0aW9uQ29kZTogc3RyaW5nKSB7IHRoaXMudGFibGUubm90aWZ5U2VsZWN0aW9uQWN0aW9uKGFjdGlvbkNvZGUpOyB9XG4gIHRhYmxlQWN0aW9uU2VsZWN0ZWQoYWN0aW9uRXZlbnQ6IFRhYmxlQWN0aW9uRXZlbnQpIHsgdGhpcy50YWJsZS5ub3RpZnlJbmxpbmVBY3Rpb24oYWN0aW9uRXZlbnQpOyB9XG4gIHRhYmxlU2VsZWN0aW9uVG9nZ2xlKHJlY29yZElkKSB7IHRoaXMudGFibGUubm90aWZ5UmVjb3JkU2VsZWN0aW9uKHJlY29yZElkKTsgfVxuICB0b2dnbGVTZWxlY3RBbGwoKSB7IHJldHVybiAodGhpcy5hbGxTZWxlY3RlZCkgPyB0aGlzLnRhYmxlLnVuU2VsZWN0QWxsKCkgOiB0aGlzLnRhYmxlLnNlbGVjdEFsbCgpOyB9XG4gIGdsb2JhbEZpbHRlckNvbXBsZXRlZCgpIHsgdGhpcy5jaGFuZ2VQYWdlKDEpOyB9XG4gIGNoYW5nZVBhZ2UocmVxdWVzdGVkUGFnZSkgeyB0aGlzLnRhYmxlLmNoYW5nZVBhZ2UocmVxdWVzdGVkUGFnZSk7IH1cbiAgdGFibGVDb2x1bW5Tb3J0KGNvbHVtbk5hbWUsIGRpcmVjdGlvbiA9IG51bGwpIHsgdGhpcy50YWJsZS5zb3J0KGNvbHVtbk5hbWUsIGRpcmVjdGlvbiA/PyAnYXNjZW5kJyk7IH1cbiAgZ2xvYmFsRmlsdGVyQ2hhbmdlZCgpIHsgdGhpcy50YWJsZS5zZXRHbG9iYWxGaWx0ZXJTdHJpbmcodGhpcy5nbG9iYWxGaWx0ZXJTdHJpbmc/LnRyaW0oKSA/PyAnJyk7IH1cblxuICBzeW5jQXR0cmlidXRlKG5hbWUsIHZhbHVlKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXNbbmFtZV0gPSB2YWx1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGZpbHRlckhhc0NoYW5nZWQoY29sdW1uLCB2YWx1ZXMpIHtcbiAgICBpZiAoIXZhbHVlcyB8fCB2YWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLnRhYmxlLnJlbW92ZUNvbHVtbkZpbHRlcihjb2x1bW4uZmllbGRDb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50YWJsZS5hZGRDb2x1bW5GaWx0ZXIoY29sdW1uLmZpZWxkQ29kZSwgdmFsdWVzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==