@provoly/dashboard 0.13.6 → 0.13.7

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 (73) hide show
  1. package/admin/components/admin-dataset/store/admin-dataset.effects.d.ts +2 -2
  2. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +1 -1
  3. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +1 -1
  4. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +1 -1
  5. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +1 -1
  6. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +1 -1
  7. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +1 -1
  8. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +1 -1
  9. package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +1 -1
  10. package/esm2022/admin/components/admin-dataset/store/admin-dataset.effects.mjs +5 -3
  11. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +1 -1
  12. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +1 -1
  13. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +1 -1
  14. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +1 -1
  15. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +1 -1
  16. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +1 -1
  17. package/esm2022/filters/list/list-filter.component.mjs +1 -1
  18. package/esm2022/import/components/import.component.mjs +1 -1
  19. package/esm2022/lib/core/components/select/select.component.mjs +7 -4
  20. package/esm2022/lib/core/components/share/share.component.mjs +1 -1
  21. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +1 -1
  22. package/esm2022/pipeline-components/filter/component/filter.component.mjs +1 -1
  23. package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +1 -1
  24. package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +1 -1
  25. package/esm2022/restitution/components/restitution/restitution.component.mjs +1 -1
  26. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +1 -1
  27. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +1 -1
  28. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +1 -1
  29. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +1 -1
  30. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors.component.mjs +1 -1
  31. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +1 -1
  32. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +1 -1
  33. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +1 -1
  34. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +1 -1
  35. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +3 -3
  36. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +1 -1
  37. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +1 -1
  38. package/fesm2022/provoly-dashboard-admin.mjs +18 -16
  39. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  40. package/fesm2022/provoly-dashboard-filters-list.mjs +1 -1
  41. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  42. package/fesm2022/provoly-dashboard-import.mjs +1 -1
  43. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  44. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +1 -1
  45. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
  46. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +1 -1
  47. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
  48. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +1 -1
  49. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
  50. package/fesm2022/provoly-dashboard-restitution.mjs +1 -1
  51. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  52. package/fesm2022/provoly-dashboard-search.mjs +4 -4
  53. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  54. package/fesm2022/provoly-dashboard-supervision.mjs +1 -1
  55. package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -1
  56. package/fesm2022/provoly-dashboard-toolbox.mjs +1 -1
  57. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  58. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +1 -1
  59. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  60. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1 -1
  61. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  62. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +1 -1
  63. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  64. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +2 -2
  65. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  66. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +1 -1
  67. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  68. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +1 -1
  69. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  70. package/fesm2022/provoly-dashboard.mjs +8 -5
  71. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  72. package/lib/core/components/select/select.component.d.ts +2 -1
  73. package/package.json +25 -25
@@ -74,7 +74,7 @@ export class AdminFieldsFormComponent {
74
74
  return this.currentField ? this.goBackPathEdit : this.goBackPath;
75
75
  }
76
76
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminFieldsFormComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminFieldsFormComponent, selector: "pry-admin-fields-form", inputs: { currentField: "currentField" }, ngImport: i0, template: "<div>\n <form class=\"o-form\" [formGroup]=\"fieldForm\" (ngSubmit)=\"addField()\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"name-label\" for=\"field_name\" class=\"a-label\">\n {{ '@pry.admin.fields.name' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"field_name\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"name\"\n [attr.aria-labelledby]=\"isSubmitted && fieldForm.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && fieldForm.get('name')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && fieldForm.get('name')?.invalid\"\n id=\"name-error\"\n for=\"field_name\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"fieldForm.get('name')?.hasError('same-name')\">{{ '@pry.admin.exists' | i18n }}</span>\n <span *ngIf=\"fieldForm.get('name')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <span *ngIf=\"fieldForm.get('name')?.hasError('minlength')\">{{\n '@pry.admin.minLength' | i18n: { len: 3 }\n }}</span>\n <span *ngIf=\"fieldForm.get('name')?.hasError('maxlength')\">{{\n '@pry.admin.maxLength' | i18n: { len: 100 }\n }}</span>\n <span *ngIf=\"fieldForm.get('name')?.hasError('whitespace') && !fieldForm.get('name')?.hasError('minlength')\">{{\n '@pry.admin.noWhitespace' | i18n\n }}</span>\n </label>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\">\n {{ '@pry.admin.fields.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n class=\"a-pry-select\"\n formControlName=\"type\"\n [labelTranslate]=\"true\"\n [items]=\"fieldType\"\n [itemsAsOption]=\"true\"\n bindValue=\"varType\"\n bindLabel=\"translation\"\n [isForm]=\"true\"\n ></pry-select>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(currentField ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminFieldsFormComponent, selector: "pry-admin-fields-form", inputs: { currentField: "currentField" }, ngImport: i0, template: "<div>\n <form class=\"o-form\" [formGroup]=\"fieldForm\" (ngSubmit)=\"addField()\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"name-label\" for=\"field_name\" class=\"a-label\">\n {{ '@pry.admin.fields.name' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"field_name\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"name\"\n [attr.aria-labelledby]=\"isSubmitted && fieldForm.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && fieldForm.get('name')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && fieldForm.get('name')?.invalid\"\n id=\"name-error\"\n for=\"field_name\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"fieldForm.get('name')?.hasError('same-name')\">{{ '@pry.admin.exists' | i18n }}</span>\n <span *ngIf=\"fieldForm.get('name')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <span *ngIf=\"fieldForm.get('name')?.hasError('minlength')\">{{\n '@pry.admin.minLength' | i18n: { len: 3 }\n }}</span>\n <span *ngIf=\"fieldForm.get('name')?.hasError('maxlength')\">{{\n '@pry.admin.maxLength' | i18n: { len: 100 }\n }}</span>\n <span *ngIf=\"fieldForm.get('name')?.hasError('whitespace') && !fieldForm.get('name')?.hasError('minlength')\">{{\n '@pry.admin.noWhitespace' | i18n\n }}</span>\n </label>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\">\n {{ '@pry.admin.fields.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n class=\"a-pry-select\"\n formControlName=\"type\"\n [labelTranslate]=\"true\"\n [items]=\"fieldType\"\n [itemsAsOption]=\"true\"\n bindValue=\"varType\"\n bindLabel=\"translation\"\n [isForm]=\"true\"\n ></pry-select>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(currentField ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
78
78
  }
