@indigina/kendo 1.1.16 → 1.1.18

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 (81) hide show
  1. package/esm2020/lib/angular/forms/directives/debounce.directive.mjs +3 -3
  2. package/esm2020/lib/angular/forms/extensions/FormGroupWithErrors.mjs +4 -4
  3. package/esm2020/lib/angular/forms/widgets/field/field-input/field-input.component.mjs +7 -7
  4. package/esm2020/lib/angular/forms/widgets/field/field-input/number-input.component.mjs +6 -6
  5. package/esm2020/lib/angular/forms/widgets/field/field.component.mjs +6 -6
  6. package/esm2020/lib/angular/forms/widgets/general-errors/general-errors.component.mjs +7 -7
  7. package/esm2020/lib/angular/indigina.module.mjs +20 -22
  8. package/esm2020/lib/angular/models/AppSettings.mjs +3 -3
  9. package/esm2020/lib/angular/models/IndiginaConfiguration.mjs +3 -3
  10. package/esm2020/lib/angular/services/http.service.mjs +3 -3
  11. package/esm2020/lib/angular/services/locale-settings.service.mjs +3 -3
  12. package/esm2020/lib/angular/services/settings.service.mjs +3 -3
  13. package/esm2020/lib/angular/services/toastr.service.mjs +3 -3
  14. package/esm2020/lib/angular/widgets/live-updates-control/live-updates-control.component.mjs +3 -3
  15. package/esm2020/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.mjs +5 -5
  16. package/esm2020/lib/angular/widgets/side-menu/side-menu.component.mjs +6 -6
  17. package/esm2020/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.mjs +4 -4
  18. package/esm2020/lib/angular/widgets/tree-view/tree-view.component.mjs +6 -6
  19. package/esm2020/lib/components/account-menu/account-menu.component.mjs +7 -7
  20. package/esm2020/lib/components/azure-login-callback/azure-login-callback.component.mjs +3 -3
  21. package/esm2020/lib/components/language-selector/language-selector.component.mjs +5 -5
  22. package/esm2020/lib/directives/requirePermission.directive.mjs +3 -3
  23. package/esm2020/lib/interceptors/auth-headers.interceptor.mjs +3 -3
  24. package/esm2020/lib/kendo.module.mjs +23 -25
  25. package/esm2020/lib/services/account.service.mjs +3 -3
  26. package/esm2020/lib/services/activity.filter.service.mjs +3 -3
  27. package/esm2020/lib/services/auth-provider.resolver.mjs +3 -3
  28. package/esm2020/lib/services/partner.service.mjs +3 -3
  29. package/esm2020/lib/services/permissions.service.mjs +3 -3
  30. package/esm2020/lib/services/signalr/signalr.service.mjs +3 -3
  31. package/esm2020/lib/widgets/activity-filter/activity-filter.component.mjs +8 -8
  32. package/esm2020/lib/widgets/confirm-dialog/confirm-dialog.component.mjs +6 -6
  33. package/esm2020/lib/widgets/current-timezone/current-timezone.component.mjs +4 -4
  34. package/esm2020/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.mjs +4 -4
  35. package/esm2020/lib/widgets/entity-edit/entity-edit-form.component.mjs +19 -17
  36. package/esm2020/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.mjs +7 -7
  37. package/esm2020/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.mjs +7 -7
  38. package/esm2020/lib/widgets/entity-list/entity-list.component.mjs +24 -19
  39. package/esm2020/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.mjs +4 -4
  40. package/esm2020/lib/widgets/entity-list/user-list-admin.component.mjs +11 -11
  41. package/esm2020/lib/widgets/excel-export-button/excel-export-button.component.mjs +6 -6
  42. package/esm2020/lib/widgets/footer-bar/footer-bar.component.mjs +4 -4
  43. package/esm2020/lib/widgets/modal-window/modal-window.component.mjs +5 -5
  44. package/esm2020/lib/widgets/multicheck-filter/multicheck-filter.component.mjs +3 -3
  45. package/esm2020/lib/widgets/top-bar/top-bar.component.mjs +7 -7
  46. package/fesm2015/indigina-kendo.mjs +223 -222
  47. package/fesm2015/indigina-kendo.mjs.map +1 -1
  48. package/fesm2020/indigina-kendo.mjs +223 -222
  49. package/fesm2020/indigina-kendo.mjs.map +1 -1
  50. package/{indigina-kendo.d.ts → index.d.ts} +0 -0
  51. package/lib/angular/forms/directives/debounce.directive.d.ts +1 -1
  52. package/lib/angular/forms/extensions/FormGroupWithErrors.d.ts +2 -2
  53. package/lib/angular/forms/widgets/field/field-input/field-input.component.d.ts +1 -1
  54. package/lib/angular/forms/widgets/field/field-input/number-input.component.d.ts +1 -1
  55. package/lib/angular/forms/widgets/field/field.component.d.ts +1 -1
  56. package/lib/angular/forms/widgets/general-errors/general-errors.component.d.ts +3 -3
  57. package/lib/angular/widgets/live-updates-control/live-updates-control.component.d.ts +1 -1
  58. package/lib/angular/widgets/side-menu/menu-item-group/menu-item-group.component.d.ts +1 -1
  59. package/lib/angular/widgets/side-menu/side-menu.component.d.ts +1 -1
  60. package/lib/angular/widgets/tree-view/tree-view-node/tree-view-node.component.d.ts +1 -1
  61. package/lib/angular/widgets/tree-view/tree-view.component.d.ts +1 -1
  62. package/lib/components/account-menu/account-menu.component.d.ts +1 -1
  63. package/lib/components/azure-login-callback/azure-login-callback.component.d.ts +1 -1
  64. package/lib/components/language-selector/language-selector.component.d.ts +1 -1
  65. package/lib/directives/requirePermission.directive.d.ts +1 -1
  66. package/lib/widgets/activity-filter/activity-filter.component.d.ts +1 -1
  67. package/lib/widgets/confirm-dialog/confirm-dialog.component.d.ts +1 -1
  68. package/lib/widgets/current-timezone/current-timezone.component.d.ts +1 -1
  69. package/lib/widgets/entity-edit/buttons-bar/buttons-bar.component.d.ts +1 -1
  70. package/lib/widgets/entity-edit/entity-edit-form.component.d.ts +3 -2
  71. package/lib/widgets/entity-edit/field-dropdown/field-dropdown.component.d.ts +1 -1
  72. package/lib/widgets/entity-edit/field-multiselect/field-multiselect.component.d.ts +1 -1
  73. package/lib/widgets/entity-list/entity-list.component.d.ts +3 -3
  74. package/lib/widgets/entity-list/field-dropdownlist/field-dropdownlist.component.d.ts +1 -1
  75. package/lib/widgets/entity-list/user-list-admin.component.d.ts +1 -1
  76. package/lib/widgets/excel-export-button/excel-export-button.component.d.ts +1 -1
  77. package/lib/widgets/footer-bar/footer-bar.component.d.ts +1 -1
  78. package/lib/widgets/modal-window/modal-window.component.d.ts +1 -1
  79. package/lib/widgets/multicheck-filter/multicheck-filter.component.d.ts +1 -1
  80. package/lib/widgets/top-bar/top-bar.component.d.ts +1 -1
  81. package/package.json +34 -36
@@ -194,9 +194,9 @@ export class ActivityFilterService {
194
194
  }
195
195
  }
196
196
  }
