tuain-ng-forms-lib 17.1.38 → 17.2.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 (31) hide show
  1. package/esm2022/lib/classes/forms/action.mjs +6 -4
  2. package/esm2022/lib/classes/forms/field.mjs +5 -5
  3. package/esm2022/lib/classes/forms/form.mjs +2 -2
  4. package/esm2022/lib/classes/forms/piece-propagate.mjs +2 -2
  5. package/esm2022/lib/classes/forms/piece.mjs +10 -2
  6. package/esm2022/lib/classes/forms/section.mjs +3 -3
  7. package/esm2022/lib/classes/forms/table/row-data.mjs +3 -1
  8. package/esm2022/lib/classes/forms/table/table.mjs +7 -7
  9. package/esm2022/lib/components/elements/action.component.mjs +10 -2
  10. package/esm2022/lib/components/elements/field.component.mjs +10 -2
  11. package/esm2022/lib/components/elements/layout/section.component.mjs +10 -2
  12. package/esm2022/lib/components/elements/layout/sub-section.component.mjs +10 -2
  13. package/esm2022/lib/components/elements/tables/table.component.mjs +10 -2
  14. package/esm2022/lib/components/forms/basic-form.mjs +43 -13
  15. package/esm2022/lib/services/event-manager.service.mjs +1 -1
  16. package/fesm2022/tuain-ng-forms-lib.mjs +111 -36
  17. package/fesm2022/tuain-ng-forms-lib.mjs.map +1 -1
  18. package/lib/classes/forms/action.d.ts +1 -2
  19. package/lib/classes/forms/field.d.ts +4 -5
  20. package/lib/classes/forms/form.d.ts +1 -2
  21. package/lib/classes/forms/piece-propagate.d.ts +1 -1
  22. package/lib/classes/forms/piece.d.ts +2 -0
  23. package/lib/classes/forms/section.d.ts +2 -3
  24. package/lib/classes/forms/table/table.d.ts +5 -6
  25. package/lib/components/elements/action.component.d.ts +2 -0
  26. package/lib/components/elements/field.component.d.ts +2 -0
  27. package/lib/components/elements/layout/section.component.d.ts +2 -0
  28. package/lib/components/elements/layout/sub-section.component.d.ts +2 -0
  29. package/lib/components/elements/tables/table.component.d.ts +2 -0
  30. package/lib/components/forms/basic-form.d.ts +2 -0
  31. package/package.json +1 -1
