@vendure/admin-ui 2.0.0-next.1 → 2.0.0-next.12

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 (186) hide show
  1. package/catalog/catalog.module.d.ts +10 -11
  2. package/catalog/components/collection-contents/collection-contents.component.d.ts +10 -2
  3. package/catalog/components/collection-detail/collection-detail.component.d.ts +13 -4
  4. package/catalog/components/collection-list/collection-list.component.d.ts +2 -0
  5. package/catalog/components/collection-tree/array-to-tree.d.ts +1 -1
  6. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +6 -2
  7. package/catalog/components/collection-tree/collection-tree.component.d.ts +2 -1
  8. package/catalog/components/generate-product-variants/generate-product-variants.component.d.ts +3 -3
  9. package/catalog/components/option-value-input/option-value-input.component.d.ts +21 -9
  10. package/catalog/components/product-variants-editor/product-variants-editor.component.d.ts +22 -12
  11. package/catalog/components/product-variants-list/product-variants-list.component.d.ts +1 -0
  12. package/catalog/public_api.d.ts +0 -1
  13. package/core/common/generated-types.d.ts +368 -128
  14. package/core/common/utilities/configurable-operation-utils.d.ts +4 -2
  15. package/core/common/utilities/selection-manager.d.ts +23 -0
  16. package/core/common/version.d.ts +1 -1
  17. package/core/components/app-shell/app-shell.component.d.ts +1 -0
  18. package/core/data/definitions/collection-definitions.d.ts +1 -0
  19. package/core/data/definitions/order-definitions.d.ts +2 -0
  20. package/core/data/definitions/product-definitions.d.ts +1 -0
  21. package/core/data/providers/collection-data.service.d.ts +4 -0
  22. package/core/data/providers/order-data.service.d.ts +1 -0
  23. package/core/data/providers/product-data.service.d.ts +1 -0
  24. package/core/data/providers/promotion-data.service.d.ts +1 -1
  25. package/core/providers/local-storage/local-storage.service.d.ts +1 -0
  26. package/core/public_api.d.ts +6 -0
  27. package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +27 -3
  28. package/core/shared/components/configurable-input/configurable-input.component.d.ts +8 -3
  29. package/core/shared/components/custom-field-control/custom-field-control.component.d.ts +6 -2
  30. package/core/shared/components/data-table/data-table.component.d.ts +5 -2
  31. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +3 -2
  32. package/core/shared/components/object-tree/object-tree.component.d.ts +3 -3
  33. package/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.d.ts +38 -0
  34. package/{catalog → core/shared}/components/product-search-input/product-search-input.component.d.ts +1 -1
  35. package/core/shared/components/select-toggle/select-toggle.component.d.ts +2 -1
  36. package/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.d.ts +28 -0
  37. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +2 -0
  38. package/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.d.ts +23 -0
  39. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +4 -1
  40. package/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +6 -3
  41. package/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.d.ts +18 -0
  42. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +10 -2
  43. package/core/shared/pipes/custom-field-label.pipe.d.ts +4 -10
  44. package/core/shared/shared.module.d.ts +32 -27
  45. package/customer/components/customer-group-list/customer-group-list.component.d.ts +6 -4
  46. package/esm2020/catalog/catalog.module.mjs +1 -5
  47. package/esm2020/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +1 -1
  48. package/esm2020/catalog/components/assets/assets.component.mjs +2 -2
  49. package/esm2020/catalog/components/collection-contents/collection-contents.component.mjs +61 -13
  50. package/esm2020/catalog/components/collection-detail/collection-detail.component.mjs +70 -32
  51. package/esm2020/catalog/components/collection-list/collection-list.component.mjs +30 -5
  52. package/esm2020/catalog/components/collection-tree/array-to-tree.mjs +3 -3
  53. package/esm2020/catalog/components/collection-tree/collection-tree-node.component.mjs +29 -10
  54. package/esm2020/catalog/components/collection-tree/collection-tree.component.mjs +6 -3
  55. package/esm2020/catalog/components/facet-detail/facet-detail.component.mjs +2 -2
  56. package/esm2020/catalog/components/generate-product-variants/generate-product-variants.component.mjs +12 -4
  57. package/esm2020/catalog/components/option-value-input/option-value-input.component.mjs +65 -11
  58. package/esm2020/catalog/components/product-detail/product-detail.component.mjs +2 -2
  59. package/esm2020/catalog/components/product-list/product-list.component.mjs +7 -8
  60. package/esm2020/catalog/components/product-variants-editor/product-variants-editor.component.mjs +110 -10
  61. package/esm2020/catalog/components/product-variants-list/product-variants-list.component.mjs +9 -3
  62. package/esm2020/catalog/public_api.mjs +1 -2
  63. package/esm2020/core/app.component.module.mjs +1 -1
  64. package/esm2020/core/common/base-detail.component.mjs +1 -1
  65. package/esm2020/core/common/deactivate-aware.mjs +1 -1
  66. package/esm2020/core/common/generated-types.mjs +30 -1
  67. package/esm2020/core/common/introspection-result.mjs +9 -1
  68. package/esm2020/core/common/utilities/configurable-operation-utils.mjs +32 -10
  69. package/esm2020/core/common/utilities/selection-manager.mjs +64 -0
  70. package/esm2020/core/common/version.mjs +2 -2
  71. package/esm2020/core/components/app-shell/app-shell.component.mjs +6 -5
  72. package/esm2020/core/components/main-nav/main-nav.component.mjs +3 -3
  73. package/esm2020/core/core.module.mjs +1 -1
  74. package/esm2020/core/data/definitions/collection-definitions.mjs +18 -1
  75. package/esm2020/core/data/definitions/order-definitions.mjs +445 -429
  76. package/esm2020/core/data/definitions/product-definitions.mjs +743 -735
  77. package/esm2020/core/data/definitions/shared-definitions.mjs +29 -28
  78. package/esm2020/core/data/providers/collection-data.service.mjs +5 -2
  79. package/esm2020/core/data/providers/order-data.service.mjs +7 -2
  80. package/esm2020/core/data/providers/product-data.service.mjs +5 -2
  81. package/esm2020/core/data/providers/promotion-data.service.mjs +3 -2
  82. package/esm2020/core/providers/local-storage/local-storage.service.mjs +1 -1
  83. package/esm2020/core/public_api.mjs +7 -1
  84. package/esm2020/core/shared/components/address-form/address-form.component.mjs +3 -3
  85. package/esm2020/core/shared/components/asset-gallery/asset-gallery.component.mjs +33 -50
  86. package/esm2020/core/shared/components/asset-preview/asset-preview.component.mjs +4 -4
  87. package/esm2020/core/shared/components/configurable-input/configurable-input.component.mjs +22 -10
  88. package/esm2020/core/shared/components/custom-field-control/custom-field-control.component.mjs +10 -4
  89. package/esm2020/core/shared/components/data-table/data-table.component.mjs +10 -3
  90. package/esm2020/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +7 -3
  91. package/esm2020/core/shared/components/formatted-address/formatted-address.component.mjs +3 -3
  92. package/esm2020/core/shared/components/help-tooltip/help-tooltip.component.mjs +2 -2
  93. package/esm2020/core/shared/components/object-tree/object-tree.component.mjs +4 -4
  94. package/esm2020/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +135 -0
  95. package/esm2020/core/shared/components/product-search-input/product-search-input.component.mjs +108 -0
  96. package/esm2020/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +2 -2
  97. package/esm2020/core/shared/components/select-toggle/select-toggle.component.mjs +6 -3
  98. package/esm2020/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.mjs +45 -0
  99. package/esm2020/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +12 -3
  100. package/esm2020/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.mjs +48 -0
  101. package/esm2020/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs +5 -1
  102. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +11 -9
  103. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.mjs +54 -0
  104. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +5 -4
  105. package/esm2020/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +21 -11
  106. package/esm2020/core/shared/pipes/custom-field-label.pipe.mjs +7 -19
  107. package/esm2020/core/shared/shared.module.mjs +25 -5
  108. package/esm2020/customer/components/customer-group-list/customer-group-list.component.mjs +29 -15
  109. package/esm2020/dashboard/components/dashboard/dashboard.component.mjs +2 -2
  110. package/esm2020/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +2 -2
  111. package/esm2020/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +2 -2
  112. package/esm2020/login/components/login/login.component.mjs +3 -3
  113. package/esm2020/marketing/components/promotion-detail/promotion-detail.component.mjs +3 -3
  114. package/esm2020/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +8 -4
  115. package/esm2020/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +7 -3
  116. package/esm2020/order/components/fulfillment-detail/fulfillment-detail.component.mjs +8 -17
  117. package/esm2020/order/components/line-fulfillment/line-fulfillment.component.mjs +7 -21
  118. package/esm2020/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +30 -6
  119. package/esm2020/order/components/order-detail/order-detail.component.mjs +78 -38
  120. package/esm2020/order/components/order-editor/order-editor.component.mjs +26 -10
  121. package/esm2020/order/components/order-list/order-list.component.mjs +23 -16
  122. package/esm2020/order/components/order-payment-card/order-payment-card.component.mjs +2 -2
  123. package/esm2020/order/components/order-table/order-table.component.mjs +11 -3
  124. package/esm2020/order/components/refund-order-dialog/refund-order-dialog.component.mjs +8 -4
  125. package/esm2020/settings/components/payment-method-detail/payment-method-detail.component.mjs +1 -1
  126. package/esm2020/settings/components/permission-grid/permission-grid.component.mjs +1 -1
  127. package/esm2020/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +1 -1
  128. package/fesm2015/vendure-admin-ui-catalog.mjs +396 -187
  129. package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -1
  130. package/fesm2015/vendure-admin-ui-core.mjs +3782 -3229
  131. package/fesm2015/vendure-admin-ui-core.mjs.map +1 -1
  132. package/fesm2015/vendure-admin-ui-customer.mjs +29 -17
  133. package/fesm2015/vendure-admin-ui-customer.mjs.map +1 -1
  134. package/fesm2015/vendure-admin-ui-dashboard.mjs +5 -5
  135. package/fesm2015/vendure-admin-ui-dashboard.mjs.map +1 -1
  136. package/fesm2015/vendure-admin-ui-login.mjs +2 -2
  137. package/fesm2015/vendure-admin-ui-login.mjs.map +1 -1
  138. package/fesm2015/vendure-admin-ui-marketing.mjs +2 -2
  139. package/fesm2015/vendure-admin-ui-marketing.mjs.map +1 -1
  140. package/fesm2015/vendure-admin-ui-order.mjs +193 -111
  141. package/fesm2015/vendure-admin-ui-order.mjs.map +1 -1
  142. package/fesm2015/vendure-admin-ui-settings.mjs +3 -3
  143. package/fesm2020/vendure-admin-ui-catalog.mjs +387 -189
  144. package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -1
  145. package/fesm2020/vendure-admin-ui-core.mjs +3771 -3221
  146. package/fesm2020/vendure-admin-ui-core.mjs.map +1 -1
  147. package/fesm2020/vendure-admin-ui-customer.mjs +29 -17
  148. package/fesm2020/vendure-admin-ui-customer.mjs.map +1 -1
  149. package/fesm2020/vendure-admin-ui-dashboard.mjs +5 -5
  150. package/fesm2020/vendure-admin-ui-dashboard.mjs.map +1 -1
  151. package/fesm2020/vendure-admin-ui-login.mjs +2 -2
  152. package/fesm2020/vendure-admin-ui-login.mjs.map +1 -1
  153. package/fesm2020/vendure-admin-ui-marketing.mjs +2 -2
  154. package/fesm2020/vendure-admin-ui-marketing.mjs.map +1 -1
  155. package/fesm2020/vendure-admin-ui-order.mjs +189 -109
  156. package/fesm2020/vendure-admin-ui-order.mjs.map +1 -1
  157. package/fesm2020/vendure-admin-ui-settings.mjs +3 -3
  158. package/order/components/order-custom-fields-card/order-custom-fields-card.component.d.ts +4 -2
  159. package/order/components/order-editor/order-editor.component.d.ts +8 -2
  160. package/order/components/order-list/order-list.component.d.ts +1 -0
  161. package/order/components/order-table/order-table.component.d.ts +1 -0
  162. package/package.json +2 -2
  163. package/static/i18n-messages/cs.json +19 -3
  164. package/static/i18n-messages/de.json +22 -3
  165. package/static/i18n-messages/en.json +20 -3
  166. package/static/i18n-messages/es.json +19 -3
  167. package/static/i18n-messages/fr.json +19 -3
  168. package/static/i18n-messages/it.json +19 -3
  169. package/static/i18n-messages/pl.json +19 -3
  170. package/static/i18n-messages/pt_BR.json +19 -3
  171. package/static/i18n-messages/pt_PT.json +19 -3
  172. package/static/i18n-messages/ru.json +19 -3
  173. package/static/i18n-messages/uk.json +19 -3
  174. package/static/i18n-messages/zh_Hans.json +19 -3
  175. package/static/i18n-messages/zh_Hant.json +19 -3
  176. package/static/styles/_variables.scss +3 -0
  177. package/static/styles/global/_forms.scss +4 -5
  178. package/static/styles/global/_overrides.scss +10 -0
  179. package/static/styles/global/_sass-overrides.scss +3 -0
  180. package/static/styles/global/_utilities.scss +10 -0
  181. package/static/styles/styles.scss +1 -0
  182. package/static/styles/theme/default.scss +13 -1
  183. package/static/styles/ui-extension-theme.scss +1 -0
  184. package/static/theme.min.css +1 -1
  185. package/static/vendure-ui-config.json +25 -10
  186. package/esm2020/catalog/components/product-search-input/product-search-input.component.mjs +0 -107