197
- ActivityFilterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ActivityFilterService, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
198
- ActivityFilterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ActivityFilterService });
199
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ActivityFilterService, decorators: [{
197
+ ActivityFilterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ActivityFilterService, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
198
+ ActivityFilterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ActivityFilterService });
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ActivityFilterService, decorators: [{
200
200
  type: Injectable
201
201
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i1.Router }]; } });
202
202
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuZmlsdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3NlcnZpY2VzL2FjdGl2aXR5LmZpbHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQ0wsY0FBYyxFQUNkLFlBQVksR0FDYixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVEzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFHaEQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDO0FBQzNCLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQztBQUM3QixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUM7QUFDM0IsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQy9CLE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO0FBQ3pDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQztBQUd2QixNQUFNLE9BQU8scUJBQXFCO0lBMkJoQyxZQUFvQixLQUFxQixFQUFVLE1BQWM7UUFBN0MsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBdkJoRCxrQkFBYSxHQUFtQjtZQUMvQyxNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsZUFBZSxFQUFFLEtBQUs7WUFDdEIsVUFBVSxFQUFFLEVBQUU7WUFDZCxJQUFJLEVBQUUsQ0FBQztZQUNQLElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQztRQUVRLDZCQUF3QixHQUFH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QUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3RFLElBQUksS0FBSyxFQUFFO2dCQUNULElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBZSxDQUFDLENBQUM7Z0JBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7YUFDdEQ7WUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNqRCxNQUFNLENBQUMsS0FBZSxDQUN2QixDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7O2tIQXpQVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVyQ29udmVydGVyIH0gZnJvbSAnLi4vd2lkZ2V0cy9hY3Rpdml0eS1maWx0ZXIvRmlsdGVyQ29udmVydGVyJztcbmltcG9ydCB7XG4gIHVybERlc2VyaWFsaXplLFxuICB1cmxTZXJpYWxpemUsXG59IGZyb20gJy4uL3dpZGdldHMvZW50aXR5LWxpc3QvVXJsU2VyaWFsaXplcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcixcbiAgRmlsdGVyRGVzY3JpcHRvcixcbiAgU3RhdGUsXG59IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IEFjdGl2aXR5RmlsdGVyIH0gZnJvbSAnLi4vbW9kZWxzL0FjdGl2aXR5RmlsdGVyJztcbmltcG9ydCB7IEZpbHRlclRhcmdldHMgfSBmcm9tICcuLi9tb2RlbHMvRmlsdGVyVGFyZ2V0cyc7XG5pbXBvcnQgeyBPcGVyYXRvcnMgfSBmcm9tICcuLi9tb2RlbHMvT3BlcmF0b3JzJztcbmltcG9ydCB7IEN1c3RvbUZpbHRlciB9IGZyb20gJy4uL21vZGVscy9DdXN0b21GaWx0ZXInO1xuXG5jb25zdCBmaWx0ZXJLZXkgPSAnZmlsdGVyJztcbmNvbnN0IGZpbHRlcnNLZXkgPSAnZmlsdGVycyc7XG5jb25zdCBkYXRlVG9LZXkgPSAnZGF0ZVRvJztcbmNvbnN0IGRhdGVGcm9tS2V5ID0gJ2RhdGVGcm9tJztcbmNvbnN0IGN1c3RvbUZpbHRlcnNLZXkgPSAnY3VzdG9tRmlsdGVycyc7XG5jb25zdCBudWxsS2V5ID0gJ251bGwnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlGaWx0ZXJTZXJ2aWNlIHtcbiAgcHVibGljIGN1cnJlbnRGaWx0ZXI6IEFjdGl2aXR5RmlsdGVyO1xuICBwdWJsaWMgY3VycmVudEdyaWRTdGF0ZTogU3RhdGU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0RmlsdGVyOiBBY3Rpdml0eUZpbHRlciA9IHtcbiAgICBkYXRlVG86IG51bGwsXG4gICAgZGF0ZUZyb206IG51bGwsXG4gICAgc3dpdGNoVG9BcmNoaXZlOiBmYWxzZSxcbiAgICBzZWFyY2hUZXh0OiAnJyxcbiAgICBza2lwOiAwLFxuICAgIHRha2U6IDEwLFxuICB9O1xuXG4gIHByb3RlY3RlZCBEYXRlRmlsdGVyU3RhcnRGaWVsZE5hbWUgPSAnc3RhcnQnO1xuICBwcm90ZWN0ZWQgZmlsdGVyQmVoYXZpb3IgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFjdGl2aXR5RmlsdGVyPihcbiAgICB0aGlzLmRlZmF1bHRGaWx0ZXJcbiAgKTtcbiAgcHJvdGVjdGVkIGdyaWRTdGF0ZUJlaGF2aW9yID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTdGF0ZT4oXG4gICAgRmlsdGVyQ29udmVydGVyLnRvR3JpZFN0YXRlKFxuICAgICAgdGhpcy5kZWZhdWx0RmlsdGVyLFxuICAgICAgdGhpcy5EYXRlRmlsdGVyU3RhcnRGaWVsZE5hbWVcbiAgICApXG4gICk7XG5cbiAgcHVibGljIGZpbHRlciQgPSB0aGlzLmZpbHRlckJlaGF2aW9yLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgZ3JpZFN0YXRlJCA9IHRoaXMuZ3JpZFN0YXRlQmVoYXZpb3IuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRlZmF1bHRGaWx0ZXIpO1xuICAgIHRoaXMucm91dGUuZnJhZ21lbnQuc3Vic2NyaWJlKGFzeW5jIChmcmFnbWVudDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBwYXJzZWQgPSB1cmxEZXNlcmlhbGl6ZShuZXcgVVJMU2VhcmNoUGFyYW1zKGZyYWdtZW50KSk7XG4gICAgICBpZiAoT2JqZWN0LmtleXMocGFyc2VkKS5zb21lKChrZXkpID0+IGtleSA9PT0gZmlsdGVyS2V5KSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRHcmlkU3RhdGUgPSBwYXJzZWQgYXMgU3RhdGU7XG4gICAgICAgIHRoaXMuZmlsbEN1cnJlbnRGaWx0ZXIocGFyc2VkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuY2xlYXJGaWx0ZXIoKTtcbiAgICAgICAgdGhpcy5zZXRUb2RheURhdGVzKCk7XG4gICAgICAgIHRoaXMuY3VycmVudEdyaWRTdGF0ZSA9IEZpbHRlckNvbnZlcnRlci50b0dyaWRTdGF0ZShcbiAgICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIsXG4gICAgICAgICAgdGhpcy5EYXRlRmlsdGVyU3RhcnRGaWVsZE5hbWVcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5maWx0ZXJCZWhhdmlvci5uZXh0KHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgfSk7XG5cbiAgICB0aGlzLmZpbHRlciQuc3Vic2NyaWJlKChmaWx0ZXIpID0+IHtcbiAgICAgIHRoaXMuZ3JpZFN0YXRlQmVoYXZpb3IubmV4dChcbiAgICAgICAgRmlsdGVyQ29udmVydGVyLnRvR3JpZFN0YXRlKGZpbHRlciwgdGhpcy5EYXRlRmlsdGVyU3RhcnRGaWVsZE5hbWUpXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCkge1xuICAgIHRoaXMuY2xlYXJGaWx0ZXIoKTtcbiAgICB0aGlzLmFwcGx5RmlsdGVyKHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgdGhpcy5ncmlkU3RhdGVCZWhhdmlvci5uZXh0KHRoaXMuY3VycmVudEdyaWRTdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0RmlsdGVyKGZpbHRlcjogQWN0aXZpdHlGaWx0ZXIpIHtcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIuc2tpcCA9IDA7XG4gICAgdGhpcy5jdXJyZW50RmlsdGVyID0gT2JqZWN0LmFzc2lnbihmaWx0ZXIpO1xuICAgIHRoaXMuY3VycmVudEdyaWRTdGF0ZSA9IEZpbHRlckNvbnZlcnRlci50b0dyaWRTdGF0ZShcbiAgICAgIHRoaXMuY3VycmVudEZpbHRlcixcbiAgICAgIHRoaXMuRGF0ZUZpbHRlclN0YXJ0RmllbGROYW1lXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBhcHBseUZpbHRlcihmaWx0ZXI6IEFjdGl2aXR5RmlsdGVyKSB7XG4gICAgdGhpcy5zZXRGaWx0ZXIoZmlsdGVyKTtcbiAgICB0aGlzLnN0YXRlTmF2aWdhdGlvbih0aGlzLnByZXBhcmVGaWx0ZXJUb1NlcmlhbGl6ZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRUb2RheSgpIHtcbiAgICB0aGlzLnNldFRvZGF5RGF0ZXMoKTtcbiAgICB0aGlzLmFwcGx5RmlsdGVyKHRoaXMuY3VycmVudEZpbHRlcik7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJGaWx0ZXIoKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudEZpbHRlcikge1xuICAgICAgY29uc3QgY3VzdG9tRmlsdGVycyA9IE9iamVjdC5hc3NpZ24oW10sIHRoaXMuY3VycmVudEZpbHRlci5jdXN0b21GaWx0ZXJzKTtcbiAgICAgIGN1c3RvbUZpbHRlcnMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgICB4LnZhbHVlID0gbnVsbDtcbiAgICAgICAgaWYgKHgudmFsdWVzKSB7XG4gICAgICAgICAgeC52YWx1ZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRlZmF1bHRGaWx0ZXIpO1xuICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLmN1c3RvbUZpbHRlcnMgPSBjdXN0b21GaWx0ZXJzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmRlZmF1bHRGaWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRHcmlkU3RhdGUoc3RhdGU6IFN0YXRlKSB7XG4gICAgdGhpcy5jdXJyZW50R3JpZFN0YXRlID0gc3RhdGU7XG4gICAgY29uc3QgeyBzd2l0Y2hUb0FyY2hpdmUsIHNlYXJjaFRleHQgfSA9IHRoaXMuY3VycmVudEZpbHRlcjtcbiAgICB0aGlzLmNsZWFyRmlsdGVyKCk7XG4gICAgdGhpcy5jdXJyZW50RmlsdGVyID0gT2JqZWN0LmFzc2lnbih0aGlzLmN1cnJlbnRGaWx0ZXIsIHtcbiAgICAgIHN3aXRjaFRvQXJjaGl2ZSxcbiAgICAgIHNlYXJjaFRleHQsXG4gICAgfSk7XG4gICAgdGhpcy5maWxsQ3VycmVudEZpbHRlcih0aGlzLmN1cnJlbnRHcmlkU3RhdGUpO1xuICAgIHRoaXMuc3RhdGVOYXZpZ2F0aW9uKHRoaXMuY3VycmVudEdyaWRTdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0VG9kYXlEYXRlcygpIHtcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgIHRoaXMuY3VycmVudEZpbHRlci5kYXRlVG8gPSBuZXcgRGF0ZShcbiAgICAgIG5vdy5nZXRGdWxsWWVhcigpLFxuICAgICAgbm93LmdldE1vbnRoKCksXG4gICAgICBub3cuZ2V0RGF0ZSgpICsgMSxcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgMFxuICAgICk7XG4gICAgdGhpcy5jdXJyZW50RmlsdGVyLmRhdGVGcm9tID0gbmV3IERhdGUoXG4gICAgICBub3cuZ2V0RnVsbFllYXIoKSxcbiAgICAgIG5vdy5nZXRNb250aCgpLFxuICAgICAgbm93LmdldERhdGUoKSxcbiAgICAgIDAsXG4gICAgICAwLFxuICAgICAgMFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHN0YXRlTmF2aWdhdGlvbihvYmplY3Q6IE9iamVjdCkge1xuICAgIGNvbnN0IG5hdmlnYXRlID0gYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICBmcmFnbWVudDogdXJsU2VyaWFsaXplKG9iamVjdCksXG4gICAgfSk7XG4gICAgaWYgKCFuYXZpZ2F0ZSkge1xuICAgICAgdGhpcy5maWx0ZXJCZWhhdmlvci5uZXh0KHRoaXMuY3VycmVudEZpbHRlcik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcmVwYXJlRmlsdGVyVG9TZXJpYWxpemUoKTogb2JqZWN0IHtcbiAgICBjb25zdCByZXN1bHQgPSB7fTtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmN1cnJlbnRGaWx0ZXIpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBrZXkgIT09IGRhdGVUb0tleSAmJlxuICAgICAgICBrZXkgIT09IGRhdGVGcm9tS2V5ICYmXG4gICAgICAgIGtleSAhPT0gY3VzdG9tRmlsdGVyc0tleVxuICAgICAgKSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gdGhpcy5jdXJyZW50RmlsdGVyW2tleV07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIuY3VzdG9tRmlsdGVycz8uZm9yRWFjaCgoZmlsdGVyKSA9PiB7XG4gICAgICBpZiAoZmlsdGVyLmZpbHRlclRhcmdldCA9PSBGaWx0ZXJUYXJnZXRzLlVybCkge1xuICAgICAgICByZXN1bHRbZmlsdGVyLmZpZWxkXSA9IGZpbHRlci52YWx1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJlc3VsdFtmaWx0ZXJLZXldID0gRmlsdGVyQ29udmVydGVyLnRvR3JpZFN0YXRlKFxuICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLFxuICAgICAgdGhpcy5EYXRlRmlsdGVyU3RhcnRGaWVsZE5hbWVcbiAgICApLmZpbHRlcjtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIGZpbGxDdXJyZW50RmlsdGVyKG9iamVjdDogU3RhdGUpIHtcbiAgICB0aGlzLmN1cnJlbnRGaWx0ZXIuY3VzdG9tRmlsdGVycyA9IFtdO1xuICAgIHRoaXMuZmlsbEZyb21EZXNjcmlwdG9yKG9iamVjdC5maWx0ZXIpO1xuICAgIE9iamVjdC5rZXlzKG9iamVjdCkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICBpZiAoa2V5ICE9PSBmaWx0ZXJLZXkgJiYga2V5ICE9PSBudWxsS2V5ICYmIGtleSAhPT0gZmlsdGVyc0tleSkge1xuICAgICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5jdXJyZW50RmlsdGVyKS5zb21lKCh4KSA9PiB4ID09IGtleSkpIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXJba2V5XSA9IG9iamVjdFtrZXldO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZmlsbFVybEZpbHRlcihrZXksIG9iamVjdFtrZXldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaWxsVXJsRmlsdGVyKGtleTogc3RyaW5nLCB2YWw6IHN0cmluZykge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jdXJyZW50RmlsdGVyLmN1c3RvbUZpbHRlcnMuZmluZEluZGV4KFxuICAgICAgKGZpbHRlcikgPT4gZmlsdGVyLmZpZWxkID09IGtleVxuICAgICk7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLmN1c3RvbUZpbHRlcnNbaW5kZXhdLnZhbHVlID0gdmFsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIuY3VzdG9tRmlsdGVycy5wdXNoKHtcbiAgICAgICAgZmllbGQ6IGtleSxcbiAgICAgICAgdmFsdWU6IHZhbCxcbiAgICAgICAgb3BlcmF0b3I6IE9wZXJhdG9ycy5lcSxcbiAgICAgICAgZmlsdGVyVGFyZ2V0OiBGaWx0ZXJUYXJnZXRzLlVybCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsbEZyb21EZXNjcmlwdG9yKGdyaWRGaWx0ZXI6IENvbXBvc2l0ZUZpbHRlckRlc2NyaXB0b3IpIHtcbiAgICBncmlkRmlsdGVyPy5maWx0ZXJzLmZvckVhY2goXG4gICAgICAoZmlsdGVyOiBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yIHwgRmlsdGVyRGVzY3JpcHRvcikgPT4ge1xuICAgICAgICBjb25zdCBmaWx0ZXJEZXNjcmlwdG9yID0gZmlsdGVyIGFzIEZpbHRlckRlc2NyaXB0b3I7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBmaWx0ZXJEZXNjcmlwdG9yLmZpZWxkID09PSB0aGlzLkRhdGVGaWx0ZXJTdGFydEZpZWxkTmFtZSAmJlxuICAgICAgICAgIGZpbHRlckRlc2NyaXB0b3Iub3BlcmF0b3IgPT09IE9wZXJhdG9ycy5sdGVcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLmRhdGVUbyA9IGZpbHRlckRlc2NyaXB0b3IudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgZmlsdGVyRGVzY3JpcHRvci5maWVsZCA9PT0gdGhpcy5EYXRlRmlsdGVyU3RhcnRGaWVsZE5hbWUgJiZcbiAgICAgICAgICBmaWx0ZXJEZXNjcmlwdG9yLm9wZXJhdG9yID09PSBPcGVyYXRvcnMuZ3RlXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuY3VycmVudEZpbHRlci5kYXRlRnJvbSA9IGZpbHRlckRlc2NyaXB0b3IudmFsdWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgZmlsdGVyRGVzY3JpcHRvci5maWVsZCAmJlxuICAgICAgICAgIGZpbHRlckRlc2NyaXB0b3IuZmllbGQgIT09IHRoaXMuRGF0ZUZpbHRlclN0YXJ0RmllbGROYW1lXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuc2V0RmllbGRGaWx0ZXIoe1xuICAgICAgICAgICAgZmllbGQ6IGZpbHRlckRlc2NyaXB0b3IuZmllbGQgYXMgc3RyaW5nLFxuICAgICAgICAgICAgZmlsdGVyVGFyZ2V0OiBGaWx0ZXJUYXJnZXRzLkdyaWQsXG4gICAgICAgICAgICBvcGVyYXRvcjogT3BlcmF0b3JzW2ZpbHRlckRlc2NyaXB0b3Iub3BlcmF0b3IgYXMgc3RyaW5nXSxcbiAgICAgICAgICAgIHZhbHVlOiBmaWx0ZXJEZXNjcmlwdG9yLnZhbHVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciA9IGZpbHRlciBhcyBDb21wb3NpdGVGaWx0ZXJEZXNjcmlwdG9yO1xuICAgICAgICBpZiAoY29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvci5maWx0ZXJzKSB7XG4gICAgICAgICAgdGhpcy5maWxsRnJvbURlc2NyaXB0b3IoY29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGaWVsZEZpbHRlcihmaWx0ZXI6IEN1c3RvbUZpbHRlcikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jdXJyZW50RmlsdGVyLmN1c3RvbUZpbHRlcnMuZmluZEluZGV4KFxuICAgICAgKHgpID0+IHguZmllbGQgPT09IGZpbHRlci5maWVsZCAmJiB4Lm9wZXJhdG9yID09PSBmaWx0ZXIub3BlcmF0b3JcbiAgICApO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuY3VycmVudEZpbHRlci5jdXN0b21GaWx0ZXJzW2luZGV4XS52YWx1ZXM7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY3VycmVudEZpbHRlci5jdXN0b21GaWx0ZXJzW2luZGV4XS52YWx1ZTtcbiAgICAgIHRoaXMuY3VycmVudEZpbHRlci5jdXN0b21GaWx0ZXJzW2luZGV4XS52YWx1ZXMgPSB2YWx1ZXMgPyB2YWx1ZXMgOiBbXTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIuY3VzdG9tRmlsdGVyc1tpbmRleF0udmFsdWVzLnB1c2godmFsdWUgYXMgc3RyaW5nKTtcbiAgICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLmN1c3RvbUZpbHRlcnNbaW5kZXhdLnZhbHVlID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jdXJyZW50RmlsdGVyLmN1c3RvbUZpbHRlcnNbaW5kZXhdLnZhbHVlcy5wdXNoKFxuICAgICAgICBmaWx0ZXIudmFsdWUgYXMgc3RyaW5nXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmN1cnJlbnRGaWx0ZXIuY3VzdG9tRmlsdGVycy5wdXNoKGZpbHRlcik7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -13,9 +13,9 @@ export class AuthProviderResolver {
13
13
  provider.initialize().subscribe(() => this.AuthProvider$.next(provider));
14
14
  }