@@ -40,4 +40,4 @@ export class LibEventManagerService {
40
40
  subject.next(data);
41
41
  }
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvc2VydmljZXMvZXZlbnQtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLGFBQWEsR0FBUSxFQUFFLENBQUM7SUFDeEIsa0JBQWtCLEdBQVEsRUFBRSxDQUFDO0lBRTdCLFlBQVksUUFBZTtRQUN6QixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDdEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMxRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsV0FBVyxDQUFDO1FBQ2hGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMvQixJQUFJLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxlQUFlLEdBQXlCLElBQUksZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNoRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQztZQUM3QyxDQUFDO2lCQUFNLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM5QixNQUFNLGVBQWUsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxlQUFlLENBQUM7WUFDN0MsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sZUFBZSxHQUF1QixJQUFJLGFBQWEsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQzNHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxDQUFDO1lBQzdDLENBQUM7WUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hGLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLGNBQWM7UUFDekIsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEYsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGFBQWEsS0FBSyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRCxVQUFVLENBQUMsY0FBYyxJQUFJLE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLFNBQVMsQ0FBQyxjQUFjLEVBQUUsUUFBUSxJQUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25HLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSTtRQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCwgQmVoYXZpb3JTdWJqZWN0LCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBMaWJFdmVudE1hbmFnZXJTZXJ2aWNlIHtcbiAgZXZlbnRTdWJqZWN0czogYW55ID0ge307XG4gIGV2ZW50U3ViamVjdFBhcmFtczogYW55ID0ge307XG5cbiAgY29uc3RydWN0b3IoZXZlbnRTZXQ6IGFueVtdKSB7XG4gICAgZXZlbnRTZXQuZm9yRWFjaCgoZXZlbnQpID0+IHsgdGhpcy5hZGRFdmVudE5hbWUoZXZlbnQpOyB9KTtcbiAgfVxuXG4gIGFkZEV2ZW50TmFtZShldmVudDogYW55LCByZWJ1aWxkID0gZmFsc2UpIHtcbiAgICBjb25zdCBldmVudE9iamVjdCA9ICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKSA/IHsgbmFtZTogZXZlbnQgfSA6IGV2ZW50O1xuICAgIGNvbnN0IHsgbmFtZSwgdHlwZSwgaW5pdGlhbFZhbHVlLCB3aW5kb3dUaW1lLCB0aW1lc3RhbXBQcm92aWRlciB9ID0gZXZlbnRPYmplY3Q7XG4gICAgY29uc3QgY3VycmVudFN1YmplY3QgPSB0aGlzLmV2ZW50U3ViamVjdHNbbmFtZV07XG4gICAgaWYgKHJlYnVpbGQgfHwgIWN1cnJlbnRTdWJqZWN0KSB7XG4gICAgICBpZiAodHlwZSA9PT0gJ2JlaGF2aW91cicpIHtcbiAgICAgICAgY29uc3QgbmV3RXZlbnRTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoaW5pdGlhbFZhbHVlKTtcbiAgICAgICAgdGhpcy5ldmVudFN1YmplY3RzW25hbWVdID0gbmV3RXZlbnRTdWJqZWN0O1xuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnc3ViamVjdCcpIHtcbiAgICAgICAgY29uc3QgbmV3RXZlbnRTdWJqZWN0OiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuICAgICAgICB0aGlzLmV2ZW50U3ViamVjdHNbbmFtZV0gPSBuZXdFdmVudFN1YmplY3Q7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBuZXdFdmVudFN1YmplY3Q6IFJlcGxheVN1YmplY3Q8YW55PiA9IG5ldyBSZXBsYXlTdWJqZWN0KGluaXRpYWxWYWx1ZSwgd2luZG93VGltZSwgdGltZXN0YW1wUHJvdmlkZXIpO1xuICAgICAgICB0aGlzLmV2ZW50U3ViamVjdHNbbmFtZV0gPSBuZXdFdmVudFN1YmplY3Q7XG4gICAgICB9XG4gICAgICB0aGlzLmV2ZW50U3ViamVjdFBhcmFtc1tuYW1lXSA9IHsgbmFtZTogbmFtZSwgd2luZG93VGltZSwgdGltZXN0YW1wUHJvdmlkZXIgfTtcbiAgICB9XG4gIH1cblxuICByZXNldFN1YmplY3QoZXZlbnRDbGFzc05hbWUpIHtcbiAgICBjb25zdCB7IG5hbWUsIHdpbmRvd1RpbWUsIHRpbWVzdGFtcFByb3ZpZGVyIH0gPSB0aGlzLmV2ZW50U3ViamVjdFBhcmFtc1tldmVudENsYXNzTmFtZV07XG4gICAgcmV0dXJuIHRoaXMuYWRkRXZlbnROYW1lKHsgbmFtZSwgd2luZG93VGltZSwgdGltZXN0YW1wUHJvdmlkZXIgfSk7XG4gIH1cblxuICBnZXRFdmVudE5hbWVzKCkgeyByZXR1cm4gT2JqZWN0LmtleXModGhpcy5ldmVudFN1YmplY3RzKTsgfVxuICBnZXRTdWJqZWN0KGV2ZW50Q2xhc3NOYW1lKSB7IHJldHVybiBldmVudENsYXNzTmFtZSA/IHRoaXMuZXZlbnRTdWJqZWN0c1tldmVudENsYXNzTmFtZV0gOiBudWxsOyB9XG4gIHN1YnNjcmliZShldmVudENsYXNzTmFtZSwgY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuZ2V0U3ViamVjdChldmVudENsYXNzTmFtZSkuc3Vic2NyaWJlKGNhbGxiYWNrKTsgfVxuICBuZXh0KGV2ZW50Q2xhc3NOYW1lLCBkYXRhKSB7IFxuICAgIGNvbnN0IHN1YmplY3QgPSB0aGlzLmdldFN1YmplY3QoZXZlbnRDbGFzc05hbWUpO1xuICAgIGlmICghc3ViamVjdCkge1xuICAgICAgY29uc29sZS5sb2coYE5vIHNlIGVuY29udHLDsyBzdWJqZWN0ICR7ZXZlbnRDbGFzc05hbWV9YCk7XG4gICAgfVxuICAgIHN1YmplY3QubmV4dChkYXRhKTtcbiAgfVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbWFuYWdlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVhaW4tbmctZm9ybXMtbGliL3NyYy9saWIvc2VydmljZXMvZXZlbnQtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLGFBQWEsR0FBUSxFQUFFLENBQUM7SUFDeEIsa0JBQWtCLEdBQVEsRUFBRSxDQUFDO0lBRTdCLFlBQVksUUFBZTtRQUN6QixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDdEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMxRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsV0FBVyxDQUFDO1FBQ2hGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMvQixJQUFJLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxlQUFlLEdBQXlCLElBQUksZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNoRixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQztZQUM3QyxDQUFDO2lCQUFNLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM5QixNQUFNLGVBQWUsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxlQUFlLENBQUM7WUFDN0MsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sZUFBZSxHQUF1QixJQUFJLGFBQWEsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQzNHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxDQUFDO1lBQzdDLENBQUM7WUFDRCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hGLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLGNBQWM7UUFDekIsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDeEYsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGFBQWEsS0FBSyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRCxVQUFVLENBQUMsY0FBYyxJQUFJLE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLFNBQVMsQ0FBQyxjQUFjLEVBQUUsUUFBUSxJQUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25HLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSTtRQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCwgQmVoYXZpb3JTdWJqZWN0LCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjbGFzcyBMaWJFdmVudE1hbmFnZXJTZXJ2aWNlIHtcbiAgZXZlbnRTdWJqZWN0czogYW55ID0ge307XG4gIGV2ZW50U3ViamVjdFBhcmFtczogYW55ID0ge307XG5cbiAgY29uc3RydWN0b3IoZXZlbnRTZXQ6IGFueVtdKSB7XG4gICAgZXZlbnRTZXQuZm9yRWFjaCgoZXZlbnQpID0+IHsgdGhpcy5hZGRFdmVudE5hbWUoZXZlbnQpOyB9KTtcbiAgfVxuXG4gIGFkZEV2ZW50TmFtZShldmVudDogYW55LCByZWJ1aWxkID0gZmFsc2UpIHtcbiAgICBjb25zdCBldmVudE9iamVjdCA9ICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKSA/IHsgbmFtZTogZXZlbnQgfSA6IGV2ZW50O1xuICAgIGNvbnN0IHsgbmFtZSwgdHlwZSwgaW5pdGlhbFZhbHVlLCB3aW5kb3dUaW1lLCB0aW1lc3RhbXBQcm92aWRlciB9ID0gZXZlbnRPYmplY3Q7XG4gICAgY29uc3QgY3VycmVudFN1YmplY3QgPSB0aGlzLmV2ZW50U3ViamVjdHNbbmFtZV07XG4gICAgaWYgKHJlYnVpbGQgfHwgIWN1cnJlbnRTdWJqZWN0KSB7XG4gICAgICBpZiAodHlwZSA9PT0gJ2JlaGF2aW91cicpIHtcbiAgICAgICAgY29uc3QgbmV3RXZlbnRTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3QoaW5pdGlhbFZhbHVlKTtcbiAgICAgICAgdGhpcy5ldmVudFN1YmplY3RzW25hbWVdID0gbmV3RXZlbnRTdWJqZWN0O1xuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnc3ViamVjdCcpIHtcbiAgICAgICAgY29uc3QgbmV3RXZlbnRTdWJqZWN0OiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuICAgICAgICB0aGlzLmV2ZW50U3ViamVjdHNbbmFtZV0gPSBuZXdFdmVudFN1YmplY3Q7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBuZXdFdmVudFN1YmplY3Q6IFJlcGxheVN1YmplY3Q8YW55PiA9IG5ldyBSZXBsYXlTdWJqZWN0KGluaXRpYWxWYWx1ZSwgd2luZG93VGltZSwgdGltZXN0YW1wUHJvdmlkZXIpO1xuICAgICAgICB0aGlzLmV2ZW50U3ViamVjdHNbbmFtZV0gPSBuZXdFdmVudFN1YmplY3Q7XG4gICAgICB9XG4gICAgICB0aGlzLmV2ZW50U3ViamVjdFBhcmFtc1tuYW1lXSA9IHsgbmFtZTogbmFtZSwgd2luZG93VGltZSwgdGltZXN0YW1wUHJvdmlkZXIgfTtcbiAgICB9XG4gIH1cblxuICByZXNldFN1YmplY3QoZXZlbnRDbGFzc05hbWUpIHtcbiAgICBjb25zdCB7IG5hbWUsIHdpbmRvd1RpbWUsIHRpbWVzdGFtcFByb3ZpZGVyIH0gPSB0aGlzLmV2ZW50U3ViamVjdFBhcmFtc1tldmVudENsYXNzTmFtZV07XG4gICAgcmV0dXJuIHRoaXMuYWRkRXZlbnROYW1lKHsgbmFtZSwgd2luZG93VGltZSwgdGltZXN0YW1wUHJvdmlkZXIgfSk7XG4gIH1cblxuICBnZXRFdmVudE5hbWVzKCkgeyByZXR1cm4gT2JqZWN0LmtleXModGhpcy5ldmVudFN1YmplY3RzKTsgfVxuICBnZXRTdWJqZWN0KGV2ZW50Q2xhc3NOYW1lKSB7IHJldHVybiBldmVudENsYXNzTmFtZSA/IHRoaXMuZXZlbnRTdWJqZWN0c1tldmVudENsYXNzTmFtZV0gOiBudWxsOyB9XG4gIHN1YnNjcmliZShldmVudENsYXNzTmFtZSwgY2FsbGJhY2spIHsgcmV0dXJuIHRoaXMuZ2V0U3ViamVjdChldmVudENsYXNzTmFtZSkuc3Vic2NyaWJlKGNhbGxiYWNrKTsgfVxuICBuZXh0KGV2ZW50Q2xhc3NOYW1lLCBkYXRhKSB7XG4gICAgY29uc3Qgc3ViamVjdCA9IHRoaXMuZ2V0U3ViamVjdChldmVudENsYXNzTmFtZSk7XG4gICAgaWYgKCFzdWJqZWN0KSB7XG4gICAgICBjb25zb2xlLmxvZyhgTm8gc2UgZW5jb250csOzIHN1YmplY3QgJHtldmVudENsYXNzTmFtZX1gKTtcbiAgICB9XG4gICAgc3ViamVjdC5uZXh0KGRhdGEpO1xuICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, computed, Component, Input, model, EventEmitter, Output, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
- import { BehaviorSubject, Subject, ReplaySubject } from 'rxjs';
3
+ import { Subject, takeUntil, BehaviorSubject, ReplaySubject } from 'rxjs';
4
4
  import yn from 'yn';
