@wemake4u/form-player-se 1.0.18 → 1.0.20

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 (49) hide show
  1. package/esm2022/lib/controls/chart.mjs +10 -0
  2. package/esm2022/lib/controls/checklist.mjs +4 -1
  3. package/esm2022/lib/controls/chipchecklist.mjs +4 -1
  4. package/esm2022/lib/controls/chipradio.mjs +4 -1
  5. package/esm2022/lib/controls/control.mjs +6 -27
  6. package/esm2022/lib/controls/factory.mjs +4 -1
  7. package/esm2022/lib/controls/radio.mjs +4 -1
  8. package/esm2022/lib/controls/select.mjs +4 -1
  9. package/esm2022/lib/controls/table.mjs +4 -1
  10. package/esm2022/lib/controls/taglist.mjs +4 -1
  11. package/esm2022/lib/dialog/dialog.component.mjs +15 -7
  12. package/esm2022/lib/directives/accordion.directive.mjs +2 -13
  13. package/esm2022/lib/directives/dropdown.directive.mjs +7 -7
  14. package/esm2022/lib/directives/grid.directive.mjs +7 -7
  15. package/esm2022/lib/directives/refresh.directive.mjs +25 -0
  16. package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +66 -29
  17. package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +72 -48
  18. package/esm2022/lib/services/chart.service.mjs +264 -0
  19. package/esm2022/lib/services/dialog.service.mjs +5 -7
  20. package/esm2022/lib/services/function.service.mjs +9 -6
  21. package/esm2022/lib/services/grid.service.mjs +73 -17
  22. package/esm2022/lib/services/programmability.service.mjs +6 -1
  23. package/esm2022/lib/services/register.service.mjs +60 -19
  24. package/esm2022/lib/services/weak.service.mjs +1 -11
  25. package/esm2022/lib/utils/gridCells.mjs +14 -14
  26. package/esm2022/lib/utils/patchForm.mjs +32 -13
  27. package/fesm2022/wemake4u-form-player-se.mjs +710 -250
  28. package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
  29. package/lib/controls/chart.d.ts +4 -0
  30. package/lib/controls/checklist.d.ts +1 -0
  31. package/lib/controls/chipchecklist.d.ts +1 -0
  32. package/lib/controls/chipradio.d.ts +1 -0
  33. package/lib/controls/control.d.ts +1 -4
  34. package/lib/controls/radio.d.ts +1 -0
  35. package/lib/controls/select.d.ts +1 -0
  36. package/lib/controls/table.d.ts +1 -0
  37. package/lib/controls/taglist.d.ts +1 -0
  38. package/lib/dialog/dialog.component.d.ts +3 -0
  39. package/lib/directives/refresh.directive.d.ts +10 -0
  40. package/lib/dynamic-fields/dynamic-fields.component.d.ts +14 -5
  41. package/lib/dynamic-form/dynamic-form.component.d.ts +11 -5
  42. package/lib/services/chart.service.d.ts +34 -0
  43. package/lib/services/dialog.service.d.ts +3 -1
  44. package/lib/services/function.service.d.ts +3 -1
  45. package/lib/services/grid.service.d.ts +10 -7
  46. package/lib/services/programmability.service.d.ts +1 -0
  47. package/lib/services/register.service.d.ts +5 -3
  48. package/lib/utils/patchForm.d.ts +1 -0
  49. package/package.json +4 -2
@@ -32,16 +32,6 @@ export class WeakService {
32
32
  result = result.pipe(take(1), tap((res) => {
33
33
  cachedObject[key] = of(res);
34
34
  }), shareReplay(1));
35
- //let subscription: Subscription;
36
- //subscription = result
37
- // .subscribe({
38
- // next: (result: any) => {
39
- // subscription.unsubscribe();
40
- // cachedObject[key] = of(result);
41
- // },
42
- // error: (error : any) => console.error(error),
43
- // complete: () => console.log('Observable complete')
44
- // });
45
35
  }
46
36
  cachedObject[key] = result;
47
37
  return result;
@@ -61,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
61
51
  providedIn: 'root'
62
52
  }]