15
15
  }
16
- AuthProviderResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AuthProviderResolver, deps: [{ token: i1.MsalService }, { token: i2.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
17
- AuthProviderResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AuthProviderResolver, providedIn: 'root' });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AuthProviderResolver, decorators: [{
16
+ AuthProviderResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: AuthProviderResolver, deps: [{ token: i1.MsalService }, { token: i2.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable });
17
+ AuthProviderResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: AuthProviderResolver, providedIn: 'root' });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: AuthProviderResolver, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{
21
21
  providedIn: 'root',
@@ -8,9 +8,9 @@ export class PartnerService extends EntityService {
8
8
  super(httpService, endpoints.partners);
9
9
  }
10
10
  }
11
- PartnerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PartnerService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
12
- PartnerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PartnerService });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PartnerService, decorators: [{
11
+ PartnerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: PartnerService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
12
+ PartnerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: PartnerService });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: PartnerService, decorators: [{
14
14
  type: Injectable
15
15
  }], ctorParameters: function () { return [{ type: i1.HttpService }]; } });
16
16
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydG5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi9zZXJ2aWNlcy9wYXJ0bmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBR3hDLE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBeUI7SUFDM0QsWUFBWSxXQUF3QjtRQUNsQyxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDOzsyR0FIVSxjQUFjOytHQUFkLGNBQWM7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5hbWVkTW9kZWwgfSBmcm9tICcuLy4uL2FuZ3VsYXIvbW9kZWxzL05hbWVkTW9kZWwnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW50aXR5U2VydmljZSB9IGZyb20gJy4vZW50aXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tICcuLi9hbmd1bGFyL3NlcnZpY2VzL2h0dHAuc2VydmljZSc7XG5pbXBvcnQgeyBlbmRwb2ludHMgfSBmcm9tICcuL2VuZHBvaW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQYXJ0bmVyU2VydmljZSBleHRlbmRzIEVudGl0eVNlcnZpY2U8TmFtZWRNb2RlbD4ge1xuICBjb25zdHJ1Y3RvcihodHRwU2VydmljZTogSHR0cFNlcnZpY2UpIHtcbiAgICBzdXBlcihodHRwU2VydmljZSwgZW5kcG9pbnRzLnBhcnRuZXJzKTtcbiAgfVxufVxuIl19
@@ -48,9 +48,9 @@ export class PermissionsService {
48
48
  }));
49
49
  }
50
50
  }
51
- PermissionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PermissionsService, deps: [{ token: i1.HttpService }, { token: i2.AccountService }, { token: i3.SignalRService }], target: i0.ɵɵFactoryTarget.Injectable });
52
- PermissionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PermissionsService });
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PermissionsService, decorators: [{
51
+ PermissionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: PermissionsService, deps: [{ token: i1.HttpService }, { token: i2.AccountService }, { token: i3.SignalRService }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ PermissionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: PermissionsService });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: PermissionsService, decorators: [{
54
54
  type: Injectable
55
55
  }], ctorParameters: function () { return [{ type: i1.HttpService }, { type: i2.AccountService }, { type: i3.SignalRService }]; } });
56
56
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvc2VydmljZXMvcGVybWlzc2lvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUtuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUdyQyxNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQ1UsV0FBd0IsRUFDeEIsY0FBOEIsRUFDOUIsY0FBOEI7UUFGOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQU5oQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFNBQUksR0FBRyxJQUFJLGVBQWUsQ0FBYyxFQUFFLENBQUMsQ0FBQztRQU9qRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ2hELElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBRW5CLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxXQUFXO2lCQUNiLEdBQUcsQ0FBYyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztpQkFDNUMsU0FBUyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztnQkFDbkIsSUFBSSxDQUFDLGNBQWM7cUJBQ2hCLEVBQUUsQ0FBUyxVQUFVLENBQUMsa0JBQWtCLENBQUM7cUJBQ3pDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBdUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FDekIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQ3RDLENBQUM7SUFDSixDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztTQUNsQjtRQUVELE9BQU8sSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFjLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUN2RSxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUU1QixPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7K0dBcERVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlbmRwb2ludHMgfSBmcm9tICcuL2VuZHBvaW50cyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4vYWNjb3VudC5zZXJ2aWNlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWVtYmVyVHlwZXMgfSBmcm9tICcuLi9tb2RlbHMvTWVtYmVyVHlwZXMnO1xuaW1wb3J0IHsgUGVybWlzc2lvbnMgfSBmcm9tICcuLy4uL21vZGVscy9QZXJtaXNzaW9ucyc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uL2FuZ3VsYXIvc2VydmljZXMvaHR0cC5zZXJ2aWNlJztcbmltcG9ydCB7IFNpZ25hbFJTZXJ2aWNlIH0gZnJvbSAnLi9zaWduYWxyL3NpZ25hbHIuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudE5hbWVzIH0gZnJvbSAnLi9zaWduYWxyL0V2ZW50TmFtZXMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBsb2FkZWQgPSBmYWxzZTtcbiAgcHVibGljIG1pbmUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBlcm1pc3Npb25zPih7fSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwU2VydmljZTogSHR0cFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzaWduYWxSU2VydmljZTogU2lnbmFsUlNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5hY2NvdW50U2VydmljZS51c2VyLnN1YnNjcmliZShhc3luYyAodXNlcikgPT4ge1xuICAgICAgaWYgKCF1c2VyKSB7XG4gICAgICAgIHRoaXMubWluZS5uZXh0KHt9KTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaHR0cFNlcnZpY2VcbiAgICAgICAgLmdldDxQZXJtaXNzaW9ucz4oZW5kcG9pbnRzLnBlcm1pc3Npb25zLm1pbmUpXG4gICAgICAgIC5zdWJzY3JpYmUoKHBlcm1pc3Npb25zKSA9PiB7XG4gICAgICAgICAgdGhpcy5taW5lLm5leHQocGVybWlzc2lvbnMpO1xuICAgICAgICAgIHRoaXMubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnNpZ25hbFJTZXJ2aWNlXG4gICAgICAgICAgICAub248c3RyaW5nPihFdmVudE5hbWVzLlBlcm1pc3Npb25zVXBkYXRlZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmdldFBlcm1pc3Npb25zRnJvbVNlcnZlcigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldEFsbChtZW1iZXJUeXBlOiBNZW1iZXJUeXBlcyk6IE9ic2VydmFibGU8UGVybWlzc2lvbnM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwU2VydmljZS5nZXQ8UGVybWlzc2lvbnM+KFxuICAgICAgZW5kcG9pbnRzLnBlcm1pc3Npb25zLmFsbChtZW1iZXJUeXBlKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWluZSgpOiBPYnNlcnZhYmxlPFBlcm1pc3Npb25zPiB7XG4gICAgaWYgKHRoaXMubG9hZGVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5taW5lO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFBlcm1pc3Npb25zRnJvbVNlcnZlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJtaXNzaW9uc0Zyb21TZXJ2ZXIoKTogT2JzZXJ2YWJsZTxQZXJtaXNzaW9ucz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2aWNlLmdldDxQZXJtaXNzaW9ucz4oZW5kcG9pbnRzLnBlcm1pc3Npb25zLm1pbmUpLnBpcGUoXG4gICAgICBtYXAoKHBlcm1pc3Npb25zKSA9PiB7XG4gICAgICAgIHRoaXMubWluZS5uZXh0KHBlcm1pc3Npb25zKTtcblxuICAgICAgICByZXR1cm4gcGVybWlzc2lvbnM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -64,9 +64,9 @@ export class SignalRService {
64
64
  return this.eventEmitters[eventName];
65
65
  }
66
66
  }