79
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminFieldsFormComponent, decorators: [{
80
80
  type: Component,
@@ -83,7 +83,7 @@ export class AdminLinksNewComponent {
83
83
  }
84
84
  }
85
85
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminLinksNewComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
86
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminLinksNewComponent, selector: "pry-admin-links-new", ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.admin.links.add' | i18n }}</h1>\n <form class=\"o-form\" [formGroup]=\"linkForm\" (ngSubmit)=\"addLink()\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"name-label\" for=\"link_name\" class=\"a-label\">\n {{ '@pry.admin.links.relationType' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"link_name\"\n class=\"a-pry-select\"\n formControlName=\"relationType\"\n [items]=\"relationTypes$ | async | prySortData: sortActive : sortDirection\"\n (ngModelChange)=\"onTypeSourceChange()\"\n [labelTranslate]=\"true\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [placeholder]=\"'@pry.admin.links.selectRelationType' | i18n\"\n [attr.aria-labelledby]=\"\n isSubmitted && linkForm.get('relationType')?.invalid ? 'name-label name-error' : 'name-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && linkForm.get('relationType')?.invalid\"\n required\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && linkForm.get('relationType')?.invalid\"\n id=\"name-error\"\n for=\"link_name\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div class=\"m-form-label-field -width-sm\" *ngIf=\"isSelectClass\">\n <label id=\"class-source-label\" form=\"link_class-source\" class=\"a-label\">\n {{ '@pry.admin.links.classSource' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"link_class-source\"\n class=\"a-pry-select\"\n formControlName=\"classSource\"\n [items]=\"classes$ | async | prySortData: sortActive : sortDirection\"\n (ngModelChange)=\"onClassSourceChange($event)\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [attr.aria-labelledby]=\"\n isSubmitted && linkForm.get('classSource')?.invalid\n ? 'class-source-label class-source-error'\n : 'class-source-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && linkForm.get('classSource')?.invalid\"\n required\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && linkForm.get('classSource')?.invalid\"\n id=\"class-source-error\"\n for=\"link_class-source\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div\n *ngIf=\"attributesSource$ | async | prySortData: sortActive : sortDirection as attr\"\n class=\"m-form-label-field -width-sm\"\n >\n <label id=\"attribute-source-label\" for=\"link_attribute-source\" class=\"a-label\">\n {{ '@pry.admin.links.attributeSource' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"link_attribute-source\"\n class=\"a-pry-select\"\n formControlName=\"attributeSource\"\n [items]=\"attr\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [attr.aria-labelledby]=\"\n isSubmitted && linkForm.get('attributeSource')?.invalid\n ? 'attribute-source-label attribute-source-error'\n : 'attribute-source-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && linkForm.get('attributeSource')?.invalid\"\n required\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && linkForm.get('attributeSource')?.invalid\"\n id=\"attribute-source-error\"\n for=\"link_attribute-source\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div *ngIf=\"classes$ | async | prySortData: sortActive : sortDirection as cd\" class=\"m-form-label-field -width-sm\">\n <label id=\"class-destination-label\" for=\"link_class-destination\" class=\"a-label\">\n {{ '@pry.admin.links.classDestination' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"link_class-destination\"\n class=\"a-pry-select\"\n formControlName=\"classDestination\"\n [items]=\"cd\"\n (ngModelChange)=\"onClassDestinationChange($event)\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [attr.aria-labelledby]=\"\n isSubmitted && linkForm.get('classDestination')?.invalid\n ? 'class-destination-label class-destination-error'\n : 'class-destination-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && linkForm.get('classDestination')?.invalid\"\n required\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && linkForm.get('classDestination')?.invalid\"\n id=\"class-destination-error\"\n for=\"link_class-destination\"\n class=\"text-error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div\n *ngIf=\"attributesDestination$ | async | prySortData: sortActive : sortDirection as attr\"\n class=\"m-form-label-field -width-sm\"\n >\n <label id=\"attribute-destination-label\" for=\"link_attribute-destination\" class=\"a-label\">\n {{ '@pry.admin.links.attributeDestination' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"link_attribute-destination\"\n class=\"a-pry-select\"\n formControlName=\"attributeDestination\"\n [items]=\"attr\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [attr.aria-labelledby]=\"\n isSubmitted && linkForm.get('attributeDestination')?.invalid\n ? 'attribute-destination-label attribute-destination-error'\n : 'attribute-destination-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && linkForm.get('attributeDestination')?.invalid\"\n required\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && linkForm.get('attributeDestination')?.invalid\"\n id=\"attribute-destination-error\"\n for=\"link_attribute-destination\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n class=\"a-btn a-btn--secondary\"\n type=\"button\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button class=\"a-btn a-btn--primary\" type=\"submit\" [innerHTML]=\"'@pry.admin.create' | i18n\"></button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PrySortDataPipe, name: "prySortData" }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
86
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminLinksNewComponent, selector: "pry-admin-links-new", ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.admin.links.add' | i18n }}</h1>\n <form class=\"o-form\" [formGroup]=\"linkForm\" (ngSubmit)=\"addLink()\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"name-label\" for=\"link_name\" class=\"a-label\">\n {{ '@pry.admin.links.relationType' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"link_name\"\n class=\"a-pry-select\"\n formControlName=\"relationType\"\n [items]=\"relationTypes$ | async | prySortData: sortActive : sortDirection\"\n (ngModelChange)=\"onTypeSourceChange()\"\n [labelTranslate]=\"true\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [placeholder]=\"'@pry.admin.links.selectRelationType' | i18n\"\n [attr.aria-labelledby]=\"\n isSubmitted && linkForm.get('relationType')?.invalid ? 'name-label name-error' : 'name-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && linkForm.get('relationType')?.invalid\"\n required\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && linkForm.get('relationType')?.invalid\"\n id=\"name-error\"\n for=\"link_name\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div class=\"m-form-label-field -width-sm\" *ngIf=\"isSelectClass\">\n <label id=\"class-source-label\" form=\"link_class-source\" class=\"a-label\">\n {{ '@pry.admin.links.classSource' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"link_class-source\"\n class=\"a-pry-select\"\n formControlName=\"classSource\"\n [items]=\"classes$ | async | prySortData: sortActive : sortDirection\"\n (ngModelChange)=\"onClassSourceChange($event)\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [attr.aria-labelledby]=\"\n isSubmitted && linkForm.get('classSource')?.invalid\n ? 'class-source-label class-source-error'\n : 'class-source-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && linkForm.get('classSource')?.invalid\"\n required\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && linkForm.get('classSource')?.invalid\"\n id=\"class-source-error\"\n for=\"link_class-source\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div\n *ngIf=\"attributesSource$ | async | prySortData: sortActive : sortDirection as attr\"\n class=\"m-form-label-field -width-sm\"\n >\n <label id=\"attribute-source-label\" for=\"link_attribute-source\" class=\"a-label\">\n {{ '@pry.admin.links.attributeSource' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"link_attribute-source\"\n class=\"a-pry-select\"\n formControlName=\"attributeSource\"\n [items]=\"attr\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [attr.aria-labelledby]=\"\n isSubmitted && linkForm.get('attributeSource')?.invalid\n ? 'attribute-source-label attribute-source-error'\n : 'attribute-source-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && linkForm.get('attributeSource')?.invalid\"\n required\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && linkForm.get('attributeSource')?.invalid\"\n id=\"attribute-source-error\"\n for=\"link_attribute-source\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div *ngIf=\"classes$ | async | prySortData: sortActive : sortDirection as cd\" class=\"m-form-label-field -width-sm\">\n <label id=\"class-destination-label\" for=\"link_class-destination\" class=\"a-label\">\n {{ '@pry.admin.links.classDestination' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"link_class-destination\"\n class=\"a-pry-select\"\n formControlName=\"classDestination\"\n [items]=\"cd\"\n (ngModelChange)=\"onClassDestinationChange($event)\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [attr.aria-labelledby]=\"\n isSubmitted && linkForm.get('classDestination')?.invalid\n ? 'class-destination-label class-destination-error'\n : 'class-destination-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && linkForm.get('classDestination')?.invalid\"\n required\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && linkForm.get('classDestination')?.invalid\"\n id=\"class-destination-error\"\n for=\"link_class-destination\"\n class=\"text-error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div\n *ngIf=\"attributesDestination$ | async | prySortData: sortActive : sortDirection as attr\"\n class=\"m-form-label-field -width-sm\"\n >\n <label id=\"attribute-destination-label\" for=\"link_attribute-destination\" class=\"a-label\">\n {{ '@pry.admin.links.attributeDestination' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n id=\"link_attribute-destination\"\n class=\"a-pry-select\"\n formControlName=\"attributeDestination\"\n [items]=\"attr\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [attr.aria-labelledby]=\"\n isSubmitted && linkForm.get('attributeDestination')?.invalid\n ? 'attribute-destination-label attribute-destination-error'\n : 'attribute-destination-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && linkForm.get('attributeDestination')?.invalid\"\n required\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && linkForm.get('attributeDestination')?.invalid\"\n id=\"attribute-destination-error\"\n for=\"link_attribute-destination\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n class=\"a-btn a-btn--secondary\"\n type=\"button\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button class=\"a-btn a-btn--primary\" type=\"submit\" [innerHTML]=\"'@pry.admin.create' | i18n\"></button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.PrySortDataPipe, name: "prySortData" }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
87
87
  }
88
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminLinksNewComponent, decorators: [{
89
89
  type: Component,
@@ -111,7 +111,7 @@ export class FormMetadataComponent {
111
111
  return path.toString();
112
112
  }
113
113
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: FormMetadataComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: FormMetadataComponent, selector: "pry-form-metadata", inputs: { titleForm: "titleForm", isMetaSimpleEdit: "isMetaSimpleEdit", isMetaUser: "isMetaUser", metadata: "metadata" }, outputs: { submitMetadata$: "submitMetadata$" }, ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ titleForm }}</h1>\n\n <form class=\"o-form\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadata()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"metadata-name\">\n {{ '@pry.admin.metadata.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-name\"\n type=\"text\"\n formControlName=\"name\"\n [required]=\"!metadata\"\n [attr.aria-labelledby]=\"isSubmitted && metaForm.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('name')?.invalid\"\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('name')?.invalid\"\n id=\"name-error\"\n for=\"metadata-name\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('name')?.hasError('same-name')\">{{ '@pry.admin.exists' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('pattern')\">{{ '@pry.admin.classes.formatName' | i18n }}</span>\n </label>\n </div>\n\n <div class=\"m-form-label-field -width-md\">\n <label class=\"a-label\" for=\"metadata_description\">{{ '@pry.admin.metadata.description' | i18n }}</label>\n <textarea\n rows=\"5\"\n type=\"text\"\n id=\"metadata_description\"\n class=\"a-form-field\"\n formControlName=\"description\"\n ></textarea>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label for=\"metadata-type\" id=\"metadata-type-label\" class=\"a-label\">\n {{ '@pry.admin.metadata.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n class=\"a-pry-select\"\n id=\"metadata-type\"\n formControlName=\"type\"\n [labelTranslate]=\"true\"\n [items]=\"metaOptions\"\n [itemsAsOption]=\"true\"\n bindValue=\"varType\"\n bindLabel=\"translation\"\n [readonly]=\"!!metadata\"\n [isForm]=\"true\"\n (ngModelChange)=\"addItemList($event)\"\n aria-labelledby=\"metadata-type-label\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"metaForm.value.type === 'LIST'\">\n <div class=\"o-datas-list-wrapper\" formArrayName=\"allowedValues\" *ngIf=\"metadataList.controls.length > 0\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.admin.varType.list' | i18n }}</legend>\n\n <div class=\"o-datas-list metadata-list\" *ngFor=\"let control of metadataList.controls; let i = index\">\n <div class=\"o-datas-list__fields metadata-input\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"metadata-list-label\" for=\"metadata-list\" class=\"a-label\">\n {{ '@pry.admin.metadata.listLabel' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-list\"\n formControlName=\"{{ i }}\"\n [required]=\"!control.value\"\n [attr.aria-invalid]=\"isSubmitted && control?.invalid\"\n [attr.aria-labelledby]=\"\n isSubmitted && control?.invalid ? 'metadata-list-label metadata-list-error' : 'metadata-list-label'\n \"\n />\n <label\n *ngIf=\"isSubmitted && control.invalid\"\n id=\"metadata-list-error\"\n for=\"metadata-list\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div class=\"m-btn-group m-btn-group--input-actions\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i === metadataList.controls.length - 1\"\n (click)=\"control.value.trim() !== '' ? addItemList() : undefined\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.addValue' | i18n }}</span>\n <pry-icon iconSvg=\"add\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i !== 0 && !metadataList.controls[i].disabled\"\n (click)=\"removeItemList(i)\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.removeValue' | i18n }}</span>\n <pry-icon iconSvg=\"delete\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n </div>\n </div>\n </div>\n </fieldset>\n </div>\n </ng-container>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadata ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: FormMetadataComponent, selector: "pry-form-metadata", inputs: { titleForm: "titleForm", isMetaSimpleEdit: "isMetaSimpleEdit", isMetaUser: "isMetaUser", metadata: "metadata" }, outputs: { submitMetadata$: "submitMetadata$" }, ngImport: i0, template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ titleForm }}</h1>\n\n <form class=\"o-form\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadata()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"metadata-name\">\n {{ '@pry.admin.metadata.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-name\"\n type=\"text\"\n formControlName=\"name\"\n [required]=\"!metadata\"\n [attr.aria-labelledby]=\"isSubmitted && metaForm.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('name')?.invalid\"\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('name')?.invalid\"\n id=\"name-error\"\n for=\"metadata-name\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('name')?.hasError('same-name')\">{{ '@pry.admin.exists' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <span *ngIf=\"metaForm.get('name')?.hasError('pattern')\">{{ '@pry.admin.classes.formatName' | i18n }}</span>\n </label>\n </div>\n\n <div class=\"m-form-label-field -width-md\">\n <label class=\"a-label\" for=\"metadata_description\">{{ '@pry.admin.metadata.description' | i18n }}</label>\n <textarea\n rows=\"5\"\n type=\"text\"\n id=\"metadata_description\"\n class=\"a-form-field\"\n formControlName=\"description\"\n ></textarea>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label for=\"metadata-type\" id=\"metadata-type-label\" class=\"a-label\">\n {{ '@pry.admin.metadata.type' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <pry-select\n class=\"a-pry-select\"\n id=\"metadata-type\"\n formControlName=\"type\"\n [labelTranslate]=\"true\"\n [items]=\"metaOptions\"\n [itemsAsOption]=\"true\"\n bindValue=\"varType\"\n bindLabel=\"translation\"\n [readonly]=\"!!metadata\"\n [isForm]=\"true\"\n (ngModelChange)=\"addItemList($event)\"\n aria-labelledby=\"metadata-type-label\"\n ></pry-select>\n </div>\n\n <ng-container *ngIf=\"metaForm.value.type === 'LIST'\">\n <div class=\"o-datas-list-wrapper\" formArrayName=\"allowedValues\" *ngIf=\"metadataList.controls.length > 0\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.admin.varType.list' | i18n }}</legend>\n\n <div class=\"o-datas-list metadata-list\" *ngFor=\"let control of metadataList.controls; let i = index\">\n <div class=\"o-datas-list__fields metadata-input\">\n <div class=\"m-form-label-field -width-sm\">\n <label id=\"metadata-list-label\" for=\"metadata-list\" class=\"a-label\">\n {{ '@pry.admin.metadata.listLabel' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n class=\"a-form-field\"\n id=\"metadata-list\"\n formControlName=\"{{ i }}\"\n [required]=\"!control.value\"\n [attr.aria-invalid]=\"isSubmitted && control?.invalid\"\n [attr.aria-labelledby]=\"\n isSubmitted && control?.invalid ? 'metadata-list-label metadata-list-error' : 'metadata-list-label'\n \"\n />\n <label\n *ngIf=\"isSubmitted && control.invalid\"\n id=\"metadata-list-error\"\n for=\"metadata-list\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <div class=\"m-btn-group m-btn-group--input-actions\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i === metadataList.controls.length - 1\"\n (click)=\"control.value.trim() !== '' ? addItemList() : undefined\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.addValue' | i18n }}</span>\n <pry-icon iconSvg=\"add\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n <button\n type=\"button\"\n class=\"a-btn a-btn--input-action\"\n *ngIf=\"i !== 0 && !metadataList.controls[i].disabled\"\n (click)=\"removeItemList(i)\"\n >\n <span class=\"u-visually-hidden\">{{ '@pry.admin.metadata.removeValue' | i18n }}</span>\n <pry-icon iconSvg=\"delete\" [width]=\"20\" [height]=\"20\"></pry-icon>\n </button>\n </div>\n </div>\n </div>\n </fieldset>\n </div>\n </ng-container>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadata ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n </form>\n</div>\n", dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
115
115
  }