63
53
  }], ctorParameters: () => [] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vhay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvc2VydmljZXMvd2Vhay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSzdDLE1BQU0sT0FBTyxXQUFXO0lBRXRCLGdCQUFnQixDQUFDO0lBRVQsS0FBSyxHQUFHLElBQUksT0FBTyxFQUErQixDQUFDO0lBRTNELE1BQU0sQ0FBQyxNQUFjLEVBQUUsR0FBVztRQUNoQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFFLENBQUM7WUFDN0MsT0FBTyxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxDQUFJLE1BQWMsRUFBRSxHQUFXLEVBQUUsSUFBYSxFQUM5QyxXQUEyQyxJQUFJLEVBQy9DLFFBQW9DLElBQUk7UUFFMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUUsQ0FBQztRQUU3QyxJQUFJLEdBQUcsSUFBSSxZQUFZO2VBQ2xCLENBQUMsUUFBUSxJQUFJLElBQUk7bUJBQ2YsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQ25DLENBQUM7WUFDQyxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxNQUFNLEdBQVEsSUFBSSxFQUFFLENBQUM7UUFFekIsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXhDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVyQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDbEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNmLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7WUFFRixpQ0FBaUM7WUFFakMsdUJBQXVCO1lBQ3ZCLGdCQUFnQjtZQUNoQiw4QkFBOEI7WUFDOUIsbUNBQW1DO1lBQ25DLHVDQUF1QztZQUN2QyxRQUFRO1lBQ1IsbURBQW1EO1lBQ25ELHdEQUF3RDtZQUN4RCxPQUFPO1FBQ1QsQ0FBQztRQUVELFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7UUFFM0IsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFjLEVBQUUsR0FBVztRQUNwQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFFLENBQUM7WUFDN0MsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7d0dBekVVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc09ic2VydmFibGUsIG9mLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXZWFrU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIHByaXZhdGUgY2FjaGUgPSBuZXcgV2Vha01hcDxvYmplY3QsIFJlY29yZDxzdHJpbmcsIGFueT4+KCk7XHJcblxyXG4gIGV4aXN0cyhzb3VyY2U6IG9iamVjdCwga2V5OiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmNhY2hlLmhhcyhzb3VyY2UpKSB7XHJcbiAgICAgIGNvbnN0IGNhY2hlZE9iamVjdCA9IHRoaXMuY2FjaGUuZ2V0KHNvdXJjZSkhO1xyXG4gICAgICByZXR1cm4gKGtleSBpbiBjYWNoZWRPYmplY3QpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgY2FsbDxUPihzb3VyY2U6IG9iamVjdCwga2V5OiBzdHJpbmcsIGZ1bmM6ICgpID0+IFRcclxuICAgICwgcmV1c2FibGU6ICgodmFsdWU6IFQpID0+IGJvb2xlYW4pIHwgbnVsbCA9IG51bGxcclxuICAgICwgc3RvcmU6ICgodmFsdWU6IFQpID0+IGFueSkgfCBudWxsID0gbnVsbFxyXG4gICAgKTogVCB7XHJcbiAgICBpZiAoIXRoaXMuY2FjaGUuaGFzKHNvdXJjZSkpIHtcclxuICAgICAgdGhpcy5jYWNoZS5zZXQoc291cmNlLCB7fSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2FjaGVkT2JqZWN0ID0gdGhpcy5jYWNoZS5nZXQoc291cmNlKSE7XHJcblxyXG4gICAgaWYgKGtleSBpbiBjYWNoZWRPYmplY3RcclxuICAgICAgJiYgKHJldXNhYmxlID09IG51bGxcclxuICAgICAgICB8fCByZXVzYWJsZShjYWNoZWRPYmplY3Rba2V5XSkpKVxyXG4gICAge1xyXG4gICAgICByZXR1cm4gY2FjaGVkT2JqZWN0W2tleV07XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHJlc3VsdDogYW55ID0gZnVuYygpO1xyXG5cclxuICAgIGlmIChzdG9yZSAhPSBudWxsKSB7XHJcbiAgICAgIHJlc3VsdCA9IHN0b3JlKHJlc3VsdCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb2JzZXJ2YWJsZSA9IGlzT2JzZXJ2YWJsZShyZXN1bHQpO1xyXG5cclxuICAgIGlmIChvYnNlcnZhYmxlKSB7XHJcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5waXBlKHNoYXJlUmVwbGF5KDEpKTtcclxuXHJcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5waXBlKFxyXG4gICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgdGFwKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY2FjaGVkT2JqZWN0W2tleV0gPSBvZihyZXMpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpXHJcbiAgICAgICk7XHJcblxyXG4gICAgICAvL2xldCBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICAgIC8vc3Vic2NyaXB0aW9uID0gcmVzdWx0XHJcbiAgICAgIC8vICAuc3Vic2NyaWJlKHtcclxuICAgICAgLy8gICAgbmV4dDogKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIC8vICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgIC8vICAgICAgY2FjaGVkT2JqZWN0W2tleV0gPSBvZihyZXN1bHQpO1xyXG4gICAgICAvLyAgICB9LFxyXG4gICAgICAvLyAgICBlcnJvcjogKGVycm9yIDogYW55KSA9PiBjb25zb2xlLmVycm9yKGVycm9yKSxcclxuICAgICAgLy8gICAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdPYnNlcnZhYmxlIGNvbXBsZXRlJylcclxuICAgICAgLy8gIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNhY2hlZE9iamVjdFtrZXldID0gcmVzdWx0O1xyXG5cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBpbnZhbGlkYXRlKHNvdXJjZTogb2JqZWN0LCBrZXk6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuY2FjaGUuaGFzKHNvdXJjZSkpIHtcclxuICAgICAgY29uc3QgY2FjaGVkT2JqZWN0ID0gdGhpcy5jYWNoZS5nZXQoc291cmNlKSE7XHJcbiAgICAgIGRlbGV0ZSBjYWNoZWRPYmplY3Rba2V5XTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vhay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvc2VydmljZXMvd2Vhay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSzdDLE1BQU0sT0FBTyxXQUFXO0lBRXRCLGdCQUFnQixDQUFDO0lBRVQsS0FBSyxHQUFHLElBQUksT0FBTyxFQUErQixDQUFDO0lBRTNELE1BQU0sQ0FBQyxNQUFjLEVBQUUsR0FBVztRQUNoQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFFLENBQUM7WUFDN0MsT0FBTyxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsSUFBSSxDQUFJLE1BQWMsRUFBRSxHQUFXLEVBQUUsSUFBYSxFQUM5QyxXQUEyQyxJQUFJLEVBQy9DLFFBQW9DLElBQUk7UUFFMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUUsQ0FBQztRQUU3QyxJQUFJLEdBQUcsSUFBSSxZQUFZO2VBQ2xCLENBQUMsUUFBUSxJQUFJLElBQUk7bUJBQ2YsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQ25DLENBQUM7WUFDQyxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsSUFBSSxNQUFNLEdBQVEsSUFBSSxFQUFFLENBQUM7UUFFekIsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbEIsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXhDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVyQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDbEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNmLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFDSixDQUFDO1FBRUQsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUUzQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQWMsRUFBRSxHQUFXO1FBQ3BDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUUsQ0FBQztZQUM3QyxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQzt3R0E3RFUsV0FBVzs0R0FBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgb2YsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdlYWtTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBjYWNoZSA9IG5ldyBXZWFrTWFwPG9iamVjdCwgUmVjb3JkPHN0cmluZywgYW55Pj4oKTtcclxuXHJcbiAgZXhpc3RzKHNvdXJjZTogb2JqZWN0LCBrZXk6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuY2FjaGUuaGFzKHNvdXJjZSkpIHtcclxuICAgICAgY29uc3QgY2FjaGVkT2JqZWN0ID0gdGhpcy5jYWNoZS5nZXQoc291cmNlKSE7XHJcbiAgICAgIHJldHVybiAoa2V5IGluIGNhY2hlZE9iamVjdCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBjYWxsPFQ+KHNvdXJjZTogb2JqZWN0LCBrZXk6IHN0cmluZywgZnVuYzogKCkgPT4gVFxyXG4gICAgLCByZXVzYWJsZTogKCh2YWx1ZTogVCkgPT4gYm9vbGVhbikgfCBudWxsID0gbnVsbFxyXG4gICAgLCBzdG9yZTogKCh2YWx1ZTogVCkgPT4gYW55KSB8IG51bGwgPSBudWxsXHJcbiAgICApOiBUIHtcclxuICAgIGlmICghdGhpcy5jYWNoZS5oYXMoc291cmNlKSkge1xyXG4gICAgICB0aGlzLmNhY2hlLnNldChzb3VyY2UsIHt9KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjYWNoZWRPYmplY3QgPSB0aGlzLmNhY2hlLmdldChzb3VyY2UpITtcclxuXHJcbiAgICBpZiAoa2V5IGluIGNhY2hlZE9iamVjdFxyXG4gICAgICAmJiAocmV1c2FibGUgPT0gbnVsbFxyXG4gICAgICAgIHx8IHJldXNhYmxlKGNhY2hlZE9iamVjdFtrZXldKSkpXHJcbiAgICB7XHJcbiAgICAgIHJldHVybiBjYWNoZWRPYmplY3Rba2V5XTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcmVzdWx0OiBhbnkgPSBmdW5jKCk7XHJcblxyXG4gICAgaWYgKHN0b3JlICE9IG51bGwpIHtcclxuICAgICAgcmVzdWx0ID0gc3RvcmUocmVzdWx0KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBvYnNlcnZhYmxlID0gaXNPYnNlcnZhYmxlKHJlc3VsdCk7XHJcblxyXG4gICAgaWYgKG9ic2VydmFibGUpIHtcclxuICAgICAgcmVzdWx0ID0gcmVzdWx0LnBpcGUoc2hhcmVSZXBsYXkoMSkpO1xyXG5cclxuICAgICAgcmVzdWx0ID0gcmVzdWx0LnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICB0YXAoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBjYWNoZWRPYmplY3Rba2V5XSA9IG9mKHJlcyk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcclxuICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBjYWNoZWRPYmplY3Rba2V5XSA9IHJlc3VsdDtcclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgaW52YWxpZGF0ZShzb3VyY2U6IG9iamVjdCwga2V5OiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmNhY2hlLmhhcyhzb3VyY2UpKSB7XHJcbiAgICAgIGNvbnN0IGNhY2hlZE9iamVjdCA9IHRoaXMuY2FjaGUuZ2V0KHNvdXJjZSkhO1xyXG4gICAgICBkZWxldGUgY2FjaGVkT2JqZWN0W2tleV07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -63,12 +63,12 @@ export class ActionsCellRenderer {
63
63
  }