67
- SignalRService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SignalRService, deps: [{ token: i1.AppSettings }], target: i0.ɵɵFactoryTarget.Injectable });
68
- SignalRService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SignalRService, providedIn: 'root' });
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SignalRService, decorators: [{
67
+ SignalRService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: SignalRService, deps: [{ token: i1.AppSettings }], target: i0.ɵɵFactoryTarget.Injectable });
68
+ SignalRService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: SignalRService, providedIn: 'root' });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: SignalRService, decorators: [{
70
70
  type: Injectable,
71
71
  args: [{ providedIn: 'root' }]
72
72
  }], ctorParameters: function () { return [{ type: i1.AppSettings }]; } });
@@ -2,11 +2,11 @@ import { Component, Input } from '@angular/core';
2
2
  import { FieldTypes } from '../../models/FieldTypes';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@ngx-translate/core";
5
- import * as i2 from "@progress/kendo-angular-dateinputs";
6
- import * as i3 from "@progress/kendo-angular-dropdowns";
7
- import * as i4 from "../current-timezone/current-timezone.component";
8
- import * as i5 from "@angular/common";
9
- import * as i6 from "@angular/forms";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "@angular/forms";
7
+ import * as i4 from "@progress/kendo-angular-dropdowns";
8
+ import * as i5 from "@progress/kendo-angular-dateinputs";
9
+ import * as i6 from "../current-timezone/current-timezone.component";
10
10
  const allKey = 'All';
11
11
  const defaultValueField = 'id';
12
12
  export class ActivityFilterComponent {
@@ -106,9 +106,9 @@ export class ActivityFilterComponent {
106
106
  });
107
107
  }
108
108
  }