116
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: FormMetadataComponent, decorators: [{
117
117
  type: Component,
@@ -122,7 +122,7 @@ export class AdminFormMetadataRulesComponent {
122
122
  }
123
123
  }
124
124
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminFormMetadataRulesComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
125
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminFormMetadataRulesComponent, selector: "pry-admin-form-metadata-rules", inputs: { metadataRules: "metadataRules" }, ngImport: i0, template: "<form class=\"o-form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"name\">\n {{ '@pry.admin.metadata-rules.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"name\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"name\"\n (ngModelChange)=\"changeValueName($event)\"\n [attr.aria-labelledby]=\"isSubmitted && form.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && form.get('name')?.invalid\"\n required\n />\n <label\n class=\"a-label a-label--help -error\"\n id=\"name-error\"\n for=\"name\"\n *ngIf=\"isSubmitted && form.get('name')?.invalid\"\n >{{ '@pry.admin.required' | i18n }}</label\n >\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"item-label\" for=\"item\">{{\n '@pry.admin.metadata-rules.metadata-item.name' | i18n\n }}</label>\n <pry-select\n class=\"a-pry-select\"\n id=\"item\"\n formControlName=\"metadataItem\"\n [labelTranslate]=\"true\"\n [items]=\"metadataList\"\n [itemsAsOption]=\"true\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n (ngModelChange)=\"selectMetadataItem($event)\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"user-label\" for=\"user\">{{\n '@pry.admin.metadata-rules.metadata-user.name' | i18n\n }}</label>\n <pry-select\n class=\"a-pry-select\"\n id=\"user\"\n formControlName=\"metadataUser\"\n [labelTranslate]=\"true\"\n [items]=\"metadataUserListFilter\"\n [itemsAsOption]=\"true\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n (ngModelChange)=\"selectMetadataUser($event)\"\n aria-labelledby=\"user-label\"\n ></pry-select>\n </div>\n\n <label class=\"a-label a-label--help -error\" *ngIf=\"isSameName\">{{\n '@pry.admin.metadata-rules.is-same-name' | i18n\n }}</label>\n <label class=\"a-label a-label--help -error\" *ngIf=\"isSameRules\">{{\n '@pry.admin.metadata-rules.is-same-rules' | i18n\n }}</label>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadataRules ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
125
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminFormMetadataRulesComponent, selector: "pry-admin-form-metadata-rules", inputs: { metadataRules: "metadataRules" }, ngImport: i0, template: "<form class=\"o-form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"name-label\" for=\"name\">\n {{ '@pry.admin.metadata-rules.label' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"name\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"name\"\n (ngModelChange)=\"changeValueName($event)\"\n [attr.aria-labelledby]=\"isSubmitted && form.get('name')?.invalid ? 'name-label name-error' : 'name-label'\"\n [attr.aria-invalid]=\"isSubmitted && form.get('name')?.invalid\"\n required\n />\n <label\n class=\"a-label a-label--help -error\"\n id=\"name-error\"\n for=\"name\"\n *ngIf=\"isSubmitted && form.get('name')?.invalid\"\n >{{ '@pry.admin.required' | i18n }}</label\n >\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"item-label\" for=\"item\">{{\n '@pry.admin.metadata-rules.metadata-item.name' | i18n\n }}</label>\n <pry-select\n class=\"a-pry-select\"\n id=\"item\"\n formControlName=\"metadataItem\"\n [labelTranslate]=\"true\"\n [items]=\"metadataList\"\n [itemsAsOption]=\"true\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n (ngModelChange)=\"selectMetadataItem($event)\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" id=\"user-label\" for=\"user\">{{\n '@pry.admin.metadata-rules.metadata-user.name' | i18n\n }}</label>\n <pry-select\n class=\"a-pry-select\"\n id=\"user\"\n formControlName=\"metadataUser\"\n [labelTranslate]=\"true\"\n [items]=\"metadataUserListFilter\"\n [itemsAsOption]=\"true\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n (ngModelChange)=\"selectMetadataUser($event)\"\n aria-labelledby=\"user-label\"\n ></pry-select>\n </div>\n\n <label class=\"a-label a-label--help -error\" *ngIf=\"isSameName\">{{\n '@pry.admin.metadata-rules.is-same-name' | i18n\n }}</label>\n <label class=\"a-label a-label--help -error\" *ngIf=\"isSameRules\">{{\n '@pry.admin.metadata-rules.is-same-rules' | i18n\n }}</label>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [innerHTML]=\"(metadataRules ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
126
126
  }