64
64
  evaluateBoolean(value) {
65
65
  const options = {
66
- extendContext: () => {
67
- return {
68
- getParams: () => this.params,
69
- getData: () => this.getData()
70
- };
71
- }
66
+ extendContext: () => ({
67
+ "event": {
68
+ params: this.params,
69
+ data: this.getData()
70
+ }
71
+ })
72
72
  };
73
73
  return this.programmability.evaluateBoolean(this.getFormGroup(), value, options);
74
74
  }
@@ -79,13 +79,13 @@ export class ActionsCellRenderer {
79
79
  if (action.click) {
80
80
  const options = {
81
81
  cacheable: false,
82
- extendContext: () => {
83
- return {
84
- getParams: () => this.params,
85
- getAction: () => action,
86
- getData: () => this.getData()
87
- };
88
- }
82
+ extendContext: () => ({
83
+ "event": {
84
+ params: this.params,
85
+ action: action,
86
+ data: this.getData()
87
+ }
88
+ })
89
89
  };
90
90
  return this.programmability.evaluate(this.getFormGroup(), action.click, options);
91
91
  }
@@ -105,4 +105,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
105
105
  CommonModule, SirioButtonComponent
106
106
  ], template: "<div class=\"btn-small-group\">\r\n <ng-container *ngFor=\"let action of params.component.actions\">\r\n <ngx-sirio-button class=\"btn-small\"\r\n [ariaLabel]=\"evaluateString(action.label)\"\r\n [title]=\"evaluateString(action.label)\"\r\n [color]=\"null\"\r\n [disabled]=\"evaluateBoolean(action.disabled)\"\r\n (clickEvent)=\"clickButton(action, $event)\"\r\n [icon]=\"evaluateString(action.icon)\">\r\n </ngx-sirio-button>\r\n </ng-container>\r\n</div>\r\n" }]