@@ -16,7 +16,7 @@ export class RelationAssetInputComponent {
16
16
  this.dataService = dataService;
17
17
  }
18
18
  ngOnInit() {
19
- this.asset$ = this.parentFormControl.valueChanges.pipe(startWith(this.parentFormControl.value), map(asset => asset?.id), distinctUntilChanged(), switchMap(id => {
19
+ this.asset$ = this.formControl.valueChanges.pipe(startWith(this.formControl.value), map(asset => asset?.id), distinctUntilChanged(), switchMap(id => {
20
20
  if (id) {
21
21
  return this.dataService.product.getAsset(id).mapStream(data => data.asset || undefined);
22
22
  }
@@ -35,14 +35,14 @@ export class RelationAssetInputComponent {
35
35
  })
36
36
  .subscribe(result => {
37
37
  if (result && result.length) {
38
- this.parentFormControl.setValue(result[0]);
39
- this.parentFormControl.markAsDirty();
38
+ this.formControl.setValue(result[0]);
39
+ this.formControl.markAsDirty();
40
40
  }
41
41
  });
42
42
  }
43
43
  remove() {
44
- this.parentFormControl.setValue(null);
45
- this.parentFormControl.markAsDirty();
44
+ this.formControl.setValue(null);
45
+ this.formControl.markAsDirty();
46
46
  }
47
47
  previewAsset(asset) {
48
48
  this.modalService
@@ -54,16 +54,18 @@ export class RelationAssetInputComponent {
54
54
  .subscribe();
55
55
  }
56
56
  }
57
+ RelationAssetInputComponent.id = 'asset-form-input';
57
58
  RelationAssetInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: RelationAssetInputComponent, deps: [{ token: i1.ModalService }, { token: i2.DataService }], target: i0.ɵɵFactoryTarget.Component });
58
- RelationAssetInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: RelationAssetInputComponent, selector: "vdr-relation-asset-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectAsset()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"image\"\r\n [entity]=\"asset$ | async\"\r\n [selectLabel]=\"'asset.select-asset' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-asset=\"entity\">\r\n <img\r\n class=\"preview\"\r\n [title]=\"'asset.preview' | translate\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n (click)=\"previewAsset(asset)\"\r\n />\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-asset=\"entity\">\r\n <div class=\"name\" [title]=\"asset.name\">\r\n {{ asset.name }}\r\n </div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n", styles: [".preview{cursor:pointer}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], components: [{ type: i3.RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }], directives: [{ type: i3.RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { type: i3.RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }], pipes: { "async": i4.AsyncPipe, "translate": i5.TranslatePipe, "assetPreview": i6.AssetPreviewPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
+ RelationAssetInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: RelationAssetInputComponent, selector: "vdr-relation-asset-input", inputs: { readonly: "readonly", formControl: ["parentFormControl", "formControl"], config: "config" }, ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectAsset()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"image\"\r\n [entity]=\"asset$ | async\"\r\n [selectLabel]=\"'asset.select-asset' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-asset=\"entity\">\r\n <img\r\n class=\"preview\"\r\n [title]=\"'asset.preview' | translate\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n (click)=\"previewAsset(asset)\"\r\n />\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-asset=\"entity\">\r\n <div class=\"name\" [title]=\"asset.name\">\r\n {{ asset.name }}\r\n </div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n", styles: [".preview{cursor:pointer}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], components: [{ type: i3.RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }], directives: [{ type: i3.RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { type: i3.RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }], pipes: { "async": i4.AsyncPipe, "translate": i5.TranslatePipe, "assetPreview": i6.AssetPreviewPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: RelationAssetInputComponent, decorators: [{
60
61
  type: Component,
61
62
  args: [{ selector: 'vdr-relation-asset-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-relation-card\r\n (select)=\"selectAsset()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"image\"\r\n [entity]=\"asset$ | async\"\r\n [selectLabel]=\"'asset.select-asset' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n <ng-template vdrRelationCardPreview let-asset=\"entity\">\r\n <img\r\n class=\"preview\"\r\n [title]=\"'asset.preview' | translate\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n (click)=\"previewAsset(asset)\"\r\n />\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-asset=\"entity\">\r\n <div class=\"name\" [title]=\"asset.name\">\r\n {{ asset.name }}\r\n </div>\r\n </ng-template>\r\n</vdr-relation-card>\r\n", styles: [".preview{cursor:pointer}.detail{flex:1;overflow:hidden}.name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
62
63
  }], ctorParameters: function () { return [{ type: i1.ModalService }, { type: i2.DataService }]; }, propDecorators: { readonly: [{
63
64
  type: Input
64
- }], parentFormControl: [{
65
- type: Input
65
+ }], formControl: [{
66
+ type: Input,
67
+ args: ['parentFormControl']
66
68
  }], config: [{
67
69
  type: Input
68
70
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYXNzZXQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZHluYW1pYy1mb3JtLWlucHV0cy9yZWxhdGlvbi1mb3JtLWlucHV0L2Fzc2V0L3JlbGF0aW9uLWFzc2V0LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9hc3NldC9yZWxhdGlvbi1hc3NldC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBS2pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ25ILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOzs7Ozs7OztBQVF0SCxNQUFNLE9BQU8sMkJBQTJCO0lBTXBDLFlBQW9CLFlBQTBCLEVBQVUsV0FBd0I7UUFBNUQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFcEYsUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ2xELFNBQVMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQ3ZDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFDdkIsb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ1gsSUFBSSxFQUFFLEVBQUU7Z0JBQ0osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQzthQUMzRjtpQkFBTTtnQkFDSCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN4QjtRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZO2FBQ1osYUFBYSxDQUFDLDBCQUEwQixFQUFFO1lBQ3ZDLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFO2dCQUNKLFdBQVcsRUFBRSxLQUFLO2FBQ3JCO1NBQ0osQ0FBQzthQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoQixJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDeEM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUEwQztRQUNuRCxJQUFJLENBQUMsWUFBWTthQUNaLGFBQWEsQ0FBQywyQkFBMkIsRUFBRTtZQUN4QyxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1lBQ2QsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFO1NBQ3BCLENBQUM7YUFDRCxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDOzt3SEFwRFEsMkJBQTJCOzRHQUEzQiwyQkFBMkIsNEpDakJ4QyxzeUJBdUJBOzJGRE5hLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU07NkhBR3RDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIHN0YXJ0V2l0aCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgR2V0QXNzZXRRdWVyeSwgUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Byb3ZpZGVycy9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXNzZXRQaWNrZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Fzc2V0LXBpY2tlci1kaWFsb2cvYXNzZXQtcGlja2VyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldFByZXZpZXdEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnRzL2Fzc2V0LXByZXZpZXctZGlhbG9nL2Fzc2V0LXByZXZpZXctZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLXJlbGF0aW9uLWFzc2V0LWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZWxhdGlvbi1hc3NldC1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9yZWxhdGlvbi1hc3NldC1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkFzc2V0SW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBwYXJlbnRGb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgICBASW5wdXQoKSBjb25maWc6IFJlbGF0aW9uQ3VzdG9tRmllbGRDb25maWc7XHJcbiAgICBhc3NldCQ6IE9ic2VydmFibGU8R2V0QXNzZXRRdWVyeVsnYXNzZXQnXSB8IHVuZGVmaW5lZD47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSwgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5hc3NldCQgPSB0aGlzLnBhcmVudEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxyXG4gICAgICAgICAgICBzdGFydFdpdGgodGhpcy5wYXJlbnRGb3JtQ29udHJvbC52YWx1ZSksXHJcbiAgICAgICAgICAgIG1hcChhc3NldCA9PiBhc3NldD8uaWQpLFxyXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAoaWQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKGlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UucHJvZHVjdC5nZXRBc3NldChpZCkubWFwU3RyZWFtKGRhdGEgPT4gZGF0YS5hc3NldCB8fCB1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3RBc3NldCgpIHtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAuZnJvbUNvbXBvbmVudChBc3NldFBpY2tlckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgICAgICAgICAgc2l6ZTogJ3hsJyxcclxuICAgICAgICAgICAgICAgIGxvY2Fsczoge1xyXG4gICAgICAgICAgICAgICAgICAgIG11bHRpU2VsZWN0OiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wuc2V0VmFsdWUocmVzdWx0WzBdKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZSgpIHtcclxuICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcmV2aWV3QXNzZXQoYXNzZXQ6IE5vbk51bGxhYmxlPEdldEFzc2V0UXVlcnlbJ2Fzc2V0J10+KSB7XHJcbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2VcclxuICAgICAgICAgICAgLmZyb21Db21wb25lbnQoQXNzZXRQcmV2aWV3RGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBzaXplOiAneGwnLFxyXG4gICAgICAgICAgICAgICAgY2xvc2FibGU6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBsb2NhbHM6IHsgYXNzZXQgfSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG59XHJcbiIsIjx2ZHItcmVsYXRpb24tY2FyZFxyXG4gICAgKHNlbGVjdCk9XCJzZWxlY3RBc3NldCgpXCJcclxuICAgIChyZW1vdmUpPVwicmVtb3ZlKClcIlxyXG4gICAgcGxhY2Vob2xkZXJJY29uPVwiaW1hZ2VcIlxyXG4gICAgW2VudGl0eV09XCJhc3NldCQgfCBhc3luY1wiXHJcbiAgICBbc2VsZWN0TGFiZWxdPVwiJ2Fzc2V0LnNlbGVjdC1hc3NldCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgW3JlbW92YWJsZV09XCIhY29uZmlnLmxpc3RcIlxyXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuPlxyXG4gICAgPG5nLXRlbXBsYXRlIHZkclJlbGF0aW9uQ2FyZFByZXZpZXcgbGV0LWFzc2V0PVwiZW50aXR5XCI+XHJcbiAgICAgICAgPGltZ1xyXG4gICAgICAgICAgICBjbGFzcz1cInByZXZpZXdcIlxyXG4gICAgICAgICAgICBbdGl0bGVdPVwiJ2Fzc2V0LnByZXZpZXcnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgW3NyY109XCJhc3NldCB8IGFzc2V0UHJldmlldzogJ3RpbnknXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cInByZXZpZXdBc3NldChhc3NldClcIlxyXG4gICAgICAgIC8+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlIHZkclJlbGF0aW9uQ2FyZERldGFpbCBsZXQtYXNzZXQ9XCJlbnRpdHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiIFt0aXRsZV09XCJhc3NldC5uYW1lXCI+XHJcbiAgICAgICAgICAgIHt7IGFzc2V0Lm5hbWUgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvdmRyLXJlbGF0aW9uLWNhcmQ+XHJcbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tYXNzZXQtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZHluYW1pYy1mb3JtLWlucHV0cy9yZWxhdGlvbi1mb3JtLWlucHV0L2Fzc2V0L3JlbGF0aW9uLWFzc2V0LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9hc3NldC9yZWxhdGlvbi1hc3NldC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUdsRixPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTWpGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ25ILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOzs7Ozs7OztBQVF0SCxNQUFNLE9BQU8sMkJBQTJCO0lBT3BDLFlBQW9CLFlBQTBCLEVBQVUsV0FBd0I7UUFBNUQsaUJBQVksR0FBWixZQUFZLENBQWM7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFcEYsUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUM1QyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFDakMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUN2QixvQkFBb0IsRUFBRSxFQUN0QixTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDWCxJQUFJLEVBQUUsRUFBRTtnQkFDSixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDO2FBQzNGO2lCQUFNO2dCQUNILE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFlBQVk7YUFDWixhQUFhLENBQUMsMEJBQTBCLEVBQUU7WUFDdkMsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUU7Z0JBQ0osV0FBVyxFQUFFLEtBQUs7YUFDckI7U0FDSixDQUFDO2FBQ0QsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hCLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ2xDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUEwQztRQUNuRCxJQUFJLENBQUMsWUFBWTthQUNaLGFBQWEsQ0FBQywyQkFBMkIsRUFBRTtZQUN4QyxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxJQUFJO1lBQ2QsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFO1NBQ3BCLENBQUM7YUFDRCxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDOztBQXBEZSw4QkFBRSxHQUEyQixrQkFBbUIsQ0FBQTt3SEFEdkQsMkJBQTJCOzRHQUEzQiwyQkFBMkIsdUtDbkJ4QyxzeUJBdUJBOzJGREphLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU07NkhBSXRDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ3NCLFdBQVc7c0JBQXRDLEtBQUs7dUJBQUMsbUJBQW1CO2dCQUNqQixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEZWZhdWx0Rm9ybUNvbXBvbmVudElkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5pbXBvcnQgeyBHZXRBc3NldFF1ZXJ5LCBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS9wcm92aWRlcnMvZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vcHJvdmlkZXJzL21vZGFsL21vZGFsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBc3NldFBpY2tlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYXNzZXQtcGlja2VyLWRpYWxvZy9hc3NldC1waWNrZXItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2V0UHJldmlld0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvYXNzZXQtcHJldmlldy1kaWFsb2cvYXNzZXQtcHJldmlldy1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItcmVsYXRpb24tYXNzZXQtaW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlbGF0aW9uLWFzc2V0LWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3JlbGF0aW9uLWFzc2V0LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uQXNzZXRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1JbnB1dENvbXBvbmVudCwgT25Jbml0IHtcclxuICAgIHN0YXRpYyByZWFkb25seSBpZDogRGVmYXVsdEZvcm1Db21wb25lbnRJZCA9ICdhc3NldC1mb3JtLWlucHV0JztcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCdwYXJlbnRGb3JtQ29udHJvbCcpIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcclxuICAgIEBJbnB1dCgpIGNvbmZpZzogUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZztcclxuICAgIGFzc2V0JDogT2JzZXJ2YWJsZTxHZXRBc3NldFF1ZXJ5Wydhc3NldCddIHwgdW5kZWZpbmVkPjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1vZGFsU2VydmljZTogTW9kYWxTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLmFzc2V0JCA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXHJcbiAgICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLmZvcm1Db250cm9sLnZhbHVlKSxcclxuICAgICAgICAgICAgbWFwKGFzc2V0ID0+IGFzc2V0Py5pZCksXHJcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcChpZCA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaWQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5wcm9kdWN0LmdldEFzc2V0KGlkKS5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLmFzc2V0IHx8IHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdEFzc2V0KCkge1xyXG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5mcm9tQ29tcG9uZW50KEFzc2V0UGlja2VyRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgICAgICAgICAgICBzaXplOiAneGwnLFxyXG4gICAgICAgICAgICAgICAgbG9jYWxzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShyZXN1bHRbMF0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlKCkge1xyXG4gICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByZXZpZXdBc3NldChhc3NldDogTm9uTnVsbGFibGU8R2V0QXNzZXRRdWVyeVsnYXNzZXQnXT4pIHtcclxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAuZnJvbUNvbXBvbmVudChBc3NldFByZXZpZXdEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgIHNpemU6ICd4bCcsXHJcbiAgICAgICAgICAgICAgICBjbG9zYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGxvY2FsczogeyBhc3NldCB9LFxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPHZkci1yZWxhdGlvbi1jYXJkXHJcbiAgICAoc2VsZWN0KT1cInNlbGVjdEFzc2V0KClcIlxyXG4gICAgKHJlbW92ZSk9XCJyZW1vdmUoKVwiXHJcbiAgICBwbGFjZWhvbGRlckljb249XCJpbWFnZVwiXHJcbiAgICBbZW50aXR5XT1cImFzc2V0JCB8IGFzeW5jXCJcclxuICAgIFtzZWxlY3RMYWJlbF09XCInYXNzZXQuc2VsZWN0LWFzc2V0JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICBbcmVtb3ZhYmxlXT1cIiFjb25maWcubGlzdFwiXHJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4+XHJcbiAgICA8bmctdGVtcGxhdGUgdmRyUmVsYXRpb25DYXJkUHJldmlldyBsZXQtYXNzZXQ9XCJlbnRpdHlcIj5cclxuICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgIGNsYXNzPVwicHJldmlld1wiXHJcbiAgICAgICAgICAgIFt0aXRsZV09XCInYXNzZXQucHJldmlldycgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICBbc3JjXT1cImFzc2V0IHwgYXNzZXRQcmV2aWV3OiAndGlueSdcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwicHJldmlld0Fzc2V0KGFzc2V0KVwiXHJcbiAgICAgICAgLz5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgdmRyUmVsYXRpb25DYXJkRGV0YWlsIGxldC1hc3NldD1cImVudGl0eVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYW1lXCIgW3RpdGxlXT1cImFzc2V0Lm5hbWVcIj5cclxuICAgICAgICAgICAge3sgYXNzZXQubmFtZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC92ZHItcmVsYXRpb24tY2FyZD5cclxuIl19
@@ -0,0 +1,54 @@
1
+ import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
2
+ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
3
+ import { RelationSelectorDialogComponent } from '../relation-selector-dialog/relation-selector-dialog.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../../providers/modal/modal.service";
6
+ import * as i2 from "../relation-card/relation-card.component";
7
+ import * as i3 from "../../../components/object-tree/object-tree.component";
8
+ import * as i4 from "@clr/angular";
9
+ import * as i5 from "../../../components/form-field/form-field-control.directive";
10
+ import * as i6 from "@angular/forms";
11
+ import * as i7 from "@ngx-translate/core";
12
+ import * as i8 from "@angular/common";
13
+ export class RelationGenericInputComponent {
14
+ constructor(modalService) {
15
+ this.modalService = modalService;
16
+ }
17
+ selectRelationId() {
18
+ this.modalService
19
+ .fromComponent(RelationSelectorDialogComponent, {
20
+ size: 'md',
21
+ closable: true,
22
+ locals: {
23
+ title: _('common.select-relation-id'),
24
+ selectorTemplate: this.template,
25
+ },
26
+ })
27
+ .subscribe(result => {
28
+ if (result) {
29
+ this.parentFormControl.setValue({ id: result });
30
+ this.parentFormControl.markAsDirty();
31
+ }
32
+ });
33
+ }
34
+ remove() {
35
+ this.parentFormControl.setValue(null);
36
+ this.parentFormControl.markAsDirty();
37
+ }
38
+ }
39
+ RelationGenericInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: RelationGenericInputComponent, deps: [{ token: i1.ModalService }], target: i0.ɵɵFactoryTarget.Component });
40
+ RelationGenericInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: RelationGenericInputComponent, selector: "vdr-relation-generic-input", inputs: { readonly: "readonly", parentFormControl: "parentFormControl", config: "config" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["selector"], descendants: true }], ngImport: i0, template: "<vdr-relation-card\r\n (select)=\"selectRelationId()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"objects\"\r\n [entity]=\"parentFormControl.value\"\r\n [selectLabel]=\"'common.select-relation-id' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n {{ parentFormControl.value | json }}\r\n <ng-template vdrRelationCardPreview>\r\n <div class=\"placeholder\">\r\n <clr-icon shape=\"objects\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-entity=\"entity\">\r\n <div class=\"\">\r\n {{ config.entity }}: <strong>{{ entity.id }}</strong>\r\n </div>\r\n <vdr-object-tree [value]=\"{ properties: parentFormControl.value }\"></vdr-object-tree>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <div class=\"id-select-wrapper\">\r\n <clr-input-container>\r\n <input [(ngModel)]=\"relationId\" type=\"text\" clrInput [readonly]=\"readonly\" />\r\n </clr-input-container>\r\n <div>\r\n <button class=\"btn btn-primary m0\" (click)=\"select(relationId)\">\r\n {{ 'common.confirm' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".id-select-wrapper{display:flex;align-items:flex-end}\n"], components: [{ type: i2.RelationCardComponent, selector: "vdr-relation-card", inputs: ["entity", "placeholderIcon", "selectLabel", "readonly", "removable"], outputs: ["select", "remove"] }, { type: i3.ObjectTreeComponent, selector: "vdr-object-tree", inputs: ["value", "isArrayItem"] }, { type: i4.ClrInputContainer, selector: "clr-input-container" }], directives: [{ type: i2.RelationCardPreviewDirective, selector: "[vdrRelationCardPreview]" }, { type: i4.ClrIconCustomTag, selector: "clr-icon" }, { type: i2.RelationCardDetailDirective, selector: "[vdrRelationCardDetail]" }, { type: i5.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.ClrInput, selector: "[clrInput]" }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i7.TranslatePipe, "json": i8.JsonPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: RelationGenericInputComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'vdr-relation-generic-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-relation-card\r\n (select)=\"selectRelationId()\"\r\n (remove)=\"remove()\"\r\n placeholderIcon=\"objects\"\r\n [entity]=\"parentFormControl.value\"\r\n [selectLabel]=\"'common.select-relation-id' | translate\"\r\n [removable]=\"!config.list\"\r\n [readonly]=\"readonly\"\r\n>\r\n {{ parentFormControl.value | json }}\r\n <ng-template vdrRelationCardPreview>\r\n <div class=\"placeholder\">\r\n <clr-icon shape=\"objects\" size=\"50\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <ng-template vdrRelationCardDetail let-entity=\"entity\">\r\n <div class=\"\">\r\n {{ config.entity }}: <strong>{{ entity.id }}</strong>\r\n </div>\r\n <vdr-object-tree [value]=\"{ properties: parentFormControl.value }\"></vdr-object-tree>\r\n </ng-template>\r\n</vdr-relation-card>\r\n\r\n<ng-template #selector let-select=\"select\">\r\n <div class=\"id-select-wrapper\">\r\n <clr-input-container>\r\n <input [(ngModel)]=\"relationId\" type=\"text\" clrInput [readonly]=\"readonly\" />\r\n </clr-input-container>\r\n <div>\r\n <button class=\"btn btn-primary m0\" (click)=\"select(relationId)\">\r\n {{ 'common.confirm' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</ng-template>\r\n", styles: [".id-select-wrapper{display:flex;align-items:flex-end}\n"] }]
44
+ }], ctorParameters: function () { return [{ type: i1.ModalService }]; }, propDecorators: { readonly: [{
45
+ type: Input
46
+ }], parentFormControl: [{
47
+ type: Input
48
+ }], config: [{
49
+ type: Input
50
+ }], template: [{
51
+ type: ViewChild,
52
+ args: ['selector']
53
+ }] } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tZ2VuZXJpYy1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL3JlbGF0aW9uLWZvcm0taW5wdXQvZ2VuZXJpYy9yZWxhdGlvbi1nZW5lcmljLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9nZW5lcmljL3JlbGF0aW9uLWdlbmVyaWMtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxHLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFJdEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7Ozs7Ozs7QUFRakgsTUFBTSxPQUFPLDZCQUE2QjtJQVF0QyxZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUFHLENBQUM7SUFFbEQsZ0JBQWdCO1FBQ1osSUFBSSxDQUFDLFlBQVk7YUFDWixhQUFhLENBQUMsK0JBQStCLEVBQUU7WUFDNUMsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsSUFBSTtZQUNkLE1BQU0sRUFBRTtnQkFDSixLQUFLLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQixDQUFDO2dCQUNyQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUTthQUNsQztTQUNKLENBQUM7YUFDRCxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDaEIsSUFBSSxNQUFNLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7YUFDeEM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxNQUFNO1FBQ0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQzs7MEhBL0JRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLG9RQ2QxQyw2MENBbUNBOzJGRHJCYSw2QkFBNkI7a0JBTnpDLFNBQVM7K0JBQ0ksNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNO21HQUd0QyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR2lCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBtYXJrZXIgYXMgXyB9IGZyb20gJ0BiaWVzYmplcmcvbmd4LXRyYW5zbGF0ZS1leHRyYWN0LW1hcmtlcic7XHJcblxyXG5pbXBvcnQgeyBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3Byb3ZpZGVycy9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVsYXRpb25TZWxlY3RvckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL3JlbGF0aW9uLXNlbGVjdG9yLWRpYWxvZy9yZWxhdGlvbi1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItcmVsYXRpb24tZ2VuZXJpYy1pbnB1dCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVsYXRpb24tZ2VuZXJpYy1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9yZWxhdGlvbi1nZW5lcmljLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uR2VuZXJpY0lucHV0Q29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgcGFyZW50Rm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gICAgQElucHV0KCkgY29uZmlnOiBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnO1xyXG4gICAgcmVsYXRpb25JZDogc3RyaW5nO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3NlbGVjdG9yJykgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE1vZGFsU2VydmljZSkge31cclxuXHJcbiAgICBzZWxlY3RSZWxhdGlvbklkKCkge1xyXG4gICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5mcm9tQ29tcG9uZW50KFJlbGF0aW9uU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgIHNpemU6ICdtZCcsXHJcbiAgICAgICAgICAgICAgICBjbG9zYWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgICAgIGxvY2Fsczoge1xyXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiBfKCdjb21tb24uc2VsZWN0LXJlbGF0aW9uLWlkJyksXHJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3JUZW1wbGF0ZTogdGhpcy50ZW1wbGF0ZSxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLnNldFZhbHVlKHsgaWQ6IHJlc3VsdCB9KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZSgpIHtcclxuICAgICAgICB0aGlzLnBhcmVudEZvcm1Db250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICAgIHRoaXMucGFyZW50Rm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgIH1cclxufVxyXG4iLCI8dmRyLXJlbGF0aW9uLWNhcmRcclxuICAgIChzZWxlY3QpPVwic2VsZWN0UmVsYXRpb25JZCgpXCJcclxuICAgIChyZW1vdmUpPVwicmVtb3ZlKClcIlxyXG4gICAgcGxhY2Vob2xkZXJJY29uPVwib2JqZWN0c1wiXHJcbiAgICBbZW50aXR5XT1cInBhcmVudEZvcm1Db250cm9sLnZhbHVlXCJcclxuICAgIFtzZWxlY3RMYWJlbF09XCInY29tbW9uLnNlbGVjdC1yZWxhdGlvbi1pZCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgW3JlbW92YWJsZV09XCIhY29uZmlnLmxpc3RcIlxyXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuPlxyXG4gICAge3sgcGFyZW50Rm9ybUNvbnRyb2wudmFsdWUgfCBqc29uIH19XHJcbiAgICA8bmctdGVtcGxhdGUgdmRyUmVsYXRpb25DYXJkUHJldmlldz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGxhY2Vob2xkZXJcIj5cclxuICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwib2JqZWN0c1wiIHNpemU9XCI1MFwiPjwvY2xyLWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPG5nLXRlbXBsYXRlIHZkclJlbGF0aW9uQ2FyZERldGFpbCBsZXQtZW50aXR5PVwiZW50aXR5XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICB7eyBjb25maWcuZW50aXR5IH19OiA8c3Ryb25nPnt7IGVudGl0eS5pZCB9fTwvc3Ryb25nPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDx2ZHItb2JqZWN0LXRyZWUgW3ZhbHVlXT1cInsgcHJvcGVydGllczogcGFyZW50Rm9ybUNvbnRyb2wudmFsdWUgfVwiPjwvdmRyLW9iamVjdC10cmVlPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC92ZHItcmVsYXRpb24tY2FyZD5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc2VsZWN0b3IgbGV0LXNlbGVjdD1cInNlbGVjdFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImlkLXNlbGVjdC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNsci1pbnB1dC1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxpbnB1dCBbKG5nTW9kZWwpXT1cInJlbGF0aW9uSWRcIiB0eXBlPVwidGV4dFwiIGNscklucHV0IFtyZWFkb25seV09XCJyZWFkb25seVwiIC8+XHJcbiAgICAgICAgPC9jbHItaW5wdXQtY29udGFpbmVyPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgbTBcIiAoY2xpY2spPVwic2VsZWN0KHJlbGF0aW9uSWQpXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnY29tbW9uLmNvbmZpcm0nIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -4,7 +4,8 @@ import * as i1 from "./asset/relation-asset-input.component";
4
4
  import * as i2 from "./product/relation-product-input.component";
5
5
  import * as i3 from "./customer/relation-customer-input.component";
6
6
  import * as i4 from "./product-variant/relation-product-variant-input.component";
7
- import * as i5 from "@angular/common";
7
+ import * as i5 from "./generic/relation-generic-input.component";
8
+ import * as i6 from "@angular/common";
8
9
  /**
9
10
  * @description
10
11
  * The default input component for `relation` type custom fields. Allows the selection
@@ -18,11 +19,11 @@ export class RelationFormInputComponent {
18
19
  }
19
20
  RelationFormInputComponent.id = 'relation-form-input';
20
21
  RelationFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: RelationFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- RelationFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: RelationFormInputComponent, selector: "vdr-relation-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<div [ngSwitch]=\"config.entity\">\r\n <vdr-relation-asset-input\r\n *ngSwitchCase=\"'Asset'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-asset-input>\r\n <vdr-relation-product-input\r\n *ngSwitchCase=\"'Product'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-input>\r\n <vdr-relation-customer-input\r\n *ngSwitchCase=\"'Customer'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-customer-input>\r\n <vdr-relation-product-variant-input\r\n *ngSwitchCase=\"'ProductVariant'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-variant-input>\r\n <ng-template ngSwitchDefault>\r\n No input component configured for \"{{ config.entity }}\" type\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;background-color:var(--color-component-bg-200);padding:3px}\n"], components: [{ type: i1.RelationAssetInputComponent, selector: "vdr-relation-asset-input", inputs: ["readonly", "parentFormControl", "config"] }, { type: i2.RelationProductInputComponent, selector: "vdr-relation-product-input", inputs: ["readonly", "parentFormControl", "config"] }, { type: i3.RelationCustomerInputComponent, selector: "vdr-relation-customer-input", inputs: ["readonly", "parentFormControl", "config"] }, { type: i4.RelationProductVariantInputComponent, selector: "vdr-relation-product-variant-input", inputs: ["readonly", "parentFormControl", "config"] }], directives: [{ type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i5.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
+ RelationFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: RelationFormInputComponent, selector: "vdr-relation-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<div [ngSwitch]=\"config.entity\">\r\n <vdr-relation-asset-input\r\n *ngSwitchCase=\"'Asset'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-asset-input>\r\n <vdr-relation-product-input\r\n *ngSwitchCase=\"'Product'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-input>\r\n <vdr-relation-customer-input\r\n *ngSwitchCase=\"'Customer'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-customer-input>\r\n <vdr-relation-product-variant-input\r\n *ngSwitchCase=\"'ProductVariant'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-variant-input>\r\n <ng-template ngSwitchDefault>\r\n <vdr-relation-generic-input\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-generic-input>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;background-color:var(--color-component-bg-200);padding:3px}\n"], components: [{ type: i1.RelationAssetInputComponent, selector: "vdr-relation-asset-input", inputs: ["readonly", "parentFormControl", "config"] }, { type: i2.RelationProductInputComponent, selector: "vdr-relation-product-input", inputs: ["readonly", "parentFormControl", "config"] }, { type: i3.RelationCustomerInputComponent, selector: "vdr-relation-customer-input", inputs: ["readonly", "parentFormControl", "config"] }, { type: i4.RelationProductVariantInputComponent, selector: "vdr-relation-product-variant-input", inputs: ["readonly", "parentFormControl", "config"] }, { type: i5.RelationGenericInputComponent, selector: "vdr-relation-generic-input", inputs: ["readonly", "parentFormControl", "config"] }], directives: [{ type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: RelationFormInputComponent, decorators: [{
23
24
  type: Component,
24
- args: [{ selector: 'vdr-relation-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngSwitch]=\"config.entity\">\r\n <vdr-relation-asset-input\r\n *ngSwitchCase=\"'Asset'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-asset-input>\r\n <vdr-relation-product-input\r\n *ngSwitchCase=\"'Product'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-input>\r\n <vdr-relation-customer-input\r\n *ngSwitchCase=\"'Customer'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-customer-input>\r\n <vdr-relation-product-variant-input\r\n *ngSwitchCase=\"'ProductVariant'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-variant-input>\r\n <ng-template ngSwitchDefault>\r\n No input component configured for \"{{ config.entity }}\" type\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;background-color:var(--color-component-bg-200);padding:3px}\n"] }]
25
+ args: [{ selector: 'vdr-relation-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngSwitch]=\"config.entity\">\r\n <vdr-relation-asset-input\r\n *ngSwitchCase=\"'Asset'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-asset-input>\r\n <vdr-relation-product-input\r\n *ngSwitchCase=\"'Product'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-input>\r\n <vdr-relation-customer-input\r\n *ngSwitchCase=\"'Customer'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-customer-input>\r\n <vdr-relation-product-variant-input\r\n *ngSwitchCase=\"'ProductVariant'\"\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-product-variant-input>\r\n <ng-template ngSwitchDefault>\r\n <vdr-relation-generic-input\r\n [parentFormControl]=\"formControl\"\r\n [config]=\"config\"\r\n [readonly]=\"readonly\"\r\n ></vdr-relation-generic-input>\r\n </ng-template>\r\n</div>\r\n", styles: [":host{display:block;background-color:var(--color-component-bg-200);padding:3px}\n"] }]
25
26
  }], propDecorators: { readonly: [{
26
27
  type: Input
27
28
  }] } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL3JlbGF0aW9uLWZvcm0taW5wdXQvcmVsYXRpb24tZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL3JlbGF0aW9uLWZvcm0taW5wdXQvcmVsYXRpb24tZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQU8xRTs7Ozs7Ozs7R0FRRztBQU9ILE1BQU0sT0FBTywwQkFBMEI7O0FBQ25CLDZCQUFFLEdBQTJCLHFCQUFzQixDQUFBO3VIQUQxRCwwQkFBMEI7MkdBQTFCLDBCQUEwQixpR0N0QnZDLCtrQ0E2QkE7MkZEUGEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNJLHlCQUF5QixtQkFHbEIsdUJBQXVCLENBQUMsTUFBTTs4QkFJdEMsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEZWZhdWx0Rm9ybUNvbXBvbmVudElkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdHlwZXMnO1xyXG5cclxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2NvbXBvbmVudC1yZWdpc3RyeS10eXBlcyc7XHJcbmltcG9ydCB7IFJlbGF0aW9uQ3VzdG9tRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogVGhlIGRlZmF1bHQgaW5wdXQgY29tcG9uZW50IGZvciBgcmVsYXRpb25gIHR5cGUgY3VzdG9tIGZpZWxkcy4gQWxsb3dzIHRoZSBzZWxlY3Rpb25cclxuICogb2YgYSBQcm9kdWN0VmFyaWFudCwgUHJvZHVjdCwgQ3VzdG9tZXIgb3IgQXNzZXQuIEZvciBvdGhlciBlbnRpdHkgdHlwZXMsIGEgY3VzdG9tXHJcbiAqIGltcGxlbWVudGF0aW9uIHdpbGwgbmVlZCB0byBiZSBkZWZpbmVkLiBTZWUge0BsaW5rIHJlZ2lzdGVyRm9ybUlucHV0Q29tcG9uZW50fS5cclxuICpcclxuICogQGRvY3NDYXRlZ29yeSBjdXN0b20taW5wdXQtY29tcG9uZW50c1xyXG4gKiBAZG9jc1BhZ2UgZGVmYXVsdC1pbnB1dHNcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItcmVsYXRpb24tZm9ybS1pbnB1dCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVsYXRpb24tZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9yZWxhdGlvbi1mb3JtLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJlbGF0aW9uRm9ybUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgRm9ybUlucHV0Q29tcG9uZW50IHtcclxuICAgIHN0YXRpYyByZWFkb25seSBpZDogRGVmYXVsdEZvcm1Db21wb25lbnRJZCA9ICdyZWxhdGlvbi1mb3JtLWlucHV0JztcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gICAgY29uZmlnOiBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnO1xyXG59XHJcbiIsIjxkaXYgW25nU3dpdGNoXT1cImNvbmZpZy5lbnRpdHlcIj5cclxuICAgIDx2ZHItcmVsYXRpb24tYXNzZXQtaW5wdXRcclxuICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0Fzc2V0J1wiXHJcbiAgICAgICAgW3BhcmVudEZvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgID48L3Zkci1yZWxhdGlvbi1hc3NldC1pbnB1dD5cclxuICAgIDx2ZHItcmVsYXRpb24tcHJvZHVjdC1pbnB1dFxyXG4gICAgICAgICpuZ1N3aXRjaENhc2U9XCInUHJvZHVjdCdcIlxyXG4gICAgICAgIFtwYXJlbnRGb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICA+PC92ZHItcmVsYXRpb24tcHJvZHVjdC1pbnB1dD5cclxuICAgIDx2ZHItcmVsYXRpb24tY3VzdG9tZXItaW5wdXRcclxuICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ0N1c3RvbWVyJ1wiXHJcbiAgICAgICAgW3BhcmVudEZvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgID48L3Zkci1yZWxhdGlvbi1jdXN0b21lci1pbnB1dD5cclxuICAgIDx2ZHItcmVsYXRpb24tcHJvZHVjdC12YXJpYW50LWlucHV0XHJcbiAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidQcm9kdWN0VmFyaWFudCdcIlxyXG4gICAgICAgIFtwYXJlbnRGb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICA+PC92ZHItcmVsYXRpb24tcHJvZHVjdC12YXJpYW50LWlucHV0PlxyXG4gICAgPG5nLXRlbXBsYXRlIG5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICBObyBpbnB1dCBjb21wb25lbnQgY29uZmlndXJlZCBmb3IgXCJ7eyBjb25maWcuZW50aXR5IH19XCIgdHlwZVxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9kaXY+XHJcbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb24tZm9ybS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL3JlbGF0aW9uLWZvcm0taW5wdXQvcmVsYXRpb24tZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL3JlbGF0aW9uLWZvcm0taW5wdXQvcmVsYXRpb24tZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFPMUU7Ozs7Ozs7O0dBUUc7QUFPSCxNQUFNLE9BQU8sMEJBQTBCOztBQUNuQiw2QkFBRSxHQUEyQixxQkFBc0IsQ0FBQTt1SEFEMUQsMEJBQTBCOzJHQUExQiwwQkFBMEIsaUdDdEJ2Qyx5dENBaUNBOzJGRFhhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU07OEJBSXRDLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcclxuXHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5pbXBvcnQgeyBSZWxhdGlvbkN1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2dlbmVyYXRlZC10eXBlcyc7XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFRoZSBkZWZhdWx0IGlucHV0IGNvbXBvbmVudCBmb3IgYHJlbGF0aW9uYCB0eXBlIGN1c3RvbSBmaWVsZHMuIEFsbG93cyB0aGUgc2VsZWN0aW9uXHJcbiAqIG9mIGEgUHJvZHVjdFZhcmlhbnQsIFByb2R1Y3QsIEN1c3RvbWVyIG9yIEFzc2V0LiBGb3Igb3RoZXIgZW50aXR5IHR5cGVzLCBhIGN1c3RvbVxyXG4gKiBpbXBsZW1lbnRhdGlvbiB3aWxsIG5lZWQgdG8gYmUgZGVmaW5lZC4gU2VlIHtAbGluayByZWdpc3RlckZvcm1JbnB1dENvbXBvbmVudH0uXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY3VzdG9tLWlucHV0LWNvbXBvbmVudHNcclxuICogQGRvY3NQYWdlIGRlZmF1bHQtaW5wdXRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLXJlbGF0aW9uLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlbGF0aW9uLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vcmVsYXRpb24tZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWxhdGlvbkZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1JbnB1dENvbXBvbmVudCB7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgaWQ6IERlZmF1bHRGb3JtQ29tcG9uZW50SWQgPSAncmVsYXRpb24tZm9ybS1pbnB1dCc7XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcclxuICAgIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcclxuICAgIGNvbmZpZzogUmVsYXRpb25DdXN0b21GaWVsZENvbmZpZztcclxufVxyXG4iLCI8ZGl2IFtuZ1N3aXRjaF09XCJjb25maWcuZW50aXR5XCI+XHJcbiAgICA8dmRyLXJlbGF0aW9uLWFzc2V0LWlucHV0XHJcbiAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidBc3NldCdcIlxyXG4gICAgICAgIFtwYXJlbnRGb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICA+PC92ZHItcmVsYXRpb24tYXNzZXQtaW5wdXQ+XHJcbiAgICA8dmRyLXJlbGF0aW9uLXByb2R1Y3QtaW5wdXRcclxuICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ1Byb2R1Y3QnXCJcclxuICAgICAgICBbcGFyZW50Rm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4gICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgPjwvdmRyLXJlbGF0aW9uLXByb2R1Y3QtaW5wdXQ+XHJcbiAgICA8dmRyLXJlbGF0aW9uLWN1c3RvbWVyLWlucHV0XHJcbiAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidDdXN0b21lcidcIlxyXG4gICAgICAgIFtwYXJlbnRGb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICA+PC92ZHItcmVsYXRpb24tY3VzdG9tZXItaW5wdXQ+XHJcbiAgICA8dmRyLXJlbGF0aW9uLXByb2R1Y3QtdmFyaWFudC1pbnB1dFxyXG4gICAgICAgICpuZ1N3aXRjaENhc2U9XCInUHJvZHVjdFZhcmlhbnQnXCJcclxuICAgICAgICBbcGFyZW50Rm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4gICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgPjwvdmRyLXJlbGF0aW9uLXByb2R1Y3QtdmFyaWFudC1pbnB1dD5cclxuICAgIDxuZy10ZW1wbGF0ZSBuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgPHZkci1yZWxhdGlvbi1nZW5lcmljLWlucHV0XHJcbiAgICAgICAgICAgIFtwYXJlbnRGb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgICAgICAgICAgICAgIFtjb25maWddPVwiY29uZmlnXCJcclxuICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICA+PC92ZHItcmVsYXRpb24tZ2VuZXJpYy1pbnB1dD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -1,11 +1,12 @@
1
1
  import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "../../components/form-field/form-field-control.directive";
4
- import * as i2 from "@angular/forms";
5
- import * as i3 from "@clr/angular";
6
- import * as i4 from "../../directives/disabled.directive";
7
- import * as i5 from "@angular/common";
8
- import * as i6 from "../../pipes/custom-field-label.pipe";
3
+ import * as i1 from "../../../data/providers/data.service";
4
+ import * as i2 from "../../components/form-field/form-field-control.directive";
5
+ import * as i3 from "@angular/forms";
6
+ import * as i4 from "@clr/angular";
7
+ import * as i5 from "../../directives/disabled.directive";
8
+ import * as i6 from "@angular/common";
9
+ import * as i7 from "../../pipes/custom-field-label.pipe";
9
10
  /**
10
11
  * @description
11
12
  * Uses a select input to allow the selection of a string value. Should be used with
@@ -15,17 +16,26 @@ import * as i6 from "../../pipes/custom-field-label.pipe";
15
16
  * @docsPage default-inputs
16
17
  */
17
18
  export class SelectFormInputComponent {
19
+ constructor(dataService) {
20
+ this.dataService = dataService;
21
+ }
18
22
  get options() {
19
23
  return this.config.ui?.options || this.config.options;
20
24
  }
25
+ ngOnInit() {
26
+ this.uiLanguage$ = this.dataService.client.uiState().mapStream(({ uiState }) => uiState.language);
27
+ }
28
+ trackByFn(index, item) {
29
+ return item.value;
30
+ }
21
31
  }
22
32
  SelectFormInputComponent.id = 'select-form-input';
23
- SelectFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SelectFormInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- SelectFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: SelectFormInputComponent, selector: "vdr-select-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<select clrSelect [formControl]=\"formControl\" [vdrDisabled]=\"readonly\">\r\n <option *ngIf=\"config.nullable\" [ngValue]=\"null\"></option>\r\n <option *ngFor=\"let option of options\" [ngValue]=\"option.value\">\r\n {{ (option | customFieldLabel) || option.label || option.value }}\r\n </option>\r\n</select>\r\n", styles: ["select{width:100%}\n"], directives: [{ type: i1.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i3.ClrSelect, selector: "[clrSelect]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "customFieldLabel": i6.CustomFieldLabelPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ SelectFormInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SelectFormInputComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component });
34
+ SelectFormInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: SelectFormInputComponent, selector: "vdr-select-form-input", inputs: { readonly: "readonly" }, ngImport: i0, template: "<select clrSelect [formControl]=\"formControl\" [vdrDisabled]=\"readonly\">\r\n <option *ngIf=\"config.nullable\" [ngValue]=\"null\"></option>\r\n <option *ngFor=\"let option of options;trackBy:trackByFn\" [ngValue]=\"option.value\">\r\n {{ (option | customFieldLabel:(uiLanguage$ | async)) || option.label || option.value }}\r\n </option>\r\n</select>\r\n", styles: ["select{width:100%}\n"], directives: [{ type: i2.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i4.ClrSelect, selector: "[clrSelect]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.ClrDatagridItemsTrackBy, selector: "[ngForTrackBy]", inputs: ["ngForTrackBy"] }], pipes: { "customFieldLabel": i7.CustomFieldLabelPipe, "async": i6.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SelectFormInputComponent, decorators: [{
26
36
  type: Component,
27
- args: [{ selector: 'vdr-select-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<select clrSelect [formControl]=\"formControl\" [vdrDisabled]=\"readonly\">\r\n <option *ngIf=\"config.nullable\" [ngValue]=\"null\"></option>\r\n <option *ngFor=\"let option of options\" [ngValue]=\"option.value\">\r\n {{ (option | customFieldLabel) || option.label || option.value }}\r\n </option>\r\n</select>\r\n", styles: ["select{width:100%}\n"] }]
28
- }], propDecorators: { readonly: [{
37
+ args: [{ selector: 'vdr-select-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<select clrSelect [formControl]=\"formControl\" [vdrDisabled]=\"readonly\">\r\n <option *ngIf=\"config.nullable\" [ngValue]=\"null\"></option>\r\n <option *ngFor=\"let option of options;trackBy:trackByFn\" [ngValue]=\"option.value\">\r\n {{ (option | customFieldLabel:(uiLanguage$ | async)) || option.label || option.value }}\r\n </option>\r\n</select>\r\n", styles: ["select{width:100%}\n"] }]
38
+ }], ctorParameters: function () { return [{ type: i1.DataService }]; }, propDecorators: { readonly: [{
29
39
  type: Input
30
40
  }] } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZvcm0taW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZHluYW1pYy1mb3JtLWlucHV0cy9zZWxlY3QtZm9ybS1pbnB1dC9zZWxlY3QtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL3NlbGVjdC1mb3JtLWlucHV0L3NlbGVjdC1mb3JtLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQU8xRTs7Ozs7OztHQU9HO0FBT0gsTUFBTSxPQUFPLHdCQUF3QjtJQU1qQyxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUMxRCxDQUFDOztBQVBlLDJCQUFFLEdBQTJCLG1CQUFvQixDQUFBO3FIQUR4RCx3QkFBd0I7eUdBQXhCLHdCQUF3QiwrRkNyQnJDLDhVQU1BOzJGRGVhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU07OEJBSXRDLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZywgRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcblxuaW1wb3J0IHsgRm9ybUlucHV0Q29tcG9uZW50LCBJbnB1dENvbXBvbmVudENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xuaW1wb3J0IHsgQ3VzdG9tRmllbGRDb25maWdGcmFnbWVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogVXNlcyBhIHNlbGVjdCBpbnB1dCB0byBhbGxvdyB0aGUgc2VsZWN0aW9uIG9mIGEgc3RyaW5nIHZhbHVlLiBTaG91bGQgYmUgdXNlZCB3aXRoXG4gKiBgc3RyaW5nYCB0eXBlIGZpZWxkcyB3aXRoIG9wdGlvbnMuXG4gKlxuICogQGRvY3NDYXRlZ29yeSBjdXN0b20taW5wdXQtY29tcG9uZW50c1xuICogQGRvY3NQYWdlIGRlZmF1bHQtaW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLXNlbGVjdC1mb3JtLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC1mb3JtLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1JbnB1dENvbXBvbmVudCB7XG4gICAgc3RhdGljIHJlYWRvbmx5IGlkOiBEZWZhdWx0Rm9ybUNvbXBvbmVudElkID0gJ3NlbGVjdC1mb3JtLWlucHV0JztcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbjtcbiAgICBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gICAgY29uZmlnOiBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZzwnc2VsZWN0LWZvcm0taW5wdXQnPiAmIEN1c3RvbUZpZWxkQ29uZmlnRnJhZ21lbnQ7XG5cbiAgICBnZXQgb3B0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLnVpPy5vcHRpb25zIHx8IHRoaXMuY29uZmlnLm9wdGlvbnM7XG4gICAgfVxufVxuIiwiPHNlbGVjdCBjbHJTZWxlY3QgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgW3ZkckRpc2FibGVkXT1cInJlYWRvbmx5XCI+XHJcbiAgICA8b3B0aW9uICpuZ0lmPVwiY29uZmlnLm51bGxhYmxlXCIgW25nVmFsdWVdPVwibnVsbFwiPjwvb3B0aW9uPlxyXG4gICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIiBbbmdWYWx1ZV09XCJvcHRpb24udmFsdWVcIj5cclxuICAgICAgICB7eyAob3B0aW9uIHwgY3VzdG9tRmllbGRMYWJlbCkgfHwgb3B0aW9uLmxhYmVsIHx8IG9wdGlvbi52YWx1ZSB9fVxyXG4gICAgPC9vcHRpb24+XHJcbjwvc2VsZWN0PlxyXG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZvcm0taW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZHluYW1pYy1mb3JtLWlucHV0cy9zZWxlY3QtZm9ybS1pbnB1dC9zZWxlY3QtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL3NlbGVjdC1mb3JtLWlucHV0L3NlbGVjdC1mb3JtLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFTbEY7Ozs7Ozs7R0FPRztBQU9ILE1BQU0sT0FBTyx3QkFBd0I7SUFXakMsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFBRyxDQUFDO0lBSmhELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQzFELENBQUM7SUFJRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBUztRQUM5QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7QUFsQmUsMkJBQUUsR0FBMkIsbUJBQW9CLENBQUE7cUhBRHhELHdCQUF3Qjt5R0FBeEIsd0JBQXdCLCtGQ3ZCckMsc1hBTUE7MkZEaUJhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDSSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU07a0dBSXRDLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnLCBEZWZhdWx0Rm9ybUNvbXBvbmVudElkIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaGFyZWQtdHlwZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcbmltcG9ydCB7IEN1c3RvbUZpZWxkQ29uZmlnRnJhZ21lbnQsIExhbmd1YWdlQ29kZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogVXNlcyBhIHNlbGVjdCBpbnB1dCB0byBhbGxvdyB0aGUgc2VsZWN0aW9uIG9mIGEgc3RyaW5nIHZhbHVlLiBTaG91bGQgYmUgdXNlZCB3aXRoXG4gKiBgc3RyaW5nYCB0eXBlIGZpZWxkcyB3aXRoIG9wdGlvbnMuXG4gKlxuICogQGRvY3NDYXRlZ29yeSBjdXN0b20taW5wdXQtY29tcG9uZW50c1xuICogQGRvY3NQYWdlIGRlZmF1bHQtaW5wdXRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLXNlbGVjdC1mb3JtLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0LWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdC1mb3JtLWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEZvcm1JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEZvcm1JbnB1dENvbXBvbmVudCwgT25Jbml0IHtcbiAgICBzdGF0aWMgcmVhZG9ubHkgaWQ6IERlZmF1bHRGb3JtQ29tcG9uZW50SWQgPSAnc2VsZWN0LWZvcm0taW5wdXQnO1xuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xuICAgIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcbiAgICBjb25maWc6IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnPCdzZWxlY3QtZm9ybS1pbnB1dCc+ICYgQ3VzdG9tRmllbGRDb25maWdGcmFnbWVudDtcbiAgICB1aUxhbmd1YWdlJDogT2JzZXJ2YWJsZTxMYW5ndWFnZUNvZGU+O1xuXG4gICAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy51aT8ub3B0aW9ucyB8fCB0aGlzLmNvbmZpZy5vcHRpb25zO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMudWlMYW5ndWFnZSQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudC51aVN0YXRlKCkubWFwU3RyZWFtKCh7IHVpU3RhdGUgfSkgPT4gdWlTdGF0ZS5sYW5ndWFnZSk7XG4gICAgfVxuXG4gICAgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkge1xuICAgICAgICByZXR1cm4gaXRlbS52YWx1ZTtcbiAgICB9XG59XG4iLCI8c2VsZWN0IGNsclNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBbdmRyRGlzYWJsZWRdPVwicmVhZG9ubHlcIj5cclxuICAgIDxvcHRpb24gKm5nSWY9XCJjb25maWcubnVsbGFibGVcIiBbbmdWYWx1ZV09XCJudWxsXCI+PC9vcHRpb24+XHJcbiAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uczt0cmFja0J5OnRyYWNrQnlGblwiIFtuZ1ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxyXG4gICAgICAgIHt7IChvcHRpb24gfCBjdXN0b21GaWVsZExhYmVsOih1aUxhbmd1YWdlJCB8IGFzeW5jKSkgfHwgb3B0aW9uLmxhYmVsIHx8IG9wdGlvbi52YWx1ZSB9fVxyXG4gICAgPC9vcHRpb24+XHJcbjwvc2VsZWN0PlxyXG4iXX0=
@@ -1,47 +1,35 @@
1
1
  import { Pipe } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "../../data/providers/data.service";
4
3
  /**
5
4
  * Displays a localized label for a CustomField or StringFieldOption, falling back to the
6
5
  * name/value if none are defined.
7
6
  */
8
7
  export class CustomFieldLabelPipe {
9
- constructor(dataService) {
10
- this.dataService = dataService;
11
- this.subscription = dataService.client.uiState().stream$.subscribe(val => {
12
- this.uiLanguageCode = val.uiState.language;
13
- });
14
- }
15
- transform(value) {
8
+ transform(value, uiLanguageCode) {
16
9
  if (!value) {
17
10
  return value;
18
11
  }
19
12
  const { label } = value;
20
13
  const name = this.isCustomFieldConfig(value) ? value.name : value.value;
21
14
  if (label) {
22
- const match = label.find(l => l.languageCode === this.uiLanguageCode);
15
+ const match = label.find(l => l.languageCode === uiLanguageCode);
23
16
  return match ? match.value : label[0].value;
24
17
  }
25
18
  else {
26
19
  return name;
27
20
  }
28
21
  }
29
- ngOnDestroy() {
30
- if (this.subscription) {
31
- this.subscription.unsubscribe();
32
- }
33
- }
34
22
  isCustomFieldConfig(input) {
35
23
  return input.hasOwnProperty('name');
36
24
  }
37
25
  }
38
- CustomFieldLabelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CustomFieldLabelPipe, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Pipe });
39
- CustomFieldLabelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CustomFieldLabelPipe, name: "customFieldLabel", pure: false });
26
+ CustomFieldLabelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CustomFieldLabelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
27
+ CustomFieldLabelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CustomFieldLabelPipe, name: "customFieldLabel" });
40
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CustomFieldLabelPipe, decorators: [{
41
29
  type: Pipe,
42
30
  args: [{
43
31
  name: 'customFieldLabel',
44
- pure: false,
32
+ pure: true,
45
33
  }]
46
- }], ctorParameters: function () { return [{ type: i1.DataService }]; } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWZpZWxkLWxhYmVsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9waXBlcy9jdXN0b20tZmllbGQtbGFiZWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBTS9EOzs7R0FHRztBQUtILE1BQU0sT0FBTyxvQkFBb0I7SUFJN0IsWUFBb0IsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckUsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUMvQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBNEM7UUFDbEQsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNSLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssQ0FBQztRQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEUsSUFBSSxLQUFLLEVBQUU7WUFDUCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdEUsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7U0FDL0M7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ25DO0lBQ0wsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQVU7UUFDbEMsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O2lIQWhDUSxvQkFBb0I7K0dBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUpoQyxJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLElBQUksRUFBRSxLQUFLO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25EZXN0cm95LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQ3VzdG9tRmllbGRDb25maWcsIExhbmd1YWdlQ29kZSwgU3RyaW5nRmllbGRPcHRpb24gfSBmcm9tICcuLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIERpc3BsYXlzIGEgbG9jYWxpemVkIGxhYmVsIGZvciBhIEN1c3RvbUZpZWxkIG9yIFN0cmluZ0ZpZWxkT3B0aW9uLCBmYWxsaW5nIGJhY2sgdG8gdGhlXHJcbiAqIG5hbWUvdmFsdWUgaWYgbm9uZSBhcmUgZGVmaW5lZC5cclxuICovXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdjdXN0b21GaWVsZExhYmVsJyxcclxuICAgIHB1cmU6IGZhbHNlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tRmllbGRMYWJlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgdWlMYW5ndWFnZUNvZGU6IExhbmd1YWdlQ29kZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uID0gZGF0YVNlcnZpY2UuY2xpZW50LnVpU3RhdGUoKS5zdHJlYW0kLnN1YnNjcmliZSh2YWwgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnVpTGFuZ3VhZ2VDb2RlID0gdmFsLnVpU3RhdGUubGFuZ3VhZ2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBDdXN0b21GaWVsZENvbmZpZyB8IFN0cmluZ0ZpZWxkT3B0aW9uKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgeyBsYWJlbCB9ID0gdmFsdWU7XHJcbiAgICAgICAgY29uc3QgbmFtZSA9IHRoaXMuaXNDdXN0b21GaWVsZENvbmZpZyh2YWx1ZSkgPyB2YWx1ZS5uYW1lIDogdmFsdWUudmFsdWU7XHJcbiAgICAgICAgaWYgKGxhYmVsKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gbGFiZWwuZmluZChsID0+IGwubGFuZ3VhZ2VDb2RlID09PSB0aGlzLnVpTGFuZ3VhZ2VDb2RlKTtcclxuICAgICAgICAgICAgcmV0dXJuIG1hdGNoID8gbWF0Y2gudmFsdWUgOiBsYWJlbFswXS52YWx1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbmFtZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNDdXN0b21GaWVsZENvbmZpZyhpbnB1dDogYW55KTogaW5wdXQgaXMgQ3VzdG9tRmllbGRDb25maWcge1xyXG4gICAgICAgIHJldHVybiBpbnB1dC5oYXNPd25Qcm9wZXJ0eSgnbmFtZScpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWZpZWxkLWxhYmVsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9waXBlcy9jdXN0b20tZmllbGQtbGFiZWwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFJcEQ7OztHQUdHO0FBS0gsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixTQUFTLENBQUMsS0FBNEMsRUFBRSxjQUFtQztRQUN2RixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1IsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN4RSxJQUFJLEtBQUssRUFBRTtZQUNQLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxLQUFLLGNBQWMsQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1NBQy9DO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUVPLG1CQUFtQixDQUFDLEtBQVU7UUFDbEMsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O2lIQWpCUSxvQkFBb0I7K0dBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQUpoQyxJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLElBQUksRUFBRSxJQUFJO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDdXN0b21GaWVsZENvbmZpZywgTGFuZ3VhZ2VDb2RlLCBTdHJpbmdGaWVsZE9wdGlvbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xuXG4vKipcbiAqIERpc3BsYXlzIGEgbG9jYWxpemVkIGxhYmVsIGZvciBhIEN1c3RvbUZpZWxkIG9yIFN0cmluZ0ZpZWxkT3B0aW9uLCBmYWxsaW5nIGJhY2sgdG8gdGhlXG4gKiBuYW1lL3ZhbHVlIGlmIG5vbmUgYXJlIGRlZmluZWQuXG4gKi9cbkBQaXBlKHtcbiAgICBuYW1lOiAnY3VzdG9tRmllbGRMYWJlbCcsXG4gICAgcHVyZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tRmllbGRMYWJlbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEN1c3RvbUZpZWxkQ29uZmlnIHwgU3RyaW5nRmllbGRPcHRpb24sIHVpTGFuZ3VhZ2VDb2RlOiBMYW5ndWFnZUNvZGUgfCBudWxsKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgbGFiZWwgfSA9IHZhbHVlO1xuICAgICAgICBjb25zdCBuYW1lID0gdGhpcy5pc0N1c3RvbUZpZWxkQ29uZmlnKHZhbHVlKSA/IHZhbHVlLm5hbWUgOiB2YWx1ZS52YWx1ZTtcbiAgICAgICAgaWYgKGxhYmVsKSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaCA9IGxhYmVsLmZpbmQobCA9PiBsLmxhbmd1YWdlQ29kZSA9PT0gdWlMYW5ndWFnZUNvZGUpO1xuICAgICAgICAgICAgcmV0dXJuIG1hdGNoID8gbWF0Y2gudmFsdWUgOiBsYWJlbFswXS52YWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBuYW1lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0N1c3RvbUZpZWxkQ29uZmlnKGlucHV0OiBhbnkpOiBpbnB1dCBpcyBDdXN0b21GaWVsZENvbmZpZyB7XG4gICAgICAgIHJldHVybiBpbnB1dC5oYXNPd25Qcm9wZXJ0eSgnbmFtZScpO1xuICAgIH1cbn1cbiJdfQ==