127
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminFormMetadataRulesComponent, decorators: [{
128
128
  type: Component,
@@ -105,7 +105,7 @@ export class AdminUserSelectComponent {
105
105
  this.tab = number;
106
106
  }
107
107
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminUserSelectComponent, deps: [{ token: i1.Store }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
108
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminUserSelectComponent, selector: "pry-admin-user-select", inputs: { profil: "profil" }, ngImport: i0, template: "<div\n *ngIf=\"selectedUser$ | async as user\"\n [id]=\"'panel-user-' + user.id\"\n [attr.aria-labelledby]=\"'button-user-' + user.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.userInfo.info' | i18n }}\n </h3>\n </div>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.userInfo.profile' | i18n }}\n </button>\n\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n [id]=\"'tab-' + compId + '-1'\"\n role=\"tab\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content o-tabs__panels__item__content--profil\">\n <div *ngFor=\"let metadata of userMetadata$ | async\">\n <div class=\"o-tabs__panels__item__content\">\n <div class=\"o-tabs__panels__item__content__actions\">\n <div class=\"o-tabs__panels__item__content__actions__text\">\n <span class=\"o-tabs__panels__item__content__actions__text__label\"\n >{{ metadata.userProfile.name }} :</span\n >\n <span class=\"o-tabs__panels__item__content__actions__text__value\">{{ metadata.value }}</span>\n </div>\n\n <div class=\"o-tabs__panels__item__content__actions__buttons\">\n <ng-container *pryAccess=\"{ module: 'admin', page: 'user', action: 'write' }\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.edit' | i18n }} {{ metadata.userProfile.name }}</span\n >\n <pry-icon\n class=\"edit-icon\"\n iconSvg=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"editMetadata(metadata)\"\n ></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.delete' | i18n }} {{ metadata.userProfile.name }}</span\n >\n <pry-icon\n class=\"delete-icon\"\n iconSvg=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"removeMetadata(metadata)\"\n ></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *pryAccess=\"{ module: 'admin', page: 'user', action: 'write' }\">\n <ng-container *ngIf=\"metaForm.value.metadata\">\n <form class=\"o-form -border-top\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadataUser()\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.action.editProfil' | i18n }}</legend>\n\n <div class=\"m-form-label-field\">\n <label for=\"metadata\" id=\"metadata-label\" class=\"a-label\">Data</label>\n <pry-select\n id=\"metadata\"\n class=\"a-pry-select\"\n formControlName=\"metadata\"\n [items]=\"metadataAvailable$ | async\"\n (ngModelChange)=\"onMetaChange($event)\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [readonly]=\"editable\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('metadata')?.invalid\n ? 'metadata-label metadata-error'\n : 'metadata-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('metadata')?.invalid\"\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && metaForm.get('metadata')?.invalid\"\n id=\"metadata-error\"\n for=\"metadata\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <ng-container *ngIf=\"metaForm.value['metadata']['type'] === 'DATE'; else inputList\">\n <div class=\"m-form-label-field\">\n <label id=\"form_date-label\" for=\"form_date\" class=\"a-label\">\n {{ '@pry.action.selectDate' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"form_date\"\n type=\"date\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('value')?.invalid\n ? 'form-date-label form-date-error'\n : 'form-date-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('value')?.invalid\"\n id=\"form_date-error\"\n for=\"form_date\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n </ng-container>\n\n <ng-template #inputList>\n <ng-container *ngIf=\"metaForm.value['metadata']['type'] === 'LIST'; else inputText\">\n <div class=\"m-form-label-field\">\n <label id=\"list-label\" class=\"a-label\" for=\"list\">{{ '@pry.action.choiceInList' | i18n }}</label>\n <pry-select\n id=\"list\"\n class=\"a-pry-select\"\n formControlName=\"value\"\n [items]=\"metaForm.value['metadata']['allowedValues']\"\n [isForm]=\"true\"\n aria-labelledby=\"list-label\"\n ></pry-select>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #inputText>\n <div class=\"m-form-label-field\">\n <label id=\"text-label\" class=\"a-label\" for=\"text\">\n {{ '@pry.action.text' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"text\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('value')?.invalid ? 'text-label text-error' : 'text-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('value')?.invalid\"\n id=\"test-error\"\n for=\"text\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('value')?.hasError('required')\">{{\n '@pry.admin.required' | i18n\n }}</span>\n <ng-container *ngIf=\"metaForm.get('value')?.hasError('pattern')\">\n <span *ngIf=\"metaForm.value['metadata']['type'] === 'DOUBLE'\">\n {{ '@pry.admin.environment.formatDouble' | i18n }}\n </span>\n <span *ngIf=\"metaForm.value['metadata']['type'] === 'INTEGER'\">\n {{ '@pry.admin.environment.formatInt' | i18n }}\n </span>\n </ng-container>\n </label>\n </div>\n </ng-template>\n </fieldset>\n\n <div class=\"m-btn-group -end\">\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"\n ((editable$ | async) ? '@pry.admin.userInfo.editMetadata' : '@pry.admin.userInfo.addMetadata')\n | i18n\n \"\n ></button>\n </div>\n </form>\n </ng-container>\n </ng-container>\n </div>\n\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"0\"\n >\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.name' | i18n }} :\n <strong>{{ user?.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.familyName' | i18n }} :\n <strong>{{ user.familyName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.email' | i18n }} :\n <strong>{{ user.email }}</strong>\n </p>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
108
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminUserSelectComponent, selector: "pry-admin-user-select", inputs: { profil: "profil" }, ngImport: i0, template: "<div\n *ngIf=\"selectedUser$ | async as user\"\n [id]=\"'panel-user-' + user.id\"\n [attr.aria-labelledby]=\"'button-user-' + user.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.userInfo.info' | i18n }}\n </h3>\n </div>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.userInfo.profile' | i18n }}\n </button>\n\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n [id]=\"'tab-' + compId + '-1'\"\n role=\"tab\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content o-tabs__panels__item__content--profil\">\n <div *ngFor=\"let metadata of userMetadata$ | async\">\n <div class=\"o-tabs__panels__item__content\">\n <div class=\"o-tabs__panels__item__content__actions\">\n <div class=\"o-tabs__panels__item__content__actions__text\">\n <span class=\"o-tabs__panels__item__content__actions__text__label\"\n >{{ metadata.userProfile.name }} :</span\n >\n <span class=\"o-tabs__panels__item__content__actions__text__value\">{{ metadata.value }}</span>\n </div>\n\n <div class=\"o-tabs__panels__item__content__actions__buttons\">\n <ng-container *pryAccess=\"{ module: 'admin', page: 'user', action: 'write' }\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.edit' | i18n }} {{ metadata.userProfile.name }}</span\n >\n <pry-icon\n class=\"edit-icon\"\n iconSvg=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"editMetadata(metadata)\"\n ></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.delete' | i18n }} {{ metadata.userProfile.name }}</span\n >\n <pry-icon\n class=\"delete-icon\"\n iconSvg=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"removeMetadata(metadata)\"\n ></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *pryAccess=\"{ module: 'admin', page: 'user', action: 'write' }\">\n <ng-container *ngIf=\"metaForm.value.metadata\">\n <form class=\"o-form -border-top\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadataUser()\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.action.editProfil' | i18n }}</legend>\n\n <div class=\"m-form-label-field\">\n <label for=\"metadata\" id=\"metadata-label\" class=\"a-label\">Data</label>\n <pry-select\n id=\"metadata\"\n class=\"a-pry-select\"\n formControlName=\"metadata\"\n [items]=\"metadataAvailable$ | async\"\n (ngModelChange)=\"onMetaChange($event)\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [readonly]=\"editable\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('metadata')?.invalid\n ? 'metadata-label metadata-error'\n : 'metadata-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('metadata')?.invalid\"\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && metaForm.get('metadata')?.invalid\"\n id=\"metadata-error\"\n for=\"metadata\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <ng-container *ngIf=\"metaForm.value['metadata']['type'] === 'DATE'; else inputList\">\n <div class=\"m-form-label-field\">\n <label id=\"form_date-label\" for=\"form_date\" class=\"a-label\">\n {{ '@pry.action.selectDate' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"form_date\"\n type=\"date\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('value')?.invalid\n ? 'form-date-label form-date-error'\n : 'form-date-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('value')?.invalid\"\n id=\"form_date-error\"\n for=\"form_date\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n </ng-container>\n\n <ng-template #inputList>\n <ng-container *ngIf=\"metaForm.value['metadata']['type'] === 'LIST'; else inputText\">\n <div class=\"m-form-label-field\">\n <label id=\"list-label\" class=\"a-label\" for=\"list\">{{ '@pry.action.choiceInList' | i18n }}</label>\n <pry-select\n id=\"list\"\n class=\"a-pry-select\"\n formControlName=\"value\"\n [items]=\"metaForm.value['metadata']['allowedValues']\"\n [isForm]=\"true\"\n aria-labelledby=\"list-label\"\n ></pry-select>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #inputText>\n <div class=\"m-form-label-field\">\n <label id=\"text-label\" class=\"a-label\" for=\"text\">\n {{ '@pry.action.text' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"text\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('value')?.invalid ? 'text-label text-error' : 'text-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('value')?.invalid\"\n id=\"test-error\"\n for=\"text\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('value')?.hasError('required')\">{{\n '@pry.admin.required' | i18n\n }}</span>\n <ng-container *ngIf=\"metaForm.get('value')?.hasError('pattern')\">\n <span *ngIf=\"metaForm.value['metadata']['type'] === 'DOUBLE'\">\n {{ '@pry.admin.environment.formatDouble' | i18n }}\n </span>\n <span *ngIf=\"metaForm.value['metadata']['type'] === 'INTEGER'\">\n {{ '@pry.admin.environment.formatInt' | i18n }}\n </span>\n </ng-container>\n </label>\n </div>\n </ng-template>\n </fieldset>\n\n <div class=\"m-btn-group -end\">\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"\n ((editable$ | async) ? '@pry.admin.userInfo.editMetadata' : '@pry.admin.userInfo.addMetadata')\n | i18n\n \"\n ></button>\n </div>\n </form>\n </ng-container>\n </ng-container>\n </div>\n\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"0\"\n >\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.name' | i18n }} :\n <strong>{{ user?.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.familyName' | i18n }} :\n <strong>{{ user.familyName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.email' | i18n }} :\n <strong>{{ user.email }}</strong>\n </p>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
109
109
  }