107
107
  }], ctorParameters: () => [{ type: i1.ProgrammabilityService }] });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZENlbGxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvZ3JpZENlbGxzLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvY2VsbC10ZW1wbGF0ZXMvb2JqZWN0VXJsLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvY2VsbC10ZW1wbGF0ZXMvZGVsZXRlLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvY2VsbC10ZW1wbGF0ZXMvYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBTTVDLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsTUFBTSxDQUF1QjtJQUU3QixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWQsTUFBTSxDQUFDLE1BQTJCO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLEdB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TyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQXNCLENBQUM7SUFDNUMsQ0FBQzt3R0F6RFUsbUJBQW1COzRGQUFuQixtQkFBbUIsd0VHcEVoQyxvbEJBWUEsMkNIcURJLFlBQVksNEpBQUUsb0JBQW9COzs0RkFHekIsbUJBQW1CO2tCQVAvQixTQUFTO2lDQUVJLElBQUksV0FDUDt3QkFDUCxZQUFZLEVBQUUsb0JBQW9CO3FCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAgfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBJQ2VsbFJlbmRlcmVyUGFyYW1zIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xyXG5pbXBvcnQgeyBTaXJpb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJ25neC1zaXJpby1saWInO1xyXG5pbXBvcnQgeyBQcm9ncmFtbWFiaWxpdHlTZXJ2aWNlLCBFdmFsdWF0ZU9wdGlvbnMgfSBmcm9tICcuLi9zZXJ2aWNlcy9wcm9ncmFtbWFiaWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IFRleHRzIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS1pdCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vY2VsbC10ZW1wbGF0ZXMvb2JqZWN0VXJsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPYmplY3RVUkxSZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB7XHJcbiAgcGFyYW1zITogSUNlbGxSZW5kZXJlclBhcmFtcztcclxuXHJcbiAgVGV4dHMgPSBUZXh0cztcclxuXHJcbiAgYWdJbml0KHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xyXG4gICAgY29uc3QgZmlsZVVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwodGhpcy5wYXJhbXMuZGF0YSk7XHJcbiAgICB3aW5kb3cub3BlbihmaWxlVVJMLCAnX2JsYW5rJyk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChmaWxlVVJMKTtcclxuICAgIH0sIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9jZWxsLXRlbXBsYXRlcy9kZWxldGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIERlbGV0ZVJvd0NlbGxSZW5kZXJlciBpbXBsZW1lbnRzIElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB7XHJcbiAgcGFyYW1zOiBhbnk7XHJcblxyXG4gIFRleHRzID0gVGV4dHM7XHJcblxyXG4gIGFnSW5pdChwYXJhbXM6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xyXG5cclxuICAgIGlmICgncmVtb3ZlJyBpbiB0aGlzLnBhcmFtcy5kYXRhICYmIHR5cGVvZiB0aGlzLnBhcmFtcy5kYXRhLnJlbW92ZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLnBhcmFtcy5kYXRhLnJlbW92ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVmcmVzaCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9jZWxsLXRlbXBsYXRlcy9hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSwgU2lyaW9CdXR0b25Db21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25zQ2VsbFJlbmRlcmVyIGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcm9ncmFtbWFiaWxpdHk6IFByb2dyYW1tYWJpbGl0eVNlcnZpY2UpIHsgfVxyXG5cclxuICBwYXJhbXM6IGFueTtcclxuXHJcbiAgYWdJbml0KHBhcmFtczogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBldmFsdWF0ZUJvb2xlYW4odmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcgfCBudWxsKTogYm9vbGVhbiB8IG51bGwge1xyXG5cclxuICAgIGNvbnN0IG9wdGlvbnM6IEV2YWx1YXRlT3B0aW9ucyA9IHtcclxuICAgICAgZXh0ZW5kQ29udGV4dDogKCkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBnZXRQYXJhbXM6ICgpID0+IHRoaXMucGFyYW1zLFxyXG4gICAgICAgICAgZ2V0RGF0YTogKCkgPT4gdGhpcy5nZXREYXRhKClcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5wcm9ncmFtbWFiaWxpdHkuZXZhbHVhdGVCb29sZWFuKHRoaXMuZ2V0Rm9ybUdyb3VwKCksIHZhbHVlLCBvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGV2YWx1YXRlU3RyaW5nKHZhbHVlOiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnByb2dyYW1tYWJpbGl0eS5ldmFsdWF0ZVN0cmluZyh0aGlzLmdldEZvcm1Hcm91cCgpLCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjbGlja0J1dHRvbihhY3Rpb246IGFueSwgZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKGFjdGlvbi5jbGljaykge1xyXG5cclxuICAgICAgY29uc3Qgb3B0aW9uczogRXZhbHVhdGVPcHRpb25zID0ge1xyXG4gICAgICAgIGNhY2hlYWJsZTogZmFsc2UsXHJcbiAgICAgICAgZXh0ZW5kQ29udGV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZ2V0UGFyYW1zOiAoKSA9PiB0aGlzLnBhcmFtcyxcclxuICAgICAgICAgICAgZ2V0QWN0aW9uOiAoKSA9PiBhY3Rpb24sXHJcbiAgICAgICAgICAgIGdldERhdGE6ICgpID0+IHRoaXMuZ2V0RGF0YSgpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5wcm9ncmFtbWFiaWxpdHkuZXZhbHVhdGUodGhpcy5nZXRGb3JtR3JvdXAoKSwgYWN0aW9uLmNsaWNrLCBvcHRpb25zKTtcclxuICAgIH0gICAgXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldERhdGEoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLnBhcmFtcy5kYXRhO1xyXG5cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Rm9ybUdyb3VwKCk6IEZvcm1Hcm91cCB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJhbXMuZm9ybUdyb3VwIGFzIEZvcm1Hcm91cDtcclxuICB9XHJcbn1cclxuXHJcbiIsIjxhIFthdHRyLmFyaWEtbGFiZWxdPVwiVGV4dHMuU2hvd1wiIHRpdGxlPVwie3sgVGV4dHMuU2hvdyB9fVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJmYXMgZmEtcGFwZXJjbGlwXCI+PC9zcGFuPlxyXG48L2E+XHJcbiIsIjxhIFthdHRyLmFyaWEtbGFiZWxdPVwiVGV4dHMuUmVtb3ZlXCIgdGl0bGU9XCJ7eyBUZXh0cy5SZW1vdmUgfX1cIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxyXG4gIDxzcGFuIGNsYXNzPVwiZmFzIGZhLXRyYXNoXCI+PC9zcGFuPlxyXG48L2E+XHJcbiIsIjxkaXYgY2xhc3M9XCJidG4tc21hbGwtZ3JvdXBcIj5cclxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgcGFyYW1zLmNvbXBvbmVudC5hY3Rpb25zXCI+XHJcbiAgICA8bmd4LXNpcmlvLWJ1dHRvbiBjbGFzcz1cImJ0bi1zbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbYXJpYUxhYmVsXT1cImV2YWx1YXRlU3RyaW5nKGFjdGlvbi5sYWJlbClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImV2YWx1YXRlU3RyaW5nKGFjdGlvbi5sYWJlbClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIm51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImV2YWx1YXRlQm9vbGVhbihhY3Rpb24uZGlzYWJsZWQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChjbGlja0V2ZW50KT1cImNsaWNrQnV0dG9uKGFjdGlvbiwgJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCJldmFsdWF0ZVN0cmluZyhhY3Rpb24uaWNvbilcIj5cclxuICAgIDwvbmd4LXNpcmlvLWJ1dHRvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiJdfQ==
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZENlbGxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvZ3JpZENlbGxzLnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvY2VsbC10ZW1wbGF0ZXMvb2JqZWN0VXJsLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvY2VsbC10ZW1wbGF0ZXMvZGVsZXRlLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvY2VsbC10ZW1wbGF0ZXMvYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBTTVDLE1BQU0sT0FBTywwQkFBMEI7SUFDckMsTUFBTSxDQUF1QjtJQUU3QixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBRWQsTUFBTSxDQUFDLE1BQTJCO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBWTtRQUNsQixNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLEdB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Qjs0RkFBbkIsbUJBQW1CLHdFR3BFaEMsb2xCQVlBLDJDSHFESSxZQUFZLDRKQUFFLG9CQUFvQjs7NEZBR3pCLG1CQUFtQjtrQkFQL0IsU0FBUztpQ0FFSSxJQUFJLFdBQ1A7d0JBQ1AsWUFBWSxFQUFFLG9CQUFvQjtxQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcclxuaW1wb3J0IHsgSUNlbGxSZW5kZXJlclBhcmFtcyB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5JztcclxuaW1wb3J0IHsgU2lyaW9CdXR0b25Db21wb25lbnQgfSBmcm9tICduZ3gtc2lyaW8tbGliJztcclxuaW1wb3J0IHsgUHJvZ3JhbW1hYmlsaXR5U2VydmljZSwgRXZhbHVhdGVPcHRpb25zIH0gZnJvbSAnLi4vc2VydmljZXMvcHJvZ3JhbW1hYmlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBUZXh0cyB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUtaXQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NlbGwtdGVtcGxhdGVzL29iamVjdFVybC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgT2JqZWN0VVJMUmVuZGVyZXJDb21wb25lbnQgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAge1xyXG4gIHBhcmFtcyE6IElDZWxsUmVuZGVyZXJQYXJhbXM7XHJcblxyXG4gIFRleHRzID0gVGV4dHM7XHJcblxyXG4gIGFnSW5pdChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMpOiB2b2lkIHtcclxuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgb25DbGljayhldmVudDogRXZlbnQpIHtcclxuICAgIGNvbnN0IGZpbGVVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKHRoaXMucGFyYW1zLmRhdGEpO1xyXG4gICAgd2luZG93Lm9wZW4oZmlsZVVSTCwgJ19ibGFuaycpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoZmlsZVVSTCk7XHJcbiAgICB9LCAxMDAwKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vY2VsbC10ZW1wbGF0ZXMvZGVsZXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWxldGVSb3dDZWxsUmVuZGVyZXIgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAge1xyXG4gIHBhcmFtczogYW55O1xyXG5cclxuICBUZXh0cyA9IFRleHRzO1xyXG5cclxuICBhZ0luaXQocGFyYW1zOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgb25DbGljayhldmVudDogRXZlbnQpIHtcclxuXHJcbiAgICBpZiAoJ3JlbW92ZScgaW4gdGhpcy5wYXJhbXMuZGF0YSAmJiB0eXBlb2YgdGhpcy5wYXJhbXMuZGF0YS5yZW1vdmUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgdGhpcy5wYXJhbXMuZGF0YS5yZW1vdmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlZnJlc2goKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vY2VsbC10ZW1wbGF0ZXMvYWN0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsIFNpcmlvQnV0dG9uQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aW9uc0NlbGxSZW5kZXJlciBpbXBsZW1lbnRzIElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJvZ3JhbW1hYmlsaXR5OiBQcm9ncmFtbWFiaWxpdHlTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcGFyYW1zOiBhbnk7XHJcblxyXG4gIGFnSW5pdChwYXJhbXM6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZXZhbHVhdGVCb29sZWFuKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nIHwgbnVsbCk6IGJvb2xlYW4gfCBudWxsIHtcclxuXHJcbiAgICBjb25zdCBvcHRpb25zOiBFdmFsdWF0ZU9wdGlvbnMgPSB7XHJcbiAgICAgIGV4dGVuZENvbnRleHQ6ICgpID0+ICh7XHJcbiAgICAgICAgXCJldmVudFwiOiB7XHJcbiAgICAgICAgICBwYXJhbXM6IHRoaXMucGFyYW1zLFxyXG4gICAgICAgICAgZGF0YTogdGhpcy5nZXREYXRhKClcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucHJvZ3JhbW1hYmlsaXR5LmV2YWx1YXRlQm9vbGVhbih0aGlzLmdldEZvcm1Hcm91cCgpLCB2YWx1ZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBldmFsdWF0ZVN0cmluZyh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9ncmFtbWFiaWxpdHkuZXZhbHVhdGVTdHJpbmcodGhpcy5nZXRGb3JtR3JvdXAoKSwgdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY2xpY2tCdXR0b24oYWN0aW9uOiBhbnksIGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChhY3Rpb24uY2xpY2spIHtcclxuXHJcbiAgICAgIGNvbnN0IG9wdGlvbnM6IEV2YWx1YXRlT3B0aW9ucyA9IHtcclxuICAgICAgICBjYWNoZWFibGU6IGZhbHNlLFxyXG4gICAgICAgIGV4dGVuZENvbnRleHQ6ICgpID0+ICh7XHJcbiAgICAgICAgICBcImV2ZW50XCI6IHtcclxuICAgICAgICAgICAgcGFyYW1zOiB0aGlzLnBhcmFtcyxcclxuICAgICAgICAgICAgYWN0aW9uOiBhY3Rpb24sXHJcbiAgICAgICAgICAgIGRhdGE6IHRoaXMuZ2V0RGF0YSgpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMucHJvZ3JhbW1hYmlsaXR5LmV2YWx1YXRlKHRoaXMuZ2V0Rm9ybUdyb3VwKCksIGFjdGlvbi5jbGljaywgb3B0aW9ucyk7XHJcbiAgICB9ICAgIFxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXREYXRhKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJhbXMuZGF0YTtcclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZvcm1Hcm91cCgpOiBGb3JtR3JvdXAge1xyXG4gICAgcmV0dXJuIHRoaXMucGFyYW1zLmZvcm1Hcm91cCBhcyBGb3JtR3JvdXA7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8YSBbYXR0ci5hcmlhLWxhYmVsXT1cIlRleHRzLlNob3dcIiB0aXRsZT1cInt7IFRleHRzLlNob3cgfX1cIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxyXG4gIDxzcGFuIGNsYXNzPVwiZmFzIGZhLXBhcGVyY2xpcFwiPjwvc3Bhbj5cclxuPC9hPlxyXG4iLCI8YSBbYXR0ci5hcmlhLWxhYmVsXT1cIlRleHRzLlJlbW92ZVwiIHRpdGxlPVwie3sgVGV4dHMuUmVtb3ZlIH19XCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJvbkNsaWNrKCRldmVudClcIj5cclxuICA8c3BhbiBjbGFzcz1cImZhcyBmYS10cmFzaFwiPjwvc3Bhbj5cclxuPC9hPlxyXG4iLCI8ZGl2IGNsYXNzPVwiYnRuLXNtYWxsLWdyb3VwXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIHBhcmFtcy5jb21wb25lbnQuYWN0aW9uc1wiPlxyXG4gICAgPG5neC1zaXJpby1idXR0b24gY2xhc3M9XCJidG4tc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2FyaWFMYWJlbF09XCJldmFsdWF0ZVN0cmluZyhhY3Rpb24ubGFiZWwpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJldmFsdWF0ZVN0cmluZyhhY3Rpb24ubGFiZWwpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJldmFsdWF0ZUJvb2xlYW4oYWN0aW9uLmRpc2FibGVkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoY2xpY2tFdmVudCk9XCJjbGlja0J1dHRvbihhY3Rpb24sICRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiZXZhbHVhdGVTdHJpbmcoYWN0aW9uLmljb24pXCI+XHJcbiAgICA8L25neC1zaXJpby1idXR0b24+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,9 +1,22 @@
1
1
  import { FormGroup, FormArray, FormControl } from '@angular/forms';