109
- ActivityFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ActivityFilterComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
110
- ActivityFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ActivityFilterComponent, selector: "activity-filter", inputs: { showArchiveSwitcher: "showArchiveSwitcher", showSearhText: "showSearhText", customFilterElements: "customFilterElements", filterService: "filterService" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"header-selection-field activity-filter\">\n <div class=\"filter-row\">\n <div>\n <label for=\"datefrom\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateFrom' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateFrom\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label for=\"dateto\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateTo' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateTo\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label class=\"title-field\">\n <span class=\"link-button\" (click)=\"setTodayFilter()\">\n {{ 'ActivitiesFilter.FilterToday' | translate }}\n </span>\n </label>\n </div>\n <div class=\"filter-row\">\n <div class=\"flag\" *ngIf=\"showArchiveSwitcher\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n <div *ngIf=\"showSearhText\">\n <label class=\"title-field\">\n <span>{{ 'ActivitiesFilter.SearchLabel' | translate }}:</span>\n </label>\n <input\n type=\"text\"\n k-input\n class=\"input k-input searchtext-input\"\n [(ngModel)]=\"filter.searchText\"\n (keyup.enter)=\"applyFilter()\"\n [disabled]=\"filter.switchToArchive\"\n />\n </div>\n </div>\n </div>\n <div class=\"filter-row\">\n <ng-container *ngFor=\"let field of customFilterElements\">\n <ng-container [ngSwitch]=\"field.fieldType\">\n <ng-template [ngSwitchCase]=\"FieldTypes.Text\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <input\n type=\"text\"\n class=\"input k-input\"\n [(ngModel)]=\"field.filter.value\"\n [placeholder]=\"field.placeholder | translate\"\n />\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Dropdown\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-dropdownlist\n [data]=\"field.data\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [defaultItem]=\"defaultNamedModel\"\n [(ngModel)]=\"field.filter.value\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-dropdownlist>\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Checkbox\">\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"field.filter.value\" type=\"checkbox\" />\n {{ field.title | translate }}\n </label>\n </div>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Multiselect\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-multiselect\n kendoMultiSelectSummaryTag\n [autoClose]=\"false\"\n [data]=\"field.data\"\n [(ngModel)]=\"field.filter.values\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [valuePrimitive]=\"true\"\n [placeholder]=\"field.placeholder | translate\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-multiselect>\n </div>\n </label>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-inverse\" (click)=\"applyFilter()\">\n {{ 'Buttons.Apply' | translate }}\n </button>\n <button class=\"btn btn-inverse\" (click)=\"clearFilter()\">\n {{ 'Buttons.Clear' | translate }}\n </button>\n </div>\n </div>\n</div>\n<current-timezone></current-timezone>\n", styles: ["::ng-deep .filter-row{display:flex;flex-flow:row wrap;margin-bottom:20px}::ng-deep .filter-row>div{margin:0 10px 30px 5px;min-width:100px}::ng-deep .filter-row .title-field{margin:0;width:100%}::ng-deep .filter-row .flag{margin-top:10px!important}\n"], components: [{ type: i2.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["twoDigitYearMax", "focusableId", "title", "disabled", "readonly", "readOnlyInput", "cancelButton", "steps", "calendarType", "animateCalendarNavigation", "weekNumber", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "value", "format", "tabindex", "disabledDates", "popupSettings", "min", "max", "defaultTab", "size", "rounded", "fillMode", "formatPlaceholder", "placeholder", "focusedDate"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i3.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { type: i3.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "tabindex", "disabled", "readonly", "filterable", "listHeight", "clearButton", "tagMapper", "allowCustom", "valueNormalizer", "data", "value", "tabIndex", "size", "rounded", "fillMode", "placeholder", "itemDisabled", "checkboxes", "virtual", "popupSettings", "valuePrimitive", "loading", "valueField", "textField"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { type: i4.CurrentTimezoneComponent, selector: "current-timezone" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.SummaryTagDirective, selector: "[kendoMultiSelectSummaryTag]", inputs: ["kendoMultiSelectSummaryTag"] }], pipes: { "translate": i1.TranslatePipe } });
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ActivityFilterComponent, decorators: [{
109
+ ActivityFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ActivityFilterComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
110
+ ActivityFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: ActivityFilterComponent, selector: "activity-filter", inputs: { showArchiveSwitcher: "showArchiveSwitcher", showSearhText: "showSearhText", customFilterElements: "customFilterElements", filterService: "filterService" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"header-selection-field activity-filter\">\n <div class=\"filter-row\">\n <div>\n <label for=\"datefrom\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateFrom' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateFrom\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label for=\"dateto\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateTo' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateTo\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label class=\"title-field\">\n <span class=\"link-button\" (click)=\"setTodayFilter()\">\n {{ 'ActivitiesFilter.FilterToday' | translate }}\n </span>\n </label>\n </div>\n <div class=\"filter-row\">\n <div class=\"flag\" *ngIf=\"showArchiveSwitcher\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n <div *ngIf=\"showSearhText\">\n <label class=\"title-field\">\n <span>{{ 'ActivitiesFilter.SearchLabel' | translate }}:</span>\n </label>\n <input\n type=\"text\"\n k-input\n class=\"input k-input searchtext-input\"\n [(ngModel)]=\"filter.searchText\"\n (keyup.enter)=\"applyFilter()\"\n [disabled]=\"filter.switchToArchive\"\n />\n </div>\n </div>\n </div>\n <div class=\"filter-row\">\n <ng-container *ngFor=\"let field of customFilterElements\">\n <ng-container [ngSwitch]=\"field.fieldType\">\n <ng-template [ngSwitchCase]=\"FieldTypes.Text\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <input\n type=\"text\"\n class=\"input k-input\"\n [(ngModel)]=\"field.filter.value\"\n [placeholder]=\"field.placeholder | translate\"\n />\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Dropdown\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-dropdownlist\n [data]=\"field.data\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [defaultItem]=\"defaultNamedModel\"\n [(ngModel)]=\"field.filter.value\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-dropdownlist>\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Checkbox\">\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"field.filter.value\" type=\"checkbox\" />\n {{ field.title | translate }}\n </label>\n </div>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Multiselect\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-multiselect\n kendoMultiSelectSummaryTag\n [autoClose]=\"false\"\n [data]=\"field.data\"\n [(ngModel)]=\"field.filter.values\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [valuePrimitive]=\"true\"\n [placeholder]=\"field.placeholder | translate\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-multiselect>\n </div>\n </label>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-inverse\" (click)=\"applyFilter()\">\n {{ 'Buttons.Apply' | translate }}\n </button>\n <button class=\"btn btn-inverse\" (click)=\"clearFilter()\">\n {{ 'Buttons.Clear' | translate }}\n </button>\n </div>\n </div>\n</div>\n<current-timezone></current-timezone>\n", styles: ["::ng-deep .filter-row{display:flex;flex-flow:row wrap;margin-bottom:20px}::ng-deep .filter-row>div{margin:0 10px 30px 5px;min-width:100px}::ng-deep .filter-row .title-field{margin:0;width:100%}::ng-deep .filter-row .flag{margin-top:10px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "component", type: i4.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { kind: "directive", type: i4.SummaryTagDirective, selector: "[kendoMultiSelectSummaryTag]", inputs: ["kendoMultiSelectSummaryTag"] }, { kind: "component", type: i5.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "focusableId", "title", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { kind: "component", type: i6.CurrentTimezoneComponent, selector: "current-timezone" }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ActivityFilterComponent, decorators: [{
112
112
  type: Component,
113
113
  args: [{ selector: 'activity-filter', template: "<div class=\"header-selection-field activity-filter\">\n <div class=\"filter-row\">\n <div>\n <label for=\"datefrom\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateFrom' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateFrom\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label for=\"dateto\" class=\"title-field\">\n <span>{{ 'ActivitiesFilter.DateTo' | translate }}:</span>\n <div>\n <kendo-datetimepicker\n format=\"dd/MM/yyyy HH:mm\"\n [(value)]=\"filter.dateTo\"\n ></kendo-datetimepicker>\n </div>\n </label>\n </div>\n <div>\n <label class=\"title-field\">\n <span class=\"link-button\" (click)=\"setTodayFilter()\">\n {{ 'ActivitiesFilter.FilterToday' | translate }}\n </span>\n </label>\n </div>\n <div class=\"filter-row\">\n <div class=\"flag\" *ngIf=\"showArchiveSwitcher\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"filter.switchToArchive\" type=\"checkbox\" />\n {{ 'ActivitiesFilter.SwitchToArchiveLabel' | translate }}\n </label>\n </div>\n </div>\n <div *ngIf=\"showSearhText\">\n <label class=\"title-field\">\n <span>{{ 'ActivitiesFilter.SearchLabel' | translate }}:</span>\n </label>\n <input\n type=\"text\"\n k-input\n class=\"input k-input searchtext-input\"\n [(ngModel)]=\"filter.searchText\"\n (keyup.enter)=\"applyFilter()\"\n [disabled]=\"filter.switchToArchive\"\n />\n </div>\n </div>\n </div>\n <div class=\"filter-row\">\n <ng-container *ngFor=\"let field of customFilterElements\">\n <ng-container [ngSwitch]=\"field.fieldType\">\n <ng-template [ngSwitchCase]=\"FieldTypes.Text\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <input\n type=\"text\"\n class=\"input k-input\"\n [(ngModel)]=\"field.filter.value\"\n [placeholder]=\"field.placeholder | translate\"\n />\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Dropdown\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-dropdownlist\n [data]=\"field.data\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [defaultItem]=\"defaultNamedModel\"\n [(ngModel)]=\"field.filter.value\"\n [valuePrimitive]=\"true\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-dropdownlist>\n </div>\n </label>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Checkbox\">\n <div class=\"flag\">\n <div class=\"checkbox\">\n <label>\n <input [(ngModel)]=\"field.filter.value\" type=\"checkbox\" />\n {{ field.title | translate }}\n </label>\n </div>\n </div>\n </ng-template>\n <ng-template [ngSwitchCase]=\"FieldTypes.Multiselect\">\n <div>\n <label class=\"title-field\">\n <span>{{ field.title | translate }}:</span>\n <div>\n <kendo-multiselect\n kendoMultiSelectSummaryTag\n [autoClose]=\"false\"\n [data]=\"field.data\"\n [(ngModel)]=\"field.filter.values\"\n textField=\"name\"\n [valueField]=\"field.valueField\"\n [valuePrimitive]=\"true\"\n [placeholder]=\"field.placeholder | translate\"\n (valueChange)=\"fieldChange($event, field)\"\n ></kendo-multiselect>\n </div>\n </label>\n </div>\n </ng-template>\n </ng-container>\n </ng-container>\n <ng-content></ng-content>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-inverse\" (click)=\"applyFilter()\">\n {{ 'Buttons.Apply' | translate }}\n </button>\n <button class=\"btn btn-inverse\" (click)=\"clearFilter()\">\n {{ 'Buttons.Clear' | translate }}\n </button>\n </div>\n </div>\n</div>\n<current-timezone></current-timezone>\n", styles: ["::ng-deep .filter-row{display:flex;flex-flow:row wrap;margin-bottom:20px}::ng-deep .filter-row>div{margin:0 10px 30px 5px;min-width:100px}::ng-deep .filter-row .title-field{margin:0;width:100%}::ng-deep .filter-row .flag{margin-top:10px!important}\n"] }]
114
114
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; }, propDecorators: { showArchiveSwitcher: [{
@@ -1,8 +1,8 @@
1
1
  import { Component, ViewChild } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@progress/kendo-angular-dialog";
4
- import * as i2 from "@progress/kendo-angular-buttons";
5
- import * as i3 from "@ngx-translate/core";
4
+ import * as i2 from "@ngx-translate/core";
5
+ import * as i3 from "@progress/kendo-angular-buttons";
6
6
  export class ConfirmDialogComponent {
7
7
  constructor(dialogService) {
8
8
  this.dialogService = dialogService;
@@ -23,11 +23,11 @@ export class ConfirmDialogComponent {
23
23
  });
24
24
  }
25
25
  }
26
- ConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Component });
27
- ConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: ConfirmDialogComponent, selector: "confirm-dialog", viewQueries: [{ propertyName: "dialogActions", first: true, predicate: ["dialogActions"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #dialogActions>\n <button kendoButton (click)=\"cancel()\" translate=\"Cancel\"></button>\n <button kendoButton (click)=\"confirm()\" translate=\"Confirm\"></button>\n</ng-template>\n<div kendoDialogContainer></div>\n", styles: [""], directives: [{ type: i2.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "role", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i1.DialogContainerDirective, selector: "[kendoDialogContainer]" }] });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
26
+ ConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Component });
27
+ ConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: ConfirmDialogComponent, selector: "confirm-dialog", viewQueries: [{ propertyName: "dialogActions", first: true, predicate: ["dialogActions"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #dialogActions>\n <button kendoButton (click)=\"cancel()\" translate=\"Cancel\"></button>\n <button kendoButton (click)=\"confirm()\" translate=\"Confirm\"></button>\n</ng-template>\n<div kendoDialogContainer></div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i3.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: i1.DialogContainerDirective, selector: "[kendoDialogContainer]" }] });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
29
29
  type: Component,
30
- args: [{ selector: 'confirm-dialog', template: "<ng-template #dialogActions>\n <button kendoButton (click)=\"cancel()\" translate=\"Cancel\"></button>\n <button kendoButton (click)=\"confirm()\" translate=\"Confirm\"></button>\n</ng-template>\n<div kendoDialogContainer></div>\n", styles: [""] }]
30
+ args: [{ selector: 'confirm-dialog', template: "<ng-template #dialogActions>\n <button kendoButton (click)=\"cancel()\" translate=\"Cancel\"></button>\n <button kendoButton (click)=\"confirm()\" translate=\"Confirm\"></button>\n</ng-template>\n<div kendoDialogContainer></div>\n" }]
31
31
  }], ctorParameters: function () { return [{ type: i1.DialogService }]; }, propDecorators: { dialogActions: [{
32
32
  type: ViewChild,
33
33
  args: ['dialogActions', { static: true }]
@@ -10,10 +10,10 @@ export class CurrentTimezoneComponent {
10
10
  this.timeZoneAndOffset = timeZone + ' ' + moment().format('Z');
11
11
  }
12
12
  }
13
- CurrentTimezoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CurrentTimezoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- CurrentTimezoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: CurrentTimezoneComponent, selector: "current-timezone", ngImport: i0, template: "<div class=\"divide-line\"></div>\n<div class=\"time-zone\">\n {{ 'CurrentTimeZone' | translate }}: {{ timeZoneAndOffset }}\n</div>\n", styles: [""], pipes: { "translate": i1.TranslatePipe } });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CurrentTimezoneComponent, decorators: [{
13
+ CurrentTimezoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: CurrentTimezoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ CurrentTimezoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: CurrentTimezoneComponent, selector: "current-timezone", ngImport: i0, template: "<div class=\"divide-line\"></div>\n<div class=\"time-zone\">\n {{ 'CurrentTimeZone' | translate }}: {{ timeZoneAndOffset }}\n</div>\n", styles: [""], dependencies: [{ kind: "pipe", type: i1.TranslatePipe, name: "translate" }] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: CurrentTimezoneComponent, decorators: [{
16
16
  type: Component,
17
- args: [{ selector: 'current-timezone', template: "<div class=\"divide-line\"></div>\n<div class=\"time-zone\">\n {{ 'CurrentTimeZone' | translate }}: {{ timeZoneAndOffset }}\n</div>\n", styles: [""] }]
17
+ args: [{ selector: 'current-timezone', template: "<div class=\"divide-line\"></div>\n<div class=\"time-zone\">\n {{ 'CurrentTimeZone' | translate }}: {{ timeZoneAndOffset }}\n</div>\n" }]
18
18
  }], ctorParameters: function () { return []; } });
19
19
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC10aW1lem9uZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvY3VycmVudC10aW1lem9uZS9jdXJyZW50LXRpbWV6b25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9jdXJyZW50LXRpbWV6b25lL2N1cnJlbnQtdGltZXpvbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUNqRCxPQUFPLEtBQUssWUFBWSxNQUFNLGlCQUFpQixDQUFBOzs7QUFDL0MsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFlBQVksQ0FBQztBQU92RCxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLGdCQUFlLENBQUM7SUFFaEIsUUFBUTtRQUNOLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsR0FBRyxHQUFHLEdBQUcsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7O3FIQVBVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHdEQ1RyQyx3SUFJQTsyRkRLYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0Usa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0ICogYXMgbW9tZW50TW9kdWxlIGZyb20gJ21vbWVudC10aW1lem9uZSdcbmNvbnN0IG1vbWVudCA9IG1vbWVudE1vZHVsZVsnZGVmYXVsdCddIHx8IG1vbWVudE1vZHVsZTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3VycmVudC10aW1lem9uZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXJyZW50LXRpbWV6b25lLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VycmVudC10aW1lem9uZS5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEN1cnJlbnRUaW1lem9uZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyB0aW1lWm9uZUFuZE9mZnNldDogc3RyaW5nO1xuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3QgdGltZVpvbmUgPSBtb21lbnQudHouZ3Vlc3MoKTtcbiAgICB0aGlzLnRpbWVab25lQW5kT2Zmc2V0ID0gdGltZVpvbmUgKyAnICcgKyBtb21lbnQoKS5mb3JtYXQoJ1onKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRpdmlkZS1saW5lXCI+PC9kaXY+XG48ZGl2IGNsYXNzPVwidGltZS16b25lXCI+XG4gIHt7ICdDdXJyZW50VGltZVpvbmUnIHwgdHJhbnNsYXRlIH19OiB7eyB0aW1lWm9uZUFuZE9mZnNldCB9fVxuPC9kaXY+XG4iXX0=
@@ -8,11 +8,11 @@ export class EntityEditButtonsBarComponent {
8
8
  this.save = new EventEmitter();
9
9
  }
10
10
  }
11
- EntityEditButtonsBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityEditButtonsBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- EntityEditButtonsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: { valid: "valid" }, outputs: { save: "save" }, ngImport: i0, template: "<div class=\"form-group buttons-panel\">\n <div class=\"col-md-4\">\n <a\n [routerLink]=\"['../new']\"\n preserveFragment\n class=\"btn btn-succes\"\n translate=\"CreateNew\"\n requirePermission\n permissionType=\"Create\"\n >\n </a>\n </div>\n <div class=\"col-md-8 text-right\">\n <a\n [routerLink]=\"['../']\"\n preserveFragment\n class=\"btn btn-inverse\"\n translate=\"Cancel\"\n ></a>\n <button\n type=\"submit\"\n class=\"btn btn-success\"\n (click)=\"save.emit()\"\n translate=\"Save\"\n [disabled]=\"!valid\"\n requirePermission\n [permissionType]=\"['Edit', 'Create']\"\n ></button>\n </div>\n</div>\n", styles: [""], directives: [{ type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i3.RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityEditButtonsBarComponent, decorators: [{
11
+ EntityEditButtonsBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: EntityEditButtonsBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ EntityEditButtonsBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: { valid: "valid" }, outputs: { save: "save" }, ngImport: i0, template: "<div class=\"form-group buttons-panel\">\n <div class=\"col-md-4\">\n <a\n [routerLink]=\"['../new']\"\n preserveFragment\n class=\"btn btn-succes\"\n translate=\"CreateNew\"\n requirePermission\n permissionType=\"Create\"\n >\n </a>\n </div>\n <div class=\"col-md-8 text-right\">\n <a\n [routerLink]=\"['../']\"\n preserveFragment\n class=\"btn btn-inverse\"\n translate=\"Cancel\"\n ></a>\n <button\n type=\"submit\"\n class=\"btn btn-success\"\n (click)=\"save.emit()\"\n translate=\"Save\"\n [disabled]=\"!valid\"\n requirePermission\n [permissionType]=\"['Edit', 'Create']\"\n ></button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i3.RequirePermissionDirective, selector: "[requirePermission]", inputs: ["permissionType", "permissionCategory"] }] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: EntityEditButtonsBarComponent, decorators: [{
14
14
  type: Component,
15
- args: [{ selector: 'entity-edit-buttons-bar', template: "<div class=\"form-group buttons-panel\">\n <div class=\"col-md-4\">\n <a\n [routerLink]=\"['../new']\"\n preserveFragment\n class=\"btn btn-succes\"\n translate=\"CreateNew\"\n requirePermission\n permissionType=\"Create\"\n >\n </a>\n </div>\n <div class=\"col-md-8 text-right\">\n <a\n [routerLink]=\"['../']\"\n preserveFragment\n class=\"btn btn-inverse\"\n translate=\"Cancel\"\n ></a>\n <button\n type=\"submit\"\n class=\"btn btn-success\"\n (click)=\"save.emit()\"\n translate=\"Save\"\n [disabled]=\"!valid\"\n requirePermission\n [permissionType]=\"['Edit', 'Create']\"\n ></button>\n </div>\n</div>\n", styles: [""] }]
15
+ args: [{ selector: 'entity-edit-buttons-bar', template: "<div class=\"form-group buttons-panel\">\n <div class=\"col-md-4\">\n <a\n [routerLink]=\"['../new']\"\n preserveFragment\n class=\"btn btn-succes\"\n translate=\"CreateNew\"\n requirePermission\n permissionType=\"Create\"\n >\n </a>\n </div>\n <div class=\"col-md-8 text-right\">\n <a\n [routerLink]=\"['../']\"\n preserveFragment\n class=\"btn btn-inverse\"\n translate=\"Cancel\"\n ></a>\n <button\n type=\"submit\"\n class=\"btn btn-success\"\n (click)=\"save.emit()\"\n translate=\"Save\"\n [disabled]=\"!valid\"\n requirePermission\n [permissionType]=\"['Edit', 'Create']\"\n ></button>\n </div>\n</div>\n" }]
16
16
  }], propDecorators: { valid: [{
17
17
  type: Input
18
18
  }], save: [{
@@ -1,39 +1,41 @@
1
1
  import { ViewChild, Component, Input } from '@angular/core';
2
- import { FormControl } from '@angular/forms';
2
+ import { UntypedFormControl } from '@angular/forms';
3
3
  import { FormGroupWithErrors } from '../../angular/forms/extensions/FormGroupWithErrors';
4
4
  import { finalize } from 'rxjs/operators';
5
+ import { BehaviorSubject } from 'rxjs';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/router";
7
- import * as i2 from "../../angular/forms/widgets/general-errors/general-errors.component";
8
- import * as i3 from "./buttons-bar/buttons-bar.component";
9
- import * as i4 from "@angular/common";
10
- import * as i5 from "@angular/forms";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "../../angular/forms/widgets/general-errors/general-errors.component";
10
+ import * as i4 from "@angular/forms";
11
+ import * as i5 from "./buttons-bar/buttons-bar.component";
11
12
  import * as i6 from "@ngx-translate/core";
12
13
  export class EntityEditFormComponent {
13
14
  constructor(route) {
14
15
  this.route = route;
16
+ this.formGroup = new BehaviorSubject(null);
15
17
  this.saveInProgress = false;
16
18
  }
17
19
  ngOnInit() {
18
20
  this.route.params.subscribe((params) => {
19
- this.formGroup = null;
21
+ this.formGroup.next(null);
20
22
  const formGroup = new FormGroupWithErrors({});
21
23
  if (params.id) {
22
24
  this.adapter
23
25
  .getService()
24
26
  .get(params.id)
25
27
  .subscribe((model) => {
26
- formGroup.addControl('id', new FormControl(model.id));
28
+ formGroup.addControl('id', new UntypedFormControl(model.id));
27
29
  for (const key of Object.keys(model)) {
28
- formGroup.addControl(key, new FormControl(model[key]));
30
+ formGroup.addControl(key, new UntypedFormControl(model[key]));
29
31
  }
30
32
  this.adapter.setForm(formGroup);
31
- this.formGroup = formGroup;
33
+ this.formGroup.next(formGroup);
32
34
  });
33
35
  }
34
36
  else {
35
37
  this.adapter.setForm(formGroup);
36
- this.formGroup = formGroup;
38
+ this.formGroup.next(formGroup);
37
39
  }
38
40
  });
39
41
  }
@@ -46,16 +48,16 @@ export class EntityEditFormComponent {
46
48
  .subscribe((result) => {
47
49
  this.adapter.onSaved(result);
48
50
  }, (error) => {
49
- this.formGroup.applyServerErrors(error.error, this.formGroup);
50
- this.generalErrors.setErrors(this.formGroup.generalErrors);
51
+ this.formGroup.value.applyServerErrors(error.error, this.formGroup.value);
52
+ this.generalErrors.setErrors(this.formGroup.value.generalErrors);
51
53
  });
52
54
  }
53
55
  }
54
- EntityEditFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityEditFormComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
55
- EntityEditFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: EntityEditFormComponent, selector: "entity-edit-form", inputs: { title: "title", adapter: "adapter" }, viewQueries: [{ propertyName: "generalErrors", first: true, predicate: ["general_errors"], descendants: true }], ngImport: i0, template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"formGroup.valid && formGroup.dirty && !saveInProgress\"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""], components: [{ type: i2.GeneralErrorsComponent, selector: "app-general-errors", inputs: ["form"] }, { type: i3.EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: ["valid"], outputs: ["save"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], pipes: { "translate": i6.TranslatePipe } });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: EntityEditFormComponent, decorators: [{
56
+ EntityEditFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: EntityEditFormComponent, deps: [{ token: i1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
57
+ EntityEditFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: EntityEditFormComponent, selector: "entity-edit-form", inputs: { title: "title", adapter: "adapter" }, viewQueries: [{ propertyName: "generalErrors", first: true, predicate: ["general_errors"], descendants: true }], ngImport: i0, template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup | async\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup | async\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup | async\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"\n formGroup.value.valid && formGroup.value.dirty && !saveInProgress\n \"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.GeneralErrorsComponent, selector: "app-general-errors", inputs: ["form"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.EntityEditButtonsBarComponent, selector: "entity-edit-buttons-bar", inputs: ["valid"], outputs: ["save"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: EntityEditFormComponent, decorators: [{
57
59
  type: Component,
58
- args: [{ selector: 'entity-edit-form', template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"formGroup.valid && formGroup.dirty && !saveInProgress\"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n", styles: [""] }]
60
+ args: [{ selector: 'entity-edit-form', template: "<div class=\"col-md-8\">\n <header class=\"header-page-bg\">\n <h4>{{ title | translate }}</h4>\n </header>\n <div class=\"panel editor-area hero-unit\">\n <form\n class=\"form-horizontal\"\n [formGroup]=\"formGroup | async\"\n novalidate\n autocomplete=\"off\"\n *ngIf=\"formGroup | async\"\n >\n <div class=\"col-md-3\"></div>\n <div class=\"col-md-9\">\n <app-general-errors\n #general_errors\n [form]=\"formGroup | async\"\n ></app-general-errors>\n </div>\n <ng-content></ng-content>\n <entity-edit-buttons-bar\n (save)=\"save()\"\n [valid]=\"\n formGroup.value.valid && formGroup.value.dirty && !saveInProgress\n \"\n >\n </entity-edit-buttons-bar>\n </form>\n </div>\n</div>\n" }]
59
61
  }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }]; }, propDecorators: { generalErrors: [{
60
62
  type: ViewChild,
61
63
  args: ['general_errors']
@@ -64,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
64
66
  }], adapter: [{
65
67
  type: Input
66
68
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBR3pGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLHVCQUF1QjtJQVdsQyxZQUFvQixLQUFxQjtRQUFyQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN2QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQXVCLEVBQUUsRUFBRTtZQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixNQUFNLFNBQVMsR0FBRyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLElBQUksTUFBTSxDQUFDLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsT0FBTztxQkFDVCxVQUFVLEVBQUU7cUJBQ1osR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7cUJBQ2QsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ25CLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUN0RCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7d0JBQ3BDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3hEO29CQUVELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLENBQUM7YUFDTjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7YUFDNUI7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU87YUFDVCxVQUFVLEVBQUU7YUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ25ELFNBQVMsQ0FDUixDQUFDLE1BQXVCLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixDQUFDLEVBQ0QsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQzs7b0hBdERVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHlOQ2ZwQyw2dkJBNEJBOzJGRGJhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0I7cUdBTzVCLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBRzNCLEtBQUs7c0JBREosS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQsIFZpZXdDaGlsZCwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElGb3JtQWRhcHRlciB9IGZyb20gJy4vSUZvcm1BZGFwdGVyJztcbmltcG9ydCB7IEZvcm1Hcm91cFdpdGhFcnJvcnMgfSBmcm9tICcuLi8uLi9hbmd1bGFyL2Zvcm1zL2V4dGVuc2lvbnMvRm9ybUdyb3VwV2l0aEVycm9ycyc7XG5pbXBvcnQgeyBHZW5lcmFsRXJyb3JzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYW5ndWxhci9mb3Jtcy93aWRnZXRzL2dlbmVyYWwtZXJyb3JzL2dlbmVyYWwtZXJyb3JzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZGVudGlmaWVkTW9kZWwgfSBmcm9tICcuLi8uLi9hbmd1bGFyL21vZGVscy9JZGVudGlmaWVkTW9kZWwnO1xuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VudGl0eS1lZGl0LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS1lZGl0LWZvcm0uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFbnRpdHlFZGl0Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cFdpdGhFcnJvcnM7XG4gIEBWaWV3Q2hpbGQoJ2dlbmVyYWxfZXJyb3JzJylcbiAgZ2VuZXJhbEVycm9yczogR2VuZXJhbEVycm9yc0NvbXBvbmVudDtcbiAgQElucHV0KClcbiAgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KClcbiAgYWRhcHRlcjogSUZvcm1BZGFwdGVyPElkZW50aWZpZWRNb2RlbD47XG5cbiAgcHVibGljIHNhdmVJblByb2dyZXNzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XG4gICAgdGhpcy5zYXZlSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKChwYXJhbXM6IElkZW50aWZpZWRNb2RlbCkgPT4ge1xuICAgICAgdGhpcy5mb3JtR3JvdXAgPSBudWxsO1xuICAgICAgY29uc3QgZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cFdpdGhFcnJvcnMoe30pO1xuICAgICAgaWYgKHBhcmFtcy5pZCkge1xuICAgICAgICB0aGlzLmFkYXB0ZXJcbiAgICAgICAgICAuZ2V0U2VydmljZSgpXG4gICAgICAgICAgLmdldChwYXJhbXMuaWQpXG4gICAgICAgICAgLnN1YnNjcmliZSgobW9kZWwpID0+IHtcbiAgICAgICAgICAgIGZvcm1Hcm91cC5hZGRDb250cm9sKCdpZCcsIG5ldyBGb3JtQ29udHJvbChtb2RlbC5pZCkpO1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobW9kZWwpKSB7XG4gICAgICAgICAgICAgIGZvcm1Hcm91cC5hZGRDb250cm9sKGtleSwgbmV3IEZvcm1Db250cm9sKG1vZGVsW2tleV0pKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5hZGFwdGVyLnNldEZvcm0oZm9ybUdyb3VwKTtcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwID0gZm9ybUdyb3VwO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hZGFwdGVyLnNldEZvcm0oZm9ybUdyb3VwKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAgPSBmb3JtR3JvdXA7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzYXZlKCk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZUluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIHRoaXMuYWRhcHRlclxuICAgICAgLmdldFNlcnZpY2UoKVxuICAgICAgLnNhdmUodGhpcy5hZGFwdGVyLmdldFZhbHVlKCkpXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5zYXZlSW5Qcm9ncmVzcyA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAocmVzdWx0OiBJZGVudGlmaWVkTW9kZWwpID0+IHtcbiAgICAgICAgICB0aGlzLmFkYXB0ZXIub25TYXZlZChyZXN1bHQpO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5mb3JtR3JvdXAuYXBwbHlTZXJ2ZXJFcnJvcnMoZXJyb3IuZXJyb3IsIHRoaXMuZm9ybUdyb3VwKTtcbiAgICAgICAgICB0aGlzLmdlbmVyYWxFcnJvcnMuc2V0RXJyb3JzKHRoaXMuZm9ybUdyb3VwLmdlbmVyYWxFcnJvcnMpO1xuICAgICAgICB9XG4gICAgICApO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29sLW1kLThcIj5cbiAgPGhlYWRlciBjbGFzcz1cImhlYWRlci1wYWdlLWJnXCI+XG4gICAgPGg0Pnt7IHRpdGxlIHwgdHJhbnNsYXRlIH19PC9oND5cbiAgPC9oZWFkZXI+XG4gIDxkaXYgY2xhc3M9XCJwYW5lbCBlZGl0b3ItYXJlYSBoZXJvLXVuaXRcIj5cbiAgICA8Zm9ybVxuICAgICAgY2xhc3M9XCJmb3JtLWhvcml6b250YWxcIlxuICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgbm92YWxpZGF0ZVxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICpuZ0lmPVwiZm9ybUdyb3VwXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTNcIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtOVwiPlxuICAgICAgICA8YXBwLWdlbmVyYWwtZXJyb3JzXG4gICAgICAgICAgI2dlbmVyYWxfZXJyb3JzXG4gICAgICAgICAgW2Zvcm1dPVwiZm9ybUdyb3VwXCJcbiAgICAgICAgPjwvYXBwLWdlbmVyYWwtZXJyb3JzPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8ZW50aXR5LWVkaXQtYnV0dG9ucy1iYXJcbiAgICAgICAgKHNhdmUpPVwic2F2ZSgpXCJcbiAgICAgICAgW3ZhbGlkXT1cImZvcm1Hcm91cC52YWxpZCAmJiBmb3JtR3JvdXAuZGlydHkgJiYgIXNhdmVJblByb2dyZXNzXCJcbiAgICAgID5cbiAgICAgIDwvZW50aXR5LWVkaXQtYnV0dG9ucy1iYXI+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZW5kby9zcmMvbGliL3dpZGdldHMvZW50aXR5LWVkaXQvZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFHekYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBT3ZDLE1BQU0sT0FBTyx1QkFBdUI7SUFZbEMsWUFBb0IsS0FBcUI7UUFBckIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFYbEMsY0FBUyxHQUNkLElBQUksZUFBZSxDQUFzQixJQUFJLENBQUMsQ0FBQztRQVcvQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQXVCLEVBQUUsRUFBRTtZQUN0RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQixNQUFNLFNBQVMsR0FBRyxJQUFJLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzlDLElBQUksTUFBTSxDQUFDLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsT0FBTztxQkFDVCxVQUFVLEVBQUU7cUJBQ1osR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7cUJBQ2QsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ25CLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzdELEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTt3QkFDcEMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUMvRDtvQkFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2pDLENBQUMsQ0FBQyxDQUFDO2FBQ047aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2hDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPO2FBQ1QsVUFBVSxFQUFFO2FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNuRCxTQUFTLENBQ1IsQ0FBQyxNQUF1QixFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxFQUNELENBQUMsS0FBd0IsRUFBRSxFQUFFO1lBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUNwQyxLQUFLLENBQUMsS0FBSyxFQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUNyQixDQUFDO1lBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDOztvSEExRFUsdUJBQXVCO3dHQUF2Qix1QkFBdUIseU5DaEJwQyx1ekJBOEJBOzJGRGRhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0I7cUdBUTVCLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBRzNCLEtBQUs7c0JBREosS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQsIFZpZXdDaGlsZCwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJRm9ybUFkYXB0ZXIgfSBmcm9tICcuL0lGb3JtQWRhcHRlcic7XG5pbXBvcnQgeyBGb3JtR3JvdXBXaXRoRXJyb3JzIH0gZnJvbSAnLi4vLi4vYW5ndWxhci9mb3Jtcy9leHRlbnNpb25zL0Zvcm1Hcm91cFdpdGhFcnJvcnMnO1xuaW1wb3J0IHsgR2VuZXJhbEVycm9yc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2FuZ3VsYXIvZm9ybXMvd2lkZ2V0cy9nZW5lcmFsLWVycm9ycy9nZW5lcmFsLWVycm9ycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWRlbnRpZmllZE1vZGVsIH0gZnJvbSAnLi4vLi4vYW5ndWxhci9tb2RlbHMvSWRlbnRpZmllZE1vZGVsJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VudGl0eS1lZGl0LWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZW50aXR5LWVkaXQtZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VudGl0eS1lZGl0LWZvcm0uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFbnRpdHlFZGl0Rm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBmb3JtR3JvdXA6IEJlaGF2aW9yU3ViamVjdDxGb3JtR3JvdXBXaXRoRXJyb3JzPiA9XG4gICAgbmV3IEJlaGF2aW9yU3ViamVjdDxGb3JtR3JvdXBXaXRoRXJyb3JzPihudWxsKTtcbiAgQFZpZXdDaGlsZCgnZ2VuZXJhbF9lcnJvcnMnKVxuICBnZW5lcmFsRXJyb3JzOiBHZW5lcmFsRXJyb3JzQ29tcG9uZW50O1xuICBASW5wdXQoKVxuICB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBhZGFwdGVyOiBJRm9ybUFkYXB0ZXI8SWRlbnRpZmllZE1vZGVsPjtcblxuICBwdWJsaWMgc2F2ZUluUHJvZ3Jlc3M6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUpIHtcbiAgICB0aGlzLnNhdmVJblByb2dyZXNzID0gZmFsc2U7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtczogSWRlbnRpZmllZE1vZGVsKSA9PiB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5uZXh0KG51bGwpO1xuICAgICAgY29uc3QgZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cFdpdGhFcnJvcnMoe30pO1xuICAgICAgaWYgKHBhcmFtcy5pZCkge1xuICAgICAgICB0aGlzLmFkYXB0ZXJcbiAgICAgICAgICAuZ2V0U2VydmljZSgpXG4gICAgICAgICAgLmdldChwYXJhbXMuaWQpXG4gICAgICAgICAgLnN1YnNjcmliZSgobW9kZWwpID0+IHtcbiAgICAgICAgICAgIGZvcm1Hcm91cC5hZGRDb250cm9sKCdpZCcsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobW9kZWwuaWQpKTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG1vZGVsKSkge1xuICAgICAgICAgICAgICBmb3JtR3JvdXAuYWRkQ29udHJvbChrZXksIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wobW9kZWxba2V5XSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmFkYXB0ZXIuc2V0Rm9ybShmb3JtR3JvdXApO1xuICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAubmV4dChmb3JtR3JvdXApO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hZGFwdGVyLnNldEZvcm0oZm9ybUdyb3VwKTtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAubmV4dChmb3JtR3JvdXApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNhdmVJblByb2dyZXNzID0gdHJ1ZTtcbiAgICB0aGlzLmFkYXB0ZXJcbiAgICAgIC5nZXRTZXJ2aWNlKClcbiAgICAgIC5zYXZlKHRoaXMuYWRhcHRlci5nZXRWYWx1ZSgpKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMuc2F2ZUluUHJvZ3Jlc3MgPSBmYWxzZSkpKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgKHJlc3VsdDogSWRlbnRpZmllZE1vZGVsKSA9PiB7XG4gICAgICAgICAgdGhpcy5hZGFwdGVyLm9uU2F2ZWQocmVzdWx0KTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnZhbHVlLmFwcGx5U2VydmVyRXJyb3JzKFxuICAgICAgICAgICAgZXJyb3IuZXJyb3IsXG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZVxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5nZW5lcmFsRXJyb3JzLnNldEVycm9ycyh0aGlzLmZvcm1Hcm91cC52YWx1ZS5nZW5lcmFsRXJyb3JzKTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbC1tZC04XCI+XG4gIDxoZWFkZXIgY2xhc3M9XCJoZWFkZXItcGFnZS1iZ1wiPlxuICAgIDxoND57eyB0aXRsZSB8IHRyYW5zbGF0ZSB9fTwvaDQ+XG4gIDwvaGVhZGVyPlxuICA8ZGl2IGNsYXNzPVwicGFuZWwgZWRpdG9yLWFyZWEgaGVyby11bml0XCI+XG4gICAgPGZvcm1cbiAgICAgIGNsYXNzPVwiZm9ybS1ob3Jpem9udGFsXCJcbiAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwIHwgYXN5bmNcIlxuICAgICAgbm92YWxpZGF0ZVxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgICpuZ0lmPVwiZm9ybUdyb3VwIHwgYXN5bmNcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtM1wiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC05XCI+XG4gICAgICAgIDxhcHAtZ2VuZXJhbC1lcnJvcnNcbiAgICAgICAgICAjZ2VuZXJhbF9lcnJvcnNcbiAgICAgICAgICBbZm9ybV09XCJmb3JtR3JvdXAgfCBhc3luY1wiXG4gICAgICAgID48L2FwcC1nZW5lcmFsLWVycm9ycz5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGVudGl0eS1lZGl0LWJ1dHRvbnMtYmFyXG4gICAgICAgIChzYXZlKT1cInNhdmUoKVwiXG4gICAgICAgIFt2YWxpZF09XCJcbiAgICAgICAgICBmb3JtR3JvdXAudmFsdWUudmFsaWQgJiYgZm9ybUdyb3VwLnZhbHVlLmRpcnR5ICYmICFzYXZlSW5Qcm9ncmVzc1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgPC9lbnRpdHktZWRpdC1idXR0b25zLWJhcj5cbiAgICA8L2Zvcm0+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -3,9 +3,9 @@ import { ControlContainer, FormGroupDirective, } from '@angular/forms';
3
3
  import { FieldComponent } from '../../../angular/forms/widgets/field/field.component';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/forms";
6
- import * as i2 from "@progress/kendo-angular-dropdowns";
6
+ import * as i2 from "@angular/common";
7
7
  import * as i3 from "@ngx-translate/core";
8
- import * as i4 from "@angular/common";
8
+ import * as i4 from "@progress/kendo-angular-dropdowns";
9
9
  export class FieldDropdownComponent extends FieldComponent {
10
10
  constructor(parent, eref) {
11
11
  super(parent, eref, '');
@@ -26,15 +26,15 @@ export class FieldDropdownComponent extends FieldComponent {
26
26
  .subscribe((data) => (this.data = data.data));
27
27
  }
28
28
  }
29
- FieldDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldDropdownComponent, deps: [{ token: i1.FormGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
30
- FieldDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: FieldDropdownComponent, selector: "field-dropdown", inputs: { service: "service", rebind: "rebind", filter: "filter" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", styles: [""], components: [{ type: i2.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["listHeight", "disabled", "readonly", "filterable", "ignoreCase", "delay", "tabindex", "id", "data", "value", "popupSettings", "itemDisabled", "virtual", "valuePrimitive", "tabIndex", "size", "rounded", "fillMode", "iconClass", "loading", "textField", "valueField", "defaultItem"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "translate": i3.TranslatePipe }, viewProviders: [
29
+ FieldDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: FieldDropdownComponent, deps: [{ token: i1.FormGroupDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
30
+ FieldDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.4", type: FieldDropdownComponent, selector: "field-dropdown", inputs: { service: "service", rebind: "rebind", filter: "filter" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], viewProviders: [
31
31
  { provide: ControlContainer, useExisting: FormGroupDirective },
32
32
  ] });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FieldDropdownComponent, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.4", ngImport: i0, type: FieldDropdownComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: 'field-dropdown', viewProviders: [
36
36
  { provide: ControlContainer, useExisting: FormGroupDirective },
37
- ], template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n", styles: [""] }]
37
+ ], template: "<div class=\"form-group\">\n <label\n for=\"{{ '_' + fieldName }}\"\n class=\"col-md-3 control-label\"\n translate=\"{{ labelKey }}\"\n ></label>\n <div class=\"col-md-9\" *ngIf=\"control\">\n <kendo-dropdownlist\n id=\"{{ '_' + fieldName }}\"\n [formControl]=\"control\"\n [data]=\"data\"\n textField=\"name\"\n valueField=\"id\"\n [valuePrimitive]=\"true\"\n >\n </kendo-dropdownlist>\n\n <div class=\"bg-danger\" *ngIf=\"control.invalid && control.touched\">\n <span *ngIf=\"control.errors['required']\">{{\n 'Required' | translate: { param0: labelKey | translate }\n }}</span>\n <span *ngIf=\"control.errors['serverErrorMsg']\">{{\n control.errors['serverErrorMsg']\n }}</span>\n </div>\n </div>\n</div>\n" }]
38
38
  }], ctorParameters: function () { return [{ type: i1.FormGroupDirective }, { type: i0.ElementRef }]; }, propDecorators: { service: [{
39
39
  type: Input
40
40
  }], rebind: [{
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
42
42
  }], filter: [{
43
43
  type: Input
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1lZGl0L2ZpZWxkLWRyb3Bkb3duL2ZpZWxkLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktZWRpdC9maWVsZC1kcm9wZG93bi9maWVsZC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsR0FFbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7OztBQWF0RixNQUFNLE9BQU8sc0JBQ1gsU0FBUSxjQUFzQjtJQWM5QixZQUFtQixNQUEwQixFQUFTLElBQWdCO1FBQ3BFLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRFAsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBTHRFLFNBQUksR0FBc0IsRUFBRSxDQUFDO0lBTzdCLENBQUM7SUFORCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQU1ELEtBQUssQ0FBQyxXQUFXO1FBQ2YsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ25CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN4RSxDQUFDO0lBQ0osQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsT0FBTzthQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUNuRCxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDOzttSEE5QlUsc0JBQXNCO3VHQUF0QixzQkFBc0Isc0tDcEJuQyxteUJBMkJBLDBoQ0RYaUI7UUFDYixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUU7S0FDL0Q7MkZBRVUsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNFLGdCQUFnQixpQkFHWDt3QkFDYixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUU7cUJBQy9EO2tJQU9ELE9BQU87c0JBRE4sS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRWxlbWVudFJlZiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sQ29udGFpbmVyLFxuICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gIEFic3RyYWN0Q29udHJvbCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYW5ndWxhci9mb3Jtcy93aWRnZXRzL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZGVudGlmaWVkTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9hbmd1bGFyL21vZGVscy9JZGVudGlmaWVkTW9kZWwnO1xuaW1wb3J0IHsgTmFtZWRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2FuZ3VsYXIvbW9kZWxzL05hbWVkTW9kZWwnO1xuaW1wb3J0IHsgSUVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9JRW50aXR5U2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpZWxkLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmllbGQtZHJvcGRvd24uY29tcG9uZW50LmNzcyddLFxuICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogRm9ybUdyb3VwRGlyZWN0aXZlIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkRHJvcGRvd25Db21wb25lbnRcbiAgZXh0ZW5kcyBGaWVsZENvbXBvbmVudDxzdHJpbmc+XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgpXG4gIHNlcnZpY2U6IElFbnRpdHlTZXJ2aWNlPE5hbWVkTW9kZWw+O1xuICBASW5wdXQoKVxuICByZWJpbmQ6IHN0cmluZztcbiAgQElucHV0KClcbiAgZmlsdGVyPzogQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcjtcbiAgZGF0YTogSWRlbnRpZmllZE1vZGVsW10gPSBbXTtcbiAgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuZm9ybS5nZXQodGhpcy5maWVsZE5hbWUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIHBhcmVudDogRm9ybUdyb3VwRGlyZWN0aXZlLCBwdWJsaWMgZXJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKHBhcmVudCwgZXJlZiwgJycpO1xuICB9XG5cbiAgYXN5bmMgbmdPbkNoYW5nZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5nZXREYXRhKCk7XG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKFxuICAgICAgKHRoaXMuZGF0YS5maW5kKChkKSA9PiBkLmlkID09PSB0aGlzLmNvbnRyb2wudmFsdWUpIHx8IHRoaXMuZGF0YVswXSkuaWRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREYXRhKCkge1xuICAgIHRoaXMuc2VydmljZVxuICAgICAgLmdldFBhZ2UodGhpcy5maWx0ZXIgPyB7IGZpbHRlcjogdGhpcy5maWx0ZXIgfSA6IHt9KVxuICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4gKHRoaXMuZGF0YSA9IGRhdGEuZGF0YSkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICA8bGFiZWxcbiAgICBmb3I9XCJ7eyAnXycgKyBmaWVsZE5hbWUgfX1cIlxuICAgIGNsYXNzPVwiY29sLW1kLTMgY29udHJvbC1sYWJlbFwiXG4gICAgdHJhbnNsYXRlPVwie3sgbGFiZWxLZXkgfX1cIlxuICA+PC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC05XCIgKm5nSWY9XCJjb250cm9sXCI+XG4gICAgPGtlbmRvLWRyb3Bkb3dubGlzdFxuICAgICAgaWQ9XCJ7eyAnXycgKyBmaWVsZE5hbWUgfX1cIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgW2RhdGFdPVwiZGF0YVwiXG4gICAgICB0ZXh0RmllbGQ9XCJuYW1lXCJcbiAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICBbdmFsdWVQcmltaXRpdmVdPVwidHJ1ZVwiXG4gICAgPlxuICAgIDwva2VuZG8tZHJvcGRvd25saXN0PlxuXG4gICAgPGRpdiBjbGFzcz1cImJnLWRhbmdlclwiICpuZ0lmPVwiY29udHJvbC5pbnZhbGlkICYmIGNvbnRyb2wudG91Y2hlZFwiPlxuICAgICAgPHNwYW4gKm5nSWY9XCJjb250cm9sLmVycm9yc1sncmVxdWlyZWQnXVwiPnt7XG4gICAgICAgICdSZXF1aXJlZCcgfCB0cmFuc2xhdGU6IHsgcGFyYW0wOiBsYWJlbEtleSB8IHRyYW5zbGF0ZSB9XG4gICAgICB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiY29udHJvbC5lcnJvcnNbJ3NlcnZlckVycm9yTXNnJ11cIj57e1xuICAgICAgICBjb250cm9sLmVycm9yc1snc2VydmVyRXJyb3JNc2cnXVxuICAgICAgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2VuZG8vc3JjL2xpYi93aWRnZXRzL2VudGl0eS1lZGl0L2ZpZWxkLWRyb3Bkb3duL2ZpZWxkLWRyb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlbmRvL3NyYy9saWIvd2lkZ2V0cy9lbnRpdHktZWRpdC9maWVsZC1kcm9wZG93bi9maWVsZC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixrQkFBa0IsR0FFbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7OztBQWF0RixNQUFNLE9BQU8sc0JBQ1gsU0FBUSxjQUFzQjtJQWM5QixZQUFtQixNQUEwQixFQUFTLElBQWdCO1FBQ3BFLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRFAsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBTHRFLFNBQUksR0FBc0IsRUFBRSxDQUFDO0lBTzdCLENBQUM7SUFORCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQU1ELEtBQUssQ0FBQyxXQUFXO1FBQ2YsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQ25CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN4RSxDQUFDO0lBQ0osQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsT0FBTzthQUNULE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUNuRCxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDOzttSEE5QlUsc0JBQXNCO3VHQUF0QixzQkFBc0Isc0tDcEJuQyxteUJBMkJBLGdvQ0RYaUI7UUFDYixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUU7S0FDL0Q7MkZBRVUsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNFLGdCQUFnQixpQkFHWDt3QkFDYixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUU7cUJBQy9EO2tJQU9ELE9BQU87c0JBRE4sS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRWxlbWVudFJlZiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sQ29udGFpbmVyLFxuICBGb3JtR3JvdXBEaXJlY3RpdmUsXG4gIEFic3RyYWN0Q29udHJvbCxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvciB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcbmltcG9ydCB7IEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYW5ndWxhci9mb3Jtcy93aWRnZXRzL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJZGVudGlmaWVkTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9hbmd1bGFyL21vZGVscy9JZGVudGlmaWVkTW9kZWwnO1xuaW1wb3J0IHsgTmFtZWRNb2RlbCB9IGZyb20gJy4uLy4uLy4uL2FuZ3VsYXIvbW9kZWxzL05hbWVkTW9kZWwnO1xuaW1wb3J0IHsgSUVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9JRW50aXR5U2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpZWxkLWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmllbGQtZHJvcGRvd24uY29tcG9uZW50LmNzcyddLFxuICB2aWV3UHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogRm9ybUdyb3VwRGlyZWN0aXZlIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpZWxkRHJvcGRvd25Db21wb25lbnRcbiAgZXh0ZW5kcyBGaWVsZENvbXBvbmVudDxzdHJpbmc+XG4gIGltcGxlbWVudHMgT25DaGFuZ2VzXG57XG4gIEBJbnB1dCgpXG4gIHNlcnZpY2U6IElFbnRpdHlTZXJ2aWNlPE5hbWVkTW9kZWw+O1xuICBASW5wdXQoKVxuICByZWJpbmQ6IHN0cmluZztcbiAgQElucHV0KClcbiAgZmlsdGVyPzogQ29tcG9zaXRlRmlsdGVyRGVzY3JpcHRvcjtcbiAgZGF0YTogSWRlbnRpZmllZE1vZGVsW10gPSBbXTtcbiAgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuZm9ybS5nZXQodGhpcy5maWVsZE5hbWUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHVibGljIHBhcmVudDogRm9ybUdyb3VwRGlyZWN0aXZlLCBwdWJsaWMgZXJlZjogRWxlbWVudFJlZikge1xuICAgIHN1cGVyKHBhcmVudCwgZXJlZiwgJycpO1xuICB9XG5cbiAgYXN5bmMgbmdPbkNoYW5nZXMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5nZXREYXRhKCk7XG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKFxuICAgICAgKHRoaXMuZGF0YS5maW5kKChkKSA9PiBkLmlkID09PSB0aGlzLmNvbnRyb2wudmFsdWUpIHx8IHRoaXMuZGF0YVswXSkuaWRcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREYXRhKCkge1xuICAgIHRoaXMuc2VydmljZVxuICAgICAgLmdldFBhZ2UodGhpcy5maWx0ZXIgPyB7IGZpbHRlcjogdGhpcy5maWx0ZXIgfSA6IHt9KVxuICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4gKHRoaXMuZGF0YSA9IGRhdGEuZGF0YSkpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICA8bGFiZWxcbiAgICBmb3I9XCJ7eyAnXycgKyBmaWVsZE5hbWUgfX1cIlxuICAgIGNsYXNzPVwiY29sLW1kLTMgY29udHJvbC1sYWJlbFwiXG4gICAgdHJhbnNsYXRlPVwie3sgbGFiZWxLZXkgfX1cIlxuICA+PC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cImNvbC1tZC05XCIgKm5nSWY9XCJjb250cm9sXCI+XG4gICAgPGtlbmRvLWRyb3Bkb3dubGlzdFxuICAgICAgaWQ9XCJ7eyAnXycgKyBmaWVsZE5hbWUgfX1cIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIlxuICAgICAgW2RhdGFdPVwiZGF0YVwiXG4gICAgICB0ZXh0RmllbGQ9XCJuYW1lXCJcbiAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICBbdmFsdWVQcmltaXRpdmVdPVwidHJ1ZVwiXG4gICAgPlxuICAgIDwva2VuZG8tZHJvcGRvd25saXN0PlxuXG4gICAgPGRpdiBjbGFzcz1cImJnLWRhbmdlclwiICpuZ0lmPVwiY29udHJvbC5pbnZhbGlkICYmIGNvbnRyb2wudG91Y2hlZFwiPlxuICAgICAgPHNwYW4gKm5nSWY9XCJjb250cm9sLmVycm9yc1sncmVxdWlyZWQnXVwiPnt7XG4gICAgICAgICdSZXF1aXJlZCcgfCB0cmFuc2xhdGU6IHsgcGFyYW0wOiBsYWJlbEtleSB8IHRyYW5zbGF0ZSB9XG4gICAgICB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiY29udHJvbC5lcnJvcnNbJ3NlcnZlckVycm9yTXNnJ11cIj57e1xuICAgICAgICBjb250cm9sLmVycm9yc1snc2VydmVyRXJyb3JNc2cnXVxuICAgICAgfX08L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=