tuain-ng-forms-lib 17.1.37 → 17.2.0
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/esm2022/lib/classes/forms/action.mjs +6 -4
- package/esm2022/lib/classes/forms/field.mjs +7 -7
- package/esm2022/lib/classes/forms/form.mjs +2 -2
- package/esm2022/lib/classes/forms/piece-propagate.mjs +2 -2
- package/esm2022/lib/classes/forms/piece.mjs +10 -2
- package/esm2022/lib/classes/forms/section.mjs +3 -3
- package/esm2022/lib/classes/forms/table/table.mjs +7 -7
- package/esm2022/lib/components/elements/action.component.mjs +10 -2
- package/esm2022/lib/components/elements/field.component.mjs +10 -2
- package/esm2022/lib/components/elements/layout/section.component.mjs +10 -2
- package/esm2022/lib/components/elements/layout/sub-section.component.mjs +10 -2
- package/esm2022/lib/components/elements/tables/table.component.mjs +10 -2
- package/esm2022/lib/components/forms/basic-form.mjs +47 -17
- package/esm2022/lib/services/event-manager.service.mjs +1 -1
- package/fesm2022/tuain-ng-forms-lib.mjs +115 -42
- package/fesm2022/tuain-ng-forms-lib.mjs.map +1 -1
- package/lib/classes/forms/action.d.ts +1 -2
- package/lib/classes/forms/field.d.ts +5 -6
- package/lib/classes/forms/form.d.ts +1 -2
- package/lib/classes/forms/piece-propagate.d.ts +1 -1
- package/lib/classes/forms/piece.d.ts +2 -0
- package/lib/classes/forms/section.d.ts +2 -3
- package/lib/classes/forms/table/table.d.ts +5 -6
- package/lib/components/elements/action.component.d.ts +2 -0
- package/lib/components/elements/field.component.d.ts +2 -0
- package/lib/components/elements/layout/section.component.d.ts +2 -0
- package/lib/components/elements/layout/sub-section.component.d.ts +2 -0
- package/lib/components/elements/tables/table.component.d.ts +2 -0
- package/lib/components/forms/basic-form.d.ts +3 -1
- 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/
|
|
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 {
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
855
|
-
|
|
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) {
|
|
@@ -1248,8 +1292,8 @@ class FieldDescriptor extends FormElement {
|
|
|
1248
1292
|
this.resetError();
|
|
1249
1293
|
this._editionPartial.next({ code: this._fieldCode, intrinsicValidation: true });
|
|
1250
1294
|
}
|
|
1251
|
-
triggerCustomEvent(eventName) {
|
|
1252
|
-
this._customEvent.next({ code: this._fieldCode, eventName });
|
|
1295
|
+
triggerCustomEvent(eventName, eventData) {
|
|
1296
|
+
this._customEvent.next({ code: this._fieldCode, eventName, eventData });
|
|
1253
1297
|
}
|
|
1254
1298
|
notifyEditionFinish() {
|
|
1255
1299
|
const fieldValue = this.value;
|
|
@@ -1710,11 +1754,11 @@ class RecordTable extends FormElement {
|
|
|
1710
1754
|
}
|
|
1711
1755
|
}
|
|
1712
1756
|
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; }
|
|
1757
|
+
get inlineActionTrigger() { return this._inlineActionTrigger.asObservable(); }
|
|
1758
|
+
get globalActionTrigger() { return this._globalActionTrigger.asObservable(); }
|
|
1759
|
+
get selectionActionTrigger() { return this._selectionActionTrigger.asObservable(); }
|
|
1760
|
+
get recordSelectionTrigger() { return this._recordSelectionTrigger.asObservable(); }
|
|
1761
|
+
get getDataTrigger() { return this._getDataTrigger.asObservable(); }
|
|
1718
1762
|
get globalSearch() { return this._globalSearch; }
|
|
1719
1763
|
get tableRecords() { return this._tableRecords; }
|
|
1720
1764
|
get tableRecordObj() { return this._tableRecordObj; }
|
|
@@ -1803,7 +1847,7 @@ class RecordTable extends FormElement {
|
|
|
1803
1847
|
recordData: record.recordData
|
|
1804
1848
|
}
|
|
1805
1849
|
};
|
|
1806
|
-
this.
|
|
1850
|
+
this._recordSelectionTrigger.next(tableEvent);
|
|
1807
1851
|
}
|
|
1808
1852
|
notifySelectionAction(actionCode) {
|
|
1809
1853
|
const tableEvent = {
|
|
@@ -2241,8 +2285,8 @@ class RecordFormSection extends FormPiecePropagate {
|
|
|
2241
2285
|
}
|
|
2242
2286
|
}
|
|
2243
2287
|
get code() { return this._sectionCode; }
|
|
2244
|
-
get activation() { return this._activation; }
|
|
2245
|
-
get inactivation() { return this._inactivation; }
|
|
2288
|
+
get activation() { return this._activation.asObservable(); }
|
|
2289
|
+
get inactivation() { return this._inactivation.asObservable(); }
|
|
2246
2290
|
get active() { return this._active; }
|
|
2247
2291
|
get sectionId() { return this._sectionId; }
|
|
2248
2292
|
get sectionCode() { return this._sectionCode; }
|
|
@@ -2550,7 +2594,7 @@ class FormStructureAndData {
|
|
|
2550
2594
|
this._stateChange.next({ state: this.state });
|
|
2551
2595
|
return (this.state === newState);
|
|
2552
2596
|
}
|
|
2553
|
-
get stateChange() { return this._stateChange; }
|
|
2597
|
+
get stateChange() { return this._stateChange.asObservable(); }
|
|
2554
2598
|
setStateFlow(states, transitions, defaultState, stateDescriptions = []) {
|
|
2555
2599
|
this.stateFlow.states = states;
|
|
2556
2600
|
this.stateFlow.stateDescriptions = stateDescriptions;
|
|
@@ -3089,6 +3133,7 @@ class BasicFormComponent extends FormStructureAndData {
|
|
|
3089
3133
|
formManagerService;
|
|
3090
3134
|
_eventManager;
|
|
3091
3135
|
fileMgmtServices;
|
|
3136
|
+
destroy$ = new Subject();
|
|
3092
3137
|
_controlToken = null;
|
|
3093
3138
|
_originToken = null;
|
|
3094
3139
|
_formRoute = null;
|
|
@@ -3263,8 +3308,12 @@ class BasicFormComponent extends FormStructureAndData {
|
|
|
3263
3308
|
for (let index = 0; index < sectionNames.length; index++) {
|
|
3264
3309
|
const sectionName = sectionNames[index];
|
|
3265
3310
|
const section = formSections[sectionName];
|
|
3266
|
-
section.activation
|
|
3267
|
-
|
|
3311
|
+
section.activation
|
|
3312
|
+
.pipe(takeUntil(this.destroy$))
|
|
3313
|
+
.subscribe((code) => this.launchSectionActivation(code));
|
|
3314
|
+
section.inactivation
|
|
3315
|
+
.pipe(takeUntil(this.destroy$))
|
|
3316
|
+
.subscribe((code) => this.launchSectionInactivation(code));
|
|
3268
3317
|
// Adicionalmente se le pide a la sección se subscriba al cambio de estado del formulario
|
|
3269
3318
|
section.connectWithParentForm(this, this.stateChange);
|
|
3270
3319
|
}
|
|
@@ -3273,19 +3322,27 @@ class BasicFormComponent extends FormStructureAndData {
|
|
|
3273
3322
|
const formFields = this.getFields();
|
|
3274
3323
|
if (Array.isArray(formFields)) {
|
|
3275
3324
|
formFields.forEach(field => {
|
|
3276
|
-
field.customEvent
|
|
3277
|
-
|
|
3278
|
-
|
|
3325
|
+
field.customEvent
|
|
3326
|
+
.pipe(takeUntil(this.destroy$))
|
|
3327
|
+
.subscribe(event => {
|
|
3328
|
+
const { code, eventName, eventData } = event;
|
|
3329
|
+
this.startFieldCustomEvent(code, eventName, eventData);
|
|
3279
3330
|
});
|
|
3280
|
-
field.editionFinish
|
|
3331
|
+
field.editionFinish
|
|
3332
|
+
.pipe(takeUntil(this.destroy$))
|
|
3333
|
+
.subscribe(event => {
|
|
3281
3334
|
const { code, intrinsicValidation } = event;
|
|
3282
3335
|
this.startFieldValidation(code, intrinsicValidation);
|
|
3283
3336
|
});
|
|
3284
|
-
field.editionPartial
|
|
3337
|
+
field.editionPartial
|
|
3338
|
+
.pipe(takeUntil(this.destroy$))
|
|
3339
|
+
.subscribe(event => {
|
|
3285
3340
|
const { code, intrinsicValidation } = event;
|
|
3286
3341
|
this.startFieldInputValidation(code, intrinsicValidation);
|
|
3287
3342
|
});
|
|
3288
|
-
field.detailRequest
|
|
3343
|
+
field.detailRequest
|
|
3344
|
+
.pipe(takeUntil(this.destroy$))
|
|
3345
|
+
.subscribe(event => this.showFieldInfo(event.code, event.detail));
|
|
3289
3346
|
// Adicionalmente se le pide al campo se subscriba al cambio de estado del formulario
|
|
3290
3347
|
field.connectWithParentForm(this, this.stateChange);
|
|
3291
3348
|
});
|
|
@@ -3295,7 +3352,9 @@ class BasicFormComponent extends FormStructureAndData {
|
|
|
3295
3352
|
const formActions = this.getActions();
|
|
3296
3353
|
if (Array.isArray(formActions)) {
|
|
3297
3354
|
formActions.forEach(action => {
|
|
3298
|
-
action.actionActivated
|
|
3355
|
+
action.actionActivated
|
|
3356
|
+
.pipe(takeUntil(this.destroy$))
|
|
3357
|
+
.subscribe(code => this.startAction(code));
|
|
3299
3358
|
// Adicionalmente se le pide a la acción se subscriba al cambio de estado del formulario
|
|
3300
3359
|
action.connectWithParentForm(this, this.stateChange);
|
|
3301
3360
|
});
|
|
@@ -3305,11 +3364,21 @@ class BasicFormComponent extends FormStructureAndData {
|
|
|
3305
3364
|
const formTables = this.getTables();
|
|
3306
3365
|
if (Array.isArray(formTables)) {
|
|
3307
3366
|
formTables.forEach(table => {
|
|
3308
|
-
table.inlineActionTrigger
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
table.
|
|
3312
|
-
|
|
3367
|
+
table.inlineActionTrigger
|
|
3368
|
+
.pipe(takeUntil(this.destroy$))
|
|
3369
|
+
.subscribe(event => this.startTableAction(event));
|
|
3370
|
+
table.globalActionTrigger
|
|
3371
|
+
.pipe(takeUntil(this.destroy$))
|
|
3372
|
+
.subscribe(event => this.startTableGlobalAction(event));
|
|
3373
|
+
table.recordSelectionTrigger
|
|
3374
|
+
.pipe(takeUntil(this.destroy$))
|
|
3375
|
+
.subscribe(event => this.startTableRecordSelection(event));
|
|
3376
|
+
table.selectionActionTrigger
|
|
3377
|
+
.pipe(takeUntil(this.destroy$))
|
|
3378
|
+
.subscribe(event => this.startTableSelectionAction(event));
|
|
3379
|
+
table.getDataTrigger
|
|
3380
|
+
.pipe(takeUntil(this.destroy$))
|
|
3381
|
+
.subscribe(event => this.startTableGetData(event));
|
|
3313
3382
|
// Adicionalmente se le pide a la tabla se subscriba al cambio de estado del formulario
|
|
3314
3383
|
table.connectWithParentForm(this, this.stateChange);
|
|
3315
3384
|
});
|
|
@@ -3682,7 +3751,7 @@ class BasicFormComponent extends FormStructureAndData {
|
|
|
3682
3751
|
}
|
|
3683
3752
|
return true;
|
|
3684
3753
|
}
|
|
3685
|
-
async startFieldCustomEvent(code, eventName) {
|
|
3754
|
+
async startFieldCustomEvent(code, eventName, eventData) {
|
|
3686
3755
|
this.notifyFormActivity();
|
|
3687
3756
|
const fieldToTrigger = this.getField(code);
|
|
3688
3757
|
if (!fieldToTrigger) {
|
|
@@ -3693,7 +3762,7 @@ class BasicFormComponent extends FormStructureAndData {
|
|
|
3693
3762
|
const clientEventPromises = [];
|
|
3694
3763
|
for (const eventHandlerMethod of eventHandlerCallbacks) {
|
|
3695
3764
|
const { callback, properties } = eventHandlerMethod;
|
|
3696
|
-
const clientEventPromise = callback(eventName, fieldToTrigger);
|
|
3765
|
+
const clientEventPromise = callback(eventName, eventData, fieldToTrigger);
|
|
3697
3766
|
clientEventPromises.push(clientEventPromise);
|
|
3698
3767
|
}
|
|
3699
3768
|
}
|
|
@@ -4417,6 +4486,10 @@ class BasicFormComponent extends FormStructureAndData {
|
|
|
4417
4486
|
addTableGetDataFinish(code, callback, properties = null) {
|
|
4418
4487
|
return this.onTableGetDataFinish(code, callback, properties);
|
|
4419
4488
|
}
|
|
4489
|
+
ngOnDestroy() {
|
|
4490
|
+
this.destroy$.next();
|
|
4491
|
+
this.destroy$.complete();
|
|
4492
|
+
}
|
|
4420
4493
|
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
4494
|
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
4495
|
}
|