2
+ function createControlFromValue(value) {
3
+ if (value === null || typeof value !== 'object') {
4
+ return new FormControl(value);
5
+ }
6
+ if (Array.isArray(value)) {
7
+ return new FormArray(createControlFromArray(value));
8
+ }
9
+ return new FormGroup({});
10
+ }
11
+ function createControlFromArray(array) {
12
+ return array.map(item => createControlFromValue(item));
13
+ }
2
14
  export function patchForm(control, value, options) {
3
15
  const defaultOptions = {
4
16
  emitEvent: true,
5
17
  validateType: false,
6
- fallbackValue: null
18
+ fallbackValue: null,
19
+ strict: true
7
20
  };
8
21
  const warn = (message) => {
9
22
  if (options?.emitWarn)
@@ -13,7 +26,7 @@ export function patchForm(control, value, options) {
13
26
  if (options?.emitError)
14
27
  throw new Error(message);
15
28
  };
16
- const { emitEvent, validateType, fallbackValue } = { ...defaultOptions, ...options };
29
+ const { emitEvent, validateType, fallbackValue, strict } = { ...defaultOptions, ...options };
17
30
  if (control instanceof FormControl) {
18
31
  if (validateType && typeof value !== typeof control.value) {
19
32
  warn(`Value type mismatch: expected ${typeof control.value}, but received ${typeof value}`);
@@ -31,26 +44,32 @@ export function patchForm(control, value, options) {
31
44
  if (control.controls[key]) {
32
45
  patchForm(control.controls[key], value[key], options);
33
46
  }
47
+ else if (!strict) {
48
+ const newControl = createControlFromValue(value[key]);
49
+ control.addControl(key, newControl);
50
+ patchForm(newControl, value[key], options);
51
+ }
34
52
  else {
35
53
  warn(`Key "${key}" not found in the FormGroup.`);
36
54
  }
37
55
  });
38
56
  }
39
57
  else if (control instanceof FormArray) {
40
- // qui ci vuole un intervento
41
- (value || []).forEach((item, index) => {
42
- if (control.at(index)) {
43
- patchForm(control.at(index), item, options);
44
- }
45
- else {
46
- warn(`Index ${index} not found in the FormArray. Adding dynamically...`);
47
- const newControl = control.addItem();
48
- patchForm(newControl, item, options);
49
- }
58
+ const valueArray = Array.isArray(value) ? value : [];
59
+ while (control.length < valueArray.length) {
60
+ const newItemValue = valueArray[control.length];
61
+ const newControl = createControlFromValue(newItemValue);
62
+ control.push(newControl);
63
+ }
64
+ while (control.length > valueArray.length) {
65
+ control.removeAt(control.length - 1);
66
+ }
67
+ valueArray.forEach((item, index) => {
68
+ patchForm(control.at(index), item, options);
50
69
  });
51
70
  }
52
71
  else {
53
72
  error('Unsupported AbstractControl type.');
54
73
  }
55
74
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hGb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvcGF0Y2hGb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRixNQUFNLFVBQVUsU0FBUyxDQUN2QixPQUF3QixFQUN4QixLQUFVLEVBQ1YsT0FBdUg7SUFHdkgsTUFBTSxjQUFjLEdBQUc7UUFDckIsU0FBUyxFQUFFLElBQUk7UUFDZixZQUFZLEVBQUUsS0FBSztRQUNuQixhQUFhLEVBQUUsSUFBSTtLQUNwQixDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRTtRQUMvQixJQUFJLE9BQU8sRUFBRSxRQUFRO1lBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxPQUFPLEVBQUUsQ0FBQyxDQUFBO0lBQzFDLENBQUMsQ0FBQztJQUVGLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7UUFDaEMsSUFBSSxPQUFPLEVBQUUsU0FBUztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUMsQ0FBQztJQUVGLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxHQUM1QyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFFdEMsSUFBSSxPQUFPLFlBQVksV0FBVyxFQUFFLENBQUM7UUFDbkMsSUFBSSxZQUFZLElBQUksT0FBTyxLQUFLLEtBQUssT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLGlDQUFpQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLGtCQUFrQixPQUFPLEtBQUssRUFBRSxDQUFDLENBQUM7WUFFNUYsSUFBSSxhQUFhLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFDakQsT0FBTztZQUNULENBQUM7WUFDRCxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztZQUM1RCxPQUFPO1FBQ1QsQ0FBQztRQUNELE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO1NBQ0ksSUFBSSxPQUFPLFlBQVksU0FBUyxFQUFFLENBQUM7UUFDdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDdkMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLFNBQVMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN4RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRywrQkFBK0IsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7U0FDSSxJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUUsQ0FBQztRQUN0Qyw2QkFBNkI7UUFFN0IsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBUyxFQUFFLEtBQWEsRUFBRSxFQUFFO1lBQ2pELElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN0QixTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDOUMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxTQUFTLEtBQUssb0RBQW9ELENBQUMsQ0FBQztnQkFDekUsTUFBTSxVQUFVLEdBQUksT0FBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM5QyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO1NBQ0ksQ0FBQztRQUNKLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtR3JvdXAsIEZvcm1BcnJheSwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2hGb3JtKFxyXG4gIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcclxuICB2YWx1ZTogYW55LFxyXG4gIG9wdGlvbnM/OiB7IGVtaXRFdmVudD86IGJvb2xlYW47IGVtaXRFcnJvcj86IGJvb2xlYW47IGVtaXRXYXJuPzogYm9vbGVhbjsgdmFsaWRhdGVUeXBlPzogYm9vbGVhbjsgZmFsbGJhY2tWYWx1ZT86IGFueSB9XHJcbik6IHZvaWQge1xyXG5cclxuICBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IHtcclxuICAgIGVtaXRFdmVudDogdHJ1ZSxcclxuICAgIHZhbGlkYXRlVHlwZTogZmFsc2UsXHJcbiAgICBmYWxsYmFja1ZhbHVlOiBudWxsXHJcbiAgfTtcclxuXHJcbiAgY29uc3Qgd2FybiA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcclxuICAgIGlmIChvcHRpb25zPy5lbWl0V2FybilcclxuICAgICAgY29uc29sZS53YXJuKGBbcGF0Y2hGb3JtXSAke21lc3NhZ2V9YClcclxuICB9O1xyXG5cclxuICBjb25zdCBlcnJvciA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcclxuICAgIGlmIChvcHRpb25zPy5lbWl0RXJyb3IpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICB9O1xyXG5cclxuICBjb25zdCB7IGVtaXRFdmVudCwgdmFsaWRhdGVUeXBlLCBmYWxsYmFja1ZhbHVlIH1cclxuICAgID0geyAuLi5kZWZhdWx0T3B0aW9ucywgLi4ub3B0aW9ucyB9O1xyXG5cclxuICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Db250cm9sKSB7XHJcbiAgICBpZiAodmFsaWRhdGVUeXBlICYmIHR5cGVvZiB2YWx1ZSAhPT0gdHlwZW9mIGNvbnRyb2wudmFsdWUpIHtcclxuICAgICAgd2FybihgVmFsdWUgdHlwZSBtaXNtYXRjaDogZXhwZWN0ZWQgJHt0eXBlb2YgY29udHJvbC52YWx1ZX0sIGJ1dCByZWNlaXZlZCAke3R5cGVvZiB2YWx1ZX1gKTtcclxuXHJcbiAgICAgIGlmIChmYWxsYmFja1ZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgY29udHJvbC5wYXRjaFZhbHVlKGZhbGxiYWNrVmFsdWUsIHsgZW1pdEV2ZW50IH0pO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBlcnJvcignSW52YWxpZCB2YWx1ZSB0eXBlIGFuZCBubyBmYWxsYmFjayB2YWx1ZSBwcm92aWRlZC4nKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29udHJvbC5wYXRjaFZhbHVlKHZhbHVlLCB7IGVtaXRFdmVudCB9KTtcclxuICB9XHJcbiAgZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xyXG4gICAgT2JqZWN0LmtleXModmFsdWUgfHwge30pLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBpZiAoY29udHJvbC5jb250cm9sc1trZXldKSB7XHJcbiAgICAgICAgcGF0Y2hGb3JtKGNvbnRyb2wuY29udHJvbHNba2V5XSwgdmFsdWVba2V5XSwgb3B0aW9ucyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgd2FybihgS2V5IFwiJHtrZXl9XCIgbm90IGZvdW5kIGluIHRoZSBGb3JtR3JvdXAuYCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XHJcbiAgICAvLyBxdWkgY2kgdnVvbGUgdW4gaW50ZXJ2ZW50b1xyXG5cclxuICAgICh2YWx1ZSB8fCBbXSkuZm9yRWFjaCgoaXRlbTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sLmF0KGluZGV4KSkge1xyXG4gICAgICAgIHBhdGNoRm9ybShjb250cm9sLmF0KGluZGV4KSwgaXRlbSwgb3B0aW9ucyk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgd2FybihgSW5kZXggJHtpbmRleH0gbm90IGZvdW5kIGluIHRoZSBGb3JtQXJyYXkuIEFkZGluZyBkeW5hbWljYWxseS4uLmApO1xyXG4gICAgICAgIGNvbnN0IG5ld0NvbnRyb2wgPSAoY29udHJvbCBhcyBhbnkpLmFkZEl0ZW0oKTtcclxuICAgICAgICBwYXRjaEZvcm0obmV3Q29udHJvbCwgaXRlbSwgb3B0aW9ucyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBlbHNlIHtcclxuICAgIGVycm9yKCdVbnN1cHBvcnRlZCBBYnN0cmFjdENvbnRyb2wgdHlwZS4nKTtcclxuICB9XHJcbn1cclxuIl19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0Y2hGb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvcGF0Y2hGb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsU0FBUyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRixTQUFTLHNCQUFzQixDQUFDLEtBQVU7SUFDeEMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2hELE9BQU8sSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxTQUFTLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsT0FBTyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxLQUFZO0lBQzFDLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQ3ZCLE9BQXdCLEVBQ3hCLEtBQVUsRUFDVixPQU9DO0lBR0QsTUFBTSxjQUFjLEdBQUc7UUFDckIsU0FBUyxFQUFFLElBQUk7UUFDZixZQUFZLEVBQUUsS0FBSztRQUNuQixhQUFhLEVBQUUsSUFBSTtRQUNuQixNQUFNLEVBQUUsSUFBSTtLQUNiLENBQUM7SUFFRixNQUFNLElBQUksR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO1FBQy9CLElBQUksT0FBTyxFQUFFLFFBQVE7WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FB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QUU7WUFDOUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztTQUNJLENBQUM7UUFDSixLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQztJQUM3QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUdyb3VwLCBGb3JtQXJyYXksIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuZnVuY3Rpb24gY3JlYXRlQ29udHJvbEZyb21WYWx1ZSh2YWx1ZTogYW55KTogQWJzdHJhY3RDb250cm9sIHtcclxuICBpZiAodmFsdWUgPT09IG51bGwgfHwgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xyXG4gICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbCh2YWx1ZSk7XHJcbiAgfVxyXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgcmV0dXJuIG5ldyBGb3JtQXJyYXkoY3JlYXRlQ29udHJvbEZyb21BcnJheSh2YWx1ZSkpO1xyXG4gIH1cclxuICByZXR1cm4gbmV3IEZvcm1Hcm91cCh7fSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNyZWF0ZUNvbnRyb2xGcm9tQXJyYXkoYXJyYXk6IGFueVtdKTogQWJzdHJhY3RDb250cm9sW10ge1xyXG4gIHJldHVybiBhcnJheS5tYXAoaXRlbSA9PiBjcmVhdGVDb250cm9sRnJvbVZhbHVlKGl0ZW0pKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoRm9ybShcclxuICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wsXHJcbiAgdmFsdWU6IGFueSxcclxuICBvcHRpb25zPzoge1xyXG4gICAgZW1pdEV2ZW50PzogYm9vbGVhbjtcclxuICAgIGVtaXRFcnJvcj86IGJvb2xlYW47XHJcbiAgICBlbWl0V2Fybj86IGJvb2xlYW47XHJcbiAgICB2YWxpZGF0ZVR5cGU/OiBib29sZWFuO1xyXG4gICAgZmFsbGJhY2tWYWx1ZT86IGFueTtcclxuICAgIHN0cmljdDogYm9vbGVhbjtcclxuICB9XHJcbik6IHZvaWQge1xyXG5cclxuICBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IHtcclxuICAgIGVtaXRFdmVudDogdHJ1ZSxcclxuICAgIHZhbGlkYXRlVHlwZTogZmFsc2UsXHJcbiAgICBmYWxsYmFja1ZhbHVlOiBudWxsLFxyXG4gICAgc3RyaWN0OiB0cnVlXHJcbiAgfTtcclxuXHJcbiAgY29uc3Qgd2FybiA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcclxuICAgIGlmIChvcHRpb25zPy5lbWl0V2FybilcclxuICAgICAgY29uc29sZS53YXJuKGBbcGF0Y2hGb3JtXSAke21lc3NhZ2V9YClcclxuICB9O1xyXG5cclxuICBjb25zdCBlcnJvciA9IChtZXNzYWdlOiBzdHJpbmcpID0+IHtcclxuICAgIGlmIChvcHRpb25zPy5lbWl0RXJyb3IpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICB9O1xyXG5cclxuICBjb25zdCB7IGVtaXRFdmVudCwgdmFsaWRhdGVUeXBlLCBmYWxsYmFja1ZhbHVlLCBzdHJpY3QgfVxyXG4gICAgPSB7IC4uLmRlZmF1bHRPcHRpb25zLCAuLi5vcHRpb25zIH07XHJcblxyXG4gIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUNvbnRyb2wpIHtcclxuICAgIGlmICh2YWxpZGF0ZVR5cGUgJiYgdHlwZW9mIHZhbHVlICE9PSB0eXBlb2YgY29udHJvbC52YWx1ZSkge1xyXG4gICAgICB3YXJuKGBWYWx1ZSB0eXBlIG1pc21hdGNoOiBleHBlY3RlZCAke3R5cGVvZiBjb250cm9sLnZhbHVlfSwgYnV0IHJlY2VpdmVkICR7dHlwZW9mIHZhbHVlfWApO1xyXG5cclxuICAgICAgaWYgKGZhbGxiYWNrVmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgICBjb250cm9sLnBhdGNoVmFsdWUoZmFsbGJhY2tWYWx1ZSwgeyBlbWl0RXZlbnQgfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGVycm9yKCdJbnZhbGlkIHZhbHVlIHR5cGUgYW5kIG5vIGZhbGxiYWNrIHZhbHVlIHByb3ZpZGVkLicpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb250cm9sLnBhdGNoVmFsdWUodmFsdWUsIHsgZW1pdEV2ZW50IH0pO1xyXG4gIH1cclxuICBlbHNlIGlmIChjb250cm9sIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XHJcbiAgICBPYmplY3Qua2V5cyh2YWx1ZSB8fCB7fSkuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICAgIGlmIChjb250cm9sLmNvbnRyb2xzW2tleV0pIHtcclxuICAgICAgICBwYXRjaEZvcm0oY29udHJvbC5jb250cm9sc1trZXldLCB2YWx1ZVtrZXldLCBvcHRpb25zKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICghc3RyaWN0KSB7XHJcbiAgICAgICAgY29uc3QgbmV3Q29udHJvbCA9IGNyZWF0ZUNvbnRyb2xGcm9tVmFsdWUodmFsdWVba2V5XSk7XHJcbiAgICAgICAgY29udHJvbC5hZGRDb250cm9sKGtleSwgbmV3Q29udHJvbCk7XHJcbiAgICAgICAgcGF0Y2hGb3JtKG5ld0NvbnRyb2wsIHZhbHVlW2tleV0sIG9wdGlvbnMpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHdhcm4oYEtleSBcIiR7a2V5fVwiIG5vdCBmb3VuZCBpbiB0aGUgRm9ybUdyb3VwLmApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZWxzZSBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1BcnJheSkge1xyXG4gICAgY29uc3QgdmFsdWVBcnJheSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcclxuICAgIHdoaWxlIChjb250cm9sLmxlbmd0aCA8IHZhbHVlQXJyYXkubGVuZ3RoKSB7XHJcbiAgICAgIGNvbnN0IG5ld0l0ZW1WYWx1ZSA9IHZhbHVlQXJyYXlbY29udHJvbC5sZW5ndGhdO1xyXG4gICAgICBjb25zdCBuZXdDb250cm9sID0gY3JlYXRlQ29udHJvbEZyb21WYWx1ZShuZXdJdGVtVmFsdWUpO1xyXG4gICAgICBjb250cm9sLnB1c2gobmV3Q29udHJvbCk7XHJcbiAgICB9XHJcbiAgICB3aGlsZSAoY29udHJvbC5sZW5ndGggPiB2YWx1ZUFycmF5Lmxlbmd0aCkge1xyXG4gICAgICBjb250cm9sLnJlbW92ZUF0KGNvbnRyb2wubGVuZ3RoIC0gMSk7XHJcbiAgICB9XHJcbiAgICB2YWx1ZUFycmF5LmZvckVhY2goKGl0ZW06IGFueSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBwYXRjaEZvcm0oY29udHJvbC5hdChpbmRleCksIGl0ZW0sIG9wdGlvbnMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGVsc2Uge1xyXG4gICAgZXJyb3IoJ1Vuc3VwcG9ydGVkIEFic3RyYWN0Q29udHJvbCB0eXBlLicpO1xyXG4gIH1cclxufVxyXG4iXX0=