110
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminUserSelectComponent, decorators: [{
111
111
  type: Component,
@@ -22,7 +22,7 @@ export class ListFilterComponent extends BaseFilterComponent {
22
22
  super.updateFilter(value);
23
23
  }
24
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ListFilterComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: ListFilterComponent, selector: "pry-list-filter", usesInheritance: true, ngImport: i0, template: "<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-form-label-field -width-sm -list\" *ngIf=\"filter\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <pry-select\n class=\"a-pry-select\"\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "component", type: i5.PryListFilterCssComponent, selector: "pry-list-filter-css" }] }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: ListFilterComponent, selector: "pry-list-filter", usesInheritance: true, ngImport: i0, template: "<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-form-label-field -width-sm -list\" *ngIf=\"filter\">\n <label class=\"a-label\" for=\"{{ filter.name }}\">{{ filter.name }}</label>\n <pry-select\n class=\"a-pry-select\"\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "component", type: i5.PryListFilterCssComponent, selector: "pry-list-filter-css" }] }); }
26
26
  }
27
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: ListFilterComponent, decorators: [{
28
28
  type: Component,
@@ -68,7 +68,7 @@ export class PryImportComponent {
68
68
  this.selectedFileType = fileType;
69
69
  }
70
70
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryImportComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
71
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryImportComponent, selector: "pry-import", ngImport: i0, template: "<pry-import-css></pry-import-css>\n<div class=\"o-import\">\n <h1 class=\"a-h1\">{{ '@pry.import.title' | i18n }}</h1>\n <div class=\"o-import__container\">\n <div class=\"o-import__container__input\">\n <div class=\"m-form-label-field\">\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.fileType' | i18n }}</label>\n <pry-select\n class=\"a-pry-select\"\n id=\"fileType\"\n [items]=\"fileTypes\"\n [itemsAsOption]=\"true\"\n [ngModel]=\"fileTypes[0].value\"\n [disabled]=\"false\"\n (ngModelChange)=\"onFileTypeChange($event)\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </div>\n <label class=\"a-h3\" for=\"upload_input\">\n {{ ('@pry.import.uploadTitle' | i18n) + selectedFileType }}\n </label>\n <div class=\"o-file-input\">\n <div *ngIf=\"file\" class=\"o-import__container__input__file\">\n <pry-icon iconSvg=\"download\"></pry-icon>\n <h3>{{ file.name }}</h3>\n <span>{{ getFileSize(file.size) }}</span>\n </div>\n <pry-upload\n id=\"upload_input\"\n [accept]=\"fileExtension[selectedFileType]\"\n mode=\"files\"\n (uploadedFile)=\"uploadedChange($event)\"\n labelTranslate=\"@pry.import.selectFile\"\n ></pry-upload>\n </div>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.datasetImport' | i18n }}</label>\n <pry-select\n class=\"a-pry-select\"\n id=\"datasets\"\n [items]=\"datasets$ | async\"\n [itemsAsOption]=\"true\"\n [(ngModel)]=\"datasetSelected\"\n [placeholder]=\"'@pry.import.dataset' | i18n\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></pry-select>\n </div>\n <div class=\"o-import__container__input__actions\">\n <button class=\"a-btn a-btn--primary\" (click)=\"submit()\" [disabled]=\"isSubmitDisabled()\">\n {{ '@pry.import.import' | i18n }}\n </button>\n </div>\n </div>\n <ng-container *ngIf=\"uploadedDataset$ | async\">\n <div class=\"o-import__result\">\n <h1>\n {{\n '@pry.import.consultDataset'\n | i18n\n : { parameter: datasetSelected ?? '' | translateId : { type: 'datasource', output: 'name' } | async }\n }}\n </h1>\n </div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i2.PryUploadComponent, selector: "pry-upload", inputs: ["mode", "accept", "labelTranslate"], outputs: ["uploaded", "uploadedFile"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.PryImportCssComponent, selector: "pry-import-css" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
71
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryImportComponent, selector: "pry-import", ngImport: i0, template: "<pry-import-css></pry-import-css>\n<div class=\"o-import\">\n <h1 class=\"a-h1\">{{ '@pry.import.title' | i18n }}</h1>\n <div class=\"o-import__container\">\n <div class=\"o-import__container__input\">\n <div class=\"m-form-label-field\">\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.fileType' | i18n }}</label>\n <pry-select\n class=\"a-pry-select\"\n id=\"fileType\"\n [items]=\"fileTypes\"\n [itemsAsOption]=\"true\"\n [ngModel]=\"fileTypes[0].value\"\n [disabled]=\"false\"\n (ngModelChange)=\"onFileTypeChange($event)\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </div>\n <label class=\"a-h3\" for=\"upload_input\">\n {{ ('@pry.import.uploadTitle' | i18n) + selectedFileType }}\n </label>\n <div class=\"o-file-input\">\n <div *ngIf=\"file\" class=\"o-import__container__input__file\">\n <pry-icon iconSvg=\"download\"></pry-icon>\n <h3>{{ file.name }}</h3>\n <span>{{ getFileSize(file.size) }}</span>\n </div>\n <pry-upload\n id=\"upload_input\"\n [accept]=\"fileExtension[selectedFileType]\"\n mode=\"files\"\n (uploadedFile)=\"uploadedChange($event)\"\n labelTranslate=\"@pry.import.selectFile\"\n ></pry-upload>\n </div>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.datasetImport' | i18n }}</label>\n <pry-select\n class=\"a-pry-select\"\n id=\"datasets\"\n [items]=\"datasets$ | async\"\n [itemsAsOption]=\"true\"\n [(ngModel)]=\"datasetSelected\"\n [placeholder]=\"'@pry.import.dataset' | i18n\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></pry-select>\n </div>\n <div class=\"o-import__container__input__actions\">\n <button class=\"a-btn a-btn--primary\" (click)=\"submit()\" [disabled]=\"isSubmitDisabled()\">\n {{ '@pry.import.import' | i18n }}\n </button>\n </div>\n </div>\n <ng-container *ngIf=\"uploadedDataset$ | async\">\n <div class=\"o-import__result\">\n <h1>\n {{\n '@pry.import.consultDataset'\n | i18n\n : { parameter: datasetSelected ?? '' | translateId : { type: 'datasource', output: 'name' } | async }\n }}\n </h1>\n </div>\n </ng-container>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i2.PryUploadComponent, selector: "pry-upload", inputs: ["mode", "accept", "labelTranslate"], outputs: ["uploaded", "uploadedFile"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.PryImportCssComponent, selector: "pry-import-css" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
72
72
  }
73
73
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryImportComponent, decorators: [{
74
74
  type: Component,
@@ -20,6 +20,7 @@ export class PrySelectComponent {
20
20
  this.clearable = false;
21
21
  this.multiple = false;
22
22
  this.multipleClearRight = false;
23
+ this.closeOnSelect = false;
23
24
  this.isForm = false;
24
25
  this.readonly = false;
25
26
  this.itemsAsOption = false;
@@ -53,13 +54,13 @@ export class PrySelectComponent {
53
54
  return item.code.toLocaleLowerCase().indexOf(term) > -1 || item.countryName.toLocaleLowerCase().indexOf(term) > -1;
54
55
  }
55
56
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PrySelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PrySelectComponent, selector: "pry-select", inputs: { labelTranslate: "labelTranslate", baseTranslate: "baseTranslate", translationFn: "translationFn", translationFnArgs: "translationFnArgs", clearable: "clearable", multiple: "multiple", multipleClearRight: "multipleClearRight", placeholder: "placeholder", isForm: "isForm", required: "required", name: "name", readonly: "readonly", items: "items", itemsAsOption: "itemsAsOption", bindData: "bindData", bindValue: "bindValue", bindLabel: "bindLabel", bindIcon: "bindIcon", iconSize: "iconSize", templateLabel: "templateLabel", templateOption: "templateOption", autocomplete: "autocomplete" }, providers: [
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PrySelectComponent, selector: "pry-select", inputs: { labelTranslate: "labelTranslate", baseTranslate: "baseTranslate", translationFn: "translationFn", translationFnArgs: "translationFnArgs", clearable: "clearable", multiple: "multiple", multipleClearRight: "multipleClearRight", closeOnSelect: "closeOnSelect", placeholder: "placeholder", isForm: "isForm", required: "required", name: "name", readonly: "readonly", items: "items", itemsAsOption: "itemsAsOption", bindData: "bindData", bindValue: "bindValue", bindLabel: "bindLabel", bindIcon: "bindIcon", iconSize: "iconSize", templateLabel: "templateLabel", templateOption: "templateOption", autocomplete: "autocomplete" }, providers: [
57
58
  {
58
59
  provide: NG_VALUE_ACCESSOR,
59
60
  useExisting: forwardRef(() => PrySelectComponent),
60
61
  multi: true
61
62
  }
62
- ], ngImport: i0, template: "<ng-container *ngIf=\"itemsAsOption; else itemAsInput\">\n <ng-select\n class=\"a-pry-select\"\n [class.pry-select-form]=\"isForm\"\n [multiple]=\"multiple\"\n [closeOnSelect]=\"!multiple\"\n [items]=\"items\"\n [bindValue]=\"bindData ? undefined : bindValue\"\n [bindLabel]=\"bindData ? undefined : bindLabel\"\n [clearable]=\"clearable\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n [searchable]=\"autocomplete\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [name]=\"name\"\n [placeholder]=\"placeholder!\"\n [clearAllText]=\"'@pry.filters.clear' | i18n\"\n >\n <!-- Label part -->\n <ng-container *ngIf=\"templateLabel; else noTemplateLabel\">\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\n <ng-container [ngTemplateOutlet]=\"templateLabel\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-template #noTemplateLabel>\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\n <span\n *ngIf=\"multiple && !multipleClearRight\"\n class=\"ng-value-icon left\"\n (click)=\"clear(item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n <span class=\"ng-value-label\">\n <ng-container *ngIf=\"bindIcon\">\n <pry-icon\n style=\"margin-right: 0.25em\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n [animation]=\"false\"\n ></pry-icon>\n </ng-container>\n <ng-container *ngIf=\"labelTranslate; else noTranslate\">\n <ng-container *ngIf=\"translationFn; else noTranslationFn\">\n {{ translationFn(bindData ? item : item?.[bindLabel], translationFnArgs) | i18n }}\n </ng-container>\n <ng-template #noTranslationFn>\n <ng-container *ngIf=\"baseTranslate + (bindData ? item : item?.[bindLabel]) !== 'null'\">\n {{ baseTranslate + (bindData ? item : item?.[bindLabel]) | i18n }}\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #noTranslate>\n {{ bindData ? item : item?.[bindLabel] }}\n </ng-template>\n </span>\n <span\n *ngIf=\"multiple && multipleClearRight\"\n class=\"ng-value-icon right\"\n (click)=\"clear(item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-template>\n </ng-template>\n\n <!-- Option part -->\n <ng-container *ngIf=\"templateOption; else noTemplateOption\">\n <ng-template ng-option-tmp let-item=\"item\">\n <ng-container [ngTemplateOutlet]=\"templateOption\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-template #noTemplateOption>\n <ng-template ng-option-tmp let-item=\"item\">\n <span class=\"ng-option-label\">\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n [animation]=\"false\"\n ></pry-icon>\n <ng-container *ngIf=\"labelTranslate; else noTranslateOption\">\n <ng-container *ngIf=\"translationFn; else noTranslationFnOption\">\n {{ translationFn(bindData ? item : item?.[bindLabel], translationFnArgs) | i18n }}\n </ng-container>\n <ng-template #noTranslationFnOption>\n {{ baseTranslate + (bindData ? item : item?.[bindLabel]) | i18n }}\n </ng-template>\n </ng-container>\n <ng-template #noTranslateOption>\n {{ bindData ? item : item?.[bindLabel] }}\n </ng-template>\n </span>\n </ng-template>\n </ng-template>\n </ng-select>\n</ng-container>\n<ng-template #itemAsInput>\n <ng-select\n #select\n class=\"pry-select\"\n [class.pry-select-form]=\"isForm\"\n [multiple]=\"multiple\"\n [closeOnSelect]=\"!multiple\"\n [items]=\"items\"\n [bindValue]=\"bindValue\"\n [bindLabel]=\"bindLabel\"\n [clearable]=\"clearable\"\n [searchable]=\"autocomplete\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [name]=\"name\"\n [placeholder]=\"placeholder!\"\n [clearAllText]=\"'@pry.filters.clear' | i18n\"\n >\n </ng-select>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i2.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i2.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
+ ], ngImport: i0, template: "<ng-container *ngIf=\"itemsAsOption; else itemAsInput\">\n <ng-select\n class=\"a-pry-select\"\n [class.pry-select-form]=\"isForm\"\n [multiple]=\"multiple\"\n [closeOnSelect]=\"closeOnSelect\"\n [items]=\"items\"\n [bindValue]=\"bindData ? undefined : bindValue\"\n [bindLabel]=\"bindData ? undefined : bindLabel\"\n [clearable]=\"clearable\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n [searchable]=\"autocomplete\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [name]=\"name\"\n [placeholder]=\"placeholder!\"\n [clearAllText]=\"'@pry.filters.clear' | i18n\"\n >\n <!-- Label part -->\n <ng-container *ngIf=\"templateLabel; else noTemplateLabel\">\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\n <ng-container [ngTemplateOutlet]=\"templateLabel\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-template #noTemplateLabel>\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\n <span\n *ngIf=\"multiple && !multipleClearRight\"\n class=\"ng-value-icon left\"\n (click)=\"clear(item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n <span class=\"ng-value-label\">\n <ng-container *ngIf=\"bindIcon\">\n <pry-icon\n style=\"margin-right: 0.25em\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n [animation]=\"false\"\n ></pry-icon>\n </ng-container>\n <ng-container *ngIf=\"labelTranslate; else noTranslate\">\n <ng-container *ngIf=\"translationFn; else noTranslationFn\">\n {{ translationFn(bindData ? item : item?.[bindLabel], translationFnArgs) | i18n }}\n </ng-container>\n <ng-template #noTranslationFn>\n <ng-container *ngIf=\"baseTranslate + (bindData ? item : item?.[bindLabel]) !== 'null'\">\n {{ baseTranslate + (bindData ? item : item?.[bindLabel]) | i18n }}\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #noTranslate>\n {{ bindData ? item : item?.[bindLabel] }}\n </ng-template>\n </span>\n <span\n *ngIf=\"multiple && multipleClearRight\"\n class=\"ng-value-icon right\"\n (click)=\"clear(item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-template>\n </ng-template>\n\n <!-- Option part -->\n <ng-container *ngIf=\"templateOption; else noTemplateOption\">\n <ng-template ng-option-tmp let-item=\"item\">\n <ng-container [ngTemplateOutlet]=\"templateOption\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-template #noTemplateOption>\n <ng-template ng-option-tmp let-item=\"item\">\n <span class=\"ng-option-label\">\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n [animation]=\"false\"\n ></pry-icon>\n <ng-container *ngIf=\"labelTranslate; else noTranslateOption\">\n <ng-container *ngIf=\"translationFn; else noTranslationFnOption\">\n {{ translationFn(bindData ? item : item?.[bindLabel], translationFnArgs) | i18n }}\n </ng-container>\n <ng-template #noTranslationFnOption>\n {{ baseTranslate + (bindData ? item : item?.[bindLabel]) | i18n }}\n </ng-template>\n </ng-container>\n <ng-template #noTranslateOption>\n {{ bindData ? item : item?.[bindLabel] }}\n </ng-template>\n </span>\n </ng-template>\n </ng-template>\n </ng-select>\n</ng-container>\n<ng-template #itemAsInput>\n <ng-select\n #select\n class=\"pry-select\"\n [class.pry-select-form]=\"isForm\"\n [multiple]=\"multiple\"\n [closeOnSelect]=\"closeOnSelect\"\n [items]=\"items\"\n [bindValue]=\"bindValue\"\n [bindLabel]=\"bindLabel\"\n [clearable]=\"clearable\"\n [searchable]=\"autocomplete\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [name]=\"name\"\n [placeholder]=\"placeholder!\"\n [clearAllText]=\"'@pry.filters.clear' | i18n\"\n >\n </ng-select>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i2.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i2.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
64
  }
64
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PrySelectComponent, decorators: [{
65
66
  type: Component,
@@ -69,7 +70,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
69
70
  useExisting: forwardRef(() => PrySelectComponent),
70
71
  multi: true
71
72
  }
72
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"itemsAsOption; else itemAsInput\">\n <ng-select\n class=\"a-pry-select\"\n [class.pry-select-form]=\"isForm\"\n [multiple]=\"multiple\"\n [closeOnSelect]=\"!multiple\"\n [items]=\"items\"\n [bindValue]=\"bindData ? undefined : bindValue\"\n [bindLabel]=\"bindData ? undefined : bindLabel\"\n [clearable]=\"clearable\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n [searchable]=\"autocomplete\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [name]=\"name\"\n [placeholder]=\"placeholder!\"\n [clearAllText]=\"'@pry.filters.clear' | i18n\"\n >\n <!-- Label part -->\n <ng-container *ngIf=\"templateLabel; else noTemplateLabel\">\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\n <ng-container [ngTemplateOutlet]=\"templateLabel\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-template #noTemplateLabel>\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\n <span\n *ngIf=\"multiple && !multipleClearRight\"\n class=\"ng-value-icon left\"\n (click)=\"clear(item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n <span class=\"ng-value-label\">\n <ng-container *ngIf=\"bindIcon\">\n <pry-icon\n style=\"margin-right: 0.25em\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n [animation]=\"false\"\n ></pry-icon>\n </ng-container>\n <ng-container *ngIf=\"labelTranslate; else noTranslate\">\n <ng-container *ngIf=\"translationFn; else noTranslationFn\">\n {{ translationFn(bindData ? item : item?.[bindLabel], translationFnArgs) | i18n }}\n </ng-container>\n <ng-template #noTranslationFn>\n <ng-container *ngIf=\"baseTranslate + (bindData ? item : item?.[bindLabel]) !== 'null'\">\n {{ baseTranslate + (bindData ? item : item?.[bindLabel]) | i18n }}\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #noTranslate>\n {{ bindData ? item : item?.[bindLabel] }}\n </ng-template>\n </span>\n <span\n *ngIf=\"multiple && multipleClearRight\"\n class=\"ng-value-icon right\"\n (click)=\"clear(item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-template>\n </ng-template>\n\n <!-- Option part -->\n <ng-container *ngIf=\"templateOption; else noTemplateOption\">\n <ng-template ng-option-tmp let-item=\"item\">\n <ng-container [ngTemplateOutlet]=\"templateOption\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-template #noTemplateOption>\n <ng-template ng-option-tmp let-item=\"item\">\n <span class=\"ng-option-label\">\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n [animation]=\"false\"\n ></pry-icon>\n <ng-container *ngIf=\"labelTranslate; else noTranslateOption\">\n <ng-container *ngIf=\"translationFn; else noTranslationFnOption\">\n {{ translationFn(bindData ? item : item?.[bindLabel], translationFnArgs) | i18n }}\n </ng-container>\n <ng-template #noTranslationFnOption>\n {{ baseTranslate + (bindData ? item : item?.[bindLabel]) | i18n }}\n </ng-template>\n </ng-container>\n <ng-template #noTranslateOption>\n {{ bindData ? item : item?.[bindLabel] }}\n </ng-template>\n </span>\n </ng-template>\n </ng-template>\n </ng-select>\n</ng-container>\n<ng-template #itemAsInput>\n <ng-select\n #select\n class=\"pry-select\"\n [class.pry-select-form]=\"isForm\"\n [multiple]=\"multiple\"\n [closeOnSelect]=\"!multiple\"\n [items]=\"items\"\n [bindValue]=\"bindValue\"\n [bindLabel]=\"bindLabel\"\n [clearable]=\"clearable\"\n [searchable]=\"autocomplete\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [name]=\"name\"\n [placeholder]=\"placeholder!\"\n [clearAllText]=\"'@pry.filters.clear' | i18n\"\n >\n </ng-select>\n</ng-template>\n" }]
73
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"itemsAsOption; else itemAsInput\">\n <ng-select\n class=\"a-pry-select\"\n [class.pry-select-form]=\"isForm\"\n [multiple]=\"multiple\"\n [closeOnSelect]=\"closeOnSelect\"\n [items]=\"items\"\n [bindValue]=\"bindData ? undefined : bindValue\"\n [bindLabel]=\"bindData ? undefined : bindLabel\"\n [clearable]=\"clearable\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n [searchable]=\"autocomplete\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [name]=\"name\"\n [placeholder]=\"placeholder!\"\n [clearAllText]=\"'@pry.filters.clear' | i18n\"\n >\n <!-- Label part -->\n <ng-container *ngIf=\"templateLabel; else noTemplateLabel\">\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\n <ng-container [ngTemplateOutlet]=\"templateLabel\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-template #noTemplateLabel>\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\n <span\n *ngIf=\"multiple && !multipleClearRight\"\n class=\"ng-value-icon left\"\n (click)=\"clear(item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n <span class=\"ng-value-label\">\n <ng-container *ngIf=\"bindIcon\">\n <pry-icon\n style=\"margin-right: 0.25em\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n [animation]=\"false\"\n ></pry-icon>\n </ng-container>\n <ng-container *ngIf=\"labelTranslate; else noTranslate\">\n <ng-container *ngIf=\"translationFn; else noTranslationFn\">\n {{ translationFn(bindData ? item : item?.[bindLabel], translationFnArgs) | i18n }}\n </ng-container>\n <ng-template #noTranslationFn>\n <ng-container *ngIf=\"baseTranslate + (bindData ? item : item?.[bindLabel]) !== 'null'\">\n {{ baseTranslate + (bindData ? item : item?.[bindLabel]) | i18n }}\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #noTranslate>\n {{ bindData ? item : item?.[bindLabel] }}\n </ng-template>\n </span>\n <span\n *ngIf=\"multiple && multipleClearRight\"\n class=\"ng-value-icon right\"\n (click)=\"clear(item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-template>\n </ng-template>\n\n <!-- Option part -->\n <ng-container *ngIf=\"templateOption; else noTemplateOption\">\n <ng-template ng-option-tmp let-item=\"item\">\n <ng-container [ngTemplateOutlet]=\"templateOption\" [ngTemplateOutletContext]=\"{ item }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-template #noTemplateOption>\n <ng-template ng-option-tmp let-item=\"item\">\n <span class=\"ng-option-label\">\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n [animation]=\"false\"\n ></pry-icon>\n <ng-container *ngIf=\"labelTranslate; else noTranslateOption\">\n <ng-container *ngIf=\"translationFn; else noTranslationFnOption\">\n {{ translationFn(bindData ? item : item?.[bindLabel], translationFnArgs) | i18n }}\n </ng-container>\n <ng-template #noTranslationFnOption>\n {{ baseTranslate + (bindData ? item : item?.[bindLabel]) | i18n }}\n </ng-template>\n </ng-container>\n <ng-template #noTranslateOption>\n {{ bindData ? item : item?.[bindLabel] }}\n </ng-template>\n </span>\n </ng-template>\n </ng-template>\n </ng-select>\n</ng-container>\n<ng-template #itemAsInput>\n <ng-select\n #select\n class=\"pry-select\"\n [class.pry-select-form]=\"isForm\"\n [multiple]=\"multiple\"\n [closeOnSelect]=\"closeOnSelect\"\n [items]=\"items\"\n [bindValue]=\"bindValue\"\n [bindLabel]=\"bindLabel\"\n [clearable]=\"clearable\"\n [searchable]=\"autocomplete\"\n [ngModel]=\"value\"\n (ngModelChange)=\"writeValue($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n [name]=\"name\"\n [placeholder]=\"placeholder!\"\n [clearAllText]=\"'@pry.filters.clear' | i18n\"\n >\n </ng-select>\n</ng-template>\n" }]
73
74
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { labelTranslate: [{
74
75
  type: Input
75
76
  }], baseTranslate: [{
@@ -84,6 +85,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
84
85
  type: Input
85
86
  }], multipleClearRight: [{
86
87
  type: Input
88
+ }], closeOnSelect: [{
89
+ type: Input
87
90
  }], placeholder: [{
88
91
  type: Input
89
92
  }], isForm: [{
@@ -115,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
115
118
  }], autocomplete: [{
116
119
  type: Input
117
120
  }] } });
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFFekUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBZWpCLE1BQU0sT0FBTyxrQkFBa0I7SUFpQjdCLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBcUJELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdkNuQyxPQUFFLEdBQVcsUUFBUSxFQUFFLENBQUM7UUFFdEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFFbkIsc0JBQWlCLEdBQVUsRUFBRSxDQUFDO1FBQzlCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFHM0IsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFPakIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUlqQixhQUFRLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFLcEIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFJL0IsY0FBUyxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDM0IsZUFBVSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN0QixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBRW1CLENBQUM7SUFFOUMsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVE7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsRUFBRTtZQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWSxFQUFFLElBQVM7UUFDcEMsSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JILENBQUM7OEdBbkVVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDZuQkFUbEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2dCQUNqRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDZkgsbWpKQTRIQTs7MkZEMUdhLGtCQUFrQjtrQkFiOUIsU0FBUzsrQkFDRSxZQUFZLGFBR1g7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO3dHQUt0QyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1HLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUHJ5U2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQcnlTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHB1YmxpYyBpZDogbnVtYmVyID0gdW5pcXVlSWQrKztcblxuICBASW5wdXQoKSBsYWJlbFRyYW5zbGF0ZSA9IGZhbHNlO1xuICBASW5wdXQoKSBiYXNlVHJhbnNsYXRlID0gJyc7XG4gIEBJbnB1dCgpIHRyYW5zbGF0aW9uRm4/OiAoLi4uYXJnczogYW55W10pID0+IGFueTtcbiAgQElucHV0KCkgdHJhbnNsYXRpb25GbkFyZ3M6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIGNsZWFyYWJsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBtdWx0aXBsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBtdWx0aXBsZUNsZWFyUmlnaHQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgQElucHV0KCkgaXNGb3JtID0gZmFsc2U7XG4gIEBJbnB1dCgpIHJlcXVpcmVkPzogYW55O1xuICBASW5wdXQoKSBuYW1lPzogYW55O1xuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBASW5wdXQoKSBpdGVtcyE6IGFueVtdIHwgbnVsbDtcbiAgQElucHV0KCkgaXRlbXNBc09wdGlvbiA9IGZhbHNlO1xuICBASW5wdXQoKSBiaW5kRGF0YSA9IGZhbHNlO1xuICBASW5wdXQoKSBiaW5kVmFsdWU6IGFueTtcbiAgQElucHV0KCkgYmluZExhYmVsOiBhbnk7XG4gIEBJbnB1dCgpIGJpbmRJY29uOiBhbnk7XG4gIEBJbnB1dCgpIGljb25TaXplID0gWzE0LCAxNF07XG5cbiAgQElucHV0KCkgdGVtcGxhdGVMYWJlbD86IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIHRlbXBsYXRlT3B0aW9uPzogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKSBhdXRvY29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICB2YWx1ZTogYW55O1xuXG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKF86IGFueSkgPT4ge307XG4gIHByaXZhdGUgX29uVG91Y2hlZCA9ICgpID0+IHt9O1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLnZhbHVlICE9PSBvYmopIHtcbiAgICAgIHRoaXMudmFsdWUgPSBvYmo7XG4gICAgICB0aGlzLl9vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xuICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgY3VzdG9tU2VhcmNoRm4odGVybTogc3RyaW5nLCBpdGVtOiBhbnkpIHtcbiAgICB0ZXJtID0gdGVybS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xuICAgIHJldHVybiBpdGVtLmNvZGUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmRleE9mKHRlcm0pID4gLTEgfHwgaXRlbS5jb3VudHJ5TmFtZS50b0xvY2FsZUxvd2VyQ2FzZSgpLmluZGV4T2YodGVybSkgPiAtMTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW1zQXNPcHRpb247IGVsc2UgaXRlbUFzSW5wdXRcIj5cbiAgPG5nLXNlbGVjdFxuICAgIGNsYXNzPVwiYS1wcnktc2VsZWN0XCJcbiAgICBbY2xhc3MucHJ5LXNlbGVjdC1mb3JtXT1cImlzRm9ybVwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICBbY2xvc2VPblNlbGVjdF09XCIhbXVsdGlwbGVcIlxuICAgIFtpdGVtc109XCJpdGVtc1wiXG4gICAgW2JpbmRWYWx1ZV09XCJiaW5kRGF0YSA/IHVuZGVmaW5lZCA6IGJpbmRWYWx1ZVwiXG4gICAgW2JpbmRMYWJlbF09XCJiaW5kRGF0YSA/IHVuZGVmaW5lZCA6IGJpbmRMYWJlbFwiXG4gICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxuICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJ3cml0ZVZhbHVlKCRldmVudClcIlxuICAgIFtzZWFyY2hhYmxlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW25hbWVdPVwibmFtZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIVwiXG4gICAgW2NsZWFyQWxsVGV4dF09XCInQHByeS5maWx0ZXJzLmNsZWFyJyB8IGkxOG5cIlxuICA+XG4gICAgPCEtLSBMYWJlbCBwYXJ0IC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZUxhYmVsOyBlbHNlIG5vVGVtcGxhdGVMYWJlbFwiPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlTGFiZWxcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtLCBjbGVhciB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9UZW1wbGF0ZUxhYmVsPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwibXVsdGlwbGUgJiYgIW11bHRpcGxlQ2xlYXJSaWdodFwiXG4gICAgICAgICAgY2xhc3M9XCJuZy12YWx1ZS1pY29uIGxlZnRcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhcihpdGVtKVwiXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICA+w5c8L3NwYW5cbiAgICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5nLXZhbHVlLWxhYmVsXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJpbmRJY29uXCI+XG4gICAgICAgICAgICA8cHJ5LWljb25cbiAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDAuMjVlbVwiXG4gICAgICAgICAgICAgIFtpY29uU3ZnXT1cIml0ZW1bYmluZEljb25dXCJcbiAgICAgICAgICAgICAgW3dpZHRoXT1cImljb25TaXplWzBdXCJcbiAgICAgICAgICAgICAgW2hlaWdodF09XCJpY29uU2l6ZVsxXVwiXG4gICAgICAgICAgICAgIFthbmltYXRpb25dPVwiZmFsc2VcIlxuICAgICAgICAgICAgPjwvcHJ5LWljb24+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsVHJhbnNsYXRlOyBlbHNlIG5vVHJhbnNsYXRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJhbnNsYXRpb25GbjsgZWxzZSBub1RyYW5zbGF0aW9uRm5cIj5cbiAgICAgICAgICAgICAge3sgdHJhbnNsYXRpb25GbihiaW5kRGF0YSA/IGl0ZW0gOiBpdGVtPy5bYmluZExhYmVsXSwgdHJhbnNsYXRpb25GbkFyZ3MpIHwgaTE4biB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vVHJhbnNsYXRpb25Gbj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImJhc2VUcmFuc2xhdGUgKyAoYmluZERhdGEgPyBpdGVtIDogaXRlbT8uW2JpbmRMYWJlbF0pICE9PSAnbnVsbCdcIj5cbiAgICAgICAgICAgICAgICB7eyBiYXNlVHJhbnNsYXRlICsgKGJpbmREYXRhID8gaXRlbSA6IGl0ZW0/LltiaW5kTGFiZWxdKSB8IGkxOG4gfX1cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9UcmFuc2xhdGU+XG4gICAgICAgICAgICB7eyBiaW5kRGF0YSA/IGl0ZW0gOiBpdGVtPy5bYmluZExhYmVsXSB9fVxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cIm11bHRpcGxlICYmIG11bHRpcGxlQ2xlYXJSaWdodFwiXG4gICAgICAgICAgY2xhc3M9XCJuZy12YWx1ZS1pY29uIHJpZ2h0XCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXIoaXRlbSlcIlxuICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgPsOXPC9zcGFuXG4gICAgICAgID5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDwhLS0gT3B0aW9uIHBhcnQgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlT3B0aW9uOyBlbHNlIG5vVGVtcGxhdGVPcHRpb25cIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRlbXBsYXRlT3B0aW9uXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9UZW1wbGF0ZU9wdGlvbj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5nLW9wdGlvbi1sYWJlbFwiPlxuICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgKm5nSWY9XCJiaW5kSWNvblwiXG4gICAgICAgICAgICBbaWNvblN2Z109XCJpdGVtW2JpbmRJY29uXVwiXG4gICAgICAgICAgICBbd2lkdGhdPVwiaWNvblNpemVbMF1cIlxuICAgICAgICAgICAgW2hlaWdodF09XCJpY29uU2l6ZVsxXVwiXG4gICAgICAgICAgICBbYW5pbWF0aW9uXT1cImZhbHNlXCJcbiAgICAgICAgICA+PC9wcnktaWNvbj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxUcmFuc2xhdGU7IGVsc2Ugbm9UcmFuc2xhdGVPcHRpb25cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmFuc2xhdGlvbkZuOyBlbHNlIG5vVHJhbnNsYXRpb25Gbk9wdGlvblwiPlxuICAgICAgICAgICAgICB7eyB0cmFuc2xhdGlvbkZuKGJpbmREYXRhID8gaXRlbSA6IGl0ZW0/LltiaW5kTGFiZWxdLCB0cmFuc2xhdGlvbkZuQXJncykgfCBpMThuIH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9UcmFuc2xhdGlvbkZuT3B0aW9uPlxuICAgICAgICAgICAgICB7eyBiYXNlVHJhbnNsYXRlICsgKGJpbmREYXRhID8gaXRlbSA6IGl0ZW0/LltiaW5kTGFiZWxdKSB8IGkxOG4gfX1cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNub1RyYW5zbGF0ZU9wdGlvbj5cbiAgICAgICAgICAgIHt7IGJpbmREYXRhID8gaXRlbSA6IGl0ZW0/LltiaW5kTGFiZWxdIH19XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXNlbGVjdD5cbjwvbmctY29udGFpbmVyPlxuPG5nLXRlbXBsYXRlICNpdGVtQXNJbnB1dD5cbiAgPG5nLXNlbGVjdFxuICAgICNzZWxlY3RcbiAgICBjbGFzcz1cInByeS1zZWxlY3RcIlxuICAgIFtjbGFzcy5wcnktc2VsZWN0LWZvcm1dPVwiaXNGb3JtXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIlxuICAgIFtjbG9zZU9uU2VsZWN0XT1cIiFtdWx0aXBsZVwiXG4gICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZVwiXG4gICAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxuICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcbiAgICBbc2VhcmNoYWJsZV09XCJhdXRvY29tcGxldGVcIlxuICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJ3cml0ZVZhbHVlKCRldmVudClcIlxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciFcIlxuICAgIFtjbGVhckFsbFRleHRdPVwiJ0BwcnkuZmlsdGVycy5jbGVhcicgfCBpMThuXCJcbiAgPlxuICA8L25nLXNlbGVjdD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9saWIvY29yZS9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFFekUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBZWpCLE1BQU0sT0FBTyxrQkFBa0I7SUFpQjdCLElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBcUJELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdkNuQyxPQUFFLEdBQVcsUUFBUSxFQUFFLENBQUM7UUFFdEIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFFbkIsc0JBQWlCLEdBQVUsRUFBRSxDQUFDO1FBQzlCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDM0Isa0JBQWEsR0FBRSxLQUFLLENBQUM7UUFFckIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFPakIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUlqQixhQUFRLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFLcEIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFJL0IsY0FBUyxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDM0IsZUFBVSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN0QixjQUFTLEdBQUcsS0FBSyxDQUFDO0lBRW1CLENBQUM7SUFFOUMsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVE7UUFDakIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsRUFBRTtZQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWSxFQUFFLElBQVM7UUFDcEMsSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JILENBQUM7OEdBbkVVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDZwQkFUbEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2dCQUNqRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDZkgsMmpKQTRIQTs7MkZEMUdhLGtCQUFrQjtrQkFiOUIsU0FBUzsrQkFDRSxZQUFZLGFBR1g7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNO3dHQUt0QyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC5jb21wb25lbnQuaHRtbCcsXG5cbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcnlTZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFByeVNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgcHVibGljIGlkOiBudW1iZXIgPSB1bmlxdWVJZCsrO1xuXG4gIEBJbnB1dCgpIGxhYmVsVHJhbnNsYXRlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGJhc2VUcmFuc2xhdGUgPSAnJztcbiAgQElucHV0KCkgdHJhbnNsYXRpb25Gbj86ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuICBASW5wdXQoKSB0cmFuc2xhdGlvbkZuQXJnczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgY2xlYXJhYmxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIG11bHRpcGxlQ2xlYXJSaWdodCA9IGZhbHNlO1xuICBASW5wdXQoKSBjbG9zZU9uU2VsZWN0PSBmYWxzZTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlzRm9ybSA9IGZhbHNlO1xuICBASW5wdXQoKSByZXF1aXJlZD86IGFueTtcbiAgQElucHV0KCkgbmFtZT86IGFueTtcbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcblxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KCkgaXRlbXMhOiBhbnlbXSB8IG51bGw7XG4gIEBJbnB1dCgpIGl0ZW1zQXNPcHRpb24gPSBmYWxzZTtcbiAgQElucHV0KCkgYmluZERhdGEgPSBmYWxzZTtcbiAgQElucHV0KCkgYmluZFZhbHVlOiBhbnk7XG4gIEBJbnB1dCgpIGJpbmRMYWJlbDogYW55O1xuICBASW5wdXQoKSBiaW5kSWNvbjogYW55O1xuICBASW5wdXQoKSBpY29uU2l6ZSA9IFsxNCwgMTRdO1xuXG4gIEBJbnB1dCgpIHRlbXBsYXRlTGFiZWw/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSB0ZW1wbGF0ZU9wdGlvbj86IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KCkgYXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgdmFsdWU6IGFueTtcblxuICBwcml2YXRlIF9vbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuICBwcml2YXRlIF9vblRvdWNoZWQgPSAoKSA9PiB7fTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy52YWx1ZSAhPT0gb2JqKSB7XG4gICAgICB0aGlzLnZhbHVlID0gb2JqO1xuICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICB0aGlzLl9vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIGN1c3RvbVNlYXJjaEZuKHRlcm06IHN0cmluZywgaXRlbTogYW55KSB7XG4gICAgdGVybSA9IHRlcm0udG9Mb2NhbGVMb3dlckNhc2UoKTtcbiAgICByZXR1cm4gaXRlbS5jb2RlLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZih0ZXJtKSA+IC0xIHx8IGl0ZW0uY291bnRyeU5hbWUudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmRleE9mKHRlcm0pID4gLTE7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtc0FzT3B0aW9uOyBlbHNlIGl0ZW1Bc0lucHV0XCI+XG4gIDxuZy1zZWxlY3RcbiAgICBjbGFzcz1cImEtcHJ5LXNlbGVjdFwiXG4gICAgW2NsYXNzLnByeS1zZWxlY3QtZm9ybV09XCJpc0Zvcm1cIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW2Nsb3NlT25TZWxlY3RdPVwiY2xvc2VPblNlbGVjdFwiXG4gICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICBbYmluZFZhbHVlXT1cImJpbmREYXRhID8gdW5kZWZpbmVkIDogYmluZFZhbHVlXCJcbiAgICBbYmluZExhYmVsXT1cImJpbmREYXRhID8gdW5kZWZpbmVkIDogYmluZExhYmVsXCJcbiAgICBbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXG4gICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIndyaXRlVmFsdWUoJGV2ZW50KVwiXG4gICAgW3NlYXJjaGFibGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbbmFtZV09XCJuYW1lXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIhXCJcbiAgICBbY2xlYXJBbGxUZXh0XT1cIidAcHJ5LmZpbHRlcnMuY2xlYXInIHwgaTE4blwiXG4gID5cbiAgICA8IS0tIExhYmVsIHBhcnQgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlTGFiZWw7IGVsc2Ugbm9UZW1wbGF0ZUxhYmVsXCI+XG4gICAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1jbGVhcj1cImNsZWFyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVMYWJlbFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW0sIGNsZWFyIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNub1RlbXBsYXRlTGFiZWw+XG4gICAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1jbGVhcj1cImNsZWFyXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCJtdWx0aXBsZSAmJiAhbXVsdGlwbGVDbGVhclJpZ2h0XCJcbiAgICAgICAgICBjbGFzcz1cIm5nLXZhbHVlLWljb24gbGVmdFwiXG4gICAgICAgICAgKGNsaWNrKT1cImNsZWFyKGl0ZW0pXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgID7Dlzwvc3BhblxuICAgICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmctdmFsdWUtbGFiZWxcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYmluZEljb25cIj5cbiAgICAgICAgICAgIDxwcnktaWNvblxuICAgICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi1yaWdodDogMC4yNWVtXCJcbiAgICAgICAgICAgICAgW2ljb25TdmddPVwiaXRlbVtiaW5kSWNvbl1cIlxuICAgICAgICAgICAgICBbd2lkdGhdPVwiaWNvblNpemVbMF1cIlxuICAgICAgICAgICAgICBbaGVpZ2h0XT1cImljb25TaXplWzFdXCJcbiAgICAgICAgICAgICAgW2FuaW1hdGlvbl09XCJmYWxzZVwiXG4gICAgICAgICAgICA+PC9wcnktaWNvbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibGFiZWxUcmFuc2xhdGU7IGVsc2Ugbm9UcmFuc2xhdGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0cmFuc2xhdGlvbkZuOyBlbHNlIG5vVHJhbnNsYXRpb25GblwiPlxuICAgICAgICAgICAgICB7eyB0cmFuc2xhdGlvbkZuKGJpbmREYXRhID8gaXRlbSA6IGl0ZW0/LltiaW5kTGFiZWxdLCB0cmFuc2xhdGlvbkZuQXJncykgfCBpMThuIH19XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9UcmFuc2xhdGlvbkZuPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYmFzZVRyYW5zbGF0ZSArIChiaW5kRGF0YSA/IGl0ZW0gOiBpdGVtPy5bYmluZExhYmVsXSkgIT09ICdudWxsJ1wiPlxuICAgICAgICAgICAgICAgIHt7IGJhc2VUcmFuc2xhdGUgKyAoYmluZERhdGEgPyBpdGVtIDogaXRlbT8uW2JpbmRMYWJlbF0pIHwgaTE4biB9fVxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNub1RyYW5zbGF0ZT5cbiAgICAgICAgICAgIHt7IGJpbmREYXRhID8gaXRlbSA6IGl0ZW0/LltiaW5kTGFiZWxdIH19XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgICpuZ0lmPVwibXVsdGlwbGUgJiYgbXVsdGlwbGVDbGVhclJpZ2h0XCJcbiAgICAgICAgICBjbGFzcz1cIm5nLXZhbHVlLWljb24gcmlnaHRcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhcihpdGVtKVwiXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICA+w5c8L3NwYW5cbiAgICAgICAgPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPCEtLSBPcHRpb24gcGFydCAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGVtcGxhdGVPcHRpb247IGVsc2Ugbm9UZW1wbGF0ZU9wdGlvblwiPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGVtcGxhdGVPcHRpb25cIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNub1RlbXBsYXRlT3B0aW9uPlxuICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibmctb3B0aW9uLWxhYmVsXCI+XG4gICAgICAgICAgPHByeS1pY29uXG4gICAgICAgICAgICAqbmdJZj1cImJpbmRJY29uXCJcbiAgICAgICAgICAgIFtpY29uU3ZnXT1cIml0ZW1bYmluZEljb25dXCJcbiAgICAgICAgICAgIFt3aWR0aF09XCJpY29uU2l6ZVswXVwiXG4gICAgICAgICAgICBbaGVpZ2h0XT1cImljb25TaXplWzFdXCJcbiAgICAgICAgICAgIFthbmltYXRpb25dPVwiZmFsc2VcIlxuICAgICAgICAgID48L3ByeS1pY29uPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbFRyYW5zbGF0ZTsgZWxzZSBub1RyYW5zbGF0ZU9wdGlvblwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRyYW5zbGF0aW9uRm47IGVsc2Ugbm9UcmFuc2xhdGlvbkZuT3B0aW9uXCI+XG4gICAgICAgICAgICAgIHt7IHRyYW5zbGF0aW9uRm4oYmluZERhdGEgPyBpdGVtIDogaXRlbT8uW2JpbmRMYWJlbF0sIHRyYW5zbGF0aW9uRm5BcmdzKSB8IGkxOG4gfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub1RyYW5zbGF0aW9uRm5PcHRpb24+XG4gICAgICAgICAgICAgIHt7IGJhc2VUcmFuc2xhdGUgKyAoYmluZERhdGEgPyBpdGVtIDogaXRlbT8uW2JpbmRMYWJlbF0pIHwgaTE4biB9fVxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI25vVHJhbnNsYXRlT3B0aW9uPlxuICAgICAgICAgICAge3sgYmluZERhdGEgPyBpdGVtIDogaXRlbT8uW2JpbmRMYWJlbF0gfX1cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctc2VsZWN0PlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI2l0ZW1Bc0lucHV0PlxuICA8bmctc2VsZWN0XG4gICAgI3NlbGVjdFxuICAgIGNsYXNzPVwicHJ5LXNlbGVjdFwiXG4gICAgW2NsYXNzLnByeS1zZWxlY3QtZm9ybV09XCJpc0Zvcm1cIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW2Nsb3NlT25TZWxlY3RdPVwiY2xvc2VPblNlbGVjdFwiXG4gICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZVwiXG4gICAgW2JpbmRMYWJlbF09XCJiaW5kTGFiZWxcIlxuICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcbiAgICBbc2VhcmNoYWJsZV09XCJhdXRvY29tcGxldGVcIlxuICAgIFtuZ01vZGVsXT1cInZhbHVlXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJ3cml0ZVZhbHVlKCRldmVudClcIlxuICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciFcIlxuICAgIFtjbGVhckFsbFRleHRdPVwiJ0BwcnkuZmlsdGVycy5jbGVhcicgfCBpMThuXCJcbiAgPlxuICA8L25nLXNlbGVjdD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -60,7 +60,7 @@ export class PryShareComponent {
60
60
  useExisting: forwardRef(() => PryShareComponent),
61
61
  multi: true
62
62
  }