5
5
  import { nanoid } from 'nanoid';
6
6
  import { CommonModule } from '@angular/common';
@@ -93,6 +93,7 @@ const signaledAttributes$5 = [
93
93
  'restrictedOnValue', 'visible', 'disabled',
94
94
  ];
95
95
  class ActionComponent extends ElementComponent {
96
+ destroy$ = new Subject();
96
97
  actionCode = signal(null);
97
98
  actionName = signal(null);
98
99
  iconName = signal(null);
@@ -112,7 +113,9 @@ class ActionComponent extends ElementComponent {
112
113
  this.formConfig = this.action?._formConfig;
113
114
  this.updatePropagatedAttributes();
114
115
  this.replaceCustomAttributes(this.action?.customAttributes);
115
- this.action?.attributeChange.subscribe(event => {
116
+ this.action?.attributeChange
117
+ .pipe(takeUntil(this.destroy$))
118
+ .subscribe(event => {
116
119
  const { name: attribute, value = null } = event ?? {};
117
120
  const attributeParts = attribute?.split('.') ?? [];
118
121
  if (signaledAttributes$5.includes(attribute)) {
@@ -133,6 +136,10 @@ class ActionComponent extends ElementComponent {
133
136
  this.action.notifyActivation();
134
137
  }
135
138
  }
139
+ ngOnDestroy() {
140
+ this.destroy$.next();
141
+ this.destroy$.complete();
142
+ }
136
143
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
137
144
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionComponent, selector: "lib-action", inputs: { action: "action" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
138
145
  }
@@ -155,6 +162,7 @@ const signaledAttributes$4 = ['captureType', 'errorCode', 'errorMessage', 'error
155
162
  const VALUE = 'value';
156
163
  const FOCUS = 'focus';
157
164
  class FieldComponent extends ElementComponent {
165
+ destroy$ = new Subject();
158
166
  // Atributos propagados desde el campo
159
167
  captureType = signal('');
160
168
  errorCode = signal('');
@@ -197,7 +205,9 @@ class FieldComponent extends ElementComponent {
197
205
  this.updatePropagatedAttributes();
198
206
  this.updateValue();
199
207
  this.replaceCustomAttributes(this.field?.customAttributes);
200
- this.field?.attributeChange.subscribe(event => {
208
+ this.field?.attributeChange
209
+ .pipe(takeUntil(this.destroy$))
210
+ .subscribe(event => {
201
211
  const { name: attribute, value = null } = event ?? {};
202
212
  const attributeParts = attribute?.split('.') ?? [];
203
213
  if (attribute === VALUE) {
@@ -237,6 +247,10 @@ class FieldComponent extends ElementComponent {
237
247
  this.updateObject(false);
238
248
  this.onInputChange();
239
249
  }
250
+ ngOnDestroy() {
251
+ this.destroy$.next();
252
+ this.destroy$.complete();
253
+ }
240
254
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
241
255
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: FieldComponent, selector: "lib-field", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, field: { classPropertyName: "field", publicName: "field", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
242
256
  }
@@ -297,6 +311,7 @@ const signaledAttributes$3 = [
297
311
  'visible', 'disabled',
298
312
  ];
299
313
  class SectionComponent extends PieceComponent {
314
+ destroy$ = new Subject();
300
315
  section;
301
316
  updatePropagatedAttributes() {
302
317
  this.updatePieceAttributes(this.section, signaledAttributes$3);
@@ -308,7 +323,9 @@ class SectionComponent extends PieceComponent {
308
323
  this.formConfig = this.section?._formConfig;
309
324
  this.updatePropagatedAttributes();
310
325
  this.replaceCustomAttributes(this.section?.customAttributes);
311
- this.section?.attributeChange.subscribe(event => {
326
+ this.section?.attributeChange
327
+ .pipe(takeUntil(this.destroy$))
328
+ .subscribe(event => {
312
329
  const { name: attribute, value = null } = event ?? {};
313
330
  const attributeParts = attribute?.split('.') ?? [];
314
331
  if (signaledAttributes$3.includes(attribute)) {
@@ -324,6 +341,10 @@ class SectionComponent extends PieceComponent {
324
341
  start() {
325
342
  this.setForm(this.section?._form);
326
343
  }
344
+ ngOnDestroy() {
345
+ this.destroy$.next();
346
+ this.destroy$.complete();
347
+ }
327
348
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
328
349
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SectionComponent, selector: "lib-section", inputs: { section: "section" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
329
350
  }
@@ -342,6 +363,7 @@ const signaledAttributes$2 = [
342
363
  'visible', 'disabled',
343
364
  ];
344
365
  class SubSectionComponent extends PieceComponent {
366
+ destroy$ = new Subject();
345
367
  subSection;
346
368
  updatePropagatedAttributes() {
347
369
  this.updatePieceAttributes(this.subSection, signaledAttributes$2);
@@ -353,7 +375,9 @@ class SubSectionComponent extends PieceComponent {
353
375
  this.formConfig = this.subSection?._formConfig;
354
376
  this.updatePropagatedAttributes();
355
377
  this.replaceCustomAttributes(this.subSection?.customAttributes);
356
- this.subSection?.attributeChange.subscribe(event => {
378
+ this.subSection?.attributeChange
379
+ .pipe(takeUntil(this.destroy$))
380
+ .subscribe(event => {
357
381
  const { name: attribute, value = null } = event ?? {};
358
382
  const attributeParts = attribute?.split('.') ?? [];
359
383
  if (signaledAttributes$2.includes(attribute)) {
@@ -369,6 +393,10 @@ class SubSectionComponent extends PieceComponent {
369
393
  start() {
370
394
  this.setForm(this.subSection?._form);
371
395
  }
396
+ ngOnDestroy() {
397
+ this.destroy$.next();
398
+ this.destroy$.complete();
399
+ }
372
400
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SubSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
373
401
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: SubSectionComponent, selector: "lib-subsection", inputs: { subSection: "subSection" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
374
402
  }
@@ -486,6 +514,7 @@ const signaledAttributes = [
486
514
  'waiting', 'visible', 'disabled',
487
515
  ];
488
516
  class LibTableComponent extends ElementComponent {
517
+ destroy$ = new Subject();
489
518
  // Atributos sincronizados del objeto
490
519
  allSelected = signal(null);
491
520
  code = signal('');
@@ -522,7 +551,9 @@ class LibTableComponent extends ElementComponent {
522
551
  this.globalFilterString = this.table?.globalFilterString;
523
552
  this.updatePropagatedAttributes();
524
553
  this.replaceCustomAttributes(this.table?.customAttributes);
525
- this.table?.attributeChange.subscribe(event => {
554
+ this.table?.attributeChange
555
+ .pipe(takeUntil(this.destroy$))
556
+ .subscribe(event => {
526
557
  const { name: attribute, value = null } = event ?? {};
527
558
  const attributeParts = attribute?.split('.') ?? [];
528
559
  if (attribute === 'visibleRecords') {
@@ -563,6 +594,10 @@ class LibTableComponent extends ElementComponent {
563
594
  this.table?.addColumnFilter(column.fieldCode, values);
564
595
  }
565
596
  }
597
+ ngOnDestroy() {
598
+ this.destroy$.next();
599
+ this.destroy$.complete();
600
+ }
566
601
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LibTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
567
602
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: LibTableComponent, selector: "lib-table", inputs: { table: "table" }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
568
603
  }
@@ -604,6 +639,7 @@ const operators = {
604
639
  };
605
640
 
606
641
  class FormPiece {
642
+ destroy$ = new Subject();
607
643
  _formState = '';
608
644
  _visibleForced;
609
645
  _isForced;
@@ -723,10 +759,16 @@ class FormPiece {
723
759
  connectWithParentForm(form, formChangeSubject) {
724
760
  this._form = form;
725
761
  this.formStateChangeCustomSubscribe(form, formChangeSubject);
726
- formChangeSubject.subscribe(event => this.formStateChange(event?.state));
762
+ formChangeSubject
763
+ .pipe(takeUntil(this.destroy$))
764
+ .subscribe(event => this.formStateChange(event?.state));
727
765
  }
728
766
  set widget(widget) { this._widget = widget; }
729
767
  get widget() { return this._widget; }
768
+ destroy() {
769
+ this.destroy$.next();
770
+ this.destroy$.complete();
771
+ }
730
772
  }
731
773
 
732
774
  const VISIBLE = 'visible';
@@ -738,7 +780,7 @@ class FormPiecePropagate extends FormPiece {
738
780
  super(pieceDefinition, formConfig);
739
781
  this._attributeChange = new BehaviorSubject(null);
740
782
  }
741
- get attributeChange() { return this._attributeChange; }
783
+ get attributeChange() { return this._attributeChange.asObservable(); }
742
784
  propagateAttribute(name, value) {
743
785
  this._attributeChange?.next({ name, value });
744
786
  }
@@ -851,8 +893,10 @@ class FormAction extends FormElement {
851
893
  if (this._restrictedOnField) {
852
894
  const relatedField = this._form.fields?.[this._restrictedOnField];
853
895
  if (relatedField) {
854
- relatedField.editionFinish.subscribe(event => this.updateRestrictedVisibility(event));
855
- relatedField.editionPartial.subscribe(event => this.updateRestrictedVisibility(event));
896
+ relatedField.editionFinish
897
+ .subscribe(event => this.updateRestrictedVisibility(event));
898
+ relatedField.editionPartial
899
+ .subscribe(event => this.updateRestrictedVisibility(event));
856
900
  }
857
901
  }
858
902
  }
@@ -874,7 +918,7 @@ class FormAction extends FormElement {
874
918
  }
875
919
  return actionVisible;
876
920
  }
877
- get actionActivated() { return this._actionActivated; }
921
+ get actionActivated() { return this._actionActivated.asObservable(); }
878
922
  notifyActivation() { this._actionActivated.next(this._actionCode); }
879
923
  updateFromServer(receivedAction) {
880
924
  for (const propertyName in receivedAction) {
@@ -1029,10 +1073,10 @@ class FieldDescriptor extends FormElement {
1029
1073
  set defaultValue(defaultValue) { this.setAttr(attrs$1.defaultValue, defaultValue); }
1030
1074
  get defaultEditable() { return this._defaultEditable; }
1031
1075
  set defaultEditable(editable) { this.setAttr(attrs$1.defaultEditable, editable); }
1032
- get detailRequest() { return this._detailRequest; }
1033
- get customEvent() { return this._customEvent; }
1034
- get editionFinish() { return this._editionFinish; }
1035
- get editionPartial() { return this._editionPartial; }
1076
+ get detailRequest() { return this._detailRequest.asObservable(); }
1077
+ get customEvent() { return this._customEvent.asObservable(); }
1078
+ get editionFinish() { return this._editionFinish.asObservable(); }
1079
+ get editionPartial() { return this._editionPartial.asObservable(); }
1036
1080
  get empty() {
1037
1081
  const fieldCurrentValue = this.value;
1038
1082
  if (fieldCurrentValue === undefined || fieldCurrentValue === null) {
@@ -1540,6 +1584,8 @@ class TableRecordData {
1540
1584
  return true;
1541
1585
  }
1542
1586
  hasCondition(columnFilters) {
1587
+ console.log('hasCondition');
1588
+ console.log(columnFilters);
1543
1589
  if (!columnFilters || columnFilters.length === 0) {
1544
1590
  return true;
1545
1591
  }
@@ -1710,11 +1756,11 @@ class RecordTable extends FormElement {
1710
1756
  }
1711
1757
  }
1712
1758
  get columnNames() { return Object.keys(this._tableColumnObj); }
1713
- get inlineActionTrigger() { return this._inlineActionTrigger; }
1714
- get globalActionTrigger() { return this._globalActionTrigger; }
1715
- get selectionActionTrigger() { return this._selectionActionTrigger; }
1716
- get recordSelectionTrigger() { return this._recordSelectionTrigger; }
1717
- get getDataTrigger() { return this._getDataTrigger; }
1759
+ get inlineActionTrigger() { return this._inlineActionTrigger.asObservable(); }
1760
+ get globalActionTrigger() { return this._globalActionTrigger.asObservable(); }
1761
+ get selectionActionTrigger() { return this._selectionActionTrigger.asObservable(); }
1762
+ get recordSelectionTrigger() { return this._recordSelectionTrigger.asObservable(); }
1763
+ get getDataTrigger() { return this._getDataTrigger.asObservable(); }
1718
1764
  get globalSearch() { return this._globalSearch; }
1719
1765
  get tableRecords() { return this._tableRecords; }
1720
1766
  get tableRecordObj() { return this._tableRecordObj; }
@@ -1803,7 +1849,7 @@ class RecordTable extends FormElement {
1803
1849
  recordData: record.recordData
1804
1850
  }
1805
1851
  };
1806
- this.recordSelectionTrigger.next(tableEvent);
1852
+ this._recordSelectionTrigger.next(tableEvent);
1807
1853
  }
1808
1854
  notifySelectionAction(actionCode) {
1809
1855
  const tableEvent = {
@@ -2241,8 +2287,8 @@ class RecordFormSection extends FormPiecePropagate {
2241
2287
  }
2242
2288
  }
2243
2289
  get code() { return this._sectionCode; }
2244
- get activation() { return this._activation; }
2245
- get inactivation() { return this._inactivation; }
2290
+ get activation() { return this._activation.asObservable(); }
2291
+ get inactivation() { return this._inactivation.asObservable(); }
2246
2292
  get active() { return this._active; }
2247
2293
  get sectionId() { return this._sectionId; }
2248
2294
  get sectionCode() { return this._sectionCode; }
@@ -2550,7 +2596,7 @@ class FormStructureAndData {
2550
2596
  this._stateChange.next({ state: this.state });
2551
2597
  return (this.state === newState);
2552
2598
  }
2553
- get stateChange() { return this._stateChange; }
2599
+ get stateChange() { return this._stateChange.asObservable(); }
2554
2600
  setStateFlow(states, transitions, defaultState, stateDescriptions = []) {
2555
2601
  this.stateFlow.states = states;
2556
2602
  this.stateFlow.stateDescriptions = stateDescriptions;
@@ -3089,6 +3135,7 @@ class BasicFormComponent extends FormStructureAndData {
3089
3135
  formManagerService;
3090
3136
  _eventManager;
3091
3137
  fileMgmtServices;
3138
+ destroy$ = new Subject();
3092
3139
  _controlToken = null;
3093
3140
  _originToken = null;
3094
3141
  _formRoute = null;
@@ -3263,8 +3310,12 @@ class BasicFormComponent extends FormStructureAndData {
3263
3310
  for (let index = 0; index < sectionNames.length; index++) {
3264
3311
  const sectionName = sectionNames[index];
3265
3312
  const section = formSections[sectionName];
3266
- section.activation.subscribe((code) => this.launchSectionActivation(code));
3267
- section.inactivation.subscribe((code) => this.launchSectionInactivation(code));
3313
+ section.activation
3314
+ .pipe(takeUntil(this.destroy$))
3315
+ .subscribe((code) => this.launchSectionActivation(code));
3316
+ section.inactivation
3317
+ .pipe(takeUntil(this.destroy$))
3318
+ .subscribe((code) => this.launchSectionInactivation(code));
3268
3319
  // Adicionalmente se le pide a la sección se subscriba al cambio de estado del formulario
3269
3320
  section.connectWithParentForm(this, this.stateChange);
3270
3321
  }
@@ -3273,19 +3324,27 @@ class BasicFormComponent extends FormStructureAndData {
3273
3324
  const formFields = this.getFields();
3274
3325
  if (Array.isArray(formFields)) {
3275
3326
  formFields.forEach(field => {
3276
- field.customEvent.subscribe(event => {
3327
+ field.customEvent
3328
+ .pipe(takeUntil(this.destroy$))
3329
+ .subscribe(event => {
3277
3330
  const { code, eventName, eventData } = event;
3278
3331
  this.startFieldCustomEvent(code, eventName, eventData);
3279
3332
  });
3280
- field.editionFinish.subscribe(event => {
3333
+ field.editionFinish
3334
+ .pipe(takeUntil(this.destroy$))
3335
+ .subscribe(event => {
3281
3336
  const { code, intrinsicValidation } = event;
3282
3337
  this.startFieldValidation(code, intrinsicValidation);
3283
3338
  });
3284
- field.editionPartial.subscribe(event => {
3339
+ field.editionPartial
3340
+ .pipe(takeUntil(this.destroy$))
3341
+ .subscribe(event => {
3285
3342
  const { code, intrinsicValidation } = event;
3286
3343
  this.startFieldInputValidation(code, intrinsicValidation);
3287
3344
  });
3288
- field.detailRequest.subscribe(event => this.showFieldInfo(event.code, event.detail));
3345
+ field.detailRequest
3346
+ .pipe(takeUntil(this.destroy$))
3347
+ .subscribe(event => this.showFieldInfo(event.code, event.detail));
3289
3348
  // Adicionalmente se le pide al campo se subscriba al cambio de estado del formulario
3290
3349
  field.connectWithParentForm(this, this.stateChange);
3291
3350
  });
@@ -3295,7 +3354,9 @@ class BasicFormComponent extends FormStructureAndData {
3295
3354
  const formActions = this.getActions();
3296
3355
  if (Array.isArray(formActions)) {
3297
3356
  formActions.forEach(action => {
3298
- action.actionActivated.subscribe(code => this.startAction(code));
3357
+ action.actionActivated
3358
+ .pipe(takeUntil(this.destroy$))
3359
+ .subscribe(code => this.startAction(code));
3299
3360
  // Adicionalmente se le pide a la acción se subscriba al cambio de estado del formulario
3300
3361
  action.connectWithParentForm(this, this.stateChange);
3301
3362
  });
@@ -3305,11 +3366,21 @@ class BasicFormComponent extends FormStructureAndData {
3305
3366
  const formTables = this.getTables();
3306
3367
  if (Array.isArray(formTables)) {
3307
3368
  formTables.forEach(table => {
3308
- table.inlineActionTrigger.subscribe(event => this.startTableAction(event));
3309
- table.globalActionTrigger.subscribe(event => this.startTableGlobalAction(event));
3310
- table.recordSelectionTrigger.subscribe(event => this.startTableRecordSelection(event));
3311
- table.selectionActionTrigger.subscribe(event => this.startTableSelectionAction(event));
3312
- table.getDataTrigger.subscribe(event => this.startTableGetData(event));
3369
+ table.inlineActionTrigger
3370
+ .pipe(takeUntil(this.destroy$))
3371
+ .subscribe(event => this.startTableAction(event));
3372
+ table.globalActionTrigger
3373
+ .pipe(takeUntil(this.destroy$))
3374
+ .subscribe(event => this.startTableGlobalAction(event));
3375
+ table.recordSelectionTrigger
3376
+ .pipe(takeUntil(this.destroy$))
3377
+ .subscribe(event => this.startTableRecordSelection(event));
3378
+ table.selectionActionTrigger
3379
+ .pipe(takeUntil(this.destroy$))
3380
+ .subscribe(event => this.startTableSelectionAction(event));
3381
+ table.getDataTrigger
3382
+ .pipe(takeUntil(this.destroy$))
3383
+ .subscribe(event => this.startTableGetData(event));
3313
3384
  // Adicionalmente se le pide a la tabla se subscriba al cambio de estado del formulario
3314
3385
  table.connectWithParentForm(this, this.stateChange);
3315
3386
  });
@@ -4417,6 +4488,10 @@ class BasicFormComponent extends FormStructureAndData {
4417
4488
  addTableGetDataFinish(code, callback, properties = null) {
4418
4489
  return this.onTableGetDataFinish(code, callback, properties);
4419
4490
  }
4491
+ ngOnDestroy() {
4492
+ this.destroy$.next();
4493
+ this.destroy$.complete();
4494
+ }
4420
4495
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BasicFormComponent, deps: [{ token: LibFormManagerService }, { token: LibEventManagerService }, { token: LibFileManagementService }], target: i0.ɵɵFactoryTarget.Component });
4421
4496
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: BasicFormComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true });
4422
4497
  }