63
- ], ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueType($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"visibilityTypes\"\n [labelTranslate]=\"true\"\n [ngModel]=\"value?.type\"\n [disabled]=\"_disabled\"\n baseTranslate=\"@pry.share.\"\n class=\"a-pry-select\"\n bindValue=\"value\"\n bindLabel=\"label\"\n id=\"share_type\"\n bindIcon=\"icon\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n\n<ng-container *ngIf=\"value?.type === PryVisibilityType.RESTRICTED\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"users\">{{ '@pry.share.users' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueUsers($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"users$ | async\"\n [multiple]=\"true\"\n [ngModel]=\"value?.users\"\n [disabled]=\"_disabled\"\n [bindLabel]=\"labelProperty\"\n [bindValue]=\"valueProperty\"\n [autocomplete]=\"true\"\n class=\"a-pry-select\"\n id=\"users\"\n ></pry-select>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
+ ], ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueType($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"visibilityTypes\"\n [labelTranslate]=\"true\"\n [ngModel]=\"value?.type\"\n [disabled]=\"_disabled\"\n baseTranslate=\"@pry.share.\"\n class=\"a-pry-select\"\n bindValue=\"value\"\n bindLabel=\"label\"\n id=\"share_type\"\n bindIcon=\"icon\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n\n<ng-container *ngIf=\"value?.type === PryVisibilityType.RESTRICTED\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"users\">{{ '@pry.share.users' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueUsers($event)\"\n [itemsAsOption]=\"true\"\n [items]=\"users$ | async\"\n [multiple]=\"true\"\n [ngModel]=\"value?.users\"\n [disabled]=\"_disabled\"\n [bindLabel]=\"labelProperty\"\n [bindValue]=\"valueProperty\"\n [autocomplete]=\"true\"\n class=\"a-pry-select\"\n id=\"users\"\n ></pry-select>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
64
64
  }
65
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryShareComponent, decorators: [{
66
66
  type: Component,