@vendure/admin-ui 1.7.4 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1099) hide show
  1. package/README.md +49 -0
  2. package/angular.json +196 -0
  3. package/i18n-coverage.json +71 -0
  4. package/package/bundles/vendure-admin-ui-catalog.umd.js +5689 -0
  5. package/package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -0
  6. package/package/bundles/vendure-admin-ui-core.umd.js +16863 -0
  7. package/package/bundles/vendure-admin-ui-core.umd.js.map +1 -0
  8. package/package/bundles/vendure-admin-ui-customer.umd.js +1680 -0
  9. package/package/bundles/vendure-admin-ui-customer.umd.js.map +1 -0
  10. package/package/bundles/vendure-admin-ui-dashboard.umd.js +759 -0
  11. package/package/bundles/vendure-admin-ui-dashboard.umd.js.map +1 -0
  12. package/{bundles → package/bundles}/vendure-admin-ui-login.umd.js +0 -0
  13. package/{bundles → package/bundles}/vendure-admin-ui-login.umd.js.map +0 -0
  14. package/{bundles → package/bundles}/vendure-admin-ui-marketing.umd.js +0 -0
  15. package/{bundles → package/bundles}/vendure-admin-ui-marketing.umd.js.map +0 -0
  16. package/package/bundles/vendure-admin-ui-order.umd.js +4028 -0
  17. package/package/bundles/vendure-admin-ui-order.umd.js.map +1 -0
  18. package/package/bundles/vendure-admin-ui-settings.umd.js +3700 -0
  19. package/package/bundles/vendure-admin-ui-settings.umd.js.map +1 -0
  20. package/package/bundles/vendure-admin-ui-system.umd.js +524 -0
  21. package/{bundles → package/bundles}/vendure-admin-ui-system.umd.js.map +0 -0
  22. package/{bundles → package/bundles}/vendure-admin-ui.umd.js +0 -0
  23. package/{bundles → package/bundles}/vendure-admin-ui.umd.js.map +0 -0
  24. package/package/catalog/catalog.module.d.ts +5 -0
  25. package/{catalog → package/catalog}/catalog.routes.d.ts +0 -0
  26. package/{catalog → package/catalog}/components/apply-facet-dialog/apply-facet-dialog.component.d.ts +0 -0
  27. package/{catalog → package/catalog}/components/asset-detail/asset-detail.component.d.ts +0 -0
  28. package/{catalog → package/catalog}/components/asset-list/asset-list.component.d.ts +0 -0
  29. package/{catalog → package/catalog}/components/assets/assets.component.d.ts +0 -0
  30. package/{catalog → package/catalog}/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.d.ts +0 -0
  31. package/package/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.d.ts +17 -0
  32. package/package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +38 -0
  33. package/package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.d.ts +4 -0
  34. package/{catalog → package/catalog}/components/collection-contents/collection-contents.component.d.ts +0 -0
  35. package/{catalog → package/catalog}/components/collection-detail/collection-detail.component.d.ts +0 -0
  36. package/package/catalog/components/collection-list/collection-list-bulk-actions.d.ts +6 -0
  37. package/package/catalog/components/collection-list/collection-list.component.d.ts +35 -0
  38. package/{catalog → package/catalog}/components/collection-tree/array-to-tree.d.ts +0 -0
  39. package/package/catalog/components/collection-tree/collection-tree-node.component.d.ts +40 -0
  40. package/package/catalog/components/collection-tree/collection-tree.component.d.ts +36 -0
  41. package/{catalog → package/catalog}/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.d.ts +0 -0
  42. package/{catalog → package/catalog}/components/facet-detail/facet-detail.component.d.ts +0 -0
  43. package/package/catalog/components/facet-list/facet-list-bulk-actions.d.ts +5 -0
  44. package/package/catalog/components/facet-list/facet-list.component.d.ts +25 -0
  45. package/{catalog → package/catalog}/components/generate-product-variants/generate-product-variants.component.d.ts +0 -0
  46. package/{catalog → package/catalog}/components/option-value-input/option-value-input.component.d.ts +0 -0
  47. package/{catalog → package/catalog}/components/product-detail/product-detail.component.d.ts +0 -0
  48. package/package/catalog/components/product-list/product-list-bulk-actions.d.ts +6 -0
  49. package/package/catalog/components/product-list/product-list.component.d.ts +30 -0
  50. package/{catalog → package/catalog}/components/product-options-editor/product-options-editor.component.d.ts +0 -0
  51. package/{catalog → package/catalog}/components/product-variants-editor/product-variants-editor.component.d.ts +0 -0
  52. package/{catalog → package/catalog}/components/product-variants-list/product-variants-list.component.d.ts +0 -0
  53. package/{catalog → package/catalog}/components/product-variants-table/product-variants-table.component.d.ts +0 -0
  54. package/{catalog → package/catalog}/components/update-product-option-dialog/update-product-option-dialog.component.d.ts +0 -0
  55. package/{catalog → package/catalog}/components/variant-price-detail/variant-price-detail.component.d.ts +0 -0
  56. package/{catalog → package/catalog}/package.json +0 -0
  57. package/{catalog → package/catalog}/providers/product-detail/product-detail.service.d.ts +0 -0
  58. package/{catalog → package/catalog}/providers/product-detail/replace-last.d.ts +0 -0
  59. package/{catalog → package/catalog}/providers/routing/asset-resolver.d.ts +0 -0
  60. package/{catalog → package/catalog}/providers/routing/collection-resolver.d.ts +0 -0
  61. package/{catalog → package/catalog}/providers/routing/facet-resolver.d.ts +0 -0
  62. package/{catalog → package/catalog}/providers/routing/product-resolver.d.ts +0 -0
  63. package/{catalog → package/catalog}/providers/routing/product-variants-resolver.d.ts +0 -0
  64. package/package/catalog/public_api.d.ts +39 -0
  65. package/{catalog → package/catalog}/vendure-admin-ui-catalog.d.ts +0 -0
  66. package/package/catalog/vendure-admin-ui-catalog.metadata.json +1 -0
  67. package/{core → package/core}/app.component.d.ts +0 -0
  68. package/{core → package/core}/app.component.module.d.ts +0 -0
  69. package/{core → package/core}/app.config.d.ts +0 -0
  70. package/{core → package/core}/common/base-detail.component.d.ts +0 -0
  71. package/{core → package/core}/common/base-entity-resolver.d.ts +0 -0
  72. package/{core → package/core}/common/base-list.component.d.ts +0 -0
  73. package/package/core/common/component-registry-types.d.ts +56 -0
  74. package/{core → package/core}/common/deactivate-aware.d.ts +0 -0
  75. package/{core → package/core}/common/detail-breadcrumb.d.ts +0 -0
  76. package/package/core/common/generated-types.d.ts +9748 -0
  77. package/{core → package/core}/common/introspection-result-wrapper.d.ts +0 -0
  78. package/{core → package/core}/common/introspection-result.d.ts +0 -0
  79. package/{core → package/core}/common/single-search-selection-model.d.ts +0 -0
  80. package/package/core/common/utilities/bulk-action-utils.d.ts +19 -0
  81. package/{core → package/core}/common/utilities/configurable-operation-utils.d.ts +0 -0
  82. package/{core → package/core}/common/utilities/create-updated-translatable.d.ts +0 -0
  83. package/{core → package/core}/common/utilities/find-translation.d.ts +0 -0
  84. package/{core → package/core}/common/utilities/flatten-facet-values.d.ts +0 -0
  85. package/{core → package/core}/common/utilities/get-default-ui-language.d.ts +0 -0
  86. package/{core → package/core}/common/utilities/interpolate-description.d.ts +0 -0
  87. package/package/core/common/utilities/selection-manager.d.ts +30 -0
  88. package/{core → package/core}/common/utilities/string-to-color.d.ts +0 -0
  89. package/package/core/common/version.d.ts +1 -0
  90. package/{core → package/core}/components/app-shell/app-shell.component.d.ts +0 -0
  91. package/{core → package/core}/components/breadcrumb/breadcrumb.component.d.ts +0 -0
  92. package/{core → package/core}/components/channel-switcher/channel-switcher.component.d.ts +0 -0
  93. package/{core → package/core}/components/main-nav/main-nav.component.d.ts +0 -0
  94. package/{core → package/core}/components/notification/notification.component.d.ts +0 -0
  95. package/{core → package/core}/components/overlay-host/overlay-host.component.d.ts +0 -0
  96. package/{core → package/core}/components/theme-switcher/theme-switcher.component.d.ts +0 -0
  97. package/{core → package/core}/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +0 -0
  98. package/{core → package/core}/components/user-menu/user-menu.component.d.ts +0 -0
  99. package/{core → package/core}/core.module.d.ts +0 -0
  100. package/{core → package/core}/data/check-jobs-link.d.ts +0 -0
  101. package/{core → package/core}/data/client-state/client-defaults.d.ts +0 -0
  102. package/{core → package/core}/data/client-state/client-resolvers.d.ts +0 -0
  103. package/{core → package/core}/data/data.module.d.ts +0 -0
  104. package/{core → package/core}/data/definitions/administrator-definitions.d.ts +0 -0
  105. package/{core → package/core}/data/definitions/auth-definitions.d.ts +0 -0
  106. package/{core → package/core}/data/definitions/client-definitions.d.ts +0 -0
  107. package/package/core/data/definitions/collection-definitions.d.ts +13 -0
  108. package/{core → package/core}/data/definitions/customer-definitions.d.ts +0 -0
  109. package/package/core/data/definitions/facet-definitions.d.ts +13 -0
  110. package/package/core/data/definitions/order-definitions.d.ts +39 -0
  111. package/package/core/data/definitions/product-definitions.d.ts +46 -0
  112. package/{core → package/core}/data/definitions/promotion-definitions.d.ts +0 -0
  113. package/{core → package/core}/data/definitions/settings-definitions.d.ts +0 -0
  114. package/{core → package/core}/data/definitions/shared-definitions.d.ts +0 -0
  115. package/{core → package/core}/data/definitions/shipping-definitions.d.ts +0 -0
  116. package/{core → package/core}/data/omit-typename-link.d.ts +0 -0
  117. package/{core → package/core}/data/providers/administrator-data.service.d.ts +0 -0
  118. package/{core → package/core}/data/providers/auth-data.service.d.ts +0 -0
  119. package/{core → package/core}/data/providers/base-data.service.d.ts +0 -0
  120. package/{core → package/core}/data/providers/client-data.service.d.ts +0 -0
  121. package/package/core/data/providers/collection-data.service.d.ts +28 -0
  122. package/{core → package/core}/data/providers/customer-data.service.d.ts +0 -0
  123. package/{core → package/core}/data/providers/data.service.d.ts +0 -0
  124. package/package/core/data/providers/facet-data.service.d.ts +24 -0
  125. package/{core → package/core}/data/providers/fetch-adapter.d.ts +0 -0
  126. package/{core → package/core}/data/providers/interceptor.d.ts +0 -0
  127. package/package/core/data/providers/order-data.service.d.ts +52 -0
  128. package/package/core/data/providers/product-data.service.d.ts +82 -0
  129. package/{core → package/core}/data/providers/promotion-data.service.d.ts +0 -0
  130. package/{core → package/core}/data/providers/settings-data.service.d.ts +0 -0
  131. package/{core → package/core}/data/providers/shipping-method-data.service.d.ts +0 -0
  132. package/{core → package/core}/data/query-result.d.ts +0 -0
  133. package/{core → package/core}/data/server-config.d.ts +0 -0
  134. package/{core → package/core}/data/utils/add-custom-fields.d.ts +0 -0
  135. package/{core → package/core}/data/utils/get-server-location.d.ts +0 -0
  136. package/{core → package/core}/data/utils/remove-readonly-custom-fields.d.ts +0 -0
  137. package/{core → package/core}/data/utils/transform-relation-custom-field-inputs.d.ts +0 -0
  138. package/{core → package/core}/package.json +0 -0
  139. package/{core → package/core}/providers/auth/auth.service.d.ts +0 -0
  140. package/package/core/providers/bulk-action-registry/bulk-action-registry.service.d.ts +6 -0
  141. package/package/core/providers/bulk-action-registry/bulk-action-types.d.ts +149 -0
  142. package/package/core/providers/bulk-action-registry/register-bulk-action.d.ts +53 -0
  143. package/{core → package/core}/providers/component-registry/component-registry.service.d.ts +0 -0
  144. package/{core → package/core}/providers/custom-detail-component/custom-detail-component-types.d.ts +0 -0
  145. package/{core → package/core}/providers/custom-detail-component/custom-detail-component.service.d.ts +0 -0
  146. package/{core → package/core}/providers/custom-field-component/custom-field-component.service.d.ts +0 -0
  147. package/{core → package/core}/providers/dashboard-widget/dashboard-widget-types.d.ts +0 -0
  148. package/{core → package/core}/providers/dashboard-widget/dashboard-widget.service.d.ts +0 -0
  149. package/{core → package/core}/providers/dashboard-widget/register-dashboard-widget.d.ts +0 -0
  150. package/{core → package/core}/providers/guard/auth.guard.d.ts +0 -0
  151. package/{core → package/core}/providers/health-check/health-check.service.d.ts +0 -0
  152. package/{core → package/core}/providers/i18n/custom-http-loader.d.ts +0 -0
  153. package/{core → package/core}/providers/i18n/custom-message-format-compiler.d.ts +0 -0
  154. package/{core → package/core}/providers/i18n/i18n.service.d.ts +0 -0
  155. package/{core → package/core}/providers/job-queue/job-queue.service.d.ts +0 -0
  156. package/{core → package/core}/providers/local-storage/local-storage.service.d.ts +0 -0
  157. package/package/core/providers/modal/modal.service.d.ts +134 -0
  158. package/package/core/providers/nav-builder/nav-builder-types.d.ts +92 -0
  159. package/{core → package/core}/providers/nav-builder/nav-builder.service.d.ts +0 -0
  160. package/{core → package/core}/providers/notification/notification.service.d.ts +0 -0
  161. package/{core → package/core}/providers/overlay-host/overlay-host.service.d.ts +0 -0
  162. package/package/core/public_api.d.ts +239 -0
  163. package/{core → package/core}/shared/components/action-bar/action-bar.component.d.ts +0 -0
  164. package/{core → package/core}/shared/components/action-bar-items/action-bar-items.component.d.ts +0 -0
  165. package/{core → package/core}/shared/components/address-form/address-form.component.d.ts +0 -0
  166. package/{core → package/core}/shared/components/affixed-input/affixed-input.component.d.ts +0 -0
  167. package/{core → package/core}/shared/components/affixed-input/percentage-suffix-input.component.d.ts +0 -0
  168. package/{core → package/core}/shared/components/asset-file-input/asset-file-input.component.d.ts +0 -0
  169. package/package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +67 -0
  170. package/{core → package/core}/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +0 -0
  171. package/{core → package/core}/shared/components/asset-preview/asset-preview.component.d.ts +0 -0
  172. package/{core → package/core}/shared/components/asset-preview-dialog/asset-preview-dialog.component.d.ts +0 -0
  173. package/{core → package/core}/shared/components/asset-preview-links/asset-preview-links.component.d.ts +0 -0
  174. package/{core → package/core}/shared/components/asset-search-input/asset-search-input.component.d.ts +0 -0
  175. package/package/core/shared/components/bulk-action-menu/bulk-action-menu.component.d.ts +29 -0
  176. package/{core → package/core}/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +0 -0
  177. package/{core → package/core}/shared/components/channel-badge/channel-badge.component.d.ts +0 -0
  178. package/{core → package/core}/shared/components/chip/chip.component.d.ts +0 -0
  179. package/{core → package/core}/shared/components/configurable-input/configurable-input.component.d.ts +0 -0
  180. package/{core → package/core}/shared/components/currency-input/currency-input.component.d.ts +0 -0
  181. package/{core → package/core}/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +0 -0
  182. package/{core → package/core}/shared/components/custom-field-control/custom-field-control.component.d.ts +0 -0
  183. package/{core → package/core}/shared/components/customer-label/customer-label.component.d.ts +0 -0
  184. package/{core → package/core}/shared/components/data-table/data-table-column.component.d.ts +0 -0
  185. package/package/core/shared/components/data-table/data-table.component.d.ts +101 -0
  186. package/{core → package/core}/shared/components/datetime-picker/constants.d.ts +0 -0
  187. package/{core → package/core}/shared/components/datetime-picker/datetime-picker.component.d.ts +0 -0
  188. package/{core → package/core}/shared/components/datetime-picker/datetime-picker.service.d.ts +0 -0
  189. package/{core → package/core}/shared/components/datetime-picker/types.d.ts +0 -0
  190. package/{core → package/core}/shared/components/dropdown/dropdown-item.directive.d.ts +0 -0
  191. package/package/core/shared/components/dropdown/dropdown-menu.component.d.ts +31 -0
  192. package/{core → package/core}/shared/components/dropdown/dropdown-trigger.directive.d.ts +0 -0
  193. package/{core → package/core}/shared/components/dropdown/dropdown.component.d.ts +0 -0
  194. package/{core → package/core}/shared/components/edit-note-dialog/edit-note-dialog.component.d.ts +0 -0
  195. package/{core → package/core}/shared/components/empty-placeholder/empty-placeholder.component.d.ts +0 -0
  196. package/{core → package/core}/shared/components/entity-info/entity-info.component.d.ts +0 -0
  197. package/{core → package/core}/shared/components/extension-host/extension-host-config.d.ts +0 -0
  198. package/{core → package/core}/shared/components/extension-host/extension-host.component.d.ts +0 -0
  199. package/{core → package/core}/shared/components/extension-host/extension-host.service.d.ts +0 -0
  200. package/{core → package/core}/shared/components/extension-host/host-external-frame.d.ts +0 -0
  201. package/{core → package/core}/shared/components/facet-value-chip/facet-value-chip.component.d.ts +0 -0
  202. package/{core → package/core}/shared/components/facet-value-selector/facet-value-selector.component.d.ts +0 -0
  203. package/{core → package/core}/shared/components/focal-point-control/focal-point-control.component.d.ts +0 -0
  204. package/{core → package/core}/shared/components/form-field/form-field-control.directive.d.ts +0 -0
  205. package/{core → package/core}/shared/components/form-field/form-field.component.d.ts +0 -0
  206. package/{core → package/core}/shared/components/form-item/form-item.component.d.ts +0 -0
  207. package/{core → package/core}/shared/components/formatted-address/formatted-address.component.d.ts +0 -0
  208. package/{core → package/core}/shared/components/help-tooltip/help-tooltip.component.d.ts +0 -0
  209. package/{core → package/core}/shared/components/history-entry-detail/history-entry-detail.component.d.ts +0 -0
  210. package/{core → package/core}/shared/components/items-per-page-controls/items-per-page-controls.component.d.ts +0 -0
  211. package/{core → package/core}/shared/components/labeled-data/labeled-data.component.d.ts +0 -0
  212. package/{core → package/core}/shared/components/language-selector/language-selector.component.d.ts +0 -0
  213. package/{core → package/core}/shared/components/manage-tags-dialog/manage-tags-dialog.component.d.ts +0 -0
  214. package/{core → package/core}/shared/components/modal-dialog/dialog-buttons.directive.d.ts +0 -0
  215. package/{core → package/core}/shared/components/modal-dialog/dialog-component-outlet.component.d.ts +0 -0
  216. package/{core → package/core}/shared/components/modal-dialog/dialog-title.directive.d.ts +0 -0
  217. package/{core → package/core}/shared/components/modal-dialog/modal-dialog.component.d.ts +0 -0
  218. package/{core → package/core}/shared/components/object-tree/object-tree.component.d.ts +0 -0
  219. package/{core → package/core}/shared/components/order-state-label/order-state-label.component.d.ts +0 -0
  220. package/{core → package/core}/shared/components/pagination-controls/pagination-controls.component.d.ts +0 -0
  221. package/{core → package/core}/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.d.ts +0 -0
  222. package/{core → package/core}/shared/components/product-search-input/product-search-input.component.d.ts +0 -0
  223. package/{core → package/core}/shared/components/product-selector/product-selector.component.d.ts +0 -0
  224. package/package/core/shared/components/radio-card/radio-card-fieldset.component.d.ts +21 -0
  225. package/package/core/shared/components/radio-card/radio-card.component.d.ts +19 -0
  226. package/{core → package/core}/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.d.ts +0 -0
  227. package/{core → package/core}/shared/components/rich-text-editor/link-dialog/link-dialog.component.d.ts +0 -0
  228. package/package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.d.ts +28 -0
  229. package/package/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.d.ts +31 -0
  230. package/package/core/shared/components/rich-text-editor/prosemirror/custom-nodes.d.ts +4 -0
  231. package/package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +8 -0
  232. package/{core → package/core}/shared/components/rich-text-editor/prosemirror/keymap.d.ts +0 -0
  233. package/package/core/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +4 -0
  234. package/package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +16 -0
  235. package/package/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.d.ts +9 -0
  236. package/{core → package/core}/shared/components/rich-text-editor/prosemirror/menu/menu.d.ts +0 -0
  237. package/package/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.d.ts +14 -0
  238. package/package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +7 -0
  239. package/package/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +5 -0
  240. package/package/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.d.ts +7 -0
  241. package/package/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.d.ts +13 -0
  242. package/package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +25 -0
  243. package/package/core/shared/components/rich-text-editor/prosemirror/types.d.ts +9 -0
  244. package/{core → package/core}/shared/components/rich-text-editor/prosemirror/utils.d.ts +0 -0
  245. package/package/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.d.ts +18 -0
  246. package/package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +39 -0
  247. package/{core → package/core}/shared/components/select-toggle/select-toggle.component.d.ts +0 -0
  248. package/{core → package/core}/shared/components/simple-dialog/simple-dialog.component.d.ts +0 -0
  249. package/{core → package/core}/shared/components/status-badge/status-badge.component.d.ts +0 -0
  250. package/{core → package/core}/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +0 -0
  251. package/{core → package/core}/shared/components/table-row-action/table-row-action.component.d.ts +0 -0
  252. package/{core → package/core}/shared/components/tag-selector/tag-selector.component.d.ts +0 -0
  253. package/{core → package/core}/shared/components/timeline-entry/timeline-entry.component.d.ts +0 -0
  254. package/{core → package/core}/shared/components/title-input/title-input.component.d.ts +0 -0
  255. package/{core → package/core}/shared/components/ui-extension-point/ui-extension-point.component.d.ts +0 -0
  256. package/{core → package/core}/shared/directives/disabled.directive.d.ts +0 -0
  257. package/{core → package/core}/shared/directives/if-default-channel-active.directive.d.ts +0 -0
  258. package/{core → package/core}/shared/directives/if-directive-base.d.ts +0 -0
  259. package/{core → package/core}/shared/directives/if-multichannel.directive.d.ts +0 -0
  260. package/{core → package/core}/shared/directives/if-permissions.directive.d.ts +0 -0
  261. package/{core → package/core}/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +0 -0
  262. package/package/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.d.ts +27 -0
  263. package/package/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.d.ts +19 -0
  264. package/package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +20 -0
  265. package/{core → package/core}/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.d.ts +0 -0
  266. package/{core → package/core}/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +0 -0
  267. package/{core → package/core}/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +0 -0
  268. package/{core → package/core}/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +0 -0
  269. package/{core → package/core}/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.d.ts +0 -0
  270. package/{core → package/core}/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +0 -0
  271. package/{core → package/core}/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +0 -0
  272. package/{core → package/core}/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +0 -0
  273. package/{core → package/core}/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.d.ts +0 -0
  274. package/{core → package/core}/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +0 -0
  275. package/package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +90 -0
  276. package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +0 -0
  277. package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.d.ts +0 -0
  278. package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.d.ts +0 -0
  279. package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.d.ts +0 -0
  280. package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.d.ts +0 -0
  281. package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.d.ts +0 -0
  282. package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +0 -0
  283. package/{core → package/core}/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.d.ts +0 -0
  284. package/{core → package/core}/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +0 -0
  285. package/{core → package/core}/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +0 -0
  286. package/{core → package/core}/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +0 -0
  287. package/{core → package/core}/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +0 -0
  288. package/{core → package/core}/shared/pipes/asset-preview.pipe.d.ts +0 -0
  289. package/{core → package/core}/shared/pipes/channel-label.pipe.d.ts +0 -0
  290. package/{core → package/core}/shared/pipes/custom-field-label.pipe.d.ts +0 -0
  291. package/{core → package/core}/shared/pipes/duration.pipe.d.ts +0 -0
  292. package/{core → package/core}/shared/pipes/file-size.pipe.d.ts +0 -0
  293. package/{core → package/core}/shared/pipes/has-permission.pipe.d.ts +0 -0
  294. package/{core → package/core}/shared/pipes/locale-base.pipe.d.ts +0 -0
  295. package/{core → package/core}/shared/pipes/locale-currency-name.pipe.d.ts +0 -0
  296. package/{core → package/core}/shared/pipes/locale-currency.pipe.d.ts +0 -0
  297. package/{core → package/core}/shared/pipes/locale-date.pipe.d.ts +0 -0
  298. package/{core → package/core}/shared/pipes/locale-language-name.pipe.d.ts +0 -0
  299. package/{core → package/core}/shared/pipes/locale-region-name.pipe.d.ts +0 -0
  300. package/{core → package/core}/shared/pipes/sentence-case.pipe.d.ts +0 -0
  301. package/{core → package/core}/shared/pipes/sort.pipe.d.ts +0 -0
  302. package/{core → package/core}/shared/pipes/state-i18n-token.pipe.d.ts +0 -0
  303. package/{core → package/core}/shared/pipes/string-to-color.pipe.d.ts +0 -0
  304. package/{core → package/core}/shared/pipes/time-ago.pipe.d.ts +0 -0
  305. package/{core → package/core}/shared/providers/routing/can-deactivate-detail-guard.d.ts +0 -0
  306. package/{core → package/core}/shared/shared.module.d.ts +0 -0
  307. package/{core → package/core}/validators/unicode-pattern.validator.d.ts +0 -0
  308. package/{core → package/core}/vendure-admin-ui-core.d.ts +0 -0
  309. package/package/core/vendure-admin-ui-core.metadata.json +1 -0
  310. package/{customer → package/customer}/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.d.ts +0 -0
  311. package/{customer → package/customer}/components/address-card/address-card.component.d.ts +0 -0
  312. package/{customer → package/customer}/components/address-detail-dialog/address-detail-dialog.component.d.ts +0 -0
  313. package/{customer → package/customer}/components/customer-detail/customer-detail.component.d.ts +0 -0
  314. package/{customer → package/customer}/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +0 -0
  315. package/{customer → package/customer}/components/customer-group-list/customer-group-list.component.d.ts +0 -0
  316. package/package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +44 -0
  317. package/{customer → package/customer}/components/customer-history/customer-history.component.d.ts +0 -0
  318. package/{customer → package/customer}/components/customer-list/customer-list.component.d.ts +0 -0
  319. package/{customer → package/customer}/components/customer-status-label/customer-status-label.component.d.ts +0 -0
  320. package/{customer → package/customer}/components/select-customer-group-dialog/select-customer-group-dialog.component.d.ts +0 -0
  321. package/{customer → package/customer}/customer.module.d.ts +0 -0
  322. package/{customer → package/customer}/customer.routes.d.ts +0 -0
  323. package/{customer → package/customer}/package.json +0 -0
  324. package/{customer → package/customer}/providers/routing/customer-resolver.d.ts +0 -0
  325. package/{customer → package/customer}/public_api.d.ts +0 -0
  326. package/{customer → package/customer}/vendure-admin-ui-customer.d.ts +0 -0
  327. package/package/customer/vendure-admin-ui-customer.metadata.json +1 -0
  328. package/{dashboard → package/dashboard}/components/dashboard/dashboard.component.d.ts +0 -0
  329. package/{dashboard → package/dashboard}/components/dashboard-widget/dashboard-widget.component.d.ts +0 -0
  330. package/{dashboard → package/dashboard}/dashboard.module.d.ts +0 -0
  331. package/{dashboard → package/dashboard}/dashboard.routes.d.ts +0 -0
  332. package/{dashboard → package/dashboard}/default-widgets.d.ts +0 -0
  333. package/{dashboard → package/dashboard}/package.json +0 -0
  334. package/{dashboard → package/dashboard}/public_api.d.ts +0 -0
  335. package/{dashboard → package/dashboard}/vendure-admin-ui-dashboard.d.ts +0 -0
  336. package/{dashboard → package/dashboard}/vendure-admin-ui-dashboard.metadata.json +0 -0
  337. package/{dashboard → package/dashboard}/widgets/latest-orders-widget/latest-orders-widget.component.d.ts +0 -0
  338. package/{dashboard → package/dashboard}/widgets/order-summary-widget/order-summary-widget.component.d.ts +0 -0
  339. package/{dashboard → package/dashboard}/widgets/test-widget/test-widget.component.d.ts +0 -0
  340. package/{dashboard → package/dashboard}/widgets/welcome-widget/welcome-widget.component.d.ts +0 -0
  341. package/package/esm2015/catalog/catalog.module.js +85 -0
  342. package/{esm2015 → package/esm2015}/catalog/catalog.routes.js +0 -0
  343. package/{esm2015 → package/esm2015}/catalog/components/apply-facet-dialog/apply-facet-dialog.component.js +0 -0
  344. package/{esm2015 → package/esm2015}/catalog/components/asset-detail/asset-detail.component.js +0 -0
  345. package/{esm2015 → package/esm2015}/catalog/components/asset-list/asset-list.component.js +0 -0
  346. package/{esm2015 → package/esm2015}/catalog/components/assets/assets.component.js +0 -0
  347. package/package/esm2015/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.js +112 -0
  348. package/package/esm2015/catalog/components/assign-to-channel-dialog/assign-to-channel-dialog.component.js +51 -0
  349. package/package/esm2015/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.js +89 -0
  350. package/package/esm2015/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.graphql.js +69 -0
  351. package/{esm2015 → package/esm2015}/catalog/components/collection-contents/collection-contents.component.js +0 -0
  352. package/package/esm2015/catalog/components/collection-detail/collection-detail.component.js +244 -0
  353. package/package/esm2015/catalog/components/collection-list/collection-list-bulk-actions.js +147 -0
  354. package/package/esm2015/catalog/components/collection-list/collection-list.component.js +154 -0
  355. package/{esm2015 → package/esm2015}/catalog/components/collection-tree/array-to-tree.js +0 -0
  356. package/package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +126 -0
  357. package/package/esm2015/catalog/components/collection-tree/collection-tree.component.js +77 -0
  358. package/{esm2015 → package/esm2015}/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.js +0 -0
  359. package/{esm2015 → package/esm2015}/catalog/components/facet-detail/facet-detail.component.js +0 -0
  360. package/package/esm2015/catalog/components/facet-list/facet-list-bulk-actions.js +208 -0
  361. package/package/esm2015/catalog/components/facet-list/facet-list.component.js +116 -0
  362. package/{esm2015 → package/esm2015}/catalog/components/generate-product-variants/generate-product-variants.component.js +0 -0
  363. package/{esm2015 → package/esm2015}/catalog/components/option-value-input/option-value-input.component.js +0 -0
  364. package/package/esm2015/catalog/components/product-detail/product-detail.component.js +527 -0
  365. package/package/esm2015/catalog/components/product-list/product-list-bulk-actions.js +173 -0
  366. package/package/esm2015/catalog/components/product-list/product-list.component.js +158 -0
  367. package/{esm2015 → package/esm2015}/catalog/components/product-options-editor/product-options-editor.component.js +0 -0
  368. package/{esm2015 → package/esm2015}/catalog/components/product-variants-editor/product-variants-editor.component.js +0 -0
  369. package/package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +214 -0
  370. package/{esm2015 → package/esm2015}/catalog/components/product-variants-table/product-variants-table.component.js +0 -0
  371. package/{esm2015 → package/esm2015}/catalog/components/update-product-option-dialog/update-product-option-dialog.component.js +0 -0
  372. package/{esm2015 → package/esm2015}/catalog/components/variant-price-detail/variant-price-detail.component.js +0 -0
  373. package/{esm2015 → package/esm2015}/catalog/providers/product-detail/product-detail.service.js +0 -0
  374. package/{esm2015 → package/esm2015}/catalog/providers/product-detail/replace-last.js +0 -0
  375. package/{esm2015 → package/esm2015}/catalog/providers/routing/asset-resolver.js +0 -0
  376. package/package/esm2015/catalog/providers/routing/collection-resolver.js +39 -0
  377. package/{esm2015 → package/esm2015}/catalog/providers/routing/facet-resolver.js +0 -0
  378. package/{esm2015 → package/esm2015}/catalog/providers/routing/product-resolver.js +0 -0
  379. package/{esm2015 → package/esm2015}/catalog/providers/routing/product-variants-resolver.js +0 -0
  380. package/package/esm2015/catalog/public_api.js +41 -0
  381. package/{esm2015 → package/esm2015}/catalog/vendure-admin-ui-catalog.js +0 -0
  382. package/{esm2015 → package/esm2015}/core/app.component.js +0 -0
  383. package/{esm2015 → package/esm2015}/core/app.component.module.js +0 -0
  384. package/{esm2015 → package/esm2015}/core/app.config.js +0 -0
  385. package/{esm2015 → package/esm2015}/core/common/base-detail.component.js +0 -0
  386. package/{esm2015 → package/esm2015}/core/common/base-entity-resolver.js +0 -0
  387. package/{esm2015 → package/esm2015}/core/common/base-list.component.js +0 -0
  388. package/package/esm2015/core/common/component-registry-types.js +2 -0
  389. package/{esm2015 → package/esm2015}/core/common/deactivate-aware.js +0 -0
  390. package/{esm2015 → package/esm2015}/core/common/detail-breadcrumb.js +0 -0
  391. package/package/esm2015/core/common/generated-types.js +987 -0
  392. package/{esm2015 → package/esm2015}/core/common/introspection-result-wrapper.js +0 -0
  393. package/package/esm2015/core/common/introspection-result.js +300 -0
  394. package/{esm2015 → package/esm2015}/core/common/single-search-selection-model.js +0 -0
  395. package/package/esm2015/core/common/utilities/bulk-action-utils.js +44 -0
  396. package/{esm2015 → package/esm2015}/core/common/utilities/configurable-operation-utils.js +0 -0
  397. package/{esm2015 → package/esm2015}/core/common/utilities/create-updated-translatable.js +0 -0
  398. package/{esm2015 → package/esm2015}/core/common/utilities/find-translation.js +0 -0
  399. package/{esm2015 → package/esm2015}/core/common/utilities/flatten-facet-values.js +0 -0
  400. package/{esm2015 → package/esm2015}/core/common/utilities/get-default-ui-language.js +0 -0
  401. package/{esm2015 → package/esm2015}/core/common/utilities/interpolate-description.js +0 -0
  402. package/package/esm2015/core/common/utilities/selection-manager.js +96 -0
  403. package/{esm2015 → package/esm2015}/core/common/utilities/string-to-color.js +0 -0
  404. package/package/esm2015/core/common/version.js +3 -0
  405. package/{esm2015 → package/esm2015}/core/components/app-shell/app-shell.component.js +0 -0
  406. package/package/esm2015/core/components/breadcrumb/breadcrumb.component.js +126 -0
  407. package/{esm2015 → package/esm2015}/core/components/channel-switcher/channel-switcher.component.js +0 -0
  408. package/{esm2015 → package/esm2015}/core/components/main-nav/main-nav.component.js +0 -0
  409. package/{esm2015 → package/esm2015}/core/components/notification/notification.component.js +0 -0
  410. package/{esm2015 → package/esm2015}/core/components/overlay-host/overlay-host.component.js +0 -0
  411. package/{esm2015 → package/esm2015}/core/components/theme-switcher/theme-switcher.component.js +0 -0
  412. package/{esm2015 → package/esm2015}/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.js +0 -0
  413. package/{esm2015 → package/esm2015}/core/components/user-menu/user-menu.component.js +0 -0
  414. package/{esm2015 → package/esm2015}/core/core.module.js +0 -0
  415. package/{esm2015 → package/esm2015}/core/data/check-jobs-link.js +0 -0
  416. package/{esm2015 → package/esm2015}/core/data/client-state/client-defaults.js +0 -0
  417. package/{esm2015 → package/esm2015}/core/data/client-state/client-resolvers.js +0 -0
  418. package/{esm2015 → package/esm2015}/core/data/data.module.js +0 -0
  419. package/{esm2015 → package/esm2015}/core/data/definitions/administrator-definitions.js +0 -0
  420. package/{esm2015 → package/esm2015}/core/data/definitions/auth-definitions.js +0 -0
  421. package/{esm2015 → package/esm2015}/core/data/definitions/client-definitions.js +0 -0
  422. package/package/esm2015/core/data/definitions/collection-definitions.js +173 -0
  423. package/{esm2015 → package/esm2015}/core/data/definitions/customer-definitions.js +0 -0
  424. package/package/esm2015/core/data/definitions/facet-definitions.js +140 -0
  425. package/package/esm2015/core/data/definitions/order-definitions.js +585 -0
  426. package/package/esm2015/core/data/definitions/product-definitions.js +759 -0
  427. package/{esm2015 → package/esm2015}/core/data/definitions/promotion-definitions.js +0 -0
  428. package/{esm2015 → package/esm2015}/core/data/definitions/settings-definitions.js +0 -0
  429. package/{esm2015 → package/esm2015}/core/data/definitions/shared-definitions.js +0 -0
  430. package/{esm2015 → package/esm2015}/core/data/definitions/shipping-definitions.js +0 -0
  431. package/{esm2015 → package/esm2015}/core/data/omit-typename-link.js +0 -0
  432. package/{esm2015 → package/esm2015}/core/data/providers/administrator-data.service.js +0 -0
  433. package/{esm2015 → package/esm2015}/core/data/providers/auth-data.service.js +0 -0
  434. package/{esm2015 → package/esm2015}/core/data/providers/base-data.service.js +0 -0
  435. package/{esm2015 → package/esm2015}/core/data/providers/client-data.service.js +0 -0
  436. package/package/esm2015/core/data/providers/collection-data.service.js +90 -0
  437. package/package/esm2015/core/data/providers/customer-data.service.js +121 -0
  438. package/{esm2015 → package/esm2015}/core/data/providers/data.service.js +0 -0
  439. package/package/esm2015/core/data/providers/facet-data.service.js +76 -0
  440. package/{esm2015 → package/esm2015}/core/data/providers/fetch-adapter.js +0 -0
  441. package/{esm2015 → package/esm2015}/core/data/providers/interceptor.js +0 -0
  442. package/package/esm2015/core/data/providers/order-data.service.js +139 -0
  443. package/package/esm2015/core/data/providers/product-data.service.js +240 -0
  444. package/{esm2015 → package/esm2015}/core/data/providers/promotion-data.service.js +0 -0
  445. package/{esm2015 → package/esm2015}/core/data/providers/settings-data.service.js +0 -0
  446. package/{esm2015 → package/esm2015}/core/data/providers/shipping-method-data.service.js +0 -0
  447. package/{esm2015 → package/esm2015}/core/data/query-result.js +0 -0
  448. package/{esm2015 → package/esm2015}/core/data/server-config.js +0 -0
  449. package/{esm2015 → package/esm2015}/core/data/utils/add-custom-fields.js +0 -0
  450. package/{esm2015 → package/esm2015}/core/data/utils/get-server-location.js +0 -0
  451. package/package/esm2015/core/data/utils/remove-readonly-custom-fields.js +95 -0
  452. package/{esm2015 → package/esm2015}/core/data/utils/transform-relation-custom-field-inputs.js +0 -0
  453. package/{esm2015 → package/esm2015}/core/providers/auth/auth.service.js +0 -0
  454. package/package/esm2015/core/providers/bulk-action-registry/bulk-action-registry.service.js +27 -0
  455. package/package/esm2015/core/providers/bulk-action-registry/bulk-action-types.js +2 -0
  456. package/package/esm2015/core/providers/bulk-action-registry/register-bulk-action.js +63 -0
  457. package/{esm2015 → package/esm2015}/core/providers/component-registry/component-registry.service.js +0 -0
  458. package/{esm2015 → package/esm2015}/core/providers/custom-detail-component/custom-detail-component-types.js +0 -0
  459. package/{esm2015 → package/esm2015}/core/providers/custom-detail-component/custom-detail-component.service.js +0 -0
  460. package/{esm2015 → package/esm2015}/core/providers/custom-field-component/custom-field-component.service.js +0 -0
  461. package/{esm2015 → package/esm2015}/core/providers/dashboard-widget/dashboard-widget-types.js +0 -0
  462. package/package/esm2015/core/providers/dashboard-widget/dashboard-widget.service.js +94 -0
  463. package/{esm2015 → package/esm2015}/core/providers/dashboard-widget/register-dashboard-widget.js +0 -0
  464. package/{esm2015 → package/esm2015}/core/providers/guard/auth.guard.js +0 -0
  465. package/{esm2015 → package/esm2015}/core/providers/health-check/health-check.service.js +0 -0
  466. package/{esm2015 → package/esm2015}/core/providers/i18n/custom-http-loader.js +0 -0
  467. package/{esm2015 → package/esm2015}/core/providers/i18n/custom-message-format-compiler.js +0 -0
  468. package/{esm2015 → package/esm2015}/core/providers/i18n/i18n.service.js +0 -0
  469. package/{esm2015 → package/esm2015}/core/providers/job-queue/job-queue.service.js +0 -0
  470. package/{esm2015 → package/esm2015}/core/providers/local-storage/local-storage.service.js +0 -0
  471. package/package/esm2015/core/providers/modal/modal.service.js +101 -0
  472. package/package/esm2015/core/providers/nav-builder/nav-builder-types.js +2 -0
  473. package/{esm2015 → package/esm2015}/core/providers/nav-builder/nav-builder.service.js +0 -0
  474. package/{esm2015 → package/esm2015}/core/providers/notification/notification.service.js +0 -0
  475. package/{esm2015 → package/esm2015}/core/providers/overlay-host/overlay-host.service.js +0 -0
  476. package/package/esm2015/core/public_api.js +241 -0
  477. package/package/esm2015/core/shared/components/action-bar/action-bar.component.js +43 -0
  478. package/{esm2015 → package/esm2015}/core/shared/components/action-bar-items/action-bar-items.component.js +0 -0
  479. package/{esm2015 → package/esm2015}/core/shared/components/address-form/address-form.component.js +0 -0
  480. package/{esm2015 → package/esm2015}/core/shared/components/affixed-input/affixed-input.component.js +0 -0
  481. package/{esm2015 → package/esm2015}/core/shared/components/affixed-input/percentage-suffix-input.component.js +0 -0
  482. package/{esm2015 → package/esm2015}/core/shared/components/asset-file-input/asset-file-input.component.js +0 -0
  483. package/package/esm2015/core/shared/components/asset-gallery/asset-gallery.component.js +84 -0
  484. package/{esm2015 → package/esm2015}/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.js +0 -0
  485. package/{esm2015 → package/esm2015}/core/shared/components/asset-preview/asset-preview.component.js +0 -0
  486. package/{esm2015 → package/esm2015}/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.js +0 -0
  487. package/{esm2015 → package/esm2015}/core/shared/components/asset-preview-links/asset-preview-links.component.js +0 -0
  488. package/{esm2015 → package/esm2015}/core/shared/components/asset-search-input/asset-search-input.component.js +0 -0
  489. package/package/esm2015/core/shared/components/bulk-action-menu/bulk-action-menu.component.js +99 -0
  490. package/{esm2015 → package/esm2015}/core/shared/components/channel-assignment-control/channel-assignment-control.component.js +0 -0
  491. package/{esm2015 → package/esm2015}/core/shared/components/channel-badge/channel-badge.component.js +0 -0
  492. package/{esm2015 → package/esm2015}/core/shared/components/chip/chip.component.js +0 -0
  493. package/{esm2015 → package/esm2015}/core/shared/components/configurable-input/configurable-input.component.js +0 -0
  494. package/{esm2015 → package/esm2015}/core/shared/components/currency-input/currency-input.component.js +0 -0
  495. package/{esm2015 → package/esm2015}/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.js +0 -0
  496. package/{esm2015 → package/esm2015}/core/shared/components/custom-field-control/custom-field-control.component.js +0 -0
  497. package/{esm2015 → package/esm2015}/core/shared/components/customer-label/customer-label.component.js +0 -0
  498. package/{esm2015 → package/esm2015}/core/shared/components/data-table/data-table-column.component.js +0 -0
  499. package/package/esm2015/core/shared/components/data-table/data-table.component.js +162 -0
  500. package/{esm2015 → package/esm2015}/core/shared/components/datetime-picker/constants.js +0 -0
  501. package/{esm2015 → package/esm2015}/core/shared/components/datetime-picker/datetime-picker.component.js +0 -0
  502. package/{esm2015 → package/esm2015}/core/shared/components/datetime-picker/datetime-picker.service.js +0 -0
  503. package/{esm2015 → package/esm2015}/core/shared/components/datetime-picker/types.js +0 -0
  504. package/{esm2015 → package/esm2015}/core/shared/components/dropdown/dropdown-item.directive.js +0 -0
  505. package/package/esm2015/core/shared/components/dropdown/dropdown-menu.component.js +122 -0
  506. package/{esm2015 → package/esm2015}/core/shared/components/dropdown/dropdown-trigger.directive.js +0 -0
  507. package/{esm2015 → package/esm2015}/core/shared/components/dropdown/dropdown.component.js +0 -0
  508. package/{esm2015 → package/esm2015}/core/shared/components/edit-note-dialog/edit-note-dialog.component.js +0 -0
  509. package/{esm2015 → package/esm2015}/core/shared/components/empty-placeholder/empty-placeholder.component.js +0 -0
  510. package/{esm2015 → package/esm2015}/core/shared/components/entity-info/entity-info.component.js +0 -0
  511. package/{esm2015 → package/esm2015}/core/shared/components/extension-host/extension-host-config.js +0 -0
  512. package/{esm2015 → package/esm2015}/core/shared/components/extension-host/extension-host.component.js +0 -0
  513. package/{esm2015 → package/esm2015}/core/shared/components/extension-host/extension-host.service.js +0 -0
  514. package/{esm2015 → package/esm2015}/core/shared/components/extension-host/host-external-frame.js +0 -0
  515. package/{esm2015 → package/esm2015}/core/shared/components/facet-value-chip/facet-value-chip.component.js +0 -0
  516. package/package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +117 -0
  517. package/{esm2015 → package/esm2015}/core/shared/components/focal-point-control/focal-point-control.component.js +0 -0
  518. package/{esm2015 → package/esm2015}/core/shared/components/form-field/form-field-control.directive.js +0 -0
  519. package/{esm2015 → package/esm2015}/core/shared/components/form-field/form-field.component.js +0 -0
  520. package/{esm2015 → package/esm2015}/core/shared/components/form-item/form-item.component.js +0 -0
  521. package/{esm2015 → package/esm2015}/core/shared/components/formatted-address/formatted-address.component.js +0 -0
  522. package/{esm2015 → package/esm2015}/core/shared/components/help-tooltip/help-tooltip.component.js +0 -0
  523. package/{esm2015 → package/esm2015}/core/shared/components/history-entry-detail/history-entry-detail.component.js +0 -0
  524. package/{esm2015 → package/esm2015}/core/shared/components/items-per-page-controls/items-per-page-controls.component.js +0 -0
  525. package/{esm2015 → package/esm2015}/core/shared/components/labeled-data/labeled-data.component.js +0 -0
  526. package/package/esm2015/core/shared/components/language-selector/language-selector.component.js +21 -0
  527. package/{esm2015 → package/esm2015}/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.js +0 -0
  528. package/{esm2015 → package/esm2015}/core/shared/components/modal-dialog/dialog-buttons.directive.js +0 -0
  529. package/{esm2015 → package/esm2015}/core/shared/components/modal-dialog/dialog-component-outlet.component.js +0 -0
  530. package/{esm2015 → package/esm2015}/core/shared/components/modal-dialog/dialog-title.directive.js +0 -0
  531. package/{esm2015 → package/esm2015}/core/shared/components/modal-dialog/modal-dialog.component.js +0 -0
  532. package/{esm2015 → package/esm2015}/core/shared/components/object-tree/object-tree.component.js +0 -0
  533. package/package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +44 -0
  534. package/{esm2015 → package/esm2015}/core/shared/components/pagination-controls/pagination-controls.component.js +0 -0
  535. package/{esm2015 → package/esm2015}/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.js +0 -0
  536. package/package/esm2015/core/shared/components/product-search-input/product-search-input.component.js +104 -0
  537. package/package/esm2015/core/shared/components/product-selector/product-selector.component.js +61 -0
  538. package/package/esm2015/core/shared/components/radio-card/radio-card-fieldset.component.js +57 -0
  539. package/package/esm2015/core/shared/components/radio-card/radio-card.component.js +54 -0
  540. package/package/esm2015/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.js +32 -0
  541. package/{esm2015 → package/esm2015}/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.js +0 -0
  542. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.component.js +140 -0
  543. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/context-menu/context-menu.service.js +45 -0
  544. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/custom-nodes.js +60 -0
  545. package/{esm2015 → package/esm2015}/core/shared/components/rich-text-editor/prosemirror/inputrules.js +0 -0
  546. package/{esm2015 → package/esm2015}/core/shared/components/rich-text-editor/prosemirror/keymap.js +0 -0
  547. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/links.js +69 -0
  548. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.js +42 -0
  549. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu-plugin.js +12 -0
  550. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu.js +247 -0
  551. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/sub-menu-with-icon.js +16 -0
  552. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.js +100 -0
  553. package/{esm2015 → package/esm2015}/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.js +0 -0
  554. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/raw-editor-plugin.js +97 -0
  555. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/tables-plugin.js +166 -0
  556. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.js +142 -0
  557. package/package/esm2015/core/shared/components/rich-text-editor/prosemirror/types.js +2 -0
  558. package/{esm2015 → package/esm2015}/core/shared/components/rich-text-editor/prosemirror/utils.js +0 -0
  559. package/package/esm2015/core/shared/components/rich-text-editor/raw-html-dialog/raw-html-dialog.component.js +57 -0
  560. package/package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +97 -0
  561. package/{esm2015 → package/esm2015}/core/shared/components/select-toggle/select-toggle.component.js +0 -0
  562. package/package/esm2015/core/shared/components/simple-dialog/simple-dialog.component.js +21 -0
  563. package/{esm2015 → package/esm2015}/core/shared/components/status-badge/status-badge.component.js +0 -0
  564. package/{esm2015 → package/esm2015}/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.js +0 -0
  565. package/{esm2015 → package/esm2015}/core/shared/components/table-row-action/table-row-action.component.js +0 -0
  566. package/{esm2015 → package/esm2015}/core/shared/components/tag-selector/tag-selector.component.js +0 -0
  567. package/{esm2015 → package/esm2015}/core/shared/components/timeline-entry/timeline-entry.component.js +0 -0
  568. package/{esm2015 → package/esm2015}/core/shared/components/title-input/title-input.component.js +0 -0
  569. package/{esm2015 → package/esm2015}/core/shared/components/ui-extension-point/ui-extension-point.component.js +0 -0
  570. package/{esm2015 → package/esm2015}/core/shared/directives/disabled.directive.js +0 -0
  571. package/{esm2015 → package/esm2015}/core/shared/directives/if-default-channel-active.directive.js +0 -0
  572. package/{esm2015 → package/esm2015}/core/shared/directives/if-directive-base.js +0 -0
  573. package/{esm2015 → package/esm2015}/core/shared/directives/if-multichannel.directive.js +0 -0
  574. package/{esm2015 → package/esm2015}/core/shared/directives/if-permissions.directive.js +0 -0
  575. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.js +0 -0
  576. package/package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/base-code-editor-form-input.component.js +59 -0
  577. package/package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/html-editor-form-input.component.js +66 -0
  578. package/package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +88 -0
  579. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/combination-mode-form-input/combination-mode-form-input.component.js +0 -0
  580. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.js +0 -0
  581. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.js +0 -0
  582. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.js +0 -0
  583. package/package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +266 -0
  584. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +0 -0
  585. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.js +0 -0
  586. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.js +0 -0
  587. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/product-multi-selector-form-input/product-multi-selector-form-input.component.js +0 -0
  588. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.js +0 -0
  589. package/package/esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js +136 -0
  590. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.js +0 -0
  591. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.js +0 -0
  592. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/relation-form-input/generic/relation-generic-input.component.js +0 -0
  593. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.js +0 -0
  594. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.js +0 -0
  595. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.js +0 -0
  596. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +0 -0
  597. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.js +0 -0
  598. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.js +0 -0
  599. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +0 -0
  600. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.js +0 -0
  601. package/{esm2015 → package/esm2015}/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.js +0 -0
  602. package/{esm2015 → package/esm2015}/core/shared/pipes/asset-preview.pipe.js +0 -0
  603. package/{esm2015 → package/esm2015}/core/shared/pipes/channel-label.pipe.js +0 -0
  604. package/{esm2015 → package/esm2015}/core/shared/pipes/custom-field-label.pipe.js +0 -0
  605. package/{esm2015 → package/esm2015}/core/shared/pipes/duration.pipe.js +0 -0
  606. package/{esm2015 → package/esm2015}/core/shared/pipes/file-size.pipe.js +0 -0
  607. package/{esm2015 → package/esm2015}/core/shared/pipes/has-permission.pipe.js +0 -0
  608. package/{esm2015 → package/esm2015}/core/shared/pipes/locale-base.pipe.js +0 -0
  609. package/{esm2015 → package/esm2015}/core/shared/pipes/locale-currency-name.pipe.js +0 -0
  610. package/{esm2015 → package/esm2015}/core/shared/pipes/locale-currency.pipe.js +0 -0
  611. package/{esm2015 → package/esm2015}/core/shared/pipes/locale-date.pipe.js +0 -0
  612. package/{esm2015 → package/esm2015}/core/shared/pipes/locale-language-name.pipe.js +0 -0
  613. package/{esm2015 → package/esm2015}/core/shared/pipes/locale-region-name.pipe.js +0 -0
  614. package/{esm2015 → package/esm2015}/core/shared/pipes/sentence-case.pipe.js +0 -0
  615. package/{esm2015 → package/esm2015}/core/shared/pipes/sort.pipe.js +0 -0
  616. package/package/esm2015/core/shared/pipes/state-i18n-token.pipe.js +47 -0
  617. package/{esm2015 → package/esm2015}/core/shared/pipes/string-to-color.pipe.js +0 -0
  618. package/{esm2015 → package/esm2015}/core/shared/pipes/time-ago.pipe.js +0 -0
  619. package/{esm2015 → package/esm2015}/core/shared/providers/routing/can-deactivate-detail-guard.js +0 -0
  620. package/package/esm2015/core/shared/shared.module.js +287 -0
  621. package/{esm2015 → package/esm2015}/core/validators/unicode-pattern.validator.js +0 -0
  622. package/{esm2015 → package/esm2015}/core/vendure-admin-ui-core.js +0 -0
  623. package/{esm2015 → package/esm2015}/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.js +0 -0
  624. package/{esm2015 → package/esm2015}/customer/components/address-card/address-card.component.js +0 -0
  625. package/{esm2015 → package/esm2015}/customer/components/address-detail-dialog/address-detail-dialog.component.js +0 -0
  626. package/{esm2015 → package/esm2015}/customer/components/customer-detail/customer-detail.component.js +0 -0
  627. package/{esm2015 → package/esm2015}/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.js +0 -0
  628. package/package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +198 -0
  629. package/package/esm2015/customer/components/customer-group-member-list/customer-group-member-list.component.js +101 -0
  630. package/{esm2015 → package/esm2015}/customer/components/customer-history/customer-history.component.js +0 -0
  631. package/package/esm2015/customer/components/customer-list/customer-list.component.js +81 -0
  632. package/{esm2015 → package/esm2015}/customer/components/customer-status-label/customer-status-label.component.js +0 -0
  633. package/{esm2015 → package/esm2015}/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.js +0 -0
  634. package/{esm2015 → package/esm2015}/customer/customer.module.js +0 -0
  635. package/{esm2015 → package/esm2015}/customer/customer.routes.js +0 -0
  636. package/{esm2015 → package/esm2015}/customer/providers/routing/customer-resolver.js +0 -0
  637. package/{esm2015 → package/esm2015}/customer/public_api.js +0 -0
  638. package/{esm2015 → package/esm2015}/customer/vendure-admin-ui-customer.js +0 -0
  639. package/{esm2015 → package/esm2015}/dashboard/components/dashboard/dashboard.component.js +0 -0
  640. package/{esm2015 → package/esm2015}/dashboard/components/dashboard-widget/dashboard-widget.component.js +0 -0
  641. package/package/esm2015/dashboard/dashboard.module.js +29 -0
  642. package/{esm2015 → package/esm2015}/dashboard/dashboard.routes.js +0 -0
  643. package/{esm2015 → package/esm2015}/dashboard/default-widgets.js +0 -0
  644. package/{esm2015 → package/esm2015}/dashboard/public_api.js +0 -0
  645. package/{esm2015 → package/esm2015}/dashboard/vendure-admin-ui-dashboard.js +0 -0
  646. package/{esm2015 → package/esm2015}/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.js +0 -0
  647. package/{esm2015 → package/esm2015}/dashboard/widgets/order-summary-widget/order-summary-widget.component.js +0 -0
  648. package/{esm2015 → package/esm2015}/dashboard/widgets/test-widget/test-widget.component.js +0 -0
  649. package/{esm2015 → package/esm2015}/dashboard/widgets/welcome-widget/welcome-widget.component.js +0 -0
  650. package/{esm2015 → package/esm2015}/login/components/login/login.component.js +0 -0
  651. package/{esm2015 → package/esm2015}/login/login.module.js +0 -0
  652. package/{esm2015 → package/esm2015}/login/login.routes.js +0 -0
  653. package/{esm2015 → package/esm2015}/login/providers/login.guard.js +0 -0
  654. package/{esm2015 → package/esm2015}/login/public_api.js +0 -0
  655. package/{esm2015 → package/esm2015}/login/vendure-admin-ui-login.js +0 -0
  656. package/{esm2015 → package/esm2015}/marketing/components/promotion-detail/promotion-detail.component.js +0 -0
  657. package/{esm2015 → package/esm2015}/marketing/components/promotion-list/promotion-list.component.js +0 -0
  658. package/{esm2015 → package/esm2015}/marketing/marketing.module.js +0 -0
  659. package/{esm2015 → package/esm2015}/marketing/marketing.routes.js +0 -0
  660. package/{esm2015 → package/esm2015}/marketing/providers/routing/promotion-resolver.js +0 -0
  661. package/{esm2015 → package/esm2015}/marketing/public_api.js +0 -0
  662. package/{esm2015 → package/esm2015}/marketing/vendure-admin-ui-marketing.js +0 -0
  663. package/{esm2015 → package/esm2015}/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.js +0 -0
  664. package/{esm2015 → package/esm2015}/order/components/cancel-order-dialog/cancel-order-dialog.component.js +0 -0
  665. package/package/esm2015/order/components/coupon-code-selector/coupon-code-selector.component.js +42 -0
  666. package/package/esm2015/order/components/draft-order-detail/draft-order-detail.component.js +195 -0
  667. package/package/esm2015/order/components/draft-order-variant-selector/draft-order-variant-selector.component.js +59 -0
  668. package/{esm2015 → package/esm2015}/order/components/fulfill-order-dialog/fulfill-order-dialog.component.js +0 -0
  669. package/{esm2015 → package/esm2015}/order/components/fulfillment-card/fulfillment-card.component.js +0 -0
  670. package/{esm2015 → package/esm2015}/order/components/fulfillment-detail/fulfillment-detail.component.js +0 -0
  671. package/{esm2015 → package/esm2015}/order/components/fulfillment-state-label/fulfillment-state-label.component.js +0 -0
  672. package/{esm2015 → package/esm2015}/order/components/line-fulfillment/line-fulfillment.component.js +0 -0
  673. package/{esm2015 → package/esm2015}/order/components/line-refunds/line-refunds.component.js +0 -0
  674. package/{esm2015 → package/esm2015}/order/components/modification-detail/modification-detail.component.js +0 -0
  675. package/{esm2015 → package/esm2015}/order/components/order-custom-fields-card/order-custom-fields-card.component.js +0 -0
  676. package/package/esm2015/order/components/order-detail/order-detail.component.js +550 -0
  677. package/package/esm2015/order/components/order-editor/order-editor.component.js +375 -0
  678. package/{esm2015 → package/esm2015}/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.js +0 -0
  679. package/{esm2015 → package/esm2015}/order/components/order-history/order-history.component.js +0 -0
  680. package/package/esm2015/order/components/order-list/order-list.component.js +211 -0
  681. package/{esm2015 → package/esm2015}/order/components/order-payment-card/order-payment-card.component.js +0 -0
  682. package/{esm2015 → package/esm2015}/order/components/order-process-graph/constants.js +0 -0
  683. package/{esm2015 → package/esm2015}/order/components/order-process-graph/order-process-edge.component.js +0 -0
  684. package/{esm2015 → package/esm2015}/order/components/order-process-graph/order-process-graph.component.js +0 -0
  685. package/{esm2015 → package/esm2015}/order/components/order-process-graph/order-process-node.component.js +0 -0
  686. package/{esm2015 → package/esm2015}/order/components/order-process-graph/types.js +0 -0
  687. package/{esm2015 → package/esm2015}/order/components/order-process-graph-dialog/order-process-graph-dialog.component.js +0 -0
  688. package/{esm2015 → package/esm2015}/order/components/order-state-select-dialog/order-state-select-dialog.component.js +0 -0
  689. package/package/esm2015/order/components/order-table/order-table.component.js +87 -0
  690. package/{esm2015 → package/esm2015}/order/components/payment-detail/payment-detail.component.js +0 -0
  691. package/{esm2015 → package/esm2015}/order/components/payment-state-label/payment-state-label.component.js +0 -0
  692. package/{esm2015 → package/esm2015}/order/components/refund-order-dialog/refund-order-dialog.component.js +0 -0
  693. package/{esm2015 → package/esm2015}/order/components/refund-state-label/refund-state-label.component.js +0 -0
  694. package/package/esm2015/order/components/select-address-dialog/select-address-dialog.component.js +91 -0
  695. package/package/esm2015/order/components/select-address-dialog/select-address-dialog.graphql.js +14 -0
  696. package/package/esm2015/order/components/select-customer-dialog/select-customer-dialog.component.js +59 -0
  697. package/package/esm2015/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.js +30 -0
  698. package/{esm2015 → package/esm2015}/order/components/settle-refund-dialog/settle-refund-dialog.component.js +0 -0
  699. package/{esm2015 → package/esm2015}/order/components/simple-item-list/simple-item-list.component.js +0 -0
  700. package/package/esm2015/order/order.module.js +82 -0
  701. package/package/esm2015/order/order.routes.js +73 -0
  702. package/{esm2015 → package/esm2015}/order/providers/order-transition.service.js +0 -0
  703. package/package/esm2015/order/providers/routing/order-resolver.js +50 -0
  704. package/package/esm2015/order/providers/routing/order.guard.js +41 -0
  705. package/package/esm2015/order/public_api.js +44 -0
  706. package/{esm2015 → package/esm2015}/order/vendure-admin-ui-order.js +0 -0
  707. package/{esm2015 → package/esm2015}/public_api.js +0 -0
  708. package/{esm2015 → package/esm2015}/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.js +0 -0
  709. package/{esm2015 → package/esm2015}/settings/components/admin-detail/admin-detail.component.js +0 -0
  710. package/{esm2015 → package/esm2015}/settings/components/administrator-list/administrator-list.component.js +0 -0
  711. package/{esm2015 → package/esm2015}/settings/components/channel-detail/channel-detail.component.js +0 -0
  712. package/{esm2015 → package/esm2015}/settings/components/channel-list/channel-list.component.js +0 -0
  713. package/{esm2015 → package/esm2015}/settings/components/country-detail/country-detail.component.js +0 -0
  714. package/package/esm2015/settings/components/country-list/country-list.component.js +82 -0
  715. package/{esm2015 → package/esm2015}/settings/components/global-settings/global-settings.component.js +0 -0
  716. package/{esm2015 → package/esm2015}/settings/components/payment-method-detail/payment-method-detail.component.js +0 -0
  717. package/{esm2015 → package/esm2015}/settings/components/payment-method-list/payment-method-list.component.js +0 -0
  718. package/{esm2015 → package/esm2015}/settings/components/permission-grid/permission-grid.component.js +0 -0
  719. package/package/esm2015/settings/components/profile/profile.component.js +82 -0
  720. package/{esm2015 → package/esm2015}/settings/components/role-detail/role-detail.component.js +0 -0
  721. package/{esm2015 → package/esm2015}/settings/components/role-list/role-list.component.js +0 -0
  722. package/{esm2015 → package/esm2015}/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.js +0 -0
  723. package/{esm2015 → package/esm2015}/settings/components/shipping-method-detail/shipping-method-detail.component.js +0 -0
  724. package/{esm2015 → package/esm2015}/settings/components/shipping-method-list/shipping-method-list.component.js +0 -0
  725. package/{esm2015 → package/esm2015}/settings/components/shipping-method-test-result/shipping-method-test-result.component.js +0 -0
  726. package/{esm2015 → package/esm2015}/settings/components/tax-category-detail/tax-category-detail.component.js +0 -0
  727. package/{esm2015 → package/esm2015}/settings/components/tax-category-list/tax-category-list.component.js +0 -0
  728. package/{esm2015 → package/esm2015}/settings/components/tax-rate-detail/tax-rate-detail.component.js +0 -0
  729. package/{esm2015 → package/esm2015}/settings/components/tax-rate-list/tax-rate-list.component.js +0 -0
  730. package/{esm2015 → package/esm2015}/settings/components/test-address-form/test-address-form.component.js +0 -0
  731. package/{esm2015 → package/esm2015}/settings/components/test-order-builder/test-order-builder.component.js +0 -0
  732. package/{esm2015 → package/esm2015}/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +0 -0
  733. package/package/esm2015/settings/components/zone-list/zone-list.component.js +160 -0
  734. package/{esm2015 → package/esm2015}/settings/components/zone-member-list/zone-member-controls.directive.js +0 -0
  735. package/{esm2015 → package/esm2015}/settings/components/zone-member-list/zone-member-list-header.directive.js +0 -0
  736. package/package/esm2015/settings/components/zone-member-list/zone-member-list.component.js +63 -0
  737. package/{esm2015 → package/esm2015}/settings/providers/routing/administrator-resolver.js +0 -0
  738. package/{esm2015 → package/esm2015}/settings/providers/routing/channel-resolver.js +0 -0
  739. package/{esm2015 → package/esm2015}/settings/providers/routing/country-resolver.js +0 -0
  740. package/{esm2015 → package/esm2015}/settings/providers/routing/global-settings-resolver.js +0 -0
  741. package/{esm2015 → package/esm2015}/settings/providers/routing/payment-method-resolver.js +0 -0
  742. package/{esm2015 → package/esm2015}/settings/providers/routing/profile-resolver.js +0 -0
  743. package/{esm2015 → package/esm2015}/settings/providers/routing/role-resolver.js +0 -0
  744. package/{esm2015 → package/esm2015}/settings/providers/routing/shipping-method-resolver.js +0 -0
  745. package/{esm2015 → package/esm2015}/settings/providers/routing/tax-category-resolver.js +0 -0
  746. package/{esm2015 → package/esm2015}/settings/providers/routing/tax-rate-resolver.js +0 -0
  747. package/{esm2015 → package/esm2015}/settings/public_api.js +0 -0
  748. package/{esm2015 → package/esm2015}/settings/settings.module.js +0 -0
  749. package/{esm2015 → package/esm2015}/settings/settings.routes.js +0 -0
  750. package/{esm2015 → package/esm2015}/settings/vendure-admin-ui-settings.js +0 -0
  751. package/package/esm2015/system/components/health-check/health-check.component.js +19 -0
  752. package/{esm2015 → package/esm2015}/system/components/job-list/job-list.component.js +0 -0
  753. package/{esm2015 → package/esm2015}/system/components/job-state-label/job-state-label.component.js +0 -0
  754. package/{esm2015 → package/esm2015}/system/public_api.js +0 -0
  755. package/{esm2015 → package/esm2015}/system/system.module.js +0 -0
  756. package/{esm2015 → package/esm2015}/system/system.routes.js +0 -0
  757. package/{esm2015 → package/esm2015}/system/vendure-admin-ui-system.js +0 -0
  758. package/{esm2015 → package/esm2015}/vendure-admin-ui.js +0 -0
  759. package/package/fesm2015/vendure-admin-ui-catalog.js +4768 -0
  760. package/package/fesm2015/vendure-admin-ui-catalog.js.map +1 -0
  761. package/package/fesm2015/vendure-admin-ui-core.js +17900 -0
  762. package/package/fesm2015/vendure-admin-ui-core.js.map +1 -0
  763. package/package/fesm2015/vendure-admin-ui-customer.js +1184 -0
  764. package/package/fesm2015/vendure-admin-ui-customer.js.map +1 -0
  765. package/package/fesm2015/vendure-admin-ui-dashboard.js +375 -0
  766. package/package/fesm2015/vendure-admin-ui-dashboard.js.map +1 -0
  767. package/{fesm2015 → package/fesm2015}/vendure-admin-ui-login.js +0 -0
  768. package/{fesm2015 → package/fesm2015}/vendure-admin-ui-login.js.map +0 -0
  769. package/{fesm2015 → package/fesm2015}/vendure-admin-ui-marketing.js +0 -0
  770. package/{fesm2015 → package/fesm2015}/vendure-admin-ui-marketing.js.map +0 -0
  771. package/package/fesm2015/vendure-admin-ui-order.js +3155 -0
  772. package/package/fesm2015/vendure-admin-ui-order.js.map +1 -0
  773. package/package/fesm2015/vendure-admin-ui-settings.js +2977 -0
  774. package/package/fesm2015/vendure-admin-ui-settings.js.map +1 -0
  775. package/package/fesm2015/vendure-admin-ui-system.js +171 -0
  776. package/{fesm2015 → package/fesm2015}/vendure-admin-ui-system.js.map +0 -0
  777. package/{fesm2015 → package/fesm2015}/vendure-admin-ui.js +0 -0
  778. package/{fesm2015 → package/fesm2015}/vendure-admin-ui.js.map +0 -0
  779. package/{login → package/login}/components/login/login.component.d.ts +0 -0
  780. package/{login → package/login}/login.module.d.ts +0 -0
  781. package/{login → package/login}/login.routes.d.ts +0 -0
  782. package/{login → package/login}/package.json +0 -0
  783. package/{login → package/login}/providers/login.guard.d.ts +0 -0
  784. package/{login → package/login}/public_api.d.ts +0 -0
  785. package/{login → package/login}/vendure-admin-ui-login.d.ts +0 -0
  786. package/{login → package/login}/vendure-admin-ui-login.metadata.json +0 -0
  787. package/{marketing → package/marketing}/components/promotion-detail/promotion-detail.component.d.ts +0 -0
  788. package/{marketing → package/marketing}/components/promotion-list/promotion-list.component.d.ts +0 -0
  789. package/{marketing → package/marketing}/marketing.module.d.ts +0 -0
  790. package/{marketing → package/marketing}/marketing.routes.d.ts +0 -0
  791. package/{marketing → package/marketing}/package.json +0 -0
  792. package/{marketing → package/marketing}/providers/routing/promotion-resolver.d.ts +0 -0
  793. package/{marketing → package/marketing}/public_api.d.ts +0 -0
  794. package/{marketing → package/marketing}/vendure-admin-ui-marketing.d.ts +0 -0
  795. package/{marketing → package/marketing}/vendure-admin-ui-marketing.metadata.json +0 -0
  796. package/{order → package/order}/components/add-manual-payment-dialog/add-manual-payment-dialog.component.d.ts +0 -0
  797. package/{order → package/order}/components/cancel-order-dialog/cancel-order-dialog.component.d.ts +0 -0
  798. package/package/order/components/coupon-code-selector/coupon-code-selector.component.d.ts +18 -0
  799. package/package/order/components/draft-order-detail/draft-order-detail.component.d.ts +49 -0
  800. package/package/order/components/draft-order-variant-selector/draft-order-variant-selector.component.d.ts +21 -0
  801. package/{order → package/order}/components/fulfill-order-dialog/fulfill-order-dialog.component.d.ts +0 -0
  802. package/{order → package/order}/components/fulfillment-card/fulfillment-card.component.d.ts +0 -0
  803. package/{order → package/order}/components/fulfillment-detail/fulfillment-detail.component.d.ts +0 -0
  804. package/{order → package/order}/components/fulfillment-state-label/fulfillment-state-label.component.d.ts +0 -0
  805. package/{order → package/order}/components/line-fulfillment/line-fulfillment.component.d.ts +0 -0
  806. package/{order → package/order}/components/line-refunds/line-refunds.component.d.ts +0 -0
  807. package/{order → package/order}/components/modification-detail/modification-detail.component.d.ts +0 -0
  808. package/{order → package/order}/components/order-custom-fields-card/order-custom-fields-card.component.d.ts +0 -0
  809. package/{order → package/order}/components/order-detail/order-detail.component.d.ts +0 -0
  810. package/package/order/components/order-editor/order-editor.component.d.ts +71 -0
  811. package/{order → package/order}/components/order-edits-preview-dialog/order-edits-preview-dialog.component.d.ts +0 -0
  812. package/{order → package/order}/components/order-history/order-history.component.d.ts +0 -0
  813. package/package/order/components/order-list/order-list.component.d.ts +35 -0
  814. package/{order → package/order}/components/order-payment-card/order-payment-card.component.d.ts +0 -0
  815. package/{order → package/order}/components/order-process-graph/constants.d.ts +0 -0
  816. package/{order → package/order}/components/order-process-graph/order-process-edge.component.d.ts +0 -0
  817. package/{order → package/order}/components/order-process-graph/order-process-graph.component.d.ts +0 -0
  818. package/{order → package/order}/components/order-process-graph/order-process-node.component.d.ts +0 -0
  819. package/{order → package/order}/components/order-process-graph/types.d.ts +0 -0
  820. package/{order → package/order}/components/order-process-graph-dialog/order-process-graph-dialog.component.d.ts +0 -0
  821. package/{order → package/order}/components/order-state-select-dialog/order-state-select-dialog.component.d.ts +0 -0
  822. package/package/order/components/order-table/order-table.component.d.ts +37 -0
  823. package/{order → package/order}/components/payment-detail/payment-detail.component.d.ts +0 -0
  824. package/{order → package/order}/components/payment-state-label/payment-state-label.component.d.ts +0 -0
  825. package/{order → package/order}/components/refund-order-dialog/refund-order-dialog.component.d.ts +0 -0
  826. package/{order → package/order}/components/refund-state-label/refund-state-label.component.d.ts +0 -0
  827. package/package/order/components/select-address-dialog/select-address-dialog.component.d.ts +24 -0
  828. package/package/order/components/select-address-dialog/select-address-dialog.graphql.d.ts +1 -0
  829. package/package/order/components/select-customer-dialog/select-customer-dialog.component.d.ts +22 -0
  830. package/package/order/components/select-shipping-method-dialog/select-shipping-method-dialog.component.d.ts +16 -0
  831. package/{order → package/order}/components/settle-refund-dialog/settle-refund-dialog.component.d.ts +0 -0
  832. package/{order → package/order}/components/simple-item-list/simple-item-list.component.d.ts +0 -0
  833. package/{order → package/order}/order.module.d.ts +0 -0
  834. package/{order → package/order}/order.routes.d.ts +0 -0
  835. package/{order → package/order}/package.json +0 -0
  836. package/{order → package/order}/providers/order-transition.service.d.ts +0 -0
  837. package/package/order/providers/routing/order-resolver.d.ts +13 -0
  838. package/package/order/providers/routing/order.guard.d.ts +9 -0
  839. package/package/order/public_api.d.ts +42 -0
  840. package/{order → package/order}/vendure-admin-ui-order.d.ts +0 -0
  841. package/package/order/vendure-admin-ui-order.metadata.json +1 -0
  842. package/package/package.json +59 -0
  843. package/{public_api.d.ts → package/public_api.d.ts} +0 -0
  844. package/{settings → package/settings}/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.d.ts +0 -0
  845. package/{settings → package/settings}/components/admin-detail/admin-detail.component.d.ts +0 -0
  846. package/{settings → package/settings}/components/administrator-list/administrator-list.component.d.ts +0 -0
  847. package/{settings → package/settings}/components/channel-detail/channel-detail.component.d.ts +0 -0
  848. package/{settings → package/settings}/components/channel-list/channel-list.component.d.ts +0 -0
  849. package/{settings → package/settings}/components/country-detail/country-detail.component.d.ts +0 -0
  850. package/{settings → package/settings}/components/country-list/country-list.component.d.ts +0 -0
  851. package/{settings → package/settings}/components/global-settings/global-settings.component.d.ts +0 -0
  852. package/{settings → package/settings}/components/payment-method-detail/payment-method-detail.component.d.ts +0 -0
  853. package/{settings → package/settings}/components/payment-method-list/payment-method-list.component.d.ts +0 -0
  854. package/{settings → package/settings}/components/permission-grid/permission-grid.component.d.ts +0 -0
  855. package/{settings → package/settings}/components/profile/profile.component.d.ts +0 -0
  856. package/{settings → package/settings}/components/role-detail/role-detail.component.d.ts +0 -0
  857. package/{settings → package/settings}/components/role-list/role-list.component.d.ts +0 -0
  858. package/{settings → package/settings}/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.d.ts +0 -0
  859. package/{settings → package/settings}/components/shipping-method-detail/shipping-method-detail.component.d.ts +0 -0
  860. package/{settings → package/settings}/components/shipping-method-list/shipping-method-list.component.d.ts +0 -0
  861. package/{settings → package/settings}/components/shipping-method-test-result/shipping-method-test-result.component.d.ts +0 -0
  862. package/{settings → package/settings}/components/tax-category-detail/tax-category-detail.component.d.ts +0 -0
  863. package/{settings → package/settings}/components/tax-category-list/tax-category-list.component.d.ts +0 -0
  864. package/{settings → package/settings}/components/tax-rate-detail/tax-rate-detail.component.d.ts +0 -0
  865. package/{settings → package/settings}/components/tax-rate-list/tax-rate-list.component.d.ts +0 -0
  866. package/{settings → package/settings}/components/test-address-form/test-address-form.component.d.ts +0 -0
  867. package/{settings → package/settings}/components/test-order-builder/test-order-builder.component.d.ts +0 -0
  868. package/{settings → package/settings}/components/zone-detail-dialog/zone-detail-dialog.component.d.ts +0 -0
  869. package/{settings → package/settings}/components/zone-list/zone-list.component.d.ts +0 -0
  870. package/{settings → package/settings}/components/zone-member-list/zone-member-controls.directive.d.ts +0 -0
  871. package/{settings → package/settings}/components/zone-member-list/zone-member-list-header.directive.d.ts +0 -0
  872. package/package/settings/components/zone-member-list/zone-member-list.component.d.ts +23 -0
  873. package/{settings → package/settings}/package.json +0 -0
  874. package/{settings → package/settings}/providers/routing/administrator-resolver.d.ts +0 -0
  875. package/{settings → package/settings}/providers/routing/channel-resolver.d.ts +0 -0
  876. package/{settings → package/settings}/providers/routing/country-resolver.d.ts +0 -0
  877. package/{settings → package/settings}/providers/routing/global-settings-resolver.d.ts +0 -0
  878. package/{settings → package/settings}/providers/routing/payment-method-resolver.d.ts +0 -0
  879. package/{settings → package/settings}/providers/routing/profile-resolver.d.ts +0 -0
  880. package/{settings → package/settings}/providers/routing/role-resolver.d.ts +0 -0
  881. package/{settings → package/settings}/providers/routing/shipping-method-resolver.d.ts +0 -0
  882. package/{settings → package/settings}/providers/routing/tax-category-resolver.d.ts +0 -0
  883. package/{settings → package/settings}/providers/routing/tax-rate-resolver.d.ts +0 -0
  884. package/{settings → package/settings}/public_api.d.ts +0 -0
  885. package/{settings → package/settings}/settings.module.d.ts +0 -0
  886. package/{settings → package/settings}/settings.routes.d.ts +0 -0
  887. package/{settings → package/settings}/vendure-admin-ui-settings.d.ts +0 -0
  888. package/package/settings/vendure-admin-ui-settings.metadata.json +1 -0
  889. package/{static → package/static}/assets/.gitkeep +0 -0
  890. package/{static → package/static}/assets/logo-300px.png +0 -0
  891. package/{static → package/static}/assets/logo-75px.png +0 -0
  892. package/{static → package/static}/favicon.ico +0 -0
  893. package/package/static/i18n-messages/cs.json +721 -0
  894. package/package/static/i18n-messages/de.json +721 -0
  895. package/package/static/i18n-messages/en.json +721 -0
  896. package/package/static/i18n-messages/es.json +721 -0
  897. package/package/static/i18n-messages/fr.json +721 -0
  898. package/package/static/i18n-messages/it.json +721 -0
  899. package/package/static/i18n-messages/pl.json +721 -0
  900. package/package/static/i18n-messages/pt_BR.json +721 -0
  901. package/package/static/i18n-messages/pt_PT.json +721 -0
  902. package/package/static/i18n-messages/ru.json +721 -0
  903. package/package/static/i18n-messages/uk.json +721 -0
  904. package/package/static/i18n-messages/zh_Hans.json +721 -0
  905. package/package/static/i18n-messages/zh_Hant.json +721 -0
  906. package/{static → package/static}/index.html +0 -0
  907. package/{static → package/static}/polyfills.ts +0 -0
  908. package/{static → package/static}/styles/_mixins.scss +0 -0
  909. package/{static → package/static}/styles/_variables.scss +0 -0
  910. package/package/static/styles/global/_forms.scss +148 -0
  911. package/package/static/styles/global/_overrides.scss +72 -0
  912. package/{static → package/static}/styles/global/_sass-overrides.scss +0 -0
  913. package/package/static/styles/global/_utilities.scss +131 -0
  914. package/{static → package/static}/styles/styles.scss +0 -0
  915. package/{static → package/static}/styles/theme/dark.scss +0 -0
  916. package/{static → package/static}/styles/theme/default.scss +0 -0
  917. package/{static → package/static}/styles/ui-extension-theme.scss +0 -0
  918. package/package/static/theme.min.css +8 -0
  919. package/{static → package/static}/vendure-ui-config.json +0 -0
  920. package/{system → package/system}/components/health-check/health-check.component.d.ts +0 -0
  921. package/{system → package/system}/components/job-list/job-list.component.d.ts +0 -0
  922. package/{system → package/system}/components/job-state-label/job-state-label.component.d.ts +0 -0
  923. package/{system → package/system}/package.json +0 -0
  924. package/{system → package/system}/public_api.d.ts +0 -0
  925. package/{system → package/system}/system.module.d.ts +0 -0
  926. package/{system → package/system}/system.routes.d.ts +0 -0
  927. package/{system → package/system}/vendure-admin-ui-system.d.ts +0 -0
  928. package/package/system/vendure-admin-ui-system.metadata.json +1 -0
  929. package/{vendure-admin-ui.d.ts → package/vendure-admin-ui.d.ts} +0 -0
  930. package/{vendure-admin-ui.metadata.json → package/vendure-admin-ui.metadata.json} +0 -0
  931. package/package.json +59 -21
  932. package/tsconfig.json +61 -0
  933. package/tsconfig.lib.json +26 -0
  934. package/tsconfig.lib.prod.json +14 -0
  935. package/tslint.json +33 -0
  936. package/LICENSE +0 -9
  937. package/bundles/vendure-admin-ui-catalog.umd.js +0 -4861
  938. package/bundles/vendure-admin-ui-catalog.umd.js.map +0 -1
  939. package/bundles/vendure-admin-ui-core.umd.js +0 -15291
  940. package/bundles/vendure-admin-ui-core.umd.js.map +0 -1
  941. package/bundles/vendure-admin-ui-customer.umd.js +0 -1679
  942. package/bundles/vendure-admin-ui-customer.umd.js.map +0 -1
  943. package/bundles/vendure-admin-ui-dashboard.umd.js +0 -757
  944. package/bundles/vendure-admin-ui-dashboard.umd.js.map +0 -1
  945. package/bundles/vendure-admin-ui-order.umd.js +0 -3422
  946. package/bundles/vendure-admin-ui-order.umd.js.map +0 -1
  947. package/bundles/vendure-admin-ui-settings.umd.js +0 -3699
  948. package/bundles/vendure-admin-ui-settings.umd.js.map +0 -1
  949. package/bundles/vendure-admin-ui-system.umd.js +0 -524
  950. package/catalog/catalog.module.d.ts +0 -2
  951. package/catalog/components/collection-list/collection-list.component.d.ts +0 -33
  952. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +0 -36
  953. package/catalog/components/collection-tree/collection-tree.component.d.ts +0 -35
  954. package/catalog/components/facet-list/facet-list.component.d.ts +0 -24
  955. package/catalog/components/product-list/product-list.component.d.ts +0 -29
  956. package/catalog/public_api.d.ts +0 -33
  957. package/catalog/vendure-admin-ui-catalog.metadata.json +0 -1
  958. package/core/common/component-registry-types.d.ts +0 -56
  959. package/core/common/generated-types.d.ts +0 -9142
  960. package/core/common/utilities/selection-manager.d.ts +0 -23
  961. package/core/common/version.d.ts +0 -1
  962. package/core/data/definitions/collection-definitions.d.ts +0 -10
  963. package/core/data/definitions/facet-definitions.d.ts +0 -10
  964. package/core/data/definitions/order-definitions.d.ts +0 -27
  965. package/core/data/definitions/product-definitions.d.ts +0 -45
  966. package/core/data/providers/collection-data.service.d.ts +0 -25
  967. package/core/data/providers/facet-data.service.d.ts +0 -21
  968. package/core/data/providers/order-data.service.d.ts +0 -35
  969. package/core/data/providers/product-data.service.d.ts +0 -81
  970. package/core/providers/modal/modal.service.d.ts +0 -132
  971. package/core/providers/nav-builder/nav-builder-types.d.ts +0 -91
  972. package/core/public_api.d.ts +0 -222
  973. package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +0 -67
  974. package/core/shared/components/data-table/data-table.component.d.ts +0 -82
  975. package/core/shared/components/dropdown/dropdown-menu.component.d.ts +0 -30
  976. package/core/shared/components/rich-text-editor/prosemirror/inputrules.d.ts +0 -8
  977. package/core/shared/components/rich-text-editor/prosemirror/menu/images.d.ts +0 -4
  978. package/core/shared/components/rich-text-editor/prosemirror/menu/links.d.ts +0 -4
  979. package/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.d.ts +0 -4
  980. package/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.d.ts +0 -5
  981. package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +0 -21
  982. package/core/shared/components/rich-text-editor/prosemirror/types.d.ts +0 -11
  983. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +0 -35
  984. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +0 -32
  985. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +0 -89
  986. package/core/vendure-admin-ui-core.metadata.json +0 -1
  987. package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +0 -37
  988. package/customer/vendure-admin-ui-customer.metadata.json +0 -1
  989. package/esm2015/catalog/catalog.module.js +0 -62
  990. package/esm2015/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.js +0 -109
  991. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +0 -244
  992. package/esm2015/catalog/components/collection-list/collection-list.component.js +0 -145
  993. package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +0 -117
  994. package/esm2015/catalog/components/collection-tree/collection-tree.component.js +0 -76
  995. package/esm2015/catalog/components/facet-list/facet-list.component.js +0 -107
  996. package/esm2015/catalog/components/product-detail/product-detail.component.js +0 -515
  997. package/esm2015/catalog/components/product-list/product-list.component.js +0 -153
  998. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +0 -214
  999. package/esm2015/catalog/providers/routing/collection-resolver.js +0 -38
  1000. package/esm2015/catalog/public_api.js +0 -35
  1001. package/esm2015/core/common/component-registry-types.js +0 -2
  1002. package/esm2015/core/common/generated-types.js +0 -983
  1003. package/esm2015/core/common/introspection-result.js +0 -195
  1004. package/esm2015/core/common/utilities/selection-manager.js +0 -64
  1005. package/esm2015/core/common/version.js +0 -3
  1006. package/esm2015/core/components/breadcrumb/breadcrumb.component.js +0 -126
  1007. package/esm2015/core/data/definitions/collection-definitions.js +0 -144
  1008. package/esm2015/core/data/definitions/facet-definitions.js +0 -110
  1009. package/esm2015/core/data/definitions/order-definitions.js +0 -472
  1010. package/esm2015/core/data/definitions/product-definitions.js +0 -745
  1011. package/esm2015/core/data/providers/collection-data.service.js +0 -75
  1012. package/esm2015/core/data/providers/customer-data.service.js +0 -117
  1013. package/esm2015/core/data/providers/facet-data.service.js +0 -60
  1014. package/esm2015/core/data/providers/order-data.service.js +0 -103
  1015. package/esm2015/core/data/providers/product-data.service.js +0 -235
  1016. package/esm2015/core/data/utils/remove-readonly-custom-fields.js +0 -91
  1017. package/esm2015/core/providers/dashboard-widget/dashboard-widget.service.js +0 -97
  1018. package/esm2015/core/providers/modal/modal.service.js +0 -100
  1019. package/esm2015/core/providers/nav-builder/nav-builder-types.js +0 -2
  1020. package/esm2015/core/public_api.js +0 -224
  1021. package/esm2015/core/shared/components/action-bar/action-bar.component.js +0 -47
  1022. package/esm2015/core/shared/components/asset-gallery/asset-gallery.component.js +0 -84
  1023. package/esm2015/core/shared/components/data-table/data-table.component.js +0 -113
  1024. package/esm2015/core/shared/components/dropdown/dropdown-menu.component.js +0 -121
  1025. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +0 -117
  1026. package/esm2015/core/shared/components/language-selector/language-selector.component.js +0 -21
  1027. package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +0 -43
  1028. package/esm2015/core/shared/components/product-search-input/product-search-input.component.js +0 -104
  1029. package/esm2015/core/shared/components/product-selector/product-selector.component.js +0 -61
  1030. package/esm2015/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.js +0 -32
  1031. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/images.js +0 -36
  1032. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/links.js +0 -69
  1033. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.js +0 -20
  1034. package/esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu.js +0 -192
  1035. package/esm2015/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.js +0 -112
  1036. package/esm2015/core/shared/components/rich-text-editor/prosemirror/types.js +0 -2
  1037. package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +0 -86
  1038. package/esm2015/core/shared/components/simple-dialog/simple-dialog.component.js +0 -21
  1039. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +0 -125
  1040. package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +0 -266
  1041. package/esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js +0 -134
  1042. package/esm2015/core/shared/pipes/state-i18n-token.pipe.js +0 -46
  1043. package/esm2015/core/shared/shared.module.js +0 -275
  1044. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +0 -198
  1045. package/esm2015/customer/components/customer-group-member-list/customer-group-member-list.component.js +0 -101
  1046. package/esm2015/customer/components/customer-list/customer-list.component.js +0 -81
  1047. package/esm2015/dashboard/dashboard.module.js +0 -25
  1048. package/esm2015/order/components/order-detail/order-detail.component.js +0 -550
  1049. package/esm2015/order/components/order-editor/order-editor.component.js +0 -381
  1050. package/esm2015/order/components/order-list/order-list.component.js +0 -195
  1051. package/esm2015/order/components/order-table/order-table.component.js +0 -76
  1052. package/esm2015/order/order.module.js +0 -70
  1053. package/esm2015/order/order.routes.js +0 -54
  1054. package/esm2015/order/providers/routing/order-resolver.js +0 -33
  1055. package/esm2015/order/public_api.js +0 -36
  1056. package/esm2015/settings/components/country-list/country-list.component.js +0 -82
  1057. package/esm2015/settings/components/profile/profile.component.js +0 -82
  1058. package/esm2015/settings/components/zone-list/zone-list.component.js +0 -160
  1059. package/esm2015/settings/components/zone-member-list/zone-member-list.component.js +0 -63
  1060. package/esm2015/system/components/health-check/health-check.component.js +0 -19
  1061. package/fesm2015/vendure-admin-ui-catalog.js +0 -3994
  1062. package/fesm2015/vendure-admin-ui-catalog.js.map +0 -1
  1063. package/fesm2015/vendure-admin-ui-core.js +0 -16292
  1064. package/fesm2015/vendure-admin-ui-core.js.map +0 -1
  1065. package/fesm2015/vendure-admin-ui-customer.js +0 -1184
  1066. package/fesm2015/vendure-admin-ui-customer.js.map +0 -1
  1067. package/fesm2015/vendure-admin-ui-dashboard.js +0 -371
  1068. package/fesm2015/vendure-admin-ui-dashboard.js.map +0 -1
  1069. package/fesm2015/vendure-admin-ui-order.js +0 -2607
  1070. package/fesm2015/vendure-admin-ui-order.js.map +0 -1
  1071. package/fesm2015/vendure-admin-ui-settings.js +0 -2977
  1072. package/fesm2015/vendure-admin-ui-settings.js.map +0 -1
  1073. package/fesm2015/vendure-admin-ui-system.js +0 -171
  1074. package/order/components/order-editor/order-editor.component.d.ts +0 -76
  1075. package/order/components/order-list/order-list.component.d.ts +0 -34
  1076. package/order/components/order-table/order-table.component.d.ts +0 -28
  1077. package/order/providers/routing/order-resolver.d.ts +0 -10
  1078. package/order/public_api.d.ts +0 -34
  1079. package/order/vendure-admin-ui-order.metadata.json +0 -1
  1080. package/settings/components/zone-member-list/zone-member-list.component.d.ts +0 -21
  1081. package/settings/vendure-admin-ui-settings.metadata.json +0 -1
  1082. package/static/i18n-messages/cs.json +0 -688
  1083. package/static/i18n-messages/de.json +0 -688
  1084. package/static/i18n-messages/en.json +0 -689
  1085. package/static/i18n-messages/es.json +0 -688
  1086. package/static/i18n-messages/fr.json +0 -688
  1087. package/static/i18n-messages/it.json +0 -688
  1088. package/static/i18n-messages/pl.json +0 -688
  1089. package/static/i18n-messages/pt_BR.json +0 -688
  1090. package/static/i18n-messages/pt_PT.json +0 -688
  1091. package/static/i18n-messages/ru.json +0 -688
  1092. package/static/i18n-messages/uk.json +0 -688
  1093. package/static/i18n-messages/zh_Hans.json +0 -688
  1094. package/static/i18n-messages/zh_Hant.json +0 -688
  1095. package/static/styles/global/_forms.scss +0 -146
  1096. package/static/styles/global/_overrides.scss +0 -72
  1097. package/static/styles/global/_utilities.scss +0 -127
  1098. package/static/theme.min.css +0 -8
  1099. package/system/vendure-admin-ui-system.metadata.json +0 -1
@@ -0,0 +1,3700 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@vendure/admin-ui/core'), require('rxjs/operators'), require('@angular/forms'), require('@angular/router'), require('@biesbjerg/ngx-translate-extract-marker'), require('@vendure/common/lib/shared-constants'), require('rxjs'), require('@vendure/common/lib/normalize-string'), require('@vendure/common/lib/unique')) :
3
+ typeof define === 'function' && define.amd ? define('@vendure/admin-ui/settings', ['exports', '@angular/core', '@vendure/admin-ui/core', 'rxjs/operators', '@angular/forms', '@angular/router', '@biesbjerg/ngx-translate-extract-marker', '@vendure/common/lib/shared-constants', 'rxjs', '@vendure/common/lib/normalize-string', '@vendure/common/lib/unique'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.vendure = global.vendure || {}, global.vendure['admin-ui'] = global.vendure['admin-ui'] || {}, global.vendure['admin-ui'].settings = {}), global.ng.core, global.vendure['admin-ui'].core, global.rxjs.operators, global.ng.forms, global.ng.router, global.ngxTranslateExtractMarker, global.sharedConstants, global.rxjs, global.normalizeString, global.unique));
5
+ }(this, (function (exports, i0, i2, operators, forms, i1, ngxTranslateExtractMarker, sharedConstants, rxjs, normalizeString, unique) { 'use strict';
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () {
17
+ return e[k];
18
+ }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n['default'] = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
28
+ var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
29
+ var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
30
+
31
+ var AddCountryToZoneDialogComponent = /** @class */ (function () {
32
+ function AddCountryToZoneDialogComponent(dataService) {
33
+ this.dataService = dataService;
34
+ this.currentMembers = [];
35
+ this.selectedMemberIds = [];
36
+ }
37
+ AddCountryToZoneDialogComponent.prototype.ngOnInit = function () {
38
+ var currentMemberIds = this.currentMembers.map(function (m) { return m.id; });
39
+ this.availableCountries$ = this.dataService.settings
40
+ .getCountries(999)
41
+ .mapStream(function (data) { return data.countries.items; })
42
+ .pipe(operators.map(function (countries) { return countries.filter(function (c) { return !currentMemberIds.includes(c.id); }); }));
43
+ };
44
+ AddCountryToZoneDialogComponent.prototype.cancel = function () {
45
+ this.resolveWith();
46
+ };
47
+ AddCountryToZoneDialogComponent.prototype.add = function () {
48
+ this.resolveWith(this.selectedMemberIds);
49
+ };
50
+ return AddCountryToZoneDialogComponent;
51
+ }());
52
+ AddCountryToZoneDialogComponent.decorators = [
53
+ { type: i0.Component, args: [{
54
+ selector: 'vdr-add-country-to-zone-dialog',
55
+ template: "<ng-template vdrDialogTitle>{{ 'settings.add-countries-to-zone' | translate: { zoneName: zoneName } }}</ng-template>\r\n\r\n<vdr-zone-member-list\r\n [members]=\"availableCountries$ | async\"\r\n [selectedMemberIds]=\"selectedMemberIds\"\r\n (selectionChange)=\"selectedMemberIds = $event\"\r\n>\r\n</vdr-zone-member-list>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"add()\" [disabled]=\"!selectedMemberIds.length\" class=\"btn btn-primary\">\r\n {{ 'settings.add-countries-to-zone' | translate: { zoneName: zoneName } }}\r\n </button>\r\n</ng-template>\r\n",
56
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
57
+ styles: [""]
58
+ },] }
59
+ ];
60
+ AddCountryToZoneDialogComponent.ctorParameters = function () { return [
61
+ { type: i2.DataService }
62
+ ]; };
63
+
64
+ /*! *****************************************************************************
65
+ Copyright (c) Microsoft Corporation.
66
+
67
+ Permission to use, copy, modify, and/or distribute this software for any
68
+ purpose with or without fee is hereby granted.
69
+
70
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
71
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
72
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
73
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
74
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
75
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
76
+ PERFORMANCE OF THIS SOFTWARE.
77
+ ***************************************************************************** */
78
+ /* global Reflect, Promise */
79
+ var extendStatics = function (d, b) {
80
+ extendStatics = Object.setPrototypeOf ||
81
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
82
+ function (d, b) { for (var p in b)
83
+ if (Object.prototype.hasOwnProperty.call(b, p))
84
+ d[p] = b[p]; };
85
+ return extendStatics(d, b);
86
+ };
87
+ function __extends(d, b) {
88
+ if (typeof b !== "function" && b !== null)
89
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
90
+ extendStatics(d, b);
91
+ function __() { this.constructor = d; }
92
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
93
+ }
94
+ var __assign = function () {
95
+ __assign = Object.assign || function __assign(t) {
96
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
97
+ s = arguments[i];
98
+ for (var p in s)
99
+ if (Object.prototype.hasOwnProperty.call(s, p))
100
+ t[p] = s[p];
101
+ }
102
+ return t;
103
+ };
104
+ return __assign.apply(this, arguments);
105
+ };
106
+ function __rest(s, e) {
107
+ var t = {};
108
+ for (var p in s)
109
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
110
+ t[p] = s[p];
111
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
112
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
113
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
114
+ t[p[i]] = s[p[i]];
115
+ }
116
+ return t;
117
+ }
118
+ function __decorate(decorators, target, key, desc) {
119
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
120
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
121
+ r = Reflect.decorate(decorators, target, key, desc);
122
+ else
123
+ for (var i = decorators.length - 1; i >= 0; i--)
124
+ if (d = decorators[i])
125
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
126
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
127
+ }
128
+ function __param(paramIndex, decorator) {
129
+ return function (target, key) { decorator(target, key, paramIndex); };
130
+ }
131
+ function __metadata(metadataKey, metadataValue) {
132
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
133
+ return Reflect.metadata(metadataKey, metadataValue);
134
+ }
135
+ function __awaiter(thisArg, _arguments, P, generator) {
136
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
137
+ return new (P || (P = Promise))(function (resolve, reject) {
138
+ function fulfilled(value) { try {
139
+ step(generator.next(value));
140
+ }
141
+ catch (e) {
142
+ reject(e);
143
+ } }
144
+ function rejected(value) { try {
145
+ step(generator["throw"](value));
146
+ }
147
+ catch (e) {
148
+ reject(e);
149
+ } }
150
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
151
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
152
+ });
153
+ }
154
+ function __generator(thisArg, body) {
155
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
156
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
157
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
158
+ function verb(n) { return function (v) { return step([n, v]); }; }
159
+ function step(op) {
160
+ if (f)
161
+ throw new TypeError("Generator is already executing.");
162
+ while (_)
163
+ try {
164
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
165
+ return t;
166
+ if (y = 0, t)
167
+ op = [op[0] & 2, t.value];
168
+ switch (op[0]) {
169
+ case 0:
170
+ case 1:
171
+ t = op;
172
+ break;
173
+ case 4:
174
+ _.label++;
175
+ return { value: op[1], done: false };
176
+ case 5:
177
+ _.label++;
178
+ y = op[1];
179
+ op = [0];
180
+ continue;
181
+ case 7:
182
+ op = _.ops.pop();
183
+ _.trys.pop();
184
+ continue;
185
+ default:
186
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
187
+ _ = 0;
188
+ continue;
189
+ }
190
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
191
+ _.label = op[1];
192
+ break;
193
+ }
194
+ if (op[0] === 6 && _.label < t[1]) {
195
+ _.label = t[1];
196
+ t = op;
197
+ break;
198
+ }
199
+ if (t && _.label < t[2]) {
200
+ _.label = t[2];
201
+ _.ops.push(op);
202
+ break;
203
+ }
204
+ if (t[2])
205
+ _.ops.pop();
206
+ _.trys.pop();
207
+ continue;
208
+ }
209
+ op = body.call(thisArg, _);
210
+ }
211
+ catch (e) {
212
+ op = [6, e];
213
+ y = 0;
214
+ }
215
+ finally {
216
+ f = t = 0;
217
+ }
218
+ if (op[0] & 5)
219
+ throw op[1];
220
+ return { value: op[0] ? op[1] : void 0, done: true };
221
+ }
222
+ }
223
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
224
+ if (k2 === undefined)
225
+ k2 = k;
226
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
227
+ }) : (function (o, m, k, k2) {
228
+ if (k2 === undefined)
229
+ k2 = k;
230
+ o[k2] = m[k];
231
+ });
232
+ function __exportStar(m, o) {
233
+ for (var p in m)
234
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
235
+ __createBinding(o, m, p);
236
+ }
237
+ function __values(o) {
238
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
239
+ if (m)
240
+ return m.call(o);
241
+ if (o && typeof o.length === "number")
242
+ return {
243
+ next: function () {
244
+ if (o && i >= o.length)
245
+ o = void 0;
246
+ return { value: o && o[i++], done: !o };
247
+ }
248
+ };
249
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
250
+ }
251
+ function __read(o, n) {
252
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
253
+ if (!m)
254
+ return o;
255
+ var i = m.call(o), r, ar = [], e;
256
+ try {
257
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
258
+ ar.push(r.value);
259
+ }
260
+ catch (error) {
261
+ e = { error: error };
262
+ }
263
+ finally {
264
+ try {
265
+ if (r && !r.done && (m = i["return"]))
266
+ m.call(i);
267
+ }
268
+ finally {
269
+ if (e)
270
+ throw e.error;
271
+ }
272
+ }
273
+ return ar;
274
+ }
275
+ /** @deprecated */
276
+ function __spread() {
277
+ for (var ar = [], i = 0; i < arguments.length; i++)
278
+ ar = ar.concat(__read(arguments[i]));
279
+ return ar;
280
+ }
281
+ /** @deprecated */
282
+ function __spreadArrays() {
283
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
284
+ s += arguments[i].length;
285
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
286
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
287
+ r[k] = a[j];
288
+ return r;
289
+ }
290
+ function __spreadArray(to, from, pack) {
291
+ if (pack || arguments.length === 2)
292
+ for (var i = 0, l = from.length, ar; i < l; i++) {
293
+ if (ar || !(i in from)) {
294
+ if (!ar)
295
+ ar = Array.prototype.slice.call(from, 0, i);
296
+ ar[i] = from[i];
297
+ }
298
+ }
299
+ return to.concat(ar || Array.prototype.slice.call(from));
300
+ }
301
+ function __await(v) {
302
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
303
+ }
304
+ function __asyncGenerator(thisArg, _arguments, generator) {
305
+ if (!Symbol.asyncIterator)
306
+ throw new TypeError("Symbol.asyncIterator is not defined.");
307
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
308
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
309
+ function verb(n) { if (g[n])
310
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
311
+ function resume(n, v) { try {
312
+ step(g[n](v));
313
+ }
314
+ catch (e) {
315
+ settle(q[0][3], e);
316
+ } }
317
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
318
+ function fulfill(value) { resume("next", value); }
319
+ function reject(value) { resume("throw", value); }
320
+ function settle(f, v) { if (f(v), q.shift(), q.length)
321
+ resume(q[0][0], q[0][1]); }
322
+ }
323
+ function __asyncDelegator(o) {
324
+ var i, p;
325
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
326
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
327
+ }
328
+ function __asyncValues(o) {
329
+ if (!Symbol.asyncIterator)
330
+ throw new TypeError("Symbol.asyncIterator is not defined.");
331
+ var m = o[Symbol.asyncIterator], i;
332
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
333
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
334
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
335
+ }
336
+ function __makeTemplateObject(cooked, raw) {
337
+ if (Object.defineProperty) {
338
+ Object.defineProperty(cooked, "raw", { value: raw });
339
+ }
340
+ else {
341
+ cooked.raw = raw;
342
+ }
343
+ return cooked;
344
+ }
345
+ ;
346
+ var __setModuleDefault = Object.create ? (function (o, v) {
347
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
348
+ }) : function (o, v) {
349
+ o["default"] = v;
350
+ };
351
+ function __importStar(mod) {
352
+ if (mod && mod.__esModule)
353
+ return mod;
354
+ var result = {};
355
+ if (mod != null)
356
+ for (var k in mod)
357
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
358
+ __createBinding(result, mod, k);
359
+ __setModuleDefault(result, mod);
360
+ return result;
361
+ }
362
+ function __importDefault(mod) {
363
+ return (mod && mod.__esModule) ? mod : { default: mod };
364
+ }
365
+ function __classPrivateFieldGet(receiver, state, kind, f) {
366
+ if (kind === "a" && !f)
367
+ throw new TypeError("Private accessor was defined without a getter");
368
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
369
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
370
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
371
+ }
372
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
373
+ if (kind === "m")
374
+ throw new TypeError("Private method is not writable");
375
+ if (kind === "a" && !f)
376
+ throw new TypeError("Private accessor was defined without a setter");
377
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
378
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
379
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
380
+ }
381
+
382
+ var AdminDetailComponent = /** @class */ (function (_super) {
383
+ __extends(AdminDetailComponent, _super);
384
+ function AdminDetailComponent(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
385
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
386
+ _this.changeDetector = changeDetector;
387
+ _this.dataService = dataService;
388
+ _this.formBuilder = formBuilder;
389
+ _this.notificationService = notificationService;
390
+ _this.selectedRoles = [];
391
+ _this.selectedRolePermissions = {};
392
+ _this.selectedChannelId = null;
393
+ _this.customFields = _this.getCustomFieldConfig('Administrator');
394
+ _this.detailForm = _this.formBuilder.group({
395
+ emailAddress: ['', forms.Validators.required],
396
+ firstName: ['', forms.Validators.required],
397
+ lastName: ['', forms.Validators.required],
398
+ password: [''],
399
+ roles: [[]],
400
+ customFields: _this.formBuilder.group(_this.customFields.reduce(function (hash, field) {
401
+ var _a;
402
+ return (Object.assign(Object.assign({}, hash), (_a = {}, _a[field.name] = '', _a)));
403
+ }, {})),
404
+ });
405
+ return _this;
406
+ }
407
+ AdminDetailComponent.prototype.getAvailableChannels = function () {
408
+ return Object.values(this.selectedRolePermissions);
409
+ };
410
+ AdminDetailComponent.prototype.ngOnInit = function () {
411
+ var _this = this;
412
+ this.init();
413
+ this.administrator$ = this.entity$;
414
+ this.allRoles$ = this.dataService.administrator
415
+ .getRoles(999)
416
+ .mapStream(function (item) { return item.roles.items.filter(function (i) { return i.code !== sharedConstants.CUSTOMER_ROLE_CODE; }); });
417
+ this.dataService.client.userStatus().single$.subscribe(function (_a) {
418
+ var userStatus = _a.userStatus;
419
+ if (!userStatus.permissions.includes(i2.Permission.UpdateAdministrator)) {
420
+ var rolesSelect = _this.detailForm.get('roles');
421
+ if (rolesSelect) {
422
+ rolesSelect.disable();
423
+ }
424
+ }
425
+ });
426
+ this.permissionDefinitions = this.serverConfigService.getPermissionDefinitions();
427
+ };
428
+ AdminDetailComponent.prototype.ngOnDestroy = function () {
429
+ this.destroy();
430
+ };
431
+ AdminDetailComponent.prototype.rolesChanged = function (roles) {
432
+ this.buildPermissionsMap();
433
+ };
434
+ AdminDetailComponent.prototype.getPermissionsForSelectedChannel = function () {
435
+ function getActivePermissions(input) {
436
+ return Object.entries(input)
437
+ .filter(function (_a) {
438
+ var _b = __read(_a, 2), permission = _b[0], active = _b[1];
439
+ return active;
440
+ })
441
+ .map(function (_a) {
442
+ var _b = __read(_a, 2), permission = _b[0], active = _b[1];
443
+ return permission;
444
+ });
445
+ }
446
+ if (this.selectedChannelId) {
447
+ var selectedChannel = this.selectedRolePermissions[this.selectedChannelId];
448
+ if (selectedChannel) {
449
+ var permissionMap = this.selectedRolePermissions[this.selectedChannelId].permissions;
450
+ return getActivePermissions(permissionMap);
451
+ }
452
+ }
453
+ var channels = Object.values(this.selectedRolePermissions);
454
+ if (0 < channels.length) {
455
+ this.selectedChannelId = channels[0].channelId;
456
+ return getActivePermissions(channels[0].permissions);
457
+ }
458
+ return [];
459
+ };
460
+ AdminDetailComponent.prototype.create = function () {
461
+ var _this = this;
462
+ var formValue = this.detailForm.value;
463
+ var administrator = {
464
+ emailAddress: formValue.emailAddress,
465
+ firstName: formValue.firstName,
466
+ lastName: formValue.lastName,
467
+ password: formValue.password,
468
+ customFields: formValue.customFields,
469
+ roleIds: formValue.roles.map(function (role) { return role.id; }),
470
+ };
471
+ this.dataService.administrator.createAdministrator(administrator).subscribe(function (data) {
472
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-create-success'), {
473
+ entity: 'Administrator',
474
+ });
475
+ _this.detailForm.markAsPristine();
476
+ _this.changeDetector.markForCheck();
477
+ _this.router.navigate(['../', data.createAdministrator.id], { relativeTo: _this.route });
478
+ }, function (err) {
479
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-create-error'), {
480
+ entity: 'Administrator',
481
+ });
482
+ });
483
+ };
484
+ AdminDetailComponent.prototype.save = function () {
485
+ var _this = this;
486
+ this.administrator$
487
+ .pipe(operators.take(1), operators.mergeMap(function (_a) {
488
+ var id = _a.id;
489
+ var formValue = _this.detailForm.value;
490
+ var administrator = {
491
+ id: id,
492
+ emailAddress: formValue.emailAddress,
493
+ firstName: formValue.firstName,
494
+ lastName: formValue.lastName,
495
+ password: formValue.password,
496
+ customFields: formValue.customFields,
497
+ roleIds: formValue.roles.map(function (role) { return role.id; }),
498
+ };
499
+ return _this.dataService.administrator.updateAdministrator(administrator);
500
+ }))
501
+ .subscribe(function (data) {
502
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), {
503
+ entity: 'Administrator',
504
+ });
505
+ _this.detailForm.markAsPristine();
506
+ _this.changeDetector.markForCheck();
507
+ }, function (err) {
508
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-update-error'), {
509
+ entity: 'Administrator',
510
+ });
511
+ });
512
+ };
513
+ AdminDetailComponent.prototype.setFormValues = function (administrator, languageCode) {
514
+ this.detailForm.patchValue({
515
+ emailAddress: administrator.emailAddress,
516
+ firstName: administrator.firstName,
517
+ lastName: administrator.lastName,
518
+ roles: administrator.user.roles,
519
+ });
520
+ if (this.customFields.length) {
521
+ this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), administrator);
522
+ }
523
+ var passwordControl = this.detailForm.get('password');
524
+ if (passwordControl) {
525
+ if (!administrator.id) {
526
+ passwordControl.setValidators([forms.Validators.required]);
527
+ }
528
+ else {
529
+ passwordControl.setValidators([]);
530
+ }
531
+ }
532
+ this.buildPermissionsMap();
533
+ };
534
+ AdminDetailComponent.prototype.buildPermissionsMap = function () {
535
+ var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
536
+ var permissionsControl = this.detailForm.get('roles');
537
+ if (permissionsControl) {
538
+ var roles = permissionsControl.value;
539
+ var channelIdPermissionsMap = new Map();
540
+ var channelIdCodeMap = new Map();
541
+ try {
542
+ for (var roles_1 = __values(roles), roles_1_1 = roles_1.next(); !roles_1_1.done; roles_1_1 = roles_1.next()) {
543
+ var role = roles_1_1.value;
544
+ var _loop_1 = function (channel) {
545
+ var channelPermissions = channelIdPermissionsMap.get(channel.id);
546
+ var permissionSet = channelPermissions || new Set();
547
+ role.permissions.forEach(function (p) { return permissionSet.add(p); });
548
+ channelIdPermissionsMap.set(channel.id, permissionSet);
549
+ channelIdCodeMap.set(channel.id, channel.code);
550
+ };
551
+ try {
552
+ for (var _e = (e_2 = void 0, __values(role.channels)), _f = _e.next(); !_f.done; _f = _e.next()) {
553
+ var channel = _f.value;
554
+ _loop_1(channel);
555
+ }
556
+ }
557
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
558
+ finally {
559
+ try {
560
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
561
+ }
562
+ finally { if (e_2) throw e_2.error; }
563
+ }
564
+ }
565
+ }
566
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
567
+ finally {
568
+ try {
569
+ if (roles_1_1 && !roles_1_1.done && (_a = roles_1.return)) _a.call(roles_1);
570
+ }
571
+ finally { if (e_1) throw e_1.error; }
572
+ }
573
+ this.selectedRolePermissions = {};
574
+ try {
575
+ for (var _g = __values(Array.from(channelIdPermissionsMap.keys())), _h = _g.next(); !_h.done; _h = _g.next()) {
576
+ var channelId = _h.value;
577
+ // tslint:disable-next-line:no-non-null-assertion
578
+ var permissionSet = channelIdPermissionsMap.get(channelId);
579
+ var permissionsHash = {};
580
+ try {
581
+ for (var _j = (e_4 = void 0, __values(this.serverConfigService.getPermissionDefinitions())), _k = _j.next(); !_k.done; _k = _j.next()) {
582
+ var def = _k.value;
583
+ permissionsHash[def.name] = permissionSet.has(def.name);
584
+ }
585
+ }
586
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
587
+ finally {
588
+ try {
589
+ if (_k && !_k.done && (_d = _j.return)) _d.call(_j);
590
+ }
591
+ finally { if (e_4) throw e_4.error; }
592
+ }
593
+ this.selectedRolePermissions[channelId] = {
594
+ // tslint:disable:no-non-null-assertion
595
+ channelId: channelId,
596
+ channelCode: channelIdCodeMap.get(channelId),
597
+ permissions: permissionsHash,
598
+ // tslint:enable:no-non-null-assertion
599
+ };
600
+ }
601
+ }
602
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
603
+ finally {
604
+ try {
605
+ if (_h && !_h.done && (_c = _g.return)) _c.call(_g);
606
+ }
607
+ finally { if (e_3) throw e_3.error; }
608
+ }
609
+ }
610
+ };
611
+ return AdminDetailComponent;
612
+ }(i2.BaseDetailComponent));
613
+ AdminDetailComponent.decorators = [
614
+ { type: i0.Component, args: [{
615
+ selector: 'vdr-admin-detail',
616
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"administrator-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"detailForm.invalid || detailForm.pristine\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"'UpdateAdministrator'\"\r\n [disabled]=\"detailForm.invalid || detailForm.pristine\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'settings.email-address' | translate\" for=\"emailAddress\">\r\n <input\r\n id=\"emailAddress\"\r\n type=\"text\"\r\n formControlName=\"emailAddress\"\r\n [readonly]=\"!('UpdateAdministrator' | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.first-name' | translate\" for=\"firstName\">\r\n <input\r\n id=\"firstName\"\r\n type=\"text\"\r\n formControlName=\"firstName\"\r\n [readonly]=\"!('UpdateAdministrator' | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.last-name' | translate\" for=\"lastName\">\r\n <input\r\n id=\"lastName\"\r\n type=\"text\"\r\n formControlName=\"lastName\"\r\n [readonly]=\"!('UpdateAdministrator' | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field *ngIf=\"isNew$ | async\" [label]=\"'settings.password' | translate\" for=\"password\">\r\n <input id=\"password\" type=\"password\" formControlName=\"password\" />\r\n </vdr-form-field>\r\n <vdr-form-field\r\n *ngIf=\"!(isNew$ | async) && ('UpdateAdministrator' | hasPermission)\"\r\n [label]=\"'settings.password' | translate\"\r\n for=\"password\"\r\n [readOnlyToggle]=\"true\"\r\n >\r\n <input id=\"password\" type=\"password\" formControlName=\"password\" />\r\n </vdr-form-field>\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Administrator\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!('UpdateAdministrator' | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"administrator-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n <label class=\"clr-control-label\">{{ 'settings.roles' | translate }}</label>\r\n <ng-select\r\n [items]=\"allRoles$ | async\"\r\n [multiple]=\"true\"\r\n [hideSelected]=\"true\"\r\n formControlName=\"roles\"\r\n (change)=\"rolesChanged($event)\"\r\n bindLabel=\"description\"\r\n ></ng-select>\r\n\r\n <ul class=\"nav\" role=\"tablist\">\r\n <li role=\"presentation\" class=\"nav-item\" *ngFor=\"let channel of getAvailableChannels()\">\r\n <button\r\n [id]=\"channel.channelId\"\r\n (click)=\"selectedChannelId = channel.channelId\"\r\n class=\"btn btn-link nav-link\"\r\n [class.active]=\"selectedChannelId === channel.channelId\"\r\n [attr.aria-selected]=\"selectedChannelId === channel.channelId\"\r\n type=\"button\"\r\n >\r\n {{ channel.channelCode | channelCodeToLabel | translate }}\r\n </button>\r\n </li>\r\n </ul>\r\n <vdr-permission-grid\r\n [activePermissions]=\"getPermissionsForSelectedChannel()\"\r\n [permissionDefinitions]=\"permissionDefinitions\"\r\n [readonly]=\"true\"\r\n ></vdr-permission-grid>\r\n</form>\r\n",
617
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
618
+ styles: [""]
619
+ },] }
620
+ ];
621
+ AdminDetailComponent.ctorParameters = function () { return [
622
+ { type: i1.Router },
623
+ { type: i1.ActivatedRoute },
624
+ { type: i2.ServerConfigService },
625
+ { type: i0.ChangeDetectorRef },
626
+ { type: i2.DataService },
627
+ { type: forms.FormBuilder },
628
+ { type: i2.NotificationService }
629
+ ]; };
630
+
631
+ var AdministratorListComponent = /** @class */ (function (_super) {
632
+ __extends(AdministratorListComponent, _super);
633
+ function AdministratorListComponent(dataService, router, route, modalService, notificationService) {
634
+ var _this = _super.call(this, router, route) || this;
635
+ _this.dataService = dataService;
636
+ _this.modalService = modalService;
637
+ _this.notificationService = notificationService;
638
+ _super.prototype.setQueryFn.call(_this, function () {
639
+ var _a;
640
+ var args = [];
641
+ for (var _i = 0; _i < arguments.length; _i++) {
642
+ args[_i] = arguments[_i];
643
+ }
644
+ return (_a = _this.dataService.administrator).getAdministrators.apply(_a, __spreadArray([], __read(args)));
645
+ }, function (data) { return data.administrators; });
646
+ return _this;
647
+ }
648
+ AdministratorListComponent.prototype.deleteAdministrator = function (administrator) {
649
+ var _this = this;
650
+ return this.modalService
651
+ .dialog({
652
+ title: ngxTranslateExtractMarker.marker('catalog.confirm-delete-administrator'),
653
+ body: administrator.firstName + " " + administrator.lastName,
654
+ buttons: [
655
+ { type: 'secondary', label: ngxTranslateExtractMarker.marker('common.cancel') },
656
+ { type: 'danger', label: ngxTranslateExtractMarker.marker('common.delete'), returnValue: true },
657
+ ],
658
+ })
659
+ .pipe(operators.switchMap(function (res) { return res ? _this.dataService.administrator.deleteAdministrator(administrator.id) : rxjs.EMPTY; }))
660
+ .subscribe(function () {
661
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-delete-success'), {
662
+ entity: 'Administrator',
663
+ });
664
+ _this.refresh();
665
+ }, function (err) {
666
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-delete-error'), {
667
+ entity: 'Administrator',
668
+ });
669
+ });
670
+ };
671
+ return AdministratorListComponent;
672
+ }(i2.BaseListComponent));
673
+ AdministratorListComponent.decorators = [
674
+ { type: i0.Component, args: [{
675
+ selector: 'vdr-administrator-list',
676
+ template: "<vdr-action-bar>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"administrator-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\" [routerLink]=\"['./create']\" *vdrIfPermissions=\"'CreateAdministrator'\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'admin.create-new-administrator' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column>{{ 'settings.first-name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'settings.last-name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'settings.email-address' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-administrator=\"item\">\r\n <td class=\"left align-middle\">{{ administrator.firstName }}</td>\r\n <td class=\"left align-middle\">{{ administrator.lastName }}</td>\r\n <td class=\"left align-middle\">{{ administrator.emailAddress }}</td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', administrator.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td>\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deleteAdministrator(administrator)\"\r\n [disabled]=\"!('DeleteAdministrator' | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n",
677
+ styles: [""]
678
+ },] }
679
+ ];
680
+ AdministratorListComponent.ctorParameters = function () { return [
681
+ { type: i2.DataService },
682
+ { type: i1.Router },
683
+ { type: i1.ActivatedRoute },
684
+ { type: i2.ModalService },
685
+ { type: i2.NotificationService }
686
+ ]; };
687
+
688
+ var ChannelDetailComponent = /** @class */ (function (_super) {
689
+ __extends(ChannelDetailComponent, _super);
690
+ function ChannelDetailComponent(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
691
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
692
+ _this.serverConfigService = serverConfigService;
693
+ _this.changeDetector = changeDetector;
694
+ _this.dataService = dataService;
695
+ _this.formBuilder = formBuilder;
696
+ _this.notificationService = notificationService;
697
+ _this.currencyCodes = Object.values(i2.CurrencyCode);
698
+ _this.updatePermission = [i2.Permission.SuperAdmin, i2.Permission.UpdateChannel, i2.Permission.CreateChannel];
699
+ _this.customFields = _this.getCustomFieldConfig('Channel');
700
+ _this.detailForm = _this.formBuilder.group({
701
+ code: ['', forms.Validators.required],
702
+ token: ['', forms.Validators.required],
703
+ pricesIncludeTax: [false],
704
+ currencyCode: [''],
705
+ defaultShippingZoneId: ['', forms.Validators.required],
706
+ defaultLanguageCode: [],
707
+ defaultTaxZoneId: ['', forms.Validators.required],
708
+ customFields: _this.formBuilder.group(_this.customFields.reduce(function (hash, field) {
709
+ var _a;
710
+ return (Object.assign(Object.assign({}, hash), (_a = {}, _a[field.name] = '', _a)));
711
+ }, {})),
712
+ });
713
+ return _this;
714
+ }
715
+ ChannelDetailComponent.prototype.ngOnInit = function () {
716
+ this.init();
717
+ this.zones$ = this.dataService.settings.getZones().mapSingle(function (data) { return data.zones; });
718
+ this.availableLanguageCodes$ = this.serverConfigService.getAvailableLanguages();
719
+ };
720
+ ChannelDetailComponent.prototype.ngOnDestroy = function () {
721
+ this.destroy();
722
+ };
723
+ ChannelDetailComponent.prototype.saveButtonEnabled = function () {
724
+ return this.detailForm.dirty && this.detailForm.valid;
725
+ };
726
+ ChannelDetailComponent.prototype.create = function () {
727
+ var _this = this;
728
+ if (!this.detailForm.dirty) {
729
+ return;
730
+ }
731
+ var formValue = this.detailForm.value;
732
+ var input = {
733
+ code: formValue.code,
734
+ token: formValue.token,
735
+ defaultLanguageCode: formValue.defaultLanguageCode,
736
+ pricesIncludeTax: formValue.pricesIncludeTax,
737
+ currencyCode: formValue.currencyCode,
738
+ defaultShippingZoneId: formValue.defaultShippingZoneId,
739
+ defaultTaxZoneId: formValue.defaultTaxZoneId,
740
+ customFields: formValue.customFields,
741
+ };
742
+ this.dataService.settings
743
+ .createChannel(input)
744
+ .pipe(operators.mergeMap(function (_a) {
745
+ var createChannel = _a.createChannel;
746
+ return _this.dataService.auth.currentUser().single$.pipe(operators.map(function (_a) {
747
+ var me = _a.me;
748
+ return ({
749
+ me: me,
750
+ createChannel: createChannel,
751
+ });
752
+ }));
753
+ }), operators.mergeMap(function (_a) {
754
+ var me = _a.me, createChannel = _a.createChannel;
755
+ // tslint:disable-next-line:no-non-null-assertion
756
+ return _this.dataService.client.updateUserChannels(me.channels).pipe(operators.map(function () { return createChannel; }));
757
+ }))
758
+ .subscribe(function (data) {
759
+ switch (data.__typename) {
760
+ case 'Channel':
761
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-create-success'), {
762
+ entity: 'Channel',
763
+ });
764
+ _this.detailForm.markAsPristine();
765
+ _this.changeDetector.markForCheck();
766
+ _this.router.navigate(['../', data.id], { relativeTo: _this.route });
767
+ break;
768
+ case 'LanguageNotAvailableError':
769
+ _this.notificationService.error(data.message);
770
+ break;
771
+ }
772
+ });
773
+ };
774
+ ChannelDetailComponent.prototype.save = function () {
775
+ var _this = this;
776
+ if (!this.detailForm.dirty) {
777
+ return;
778
+ }
779
+ var formValue = this.detailForm.value;
780
+ this.entity$
781
+ .pipe(operators.take(1), operators.mergeMap(function (channel) {
782
+ var input = {
783
+ id: channel.id,
784
+ code: formValue.code,
785
+ token: formValue.token,
786
+ pricesIncludeTax: formValue.pricesIncludeTax,
787
+ currencyCode: formValue.currencyCode,
788
+ defaultShippingZoneId: formValue.defaultShippingZoneId,
789
+ defaultLanguageCode: formValue.defaultLanguageCode,
790
+ defaultTaxZoneId: formValue.defaultTaxZoneId,
791
+ customFields: formValue.customFields,
792
+ };
793
+ return _this.dataService.settings.updateChannel(input);
794
+ }))
795
+ .subscribe(function (_a) {
796
+ var updateChannel = _a.updateChannel;
797
+ switch (updateChannel.__typename) {
798
+ case 'Channel':
799
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), {
800
+ entity: 'Channel',
801
+ });
802
+ _this.detailForm.markAsPristine();
803
+ _this.changeDetector.markForCheck();
804
+ break;
805
+ case 'LanguageNotAvailableError':
806
+ _this.notificationService.error(updateChannel.message);
807
+ }
808
+ });
809
+ };
810
+ /**
811
+ * Update the form values when the entity changes.
812
+ */
813
+ ChannelDetailComponent.prototype.setFormValues = function (entity, languageCode) {
814
+ this.detailForm.patchValue({
815
+ code: entity.code,
816
+ token: entity.token || this.generateToken(),
817
+ pricesIncludeTax: entity.pricesIncludeTax,
818
+ currencyCode: entity.currencyCode,
819
+ defaultShippingZoneId: entity.defaultShippingZone ? entity.defaultShippingZone.id : '',
820
+ defaultLanguageCode: entity.defaultLanguageCode,
821
+ defaultTaxZoneId: entity.defaultTaxZone ? entity.defaultTaxZone.id : '',
822
+ });
823
+ if (this.customFields.length) {
824
+ this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), entity);
825
+ }
826
+ if (entity.code === sharedConstants.DEFAULT_CHANNEL_CODE) {
827
+ var codeControl = this.detailForm.get('code');
828
+ if (codeControl) {
829
+ codeControl.disable();
830
+ }
831
+ }
832
+ };
833
+ ChannelDetailComponent.prototype.generateToken = function () {
834
+ var randomString = function () { return Math.random().toString(36).substr(3, 10); };
835
+ return "" + randomString() + randomString();
836
+ };
837
+ return ChannelDetailComponent;
838
+ }(i2.BaseDetailComponent));
839
+ ChannelDetailComponent.decorators = [
840
+ { type: i0.Component, args: [{
841
+ selector: 'vdr-channel-detail',
842
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"channel-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"['SuperAdmin', 'UpdateChannel']\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.code' | translate\" for=\"code\">\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"code\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.channel-token' | translate\" for=\"token\">\r\n <input\r\n id=\"token\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"token\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.currency' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"currencyCode\"\r\n formControlName=\"currencyCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let code of currencyCodes\" [value]=\"code\">{{ code | localeCurrencyName }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.default-language' | translate\" for=\"defaultLanguage\">\r\n <select\r\n clrSelect\r\n name=\"defaultLanguageCode\"\r\n formControlName=\"defaultLanguageCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let languageCode of availableLanguageCodes$ | async\" [value]=\"languageCode\">\r\n {{ languageCode | localeLanguageName }} ({{ languageCode | uppercase }})\r\n </option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.prices-include-tax' | translate\" for=\"pricesIncludeTax\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"pricesIncludeTax\"\r\n formControlName=\"pricesIncludeTax\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.default-tax-zone' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultTaxZoneId\"\r\n formControlName=\"defaultTaxZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultTaxZoneId\"\r\n clrAlertType=\"danger\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-tax-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <vdr-form-field [label]=\"'settings.default-shipping-zone' | translate\" for=\"defaultShippingZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultShippingZoneId\"\r\n formControlName=\"defaultShippingZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultShippingZoneId\"\r\n clrAlertType=\"warning\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-shipping-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Channel\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"channel-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n",
843
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
844
+ styles: ["clr-alert{max-width:30rem;margin-bottom:12px}\n"]
845
+ },] }
846
+ ];
847
+ ChannelDetailComponent.ctorParameters = function () { return [
848
+ { type: i1.Router },
849
+ { type: i1.ActivatedRoute },
850
+ { type: i2.ServerConfigService },
851
+ { type: i0.ChangeDetectorRef },
852
+ { type: i2.DataService },
853
+ { type: forms.FormBuilder },
854
+ { type: i2.NotificationService }
855
+ ]; };
856
+
857
+ var ChannelListComponent = /** @class */ (function () {
858
+ function ChannelListComponent(dataService, modalService, notificationService) {
859
+ var _this = this;
860
+ this.dataService = dataService;
861
+ this.modalService = modalService;
862
+ this.notificationService = notificationService;
863
+ this.refresh$ = new rxjs.Subject();
864
+ this.channels$ = this.refresh$.pipe(operators.startWith(1), operators.switchMap(function () { return _this.dataService.settings.getChannels().mapStream(function (data) { return data.channels; }); }));
865
+ }
866
+ ChannelListComponent.prototype.isDefaultChannel = function (channelCode) {
867
+ return channelCode === sharedConstants.DEFAULT_CHANNEL_CODE;
868
+ };
869
+ ChannelListComponent.prototype.deleteChannel = function (id) {
870
+ var _this = this;
871
+ this.modalService
872
+ .dialog({
873
+ title: ngxTranslateExtractMarker.marker('catalog.confirm-delete-channel'),
874
+ buttons: [
875
+ { type: 'secondary', label: ngxTranslateExtractMarker.marker('common.cancel') },
876
+ { type: 'danger', label: ngxTranslateExtractMarker.marker('common.delete'), returnValue: true },
877
+ ],
878
+ })
879
+ .pipe(operators.switchMap(function (response) { return (response ? _this.dataService.settings.deleteChannel(id) : rxjs.EMPTY); }), operators.mergeMap(function () { return _this.dataService.auth.currentUser().single$; }),
880
+ // tslint:disable-next-line:no-non-null-assertion
881
+ operators.mergeMap(function (data) { return _this.dataService.client.updateUserChannels(data.me.channels); }))
882
+ .subscribe(function () {
883
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-delete-success'), {
884
+ entity: 'Channel',
885
+ });
886
+ _this.refresh$.next(1);
887
+ }, function (err) {
888
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-delete-error'), {
889
+ entity: 'Channel',
890
+ });
891
+ });
892
+ };
893
+ return ChannelListComponent;
894
+ }());
895
+ ChannelListComponent.decorators = [
896
+ { type: i0.Component, args: [{
897
+ selector: 'vdr-channel-list',
898
+ template: "<vdr-action-bar>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"channel-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\" [routerLink]=\"['./create']\" *vdrIfPermissions=\"['SuperAdmin', 'CreateChannel']\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-channel' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table [items]=\"channels$ | async\">\r\n <vdr-dt-column>{{ 'common.code' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-channel=\"item\">\r\n <td class=\"left align-middle\">\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', channel.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger [disabled]=\"isDefaultChannel(channel.code)\">\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deleteChannel(channel.id)\"\r\n [disabled]=\"!(['SuperAdmin', 'DeleteChannel'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n",
899
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
900
+ styles: [""]
901
+ },] }
902
+ ];
903
+ ChannelListComponent.ctorParameters = function () { return [
904
+ { type: i2.DataService },
905
+ { type: i2.ModalService },
906
+ { type: i2.NotificationService }
907
+ ]; };
908
+
909
+ var CountryDetailComponent = /** @class */ (function (_super) {
910
+ __extends(CountryDetailComponent, _super);
911
+ function CountryDetailComponent(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
912
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
913
+ _this.changeDetector = changeDetector;
914
+ _this.dataService = dataService;
915
+ _this.formBuilder = formBuilder;
916
+ _this.notificationService = notificationService;
917
+ _this.updatePermission = [i2.Permission.UpdateSettings, i2.Permission.UpdateCountry];
918
+ _this.customFields = _this.getCustomFieldConfig('Country');
919
+ _this.detailForm = _this.formBuilder.group({
920
+ code: ['', forms.Validators.required],
921
+ name: ['', forms.Validators.required],
922
+ enabled: [true],
923
+ customFields: _this.formBuilder.group(_this.customFields.reduce(function (hash, field) {
924
+ var _a;
925
+ return (Object.assign(Object.assign({}, hash), (_a = {}, _a[field.name] = '', _a)));
926
+ }, {})),
927
+ });
928
+ return _this;
929
+ }
930
+ CountryDetailComponent.prototype.ngOnInit = function () {
931
+ this.init();
932
+ this.country$ = this.entity$;
933
+ };
934
+ CountryDetailComponent.prototype.ngOnDestroy = function () {
935
+ this.destroy();
936
+ };
937
+ CountryDetailComponent.prototype.create = function () {
938
+ var _this = this;
939
+ if (!this.detailForm.dirty) {
940
+ return;
941
+ }
942
+ rxjs.combineLatest(this.country$, this.languageCode$)
943
+ .pipe(operators.take(1), operators.mergeMap(function (_a) {
944
+ var _b = __read(_a, 2), country = _b[0], languageCode = _b[1];
945
+ var formValue = _this.detailForm.value;
946
+ var input = i2.createUpdatedTranslatable({
947
+ translatable: country,
948
+ updatedFields: formValue,
949
+ customFieldConfig: _this.customFields,
950
+ languageCode: languageCode,
951
+ defaultTranslation: {
952
+ name: formValue.name,
953
+ languageCode: languageCode,
954
+ },
955
+ });
956
+ return _this.dataService.settings.createCountry(input);
957
+ }))
958
+ .subscribe(function (data) {
959
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-create-success'), {
960
+ entity: 'Country',
961
+ });
962
+ _this.detailForm.markAsPristine();
963
+ _this.changeDetector.markForCheck();
964
+ _this.router.navigate(['../', data.createCountry.id], { relativeTo: _this.route });
965
+ }, function (err) {
966
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-create-error'), {
967
+ entity: 'Country',
968
+ });
969
+ });
970
+ };
971
+ CountryDetailComponent.prototype.save = function () {
972
+ var _this = this;
973
+ rxjs.combineLatest(this.country$, this.languageCode$)
974
+ .pipe(operators.take(1), operators.mergeMap(function (_a) {
975
+ var _b = __read(_a, 2), country = _b[0], languageCode = _b[1];
976
+ var formValue = _this.detailForm.value;
977
+ var input = i2.createUpdatedTranslatable({
978
+ translatable: country,
979
+ updatedFields: formValue,
980
+ customFieldConfig: _this.customFields,
981
+ languageCode: languageCode,
982
+ defaultTranslation: {
983
+ name: formValue.name,
984
+ languageCode: languageCode,
985
+ },
986
+ });
987
+ return _this.dataService.settings.updateCountry(input);
988
+ }))
989
+ .subscribe(function (data) {
990
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), {
991
+ entity: 'Country',
992
+ });
993
+ _this.detailForm.markAsPristine();
994
+ _this.changeDetector.markForCheck();
995
+ }, function (err) {
996
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-update-error'), {
997
+ entity: 'Country',
998
+ });
999
+ });
1000
+ };
1001
+ CountryDetailComponent.prototype.setFormValues = function (country, languageCode) {
1002
+ var currentTranslation = i2.findTranslation(country, languageCode);
1003
+ this.detailForm.patchValue({
1004
+ code: country.code,
1005
+ name: currentTranslation ? currentTranslation.name : '',
1006
+ enabled: country.enabled,
1007
+ });
1008
+ if (this.customFields.length) {
1009
+ this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), country, currentTranslation);
1010
+ }
1011
+ };
1012
+ return CountryDetailComponent;
1013
+ }(i2.BaseDetailComponent));
1014
+ CountryDetailComponent.decorators = [
1015
+ { type: i0.Component, args: [{
1016
+ selector: 'vdr-country-detail',
1017
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n <vdr-language-selector\r\n [disabled]=\"isNew$ | async\"\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"languageCode$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n ></vdr-language-selector>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"country-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"detailForm.invalid || detailForm.pristine\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n *vdrIfPermissions=\"updatePermission\"\r\n (click)=\"save()\"\r\n [disabled]=\"detailForm.invalid || detailForm.pristine\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.code' | translate\" for=\"code\">\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n formControlName=\"code\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.enabled' | translate\" for=\"enabled\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"enabled\"\r\n formControlName=\"enabled\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Country\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"country-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n",
1018
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1019
+ styles: [""]
1020
+ },] }
1021
+ ];
1022
+ CountryDetailComponent.ctorParameters = function () { return [
1023
+ { type: i1.Router },
1024
+ { type: i1.ActivatedRoute },
1025
+ { type: i2.ServerConfigService },
1026
+ { type: i0.ChangeDetectorRef },
1027
+ { type: i2.DataService },
1028
+ { type: forms.FormBuilder },
1029
+ { type: i2.NotificationService }
1030
+ ]; };
1031
+
1032
+ var CountryListComponent = /** @class */ (function () {
1033
+ function CountryListComponent(dataService, notificationService, modalService, serverConfigService) {
1034
+ this.dataService = dataService;
1035
+ this.notificationService = notificationService;
1036
+ this.modalService = modalService;
1037
+ this.serverConfigService = serverConfigService;
1038
+ this.searchTerm = new forms.FormControl('');
1039
+ this.countries = [];
1040
+ this.destroy$ = new rxjs.Subject();
1041
+ this.refresh$ = new rxjs.Subject();
1042
+ }
1043
+ CountryListComponent.prototype.ngOnInit = function () {
1044
+ var _this = this;
1045
+ this.contentLanguage$ = this.dataService.client
1046
+ .uiState()
1047
+ .mapStream(function (_a) {
1048
+ var uiState = _a.uiState;
1049
+ return uiState.contentLanguage;
1050
+ });
1051
+ var countries$ = rxjs.combineLatest(this.contentLanguage$, this.searchTerm.valueChanges.pipe(operators.startWith(null))).pipe(operators.map(function (_a) {
1052
+ var _b = __read(_a, 2), __ = _b[0], term = _b[1];
1053
+ return term;
1054
+ }), operators.switchMap(function (term) { return _this.dataService.settings.getCountries(999, 0, term).single$; }), operators.tap(function (data) {
1055
+ _this.countries = data.countries.items;
1056
+ }), operators.map(function (data) { return data.countries.items; }));
1057
+ this.zones$ = this.dataService.settings.getZones().mapStream(function (data) { return data.zones; });
1058
+ this.countriesWithZones$ = rxjs.combineLatest(countries$, this.zones$).pipe(operators.map(function (_a) {
1059
+ var _b = __read(_a, 2), countries = _b[0], zones = _b[1];
1060
+ return countries.map(function (country) { return (Object.assign(Object.assign({}, country), { zones: zones.filter(function (z) { return !!z.members.find(function (c) { return c.id === country.id; }); }) })); });
1061
+ }));
1062
+ this.availableLanguages$ = this.serverConfigService.getAvailableLanguages();
1063
+ };
1064
+ CountryListComponent.prototype.ngOnDestroy = function () {
1065
+ this.destroy$.next(undefined);
1066
+ this.destroy$.complete();
1067
+ };
1068
+ CountryListComponent.prototype.setLanguage = function (code) {
1069
+ this.dataService.client.setContentLanguage(code).subscribe();
1070
+ };
1071
+ CountryListComponent.prototype.deleteCountry = function (countryId) {
1072
+ var _this = this;
1073
+ this.modalService
1074
+ .dialog({
1075
+ title: ngxTranslateExtractMarker.marker('catalog.confirm-delete-country'),
1076
+ buttons: [
1077
+ { type: 'secondary', label: ngxTranslateExtractMarker.marker('common.cancel') },
1078
+ { type: 'danger', label: ngxTranslateExtractMarker.marker('common.delete'), returnValue: true },
1079
+ ],
1080
+ })
1081
+ .pipe(operators.switchMap(function (response) { return response ? _this.dataService.settings.deleteCountry(countryId) : rxjs.EMPTY; }))
1082
+ .subscribe(function (response) {
1083
+ if (response.deleteCountry.result === i2.DeletionResult.DELETED) {
1084
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-delete-success'), {
1085
+ entity: 'Country',
1086
+ });
1087
+ _this.dataService.settings.getCountries(999, 0).single$.subscribe();
1088
+ }
1089
+ else {
1090
+ _this.notificationService.error(response.deleteCountry.message || '');
1091
+ }
1092
+ }, function (err) {
1093
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-delete-error'), {
1094
+ entity: 'Country',
1095
+ });
1096
+ });
1097
+ };
1098
+ CountryListComponent.prototype.isZone = function (input) {
1099
+ return input.hasOwnProperty('id');
1100
+ };
1101
+ return CountryListComponent;
1102
+ }());
1103
+ CountryListComponent.decorators = [
1104
+ { type: i0.Component, args: [{
1105
+ selector: 'vdr-country-list',
1106
+ template: "<vdr-action-bar>\n <vdr-ab-left>\n <input\n type=\"text\"\n name=\"searchTerm\"\n [formControl]=\"searchTerm\"\n [placeholder]=\"'settings.search-country-by-name' | translate\"\n class=\"search-input\"\n />\n <div>\n <vdr-language-selector\n [availableLanguageCodes]=\"availableLanguages$ | async\"\n [currentLanguageCode]=\"contentLanguage$ | async\"\n (languageCodeChange)=\"setLanguage($event)\"\n ></vdr-language-selector>\n </div>\n </vdr-ab-left>\n\n <vdr-ab-right>\n <vdr-action-bar-items locationId=\"country-list\"></vdr-action-bar-items>\n <a\n class=\"btn btn-primary\"\n [routerLink]=\"['./create']\"\n *vdrIfPermissions=\"['CreateSettings', 'CreateCountry']\"\n >\n <clr-icon shape=\"plus\"></clr-icon>\n {{ 'settings.create-new-country' | translate }}\n </a>\n </vdr-ab-right>\n</vdr-action-bar>\n\n<vdr-data-table [items]=\"countriesWithZones$ | async\">\n <vdr-dt-column>{{ 'common.code' | translate }}</vdr-dt-column>\n <vdr-dt-column [expand]=\"true\">{{ 'common.name' | translate }}</vdr-dt-column>\n <vdr-dt-column>{{ 'settings.zone' | translate }}</vdr-dt-column>\n <vdr-dt-column>{{ 'common.enabled' | translate }}</vdr-dt-column>\n <vdr-dt-column></vdr-dt-column>\n <vdr-dt-column></vdr-dt-column>\n <ng-template let-country=\"item\">\n <td class=\"left align-middle\">{{ country.code }}</td>\n <td class=\"left align-middle\">{{ country.name }}</td>\n <td class=\"left align-middle\">\n <a\n [routerLink]=\"['/settings', 'zones', { contents: zone.id }]\"\n *ngFor=\"let zone of country.zones\"\n >\n <vdr-chip [colorFrom]=\"zone.name\">{{ zone.name }}</vdr-chip>\n </a>\n </td>\n <td class=\"left align-middle\">\n <clr-icon\n [class.is-success]=\"country.enabled\"\n [attr.shape]=\"country.enabled ? 'check' : 'times'\"\n ></clr-icon>\n </td>\n <td class=\"right align-middle\">\n <vdr-table-row-action\n iconShape=\"edit\"\n [label]=\"'common.edit' | translate\"\n [linkTo]=\"['./', country.id]\"\n ></vdr-table-row-action>\n </td>\n <td class=\"right align-middle\">\n <vdr-dropdown>\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\n {{ 'common.actions' | translate }}\n <clr-icon shape=\"caret down\"></clr-icon>\n </button>\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\n <button\n type=\"button\"\n class=\"delete-button\"\n (click)=\"deleteCountry(country.id)\"\n vdrDropdownItem\n [disabled]=\"!(['DeleteSettings', 'DeleteCountry'] | hasPermission)\"\n >\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\n {{ 'common.delete' | translate }}\n </button>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </td>\n </ng-template>\n</vdr-data-table>\n",
1107
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1108
+ styles: [".search-input{margin-top:6px;min-width:300px}\n"]
1109
+ },] }
1110
+ ];
1111
+ CountryListComponent.ctorParameters = function () { return [
1112
+ { type: i2.DataService },
1113
+ { type: i2.NotificationService },
1114
+ { type: i2.ModalService },
1115
+ { type: i2.ServerConfigService }
1116
+ ]; };
1117
+
1118
+ var GlobalSettingsComponent = /** @class */ (function (_super) {
1119
+ __extends(GlobalSettingsComponent, _super);
1120
+ function GlobalSettingsComponent(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
1121
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
1122
+ _this.changeDetector = changeDetector;
1123
+ _this.dataService = dataService;
1124
+ _this.formBuilder = formBuilder;
1125
+ _this.notificationService = notificationService;
1126
+ _this.languageCodes = Object.values(i2.LanguageCode);
1127
+ _this.updatePermission = [i2.Permission.UpdateSettings, i2.Permission.UpdateGlobalSettings];
1128
+ _this.customFields = _this.getCustomFieldConfig('GlobalSettings');
1129
+ _this.detailForm = _this.formBuilder.group({
1130
+ availableLanguages: [''],
1131
+ trackInventory: false,
1132
+ outOfStockThreshold: [0, forms.Validators.required],
1133
+ customFields: _this.formBuilder.group(_this.customFields.reduce(function (hash, field) {
1134
+ var _a;
1135
+ return (Object.assign(Object.assign({}, hash), (_a = {}, _a[field.name] = '', _a)));
1136
+ }, {})),
1137
+ });
1138
+ return _this;
1139
+ }
1140
+ GlobalSettingsComponent.prototype.ngOnInit = function () {
1141
+ var _this = this;
1142
+ this.init();
1143
+ this.dataService.client.userStatus().single$.subscribe(function (_a) {
1144
+ var userStatus = _a.userStatus;
1145
+ if (!userStatus.permissions.includes(i2.Permission.UpdateSettings)) {
1146
+ var languagesSelect = _this.detailForm.get('availableLanguages');
1147
+ if (languagesSelect) {
1148
+ languagesSelect.disable();
1149
+ }
1150
+ }
1151
+ });
1152
+ };
1153
+ GlobalSettingsComponent.prototype.save = function () {
1154
+ var _this = this;
1155
+ if (!this.detailForm.dirty) {
1156
+ return;
1157
+ }
1158
+ this.dataService.settings
1159
+ .updateGlobalSettings(this.detailForm.value)
1160
+ .pipe(operators.tap(function (_a) {
1161
+ var updateGlobalSettings = _a.updateGlobalSettings;
1162
+ switch (updateGlobalSettings.__typename) {
1163
+ case 'GlobalSettings':
1164
+ _this.detailForm.markAsPristine();
1165
+ _this.changeDetector.markForCheck();
1166
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), {
1167
+ entity: 'Settings',
1168
+ });
1169
+ break;
1170
+ case 'ChannelDefaultLanguageError':
1171
+ _this.notificationService.error(updateGlobalSettings.message);
1172
+ }
1173
+ }), operators.switchMap(function () { return _this.serverConfigService.refreshGlobalSettings(); }), operators.withLatestFrom(this.dataService.client.uiState().single$))
1174
+ .subscribe(function (_a) {
1175
+ var _b = __read(_a, 2), globalSettings = _b[0].globalSettings, uiState = _b[1].uiState;
1176
+ var availableLangs = globalSettings.availableLanguages;
1177
+ if (availableLangs.length && !availableLangs.includes(uiState.contentLanguage)) {
1178
+ _this.dataService.client.setContentLanguage(availableLangs[0]).subscribe();
1179
+ }
1180
+ });
1181
+ };
1182
+ GlobalSettingsComponent.prototype.setFormValues = function (entity, languageCode) {
1183
+ this.detailForm.patchValue({
1184
+ availableLanguages: entity.availableLanguages,
1185
+ trackInventory: entity.trackInventory,
1186
+ outOfStockThreshold: entity.outOfStockThreshold,
1187
+ });
1188
+ if (this.customFields.length) {
1189
+ this.setCustomFieldFormValues(this.customFields, this.detailForm.get('customFields'), entity);
1190
+ }
1191
+ };
1192
+ return GlobalSettingsComponent;
1193
+ }(i2.BaseDetailComponent));
1194
+ GlobalSettingsComponent.decorators = [
1195
+ { type: i0.Component, args: [{
1196
+ selector: 'vdr-global-settings',
1197
+ template: "<vdr-action-bar>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"global-settings-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"updatePermission\"\r\n [disabled]=\"detailForm.invalid || detailForm.pristine\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.available-languages' | translate\" for=\"availableLanguages\">\r\n <ng-select\r\n [items]=\"languageCodes\"\r\n [addTag]=\"false\"\r\n [hideSelected]=\"true\"\r\n multiple=\"true\"\r\n appendTo=\"body\"\r\n formControlName=\"availableLanguages\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span class=\"ng-value-icon left\" (click)=\"clear.call(null, item)\" aria-hidden=\"true\">\r\n \u00D7\r\n </span>\r\n <span class=\"ng-value-label\">{{ item | localeLanguageName }} ({{ item }})</span>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n {{ item | localeLanguageName }} ({{ item }})\r\n </ng-template>\r\n </ng-select>\r\n </vdr-form-field>\r\n <vdr-form-field\r\n [label]=\"'settings.global-out-of-stock-threshold' | translate\"\r\n for=\"outOfStockThreshold\"\r\n [tooltip]=\"'settings.global-out-of-stock-threshold-tooltip' | translate\"\r\n >\r\n <input\r\n id=\"outOfStockThreshold\"\r\n type=\"number\"\r\n formControlName=\"outOfStockThreshold\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field\r\n [label]=\"'settings.track-inventory-default' | translate\"\r\n for=\"enabled\"\r\n [tooltip]=\"'catalog.track-inventory-tooltip' | translate\"\r\n >\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n name=\"enabled\"\r\n formControlName=\"trackInventory\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"GlobalSettings\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"global-settings-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n",
1198
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1199
+ styles: ["::ng-deep ng-select .ng-value>span{margin:0!important}::ng-deep ng-select .ng-arrow-wrapper .ng-arrow{margin:0!important}::ng-deep ng-select .ng-select-container>span{margin:0!important}\n"]
1200
+ },] }
1201
+ ];
1202
+ GlobalSettingsComponent.ctorParameters = function () { return [
1203
+ { type: i1.Router },
1204
+ { type: i1.ActivatedRoute },
1205
+ { type: i2.ServerConfigService },
1206
+ { type: i0.ChangeDetectorRef },
1207
+ { type: i2.DataService },
1208
+ { type: forms.FormBuilder },
1209
+ { type: i2.NotificationService }
1210
+ ]; };
1211
+
1212
+ var PaymentMethodDetailComponent = /** @class */ (function (_super) {
1213
+ __extends(PaymentMethodDetailComponent, _super);
1214
+ function PaymentMethodDetailComponent(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
1215
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
1216
+ _this.changeDetector = changeDetector;
1217
+ _this.dataService = dataService;
1218
+ _this.formBuilder = formBuilder;
1219
+ _this.notificationService = notificationService;
1220
+ _this.checkers = [];
1221
+ _this.handlers = [];
1222
+ _this.updatePermission = [i2.Permission.UpdateSettings, i2.Permission.UpdatePaymentMethod];
1223
+ _this.customFields = _this.getCustomFieldConfig('PaymentMethod');
1224
+ _this.detailForm = _this.formBuilder.group({
1225
+ code: ['', forms.Validators.required],
1226
+ name: ['', forms.Validators.required],
1227
+ description: '',
1228
+ enabled: [true, forms.Validators.required],
1229
+ checker: {},
1230
+ handler: {},
1231
+ customFields: _this.formBuilder.group(_this.customFields.reduce(function (hash, field) {
1232
+ var _a;
1233
+ return (Object.assign(Object.assign({}, hash), (_a = {}, _a[field.name] = '', _a)));
1234
+ }, {})),
1235
+ });
1236
+ return _this;
1237
+ }
1238
+ PaymentMethodDetailComponent.prototype.ngOnInit = function () {
1239
+ var _this = this;
1240
+ this.init();
1241
+ rxjs.combineLatest([
1242
+ this.dataService.settings.getPaymentMethodOperations().single$,
1243
+ this.entity$.pipe(operators.take(1)),
1244
+ ]).subscribe(function (_a) {
1245
+ var _b = __read(_a, 2), data = _b[0], entity = _b[1];
1246
+ _this.checkers = data.paymentMethodEligibilityCheckers;
1247
+ _this.handlers = data.paymentMethodHandlers;
1248
+ _this.changeDetector.markForCheck();
1249
+ _this.selectedCheckerDefinition = data.paymentMethodEligibilityCheckers.find(function (c) { return c.code === (entity.checker && entity.checker.code); });
1250
+ _this.selectedHandlerDefinition = data.paymentMethodHandlers.find(function (c) { return c.code === (entity.handler && entity.handler.code); });
1251
+ });
1252
+ };
1253
+ PaymentMethodDetailComponent.prototype.ngOnDestroy = function () {
1254
+ this.destroy();
1255
+ };
1256
+ PaymentMethodDetailComponent.prototype.updateCode = function (currentCode, nameValue) {
1257
+ if (!currentCode) {
1258
+ var codeControl = this.detailForm.get(['code']);
1259
+ if (codeControl && codeControl.pristine) {
1260
+ codeControl.setValue(normalizeString.normalizeString(nameValue, '-'));
1261
+ }
1262
+ }
1263
+ };
1264
+ PaymentMethodDetailComponent.prototype.configArgsIsPopulated = function () {
1265
+ var configArgsGroup = this.detailForm.get('configArgs');
1266
+ if (!configArgsGroup) {
1267
+ return false;
1268
+ }
1269
+ return 0 < Object.keys(configArgsGroup.controls).length;
1270
+ };
1271
+ PaymentMethodDetailComponent.prototype.selectChecker = function (checker) {
1272
+ this.selectedCheckerDefinition = checker;
1273
+ this.selectedChecker = i2.configurableDefinitionToInstance(checker);
1274
+ var formControl = this.detailForm.get('checker');
1275
+ if (formControl) {
1276
+ formControl.clearValidators();
1277
+ formControl.updateValueAndValidity({ onlySelf: true });
1278
+ formControl.patchValue(this.selectedChecker);
1279
+ }
1280
+ this.detailForm.markAsDirty();
1281
+ };
1282
+ PaymentMethodDetailComponent.prototype.selectHandler = function (handler) {
1283
+ this.selectedHandlerDefinition = handler;
1284
+ this.selectedHandler = i2.configurableDefinitionToInstance(handler);
1285
+ var formControl = this.detailForm.get('handler');
1286
+ if (formControl) {
1287
+ formControl.clearValidators();
1288
+ formControl.updateValueAndValidity({ onlySelf: true });
1289
+ formControl.patchValue(this.selectedHandler);
1290
+ }
1291
+ this.detailForm.markAsDirty();
1292
+ };
1293
+ PaymentMethodDetailComponent.prototype.removeChecker = function () {
1294
+ this.selectedChecker = null;
1295
+ this.detailForm.markAsDirty();
1296
+ };
1297
+ PaymentMethodDetailComponent.prototype.removeHandler = function () {
1298
+ this.selectedHandler = null;
1299
+ this.detailForm.markAsDirty();
1300
+ };
1301
+ PaymentMethodDetailComponent.prototype.create = function () {
1302
+ var _this = this;
1303
+ var selectedChecker = this.selectedChecker;
1304
+ var selectedHandler = this.selectedHandler;
1305
+ if (!selectedHandler) {
1306
+ return;
1307
+ }
1308
+ this.entity$
1309
+ .pipe(operators.take(1), operators.mergeMap(function (_a) {
1310
+ var id = _a.id;
1311
+ var formValue = _this.detailForm.value;
1312
+ var input = {
1313
+ name: formValue.name,
1314
+ code: formValue.code,
1315
+ description: formValue.description,
1316
+ enabled: formValue.enabled,
1317
+ checker: selectedChecker
1318
+ ? i2.toConfigurableOperationInput(selectedChecker, formValue.checker)
1319
+ : null,
1320
+ handler: i2.toConfigurableOperationInput(selectedHandler, formValue.handler),
1321
+ customFields: formValue.customFields,
1322
+ };
1323
+ return _this.dataService.settings.createPaymentMethod(input);
1324
+ }))
1325
+ .subscribe(function (data) {
1326
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-create-success'), {
1327
+ entity: 'PaymentMethod',
1328
+ });
1329
+ _this.detailForm.markAsPristine();
1330
+ _this.changeDetector.markForCheck();
1331
+ _this.router.navigate(['../', data.createPaymentMethod.id], { relativeTo: _this.route });
1332
+ }, function (err) {
1333
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-create-error'), {
1334
+ entity: 'PaymentMethod',
1335
+ });
1336
+ });
1337
+ };
1338
+ PaymentMethodDetailComponent.prototype.save = function () {
1339
+ var _this = this;
1340
+ var selectedChecker = this.selectedChecker;
1341
+ var selectedHandler = this.selectedHandler;
1342
+ if (!selectedHandler) {
1343
+ return;
1344
+ }
1345
+ this.entity$
1346
+ .pipe(operators.take(1), operators.mergeMap(function (_a) {
1347
+ var id = _a.id;
1348
+ var formValue = _this.detailForm.value;
1349
+ var input = {
1350
+ id: id,
1351
+ name: formValue.name,
1352
+ code: formValue.code,
1353
+ description: formValue.description,
1354
+ enabled: formValue.enabled,
1355
+ checker: selectedChecker
1356
+ ? i2.toConfigurableOperationInput(selectedChecker, formValue.checker)
1357
+ : null,
1358
+ handler: i2.toConfigurableOperationInput(selectedHandler, formValue.handler),
1359
+ customFields: formValue.customFields,
1360
+ };
1361
+ return _this.dataService.settings.updatePaymentMethod(input);
1362
+ }))
1363
+ .subscribe(function (data) {
1364
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), {
1365
+ entity: 'PaymentMethod',
1366
+ });
1367
+ _this.detailForm.markAsPristine();
1368
+ _this.changeDetector.markForCheck();
1369
+ }, function (err) {
1370
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-update-error'), {
1371
+ entity: 'PaymentMethod',
1372
+ });
1373
+ });
1374
+ };
1375
+ PaymentMethodDetailComponent.prototype.setFormValues = function (paymentMethod) {
1376
+ this.detailForm.patchValue({
1377
+ name: paymentMethod.name,
1378
+ code: paymentMethod.code,
1379
+ description: paymentMethod.description,
1380
+ enabled: paymentMethod.enabled,
1381
+ checker: paymentMethod.checker || {},
1382
+ handler: paymentMethod.handler || {},
1383
+ });
1384
+ if (!this.selectedChecker) {
1385
+ this.selectedChecker = paymentMethod.checker && {
1386
+ code: paymentMethod.checker.code,
1387
+ args: paymentMethod.checker.args.map(function (a) { return (Object.assign(Object.assign({}, a), { value: i2.getConfigArgValue(a.value) })); }),
1388
+ };
1389
+ }
1390
+ if (!this.selectedHandler) {
1391
+ this.selectedHandler = paymentMethod.handler && {
1392
+ code: paymentMethod.handler.code,
1393
+ args: paymentMethod.handler.args.map(function (a) { return (Object.assign(Object.assign({}, a), { value: i2.getConfigArgValue(a.value) })); }),
1394
+ };
1395
+ }
1396
+ if (this.customFields.length) {
1397
+ this.setCustomFieldFormValues(this.customFields, this.detailForm.get('customFields'), paymentMethod);
1398
+ }
1399
+ };
1400
+ return PaymentMethodDetailComponent;
1401
+ }(i2.BaseDetailComponent));
1402
+ PaymentMethodDetailComponent.decorators = [
1403
+ { type: i0.Component, args: [{
1404
+ selector: 'vdr-payment-method-detail',
1405
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"payment-method-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n [disabled]=\"detailForm.pristine || detailForm.invalid\"\r\n (click)=\"create()\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n *vdrIfPermissions=\"updatePermission\"\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n [disabled]=\"detailForm.pristine || detailForm.invalid || !selectedHandler\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\" *ngIf=\"entity$ | async as paymentMethod\">\r\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n (input)=\"updateCode(paymentMethod.code, $event.target.value)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field\r\n [label]=\"'common.code' | translate\"\r\n for=\"code\"\r\n [readOnlyToggle]=\"updatePermission | hasPermission\"\r\n >\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n formControlName=\"code\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-rich-text-editor\r\n formControlName=\"description\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n [label]=\"'common.description' | translate\"\r\n ></vdr-rich-text-editor>\r\n <vdr-form-field [label]=\"'common.enabled' | translate\" for=\"description\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"enabled\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"enabled\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"PaymentMethod\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n\r\n <vdr-custom-detail-component-host\r\n locationId=\"payment-method-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n\r\n <div class=\"clr-row mt4\">\r\n <div class=\"clr-col\">\r\n <label class=\"clr-control-label\">{{ 'settings.payment-eligibility-checker' | translate }}</label>\r\n <vdr-configurable-input\r\n *ngIf=\"selectedChecker && selectedCheckerDefinition\"\r\n [operation]=\"selectedChecker\"\r\n [operationDefinition]=\"selectedCheckerDefinition\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n (remove)=\"removeChecker()\"\r\n formControlName=\"checker\"\r\n ></vdr-configurable-input>\r\n <div *ngIf=\"!selectedChecker || !selectedCheckerDefinition\">\r\n <vdr-dropdown>\r\n <button class=\"btn btn-outline\" vdrDropdownTrigger>\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'common.select' | translate }}\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <button\r\n *ngFor=\"let checker of checkers\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"selectChecker(checker)\"\r\n >\r\n {{ checker.description }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"clr-col\">\r\n <label class=\"clr-control-label\">{{ 'settings.payment-handler' | translate }}</label>\r\n <vdr-configurable-input\r\n *ngIf=\"selectedHandler && selectedHandlerDefinition\"\r\n [operation]=\"selectedHandler\"\r\n [operationDefinition]=\"selectedHandlerDefinition\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n (remove)=\"removeHandler()\"\r\n formControlName=\"handler\"\r\n ></vdr-configurable-input>\r\n <div *ngIf=\"!selectedHandler || !selectedHandlerDefinition\">\r\n <vdr-dropdown>\r\n <button class=\"btn btn-outline\" vdrDropdownTrigger>\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'common.select' | translate }}\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <button\r\n *ngFor=\"let handler of handlers\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"selectHandler(handler)\"\r\n >\r\n {{ handler.description }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n",
1406
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1407
+ styles: [""]
1408
+ },] }
1409
+ ];
1410
+ PaymentMethodDetailComponent.ctorParameters = function () { return [
1411
+ { type: i1.Router },
1412
+ { type: i1.ActivatedRoute },
1413
+ { type: i2.ServerConfigService },
1414
+ { type: i0.ChangeDetectorRef },
1415
+ { type: i2.DataService },
1416
+ { type: forms.FormBuilder },
1417
+ { type: i2.NotificationService }
1418
+ ]; };
1419
+
1420
+ var PaymentMethodListComponent = /** @class */ (function (_super) {
1421
+ __extends(PaymentMethodListComponent, _super);
1422
+ function PaymentMethodListComponent(dataService, router, route, modalService, notificationService) {
1423
+ var _this = _super.call(this, router, route) || this;
1424
+ _this.dataService = dataService;
1425
+ _this.modalService = modalService;
1426
+ _this.notificationService = notificationService;
1427
+ _super.prototype.setQueryFn.call(_this, function () {
1428
+ var _a;
1429
+ var args = [];
1430
+ for (var _i = 0; _i < arguments.length; _i++) {
1431
+ args[_i] = arguments[_i];
1432
+ }
1433
+ return (_a = _this.dataService.settings).getPaymentMethods.apply(_a, __spreadArray([], __read(args))).refetchOnChannelChange();
1434
+ }, function (data) { return data.paymentMethods; });
1435
+ return _this;
1436
+ }
1437
+ PaymentMethodListComponent.prototype.deletePaymentMethod = function (paymentMethodId) {
1438
+ var _this = this;
1439
+ this.showModalAndDelete(paymentMethodId)
1440
+ .pipe(operators.switchMap(function (response) {
1441
+ if (response.result === i2.DeletionResult.DELETED) {
1442
+ return [true];
1443
+ }
1444
+ else {
1445
+ return _this.showModalAndDelete(paymentMethodId, response.message || '').pipe(operators.map(function (r) { return r.result === i2.DeletionResult.DELETED; }));
1446
+ }
1447
+ }),
1448
+ // Refresh the cached facets to reflect the changes
1449
+ operators.switchMap(function () { return _this.dataService.settings.getPaymentMethods(100).single$; }))
1450
+ .subscribe(function () {
1451
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-delete-success'), {
1452
+ entity: 'PaymentMethod',
1453
+ });
1454
+ _this.refresh();
1455
+ }, function (err) {
1456
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-delete-error'), {
1457
+ entity: 'PaymentMethod',
1458
+ });
1459
+ });
1460
+ };
1461
+ PaymentMethodListComponent.prototype.showModalAndDelete = function (paymentMethodId, message) {
1462
+ var _this = this;
1463
+ return this.modalService
1464
+ .dialog({
1465
+ title: ngxTranslateExtractMarker.marker('settings.confirm-delete-payment-method'),
1466
+ body: message,
1467
+ buttons: [
1468
+ { type: 'secondary', label: ngxTranslateExtractMarker.marker('common.cancel') },
1469
+ { type: 'danger', label: ngxTranslateExtractMarker.marker('common.delete'), returnValue: true },
1470
+ ],
1471
+ })
1472
+ .pipe(operators.switchMap(function (res) { return res ? _this.dataService.settings.deletePaymentMethod(paymentMethodId, !!message) : rxjs.EMPTY; }), operators.map(function (res) { return res.deletePaymentMethod; }));
1473
+ };
1474
+ return PaymentMethodListComponent;
1475
+ }(i2.BaseListComponent));
1476
+ PaymentMethodListComponent.decorators = [
1477
+ { type: i0.Component, args: [{
1478
+ selector: 'vdr-payment-method-list',
1479
+ template: "<vdr-action-bar>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"payment-method-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\" [routerLink]=\"['./create']\" *vdrIfPermissions=\"['CreateSettings', 'CreatePaymentMethod']\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-payment-method' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column>{{ 'common.code' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'common.enabled' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-paymentMethod=\"item\">\r\n <td class=\"left align-middle\">{{ paymentMethod.code }}</td>\r\n <td class=\"left align-middle\">{{ paymentMethod.enabled }}</td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', paymentMethod.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deletePaymentMethod(paymentMethod.id)\"\r\n [disabled]=\"!(['DeleteSettings', 'DeletePaymentMethod'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n",
1480
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1481
+ styles: [""]
1482
+ },] }
1483
+ ];
1484
+ PaymentMethodListComponent.ctorParameters = function () { return [
1485
+ { type: i2.DataService },
1486
+ { type: i1.Router },
1487
+ { type: i1.ActivatedRoute },
1488
+ { type: i2.ModalService },
1489
+ { type: i2.NotificationService }
1490
+ ]; };
1491
+
1492
+ /**
1493
+ * A table showing and allowing the setting of all possible CRUD permissions.
1494
+ */
1495
+ var PermissionGridComponent = /** @class */ (function () {
1496
+ function PermissionGridComponent() {
1497
+ this.readonly = false;
1498
+ this.permissionChange = new i0.EventEmitter();
1499
+ }
1500
+ PermissionGridComponent.prototype.ngOnInit = function () {
1501
+ this.buildGrid();
1502
+ };
1503
+ PermissionGridComponent.prototype.setPermission = function (permission, value) {
1504
+ if (!this.readonly) {
1505
+ this.permissionChange.emit({ permission: permission, value: value });
1506
+ }
1507
+ };
1508
+ PermissionGridComponent.prototype.toggleAll = function (defs) {
1509
+ var e_1, _b;
1510
+ var _this = this;
1511
+ var value = defs.some(function (d) { return !_this.activePermissions.includes(d.name); });
1512
+ try {
1513
+ for (var defs_1 = __values(defs), defs_1_1 = defs_1.next(); !defs_1_1.done; defs_1_1 = defs_1.next()) {
1514
+ var def = defs_1_1.value;
1515
+ this.permissionChange.emit({ permission: def.name, value: value });
1516
+ }
1517
+ }
1518
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1519
+ finally {
1520
+ try {
1521
+ if (defs_1_1 && !defs_1_1.done && (_b = defs_1.return)) _b.call(defs_1);
1522
+ }
1523
+ finally { if (e_1) throw e_1.error; }
1524
+ }
1525
+ };
1526
+ PermissionGridComponent.prototype.buildGrid = function () {
1527
+ var e_2, _b;
1528
+ var _this = this;
1529
+ var _a;
1530
+ var crudGroups = new Map();
1531
+ var nonCrud = [];
1532
+ var crudRe = /^(Create|Read|Update|Delete)([a-zA-Z]+)$/;
1533
+ try {
1534
+ for (var _c = __values(this.permissionDefinitions), _d = _c.next(); !_d.done; _d = _c.next()) {
1535
+ var def = _d.value;
1536
+ var isCrud = crudRe.test(def.name);
1537
+ if (isCrud) {
1538
+ var groupName = (_a = def.name.match(crudRe)) === null || _a === void 0 ? void 0 : _a[2];
1539
+ if (groupName) {
1540
+ var existing = crudGroups.get(groupName);
1541
+ if (existing) {
1542
+ existing.push(def);
1543
+ }
1544
+ else {
1545
+ crudGroups.set(groupName, [def]);
1546
+ }
1547
+ }
1548
+ }
1549
+ else if (def.assignable) {
1550
+ nonCrud.push(def);
1551
+ }
1552
+ }
1553
+ }
1554
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
1555
+ finally {
1556
+ try {
1557
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
1558
+ }
1559
+ finally { if (e_2) throw e_2.error; }
1560
+ }
1561
+ this.gridData = __spreadArray(__spreadArray([], __read(nonCrud.map(function (d) { return ({
1562
+ label: d.name,
1563
+ description: d.description,
1564
+ permissions: [d],
1565
+ }); }))), __read(Array.from(crudGroups.entries()).map(function (_b) {
1566
+ var _c = __read(_b, 2), label = _c[0], defs = _c[1];
1567
+ return {
1568
+ label: label,
1569
+ description: _this.extractCrudDescription(defs[0]),
1570
+ permissions: defs,
1571
+ };
1572
+ })));
1573
+ };
1574
+ PermissionGridComponent.prototype.extractCrudDescription = function (def) {
1575
+ return def.description.replace(/Grants permission to [\w]+/, 'Grants permissions on');
1576
+ };
1577
+ return PermissionGridComponent;
1578
+ }());
1579
+ PermissionGridComponent.decorators = [
1580
+ { type: i0.Component, args: [{
1581
+ selector: 'vdr-permission-grid',
1582
+ template: "<table class=\"table\">\r\n <tbody>\r\n <tr *ngFor=\"let section of gridData\">\r\n <td class=\"permission-group left\">\r\n <div><strong>{{ section.label | translate }}</strong></div>\r\n <small>{{ section.description | translate }}</small><br>\r\n <button *ngIf=\"1 < section.permissions.length && !readonly\" class=\"btn btn-sm btn-link\" (click)=\"toggleAll(section.permissions)\">\r\n {{ 'common.toggle-all' | translate }}\r\n </button>\r\n </td>\r\n <td *ngFor=\"let permission of section.permissions\" [attr.colspan]=\"section.permissions.length === 1 ? 4 : 1\">\r\n <vdr-select-toggle\r\n size=\"small\"\r\n [title]=\"permission.description\"\r\n [label]=\"permission.name\"\r\n [disabled]=\"readonly\"\r\n [selected]=\"activePermissions?.includes(permission.name)\"\r\n (selectedChange)=\"setPermission(permission.name, $event)\"\r\n ></vdr-select-toggle>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n",
1583
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1584
+ styles: ["td.permission-group{max-width:300px;background-color:var(--color-component-bg-200)}\n"]
1585
+ },] }
1586
+ ];
1587
+ PermissionGridComponent.propDecorators = {
1588
+ permissionDefinitions: [{ type: i0.Input }],
1589
+ activePermissions: [{ type: i0.Input }],
1590
+ readonly: [{ type: i0.Input }],
1591
+ permissionChange: [{ type: i0.Output }]
1592
+ };
1593
+
1594
+ var ProfileComponent = /** @class */ (function (_super) {
1595
+ __extends(ProfileComponent, _super);
1596
+ function ProfileComponent(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
1597
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
1598
+ _this.changeDetector = changeDetector;
1599
+ _this.dataService = dataService;
1600
+ _this.formBuilder = formBuilder;
1601
+ _this.notificationService = notificationService;
1602
+ _this.customFields = _this.getCustomFieldConfig('Administrator');
1603
+ _this.detailForm = _this.formBuilder.group({
1604
+ emailAddress: ['', forms.Validators.required],
1605
+ firstName: ['', forms.Validators.required],
1606
+ lastName: ['', forms.Validators.required],
1607
+ password: [''],
1608
+ customFields: _this.formBuilder.group(_this.customFields.reduce(function (hash, field) {
1609
+ var _a;
1610
+ return (Object.assign(Object.assign({}, hash), (_a = {}, _a[field.name] = '', _a)));
1611
+ }, {})),
1612
+ });
1613
+ return _this;
1614
+ }
1615
+ ProfileComponent.prototype.ngOnInit = function () {
1616
+ this.init();
1617
+ };
1618
+ ProfileComponent.prototype.ngOnDestroy = function () {
1619
+ this.destroy();
1620
+ };
1621
+ ProfileComponent.prototype.save = function () {
1622
+ var _this = this;
1623
+ this.entity$
1624
+ .pipe(operators.take(1), operators.mergeMap(function (_a) {
1625
+ var id = _a.id;
1626
+ var formValue = _this.detailForm.value;
1627
+ var administrator = {
1628
+ emailAddress: formValue.emailAddress,
1629
+ firstName: formValue.firstName,
1630
+ lastName: formValue.lastName,
1631
+ password: formValue.password,
1632
+ customFields: formValue.customFields,
1633
+ };
1634
+ return _this.dataService.administrator.updateActiveAdministrator(administrator);
1635
+ }))
1636
+ .subscribe(function (data) {
1637
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), {
1638
+ entity: 'Administrator',
1639
+ });
1640
+ _this.detailForm.markAsPristine();
1641
+ _this.changeDetector.markForCheck();
1642
+ }, function (err) {
1643
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-update-error'), {
1644
+ entity: 'Administrator',
1645
+ });
1646
+ });
1647
+ };
1648
+ ProfileComponent.prototype.setFormValues = function (administrator, languageCode) {
1649
+ this.detailForm.patchValue({
1650
+ emailAddress: administrator.emailAddress,
1651
+ firstName: administrator.firstName,
1652
+ lastName: administrator.lastName,
1653
+ });
1654
+ if (this.customFields.length) {
1655
+ this.setCustomFieldFormValues(this.customFields, this.detailForm.get('customFields'), administrator);
1656
+ }
1657
+ };
1658
+ return ProfileComponent;
1659
+ }(i2.BaseDetailComponent));
1660
+ ProfileComponent.decorators = [
1661
+ { type: i0.Component, args: [{
1662
+ selector: 'vdr-profile',
1663
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"administrator-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n [disabled]=\"detailForm.invalid || detailForm.pristine\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'settings.email-address' | translate\" for=\"emailAddress\">\r\n <input id=\"emailAddress\" type=\"text\" formControlName=\"emailAddress\"/>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.first-name' | translate\" for=\"firstName\">\r\n <input id=\"firstName\" type=\"text\" formControlName=\"firstName\"/>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.last-name' | translate\" for=\"lastName\">\r\n <input id=\"lastName\" type=\"text\" formControlName=\"lastName\"/>\r\n </vdr-form-field>\r\n <vdr-form-field *ngIf=\"isNew$ | async\" [label]=\"'settings.password' | translate\" for=\"password\">\r\n <input id=\"password\" type=\"password\" formControlName=\"password\"/>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.password' | translate\" for=\"password\" [readOnlyToggle]=\"true\">\r\n <input id=\"password\" type=\"password\" formControlName=\"password\"/>\r\n </vdr-form-field>\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Administrator\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"administrator-profile\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n",
1664
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1665
+ styles: [""]
1666
+ },] }
1667
+ ];
1668
+ ProfileComponent.ctorParameters = function () { return [
1669
+ { type: i1.Router },
1670
+ { type: i1.ActivatedRoute },
1671
+ { type: i2.ServerConfigService },
1672
+ { type: i0.ChangeDetectorRef },
1673
+ { type: i2.DataService },
1674
+ { type: forms.FormBuilder },
1675
+ { type: i2.NotificationService }
1676
+ ]; };
1677
+
1678
+ var RoleDetailComponent = /** @class */ (function (_super) {
1679
+ __extends(RoleDetailComponent, _super);
1680
+ function RoleDetailComponent(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
1681
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
1682
+ _this.changeDetector = changeDetector;
1683
+ _this.dataService = dataService;
1684
+ _this.formBuilder = formBuilder;
1685
+ _this.notificationService = notificationService;
1686
+ _this.detailForm = _this.formBuilder.group({
1687
+ code: ['', forms.Validators.required],
1688
+ description: ['', forms.Validators.required],
1689
+ channelIds: [],
1690
+ permissions: [],
1691
+ });
1692
+ return _this;
1693
+ }
1694
+ RoleDetailComponent.prototype.ngOnInit = function () {
1695
+ this.init();
1696
+ this.role$ = this.entity$;
1697
+ this.permissionDefinitions = this.serverConfigService.getPermissionDefinitions();
1698
+ };
1699
+ RoleDetailComponent.prototype.ngOnDestroy = function () {
1700
+ this.destroy();
1701
+ };
1702
+ RoleDetailComponent.prototype.updateCode = function (nameValue) {
1703
+ var codeControl = this.detailForm.get(['code']);
1704
+ if (codeControl && codeControl.pristine) {
1705
+ codeControl.setValue(normalizeString.normalizeString(nameValue, '-'));
1706
+ }
1707
+ };
1708
+ RoleDetailComponent.prototype.setPermission = function (change) {
1709
+ var permissionsControl = this.detailForm.get('permissions');
1710
+ if (permissionsControl) {
1711
+ var currentPermissions = permissionsControl.value;
1712
+ var newValue = change.value === true
1713
+ ? unique.unique(__spreadArray(__spreadArray([], __read(currentPermissions)), [change.permission]))
1714
+ : currentPermissions.filter(function (p) { return p !== change.permission; });
1715
+ permissionsControl.setValue(newValue);
1716
+ permissionsControl.markAsDirty();
1717
+ }
1718
+ };
1719
+ RoleDetailComponent.prototype.create = function () {
1720
+ var _this = this;
1721
+ var formValue = this.detailForm.value;
1722
+ var role = formValue;
1723
+ this.dataService.administrator.createRole(role).subscribe(function (data) {
1724
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-create-success'), { entity: 'Role' });
1725
+ _this.detailForm.markAsPristine();
1726
+ _this.changeDetector.markForCheck();
1727
+ _this.router.navigate(['../', data.createRole.id], { relativeTo: _this.route });
1728
+ }, function (err) {
1729
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-create-error'), {
1730
+ entity: 'Role',
1731
+ });
1732
+ });
1733
+ };
1734
+ RoleDetailComponent.prototype.save = function () {
1735
+ var _this = this;
1736
+ this.role$
1737
+ .pipe(operators.take(1), operators.mergeMap(function (_a) {
1738
+ var id = _a.id;
1739
+ var formValue = _this.detailForm.value;
1740
+ var role = Object.assign({ id: id }, formValue);
1741
+ return _this.dataService.administrator.updateRole(role);
1742
+ }))
1743
+ .subscribe(function (data) {
1744
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), { entity: 'Role' });
1745
+ _this.detailForm.markAsPristine();
1746
+ _this.changeDetector.markForCheck();
1747
+ }, function (err) {
1748
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-update-error'), {
1749
+ entity: 'Role',
1750
+ });
1751
+ });
1752
+ };
1753
+ RoleDetailComponent.prototype.setFormValues = function (role, languageCode) {
1754
+ this.detailForm.patchValue({
1755
+ description: role.description,
1756
+ code: role.code,
1757
+ channelIds: role.channels.map(function (c) { return c.id; }),
1758
+ permissions: role.permissions,
1759
+ });
1760
+ // This was required to get the channel selector component to
1761
+ // correctly display its contents. A while spent debugging the root
1762
+ // cause did not yield a solution, therefore this next line.
1763
+ this.changeDetector.detectChanges();
1764
+ };
1765
+ return RoleDetailComponent;
1766
+ }(i2.BaseDetailComponent));
1767
+ RoleDetailComponent.decorators = [
1768
+ { type: i0.Component, args: [{
1769
+ selector: 'vdr-role-detail',
1770
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"role-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"detailForm.invalid || detailForm.pristine\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"'UpdateAdministrator'\"\r\n [disabled]=\"detailForm.invalid || detailForm.pristine\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.description' | translate\" for=\"description\">\r\n <input\r\n id=\"description\"\r\n type=\"text\"\r\n formControlName=\"description\"\r\n [readonly]=\"!('UpdateAdministrator' | hasPermission)\"\r\n (input)=\"updateCode($event.target.value)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field\r\n [label]=\"'common.code' | translate\"\r\n for=\"code\"\r\n [readOnlyToggle]=\"'UpdateAdministrator' | hasPermission\"\r\n >\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n formControlName=\"code\"\r\n [readonly]=\"!('UpdateAdministrator' | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.channel' | translate\">\r\n <vdr-channel-assignment-control\r\n formControlName=\"channelIds\"\r\n [vdrDisabled]=\"!('UpdateAdministrator' | hasPermission)\"\r\n ></vdr-channel-assignment-control>\r\n </vdr-form-field>\r\n <label>{{ 'settings.permissions' | translate }}</label>\r\n <vdr-permission-grid\r\n [permissionDefinitions]=\"permissionDefinitions\"\r\n [activePermissions]=\"detailForm.get('permissions')?.value\"\r\n (permissionChange)=\"setPermission($event)\"\r\n [readonly]=\"!('UpdateAdministrator' | hasPermission)\"\r\n ></vdr-permission-grid>\r\n</form>\r\n",
1771
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1772
+ styles: [""]
1773
+ },] }
1774
+ ];
1775
+ RoleDetailComponent.ctorParameters = function () { return [
1776
+ { type: i1.Router },
1777
+ { type: i1.ActivatedRoute },
1778
+ { type: i2.ServerConfigService },
1779
+ { type: i0.ChangeDetectorRef },
1780
+ { type: i2.DataService },
1781
+ { type: forms.FormBuilder },
1782
+ { type: i2.NotificationService }
1783
+ ]; };
1784
+
1785
+ var RoleListComponent = /** @class */ (function (_super) {
1786
+ __extends(RoleListComponent, _super);
1787
+ function RoleListComponent(modalService, notificationService, dataService, router, route) {
1788
+ var _this = _super.call(this, router, route) || this;
1789
+ _this.modalService = modalService;
1790
+ _this.notificationService = notificationService;
1791
+ _this.dataService = dataService;
1792
+ _this.initialLimit = 3;
1793
+ _this.displayLimit = {};
1794
+ _super.prototype.setQueryFn.call(_this, function () {
1795
+ var _a;
1796
+ var args = [];
1797
+ for (var _i = 0; _i < arguments.length; _i++) {
1798
+ args[_i] = arguments[_i];
1799
+ }
1800
+ return (_a = _this.dataService.administrator).getRoles.apply(_a, __spreadArray([], __read(args)));
1801
+ }, function (data) { return data.roles; });
1802
+ return _this;
1803
+ }
1804
+ RoleListComponent.prototype.ngOnInit = function () {
1805
+ _super.prototype.ngOnInit.call(this);
1806
+ this.visibleRoles$ = this.items$.pipe(operators.map(function (roles) { return roles.filter(function (role) { return role.code !== sharedConstants.CUSTOMER_ROLE_CODE; }); }));
1807
+ };
1808
+ RoleListComponent.prototype.toggleDisplayLimit = function (role) {
1809
+ if (this.displayLimit[role.id] === role.permissions.length) {
1810
+ this.displayLimit[role.id] = this.initialLimit;
1811
+ }
1812
+ else {
1813
+ this.displayLimit[role.id] = role.permissions.length;
1814
+ }
1815
+ };
1816
+ RoleListComponent.prototype.isDefaultRole = function (role) {
1817
+ return role.code === sharedConstants.SUPER_ADMIN_ROLE_CODE || role.code === sharedConstants.CUSTOMER_ROLE_CODE;
1818
+ };
1819
+ RoleListComponent.prototype.deleteRole = function (id) {
1820
+ var _this = this;
1821
+ this.modalService
1822
+ .dialog({
1823
+ title: ngxTranslateExtractMarker.marker('settings.confirm-delete-role'),
1824
+ buttons: [
1825
+ { type: 'secondary', label: ngxTranslateExtractMarker.marker('common.cancel') },
1826
+ { type: 'danger', label: ngxTranslateExtractMarker.marker('common.delete'), returnValue: true },
1827
+ ],
1828
+ })
1829
+ .pipe(operators.switchMap(function (response) { return (response ? _this.dataService.administrator.deleteRole(id) : rxjs.EMPTY); }))
1830
+ .subscribe(function () {
1831
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-delete-success'), {
1832
+ entity: 'Role',
1833
+ });
1834
+ _this.refresh();
1835
+ }, function (err) {
1836
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-delete-error'), {
1837
+ entity: 'Role',
1838
+ });
1839
+ });
1840
+ };
1841
+ return RoleListComponent;
1842
+ }(i2.BaseListComponent));
1843
+ RoleListComponent.decorators = [
1844
+ { type: i0.Component, args: [{
1845
+ selector: 'vdr-role-list',
1846
+ template: "<vdr-action-bar>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"role-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\" [routerLink]=\"['./create']\" *vdrIfPermissions=\"'CreateAdministrator'\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-role' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"visibleRoles$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column>{{ 'common.description' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'common.code' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'settings.channel' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'settings.permissions' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-role=\"item\">\r\n <td class=\"left align-middle\">{{ role.description }}</td>\r\n <td class=\"left align-middle\"><span *ngIf=\"!isDefaultRole(role)\">{{ role.code }}</span></td>\r\n <td class=\"left align-middle\">\r\n <ng-container *ngIf=\"!isDefaultRole(role)\">\r\n <vdr-chip *ngFor=\"let channel of role.channels\">\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </vdr-chip>\r\n </ng-container>\r\n </td>\r\n <td class=\"left align-middle\">\r\n <ng-container *ngIf=\"!isDefaultRole(role); else defaultRole\">\r\n <vdr-chip *ngFor=\"let permission of role.permissions | slice: 0:displayLimit[role.id] || 3\">{{ permission }}</vdr-chip>\r\n <button\r\n class=\"btn btn-sm btn-secondary btn-icon\"\r\n *ngIf=\"role.permissions.length > initialLimit\"\r\n (click)=\"toggleDisplayLimit(role)\"\r\n >\r\n <ng-container *ngIf=\"(displayLimit[role.id] || 0) < role.permissions.length; else collapse\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ role.permissions.length - initialLimit }}\r\n </ng-container>\r\n <ng-template #collapse>\r\n <clr-icon shape=\"minus\"></clr-icon>\r\n </ng-template>\r\n </button>\r\n </ng-container>\r\n <ng-template #defaultRole>\r\n <span class=\"default-role-label\">{{ 'settings.default-role-label' | translate }}</span>\r\n </ng-template>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n *ngIf=\"!isDefaultRole(role)\"\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', role.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger [disabled]=\"isDefaultRole(role)\">\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deleteRole(role.id)\"\r\n [disabled]=\"!('SuperAdmin' | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n",
1847
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1848
+ styles: [".default-role-label{color:var(--color-grey-400)}\n"]
1849
+ },] }
1850
+ ];
1851
+ RoleListComponent.ctorParameters = function () { return [
1852
+ { type: i2.ModalService },
1853
+ { type: i2.NotificationService },
1854
+ { type: i2.DataService },
1855
+ { type: i1.Router },
1856
+ { type: i1.ActivatedRoute }
1857
+ ]; };
1858
+
1859
+ var ShippingEligibilityTestResultComponent = /** @class */ (function () {
1860
+ function ShippingEligibilityTestResultComponent() {
1861
+ this.okToRun = false;
1862
+ this.testDataUpdated = false;
1863
+ this.runTest = new i0.EventEmitter();
1864
+ }
1865
+ return ShippingEligibilityTestResultComponent;
1866
+ }());
1867
+ ShippingEligibilityTestResultComponent.decorators = [
1868
+ { type: i0.Component, args: [{
1869
+ selector: 'vdr-shipping-eligibility-test-result',
1870
+ template: "<div class=\"test-result card\">\r\n <div class=\"card-header\">\r\n {{ 'settings.test-result' | translate }}\r\n </div>\r\n <div class=\"card-block\" *ngFor=\"let quote of testResult\">\r\n <div class=\"result-details\" [class.stale]=\"testDataUpdated\">\r\n <vdr-labeled-data [label]=\"'settings.shipping-method' | translate\">\r\n {{ quote.name }}\r\n </vdr-labeled-data>\r\n <div class=\"price-row\">\r\n <vdr-labeled-data [label]=\"'common.price' | translate\">\r\n {{ quote.price | localeCurrency: currencyCode }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'common.price-with-tax' | translate\">\r\n {{ quote.priceWithTax | localeCurrency: currencyCode }}\r\n </vdr-labeled-data>\r\n </div>\r\n <vdr-object-tree *ngIf=\"quote.metadata\" [value]=\"quote.metadata\"></vdr-object-tree>\r\n </div>\r\n </div>\r\n <div class=\"card-block\" *ngIf=\"testResult?.length === 0\">\r\n <clr-icon shape=\"ban\" class=\"is-solid error\"></clr-icon>\r\n {{ 'settings.no-eligible-shipping-methods' | translate }}\r\n </div>\r\n <div class=\"card-footer\">\r\n <button class=\"btn btn-secondary\" (click)=\"runTest.emit()\" [disabled]=\"!okToRun\">\r\n {{ 'settings.test-shipping-methods' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n",
1871
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1872
+ styles: [".result-details{transition:opacity .2s}.result-details.stale{opacity:.5}.price-row{display:flex}.price-row>*:not(:first-child){margin-left:24px}clr-icon.error{color:var(--color-error-500)}\n"]
1873
+ },] }
1874
+ ];
1875
+ ShippingEligibilityTestResultComponent.propDecorators = {
1876
+ testResult: [{ type: i0.Input }],
1877
+ okToRun: [{ type: i0.Input }],
1878
+ testDataUpdated: [{ type: i0.Input }],
1879
+ currencyCode: [{ type: i0.Input }],
1880
+ runTest: [{ type: i0.Output }]
1881
+ };
1882
+
1883
+ var ShippingMethodDetailComponent = /** @class */ (function (_super) {
1884
+ __extends(ShippingMethodDetailComponent, _super);
1885
+ function ShippingMethodDetailComponent(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
1886
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
1887
+ _this.changeDetector = changeDetector;
1888
+ _this.dataService = dataService;
1889
+ _this.formBuilder = formBuilder;
1890
+ _this.notificationService = notificationService;
1891
+ _this.checkers = [];
1892
+ _this.calculators = [];
1893
+ _this.fulfillmentHandlers = [];
1894
+ _this.testDataUpdated = false;
1895
+ _this.updatePermission = [i2.Permission.UpdateSettings, i2.Permission.UpdateShippingMethod];
1896
+ _this.fetchTestResult$ = new rxjs.Subject();
1897
+ _this.customFields = _this.getCustomFieldConfig('ShippingMethod');
1898
+ _this.detailForm = _this.formBuilder.group({
1899
+ code: ['', forms.Validators.required],
1900
+ name: ['', forms.Validators.required],
1901
+ description: '',
1902
+ fulfillmentHandler: ['', forms.Validators.required],
1903
+ checker: {},
1904
+ calculator: {},
1905
+ customFields: _this.formBuilder.group(_this.customFields.reduce(function (hash, field) {
1906
+ var _e;
1907
+ return (Object.assign(Object.assign({}, hash), (_e = {}, _e[field.name] = '', _e)));
1908
+ }, {})),
1909
+ });
1910
+ return _this;
1911
+ }
1912
+ ShippingMethodDetailComponent.prototype.ngOnInit = function () {
1913
+ var _this = this;
1914
+ this.init();
1915
+ rxjs.combineLatest([
1916
+ this.dataService.shippingMethod.getShippingMethodOperations().single$,
1917
+ this.entity$.pipe(operators.take(1)),
1918
+ ]).subscribe(function (_e) {
1919
+ var _f = __read(_e, 2), data = _f[0], entity = _f[1];
1920
+ _this.checkers = data.shippingEligibilityCheckers;
1921
+ _this.calculators = data.shippingCalculators;
1922
+ _this.fulfillmentHandlers = data.fulfillmentHandlers;
1923
+ _this.changeDetector.markForCheck();
1924
+ _this.selectedCheckerDefinition = data.shippingEligibilityCheckers.find(function (c) { return c.code === (entity.checker && entity.checker.code); });
1925
+ _this.selectedCalculatorDefinition = data.shippingCalculators.find(function (c) { return c.code === (entity.calculator && entity.calculator.code); });
1926
+ });
1927
+ this.activeChannel$ = this.dataService.settings
1928
+ .getActiveChannel()
1929
+ .mapStream(function (data) { return data.activeChannel; });
1930
+ this.testResult$ = this.fetchTestResult$.pipe(operators.switchMap(function (_e) {
1931
+ var _f = __read(_e, 2), address = _f[0], lines = _f[1];
1932
+ if (!_this.selectedChecker || !_this.selectedCalculator) {
1933
+ return rxjs.of(undefined);
1934
+ }
1935
+ var formValue = _this.detailForm.value;
1936
+ var input = {
1937
+ shippingAddress: Object.assign(Object.assign({}, address), { streetLine1: 'test' }),
1938
+ lines: lines.map(function (l) { return ({ productVariantId: l.id, quantity: l.quantity }); }),
1939
+ checker: i2.toConfigurableOperationInput(_this.selectedChecker, formValue.checker),
1940
+ calculator: i2.toConfigurableOperationInput(_this.selectedCalculator, formValue.calculator),
1941
+ };
1942
+ return _this.dataService.shippingMethod
1943
+ .testShippingMethod(input)
1944
+ .mapSingle(function (result) { return result.testShippingMethod; });
1945
+ }));
1946
+ // tslint:disable:no-non-null-assertion
1947
+ rxjs.merge(this.detailForm.get(['checker']).valueChanges, this.detailForm.get(['calculator']).valueChanges)
1948
+ .pipe(operators.takeUntil(this.destroy$))
1949
+ .subscribe(function () { return (_this.testDataUpdated = true); });
1950
+ // tslint:enable:no-non-null-assertion
1951
+ };
1952
+ ShippingMethodDetailComponent.prototype.ngOnDestroy = function () {
1953
+ this.destroy();
1954
+ };
1955
+ ShippingMethodDetailComponent.prototype.updateCode = function (currentCode, nameValue) {
1956
+ if (!currentCode) {
1957
+ var codeControl = this.detailForm.get(['code']);
1958
+ if (codeControl && codeControl.pristine) {
1959
+ codeControl.setValue(normalizeString.normalizeString(nameValue, '-'));
1960
+ }
1961
+ }
1962
+ };
1963
+ ShippingMethodDetailComponent.prototype.selectChecker = function (checker) {
1964
+ this.selectedCheckerDefinition = checker;
1965
+ this.selectedChecker = i2.configurableDefinitionToInstance(checker);
1966
+ var formControl = this.detailForm.get('checker');
1967
+ if (formControl) {
1968
+ formControl.clearValidators();
1969
+ formControl.updateValueAndValidity({ onlySelf: true });
1970
+ formControl.patchValue(this.selectedChecker);
1971
+ }
1972
+ this.detailForm.markAsDirty();
1973
+ };
1974
+ ShippingMethodDetailComponent.prototype.selectCalculator = function (calculator) {
1975
+ this.selectedCalculatorDefinition = calculator;
1976
+ this.selectedCalculator = i2.configurableDefinitionToInstance(calculator);
1977
+ var formControl = this.detailForm.get('calculator');
1978
+ if (formControl) {
1979
+ formControl.clearValidators();
1980
+ formControl.updateValueAndValidity({ onlySelf: true });
1981
+ formControl.patchValue(this.selectedCalculator);
1982
+ }
1983
+ this.detailForm.markAsDirty();
1984
+ };
1985
+ ShippingMethodDetailComponent.prototype.create = function () {
1986
+ var _this = this;
1987
+ var selectedChecker = this.selectedChecker;
1988
+ var selectedCalculator = this.selectedCalculator;
1989
+ if (!selectedChecker || !selectedCalculator) {
1990
+ return;
1991
+ }
1992
+ rxjs.combineLatest([this.entity$, this.languageCode$])
1993
+ .pipe(operators.take(1), operators.mergeMap(function (_e) {
1994
+ var _f = __read(_e, 2), shippingMethod = _f[0], languageCode = _f[1];
1995
+ var formValue = _this.detailForm.value;
1996
+ var input = Object.assign(Object.assign({}, _this.getUpdatedShippingMethod(shippingMethod, _this.detailForm, languageCode)), { checker: i2.toConfigurableOperationInput(selectedChecker, formValue.checker), calculator: i2.toConfigurableOperationInput(selectedCalculator, formValue.calculator) });
1997
+ return _this.dataService.shippingMethod.createShippingMethod(input);
1998
+ }))
1999
+ .subscribe(function (data) {
2000
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-create-success'), {
2001
+ entity: 'ShippingMethod',
2002
+ });
2003
+ _this.detailForm.markAsPristine();
2004
+ _this.changeDetector.markForCheck();
2005
+ _this.router.navigate(['../', data.createShippingMethod.id], { relativeTo: _this.route });
2006
+ }, function (err) {
2007
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-create-error'), {
2008
+ entity: 'ShippingMethod',
2009
+ });
2010
+ });
2011
+ };
2012
+ ShippingMethodDetailComponent.prototype.save = function () {
2013
+ var _this = this;
2014
+ var selectedChecker = this.selectedChecker;
2015
+ var selectedCalculator = this.selectedCalculator;
2016
+ if (!selectedChecker || !selectedCalculator) {
2017
+ return;
2018
+ }
2019
+ rxjs.combineLatest([this.entity$, this.languageCode$])
2020
+ .pipe(operators.take(1), operators.mergeMap(function (_e) {
2021
+ var _f = __read(_e, 2), shippingMethod = _f[0], languageCode = _f[1];
2022
+ var formValue = _this.detailForm.value;
2023
+ var input = Object.assign(Object.assign({}, _this.getUpdatedShippingMethod(shippingMethod, _this.detailForm, languageCode)), { checker: i2.toConfigurableOperationInput(selectedChecker, formValue.checker), calculator: i2.toConfigurableOperationInput(selectedCalculator, formValue.calculator) });
2024
+ return _this.dataService.shippingMethod.updateShippingMethod(input);
2025
+ }))
2026
+ .subscribe(function (data) {
2027
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), {
2028
+ entity: 'ShippingMethod',
2029
+ });
2030
+ _this.detailForm.markAsPristine();
2031
+ _this.changeDetector.markForCheck();
2032
+ }, function (err) {
2033
+ // tslint:disable-next-line:no-console
2034
+ console.error(err);
2035
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-update-error'), {
2036
+ entity: 'ShippingMethod',
2037
+ });
2038
+ });
2039
+ };
2040
+ ShippingMethodDetailComponent.prototype.setTestOrderLines = function (event) {
2041
+ this.testOrderLines = event;
2042
+ this.testDataUpdated = true;
2043
+ };
2044
+ ShippingMethodDetailComponent.prototype.setTestAddress = function (event) {
2045
+ this.testAddress = event;
2046
+ this.testDataUpdated = true;
2047
+ };
2048
+ ShippingMethodDetailComponent.prototype.allTestDataPresent = function () {
2049
+ return !!(this.testAddress &&
2050
+ this.testOrderLines &&
2051
+ this.testOrderLines.length &&
2052
+ this.selectedChecker &&
2053
+ this.selectedCalculator);
2054
+ };
2055
+ ShippingMethodDetailComponent.prototype.runTest = function () {
2056
+ this.fetchTestResult$.next([this.testAddress, this.testOrderLines]);
2057
+ this.testDataUpdated = false;
2058
+ };
2059
+ /**
2060
+ * Given a ShippingMethod and the value of the detailForm, this method creates an updated copy which
2061
+ * can then be persisted to the API.
2062
+ */
2063
+ ShippingMethodDetailComponent.prototype.getUpdatedShippingMethod = function (shippingMethod, formGroup, languageCode) {
2064
+ var formValue = formGroup.value;
2065
+ var input = i2.createUpdatedTranslatable({
2066
+ translatable: shippingMethod,
2067
+ updatedFields: formValue,
2068
+ customFieldConfig: this.customFields,
2069
+ languageCode: languageCode,
2070
+ defaultTranslation: {
2071
+ languageCode: languageCode,
2072
+ name: shippingMethod.name || '',
2073
+ description: shippingMethod.description || '',
2074
+ },
2075
+ });
2076
+ return Object.assign(Object.assign({}, input), { fulfillmentHandler: formValue.fulfillmentHandler });
2077
+ };
2078
+ ShippingMethodDetailComponent.prototype.setFormValues = function (shippingMethod, languageCode) {
2079
+ var _a, _b, _c, _d;
2080
+ var currentTranslation = i2.findTranslation(shippingMethod, languageCode);
2081
+ this.detailForm.patchValue({
2082
+ name: (_a = currentTranslation === null || currentTranslation === void 0 ? void 0 : currentTranslation.name) !== null && _a !== void 0 ? _a : '',
2083
+ description: (_b = currentTranslation === null || currentTranslation === void 0 ? void 0 : currentTranslation.description) !== null && _b !== void 0 ? _b : '',
2084
+ code: shippingMethod.code,
2085
+ fulfillmentHandler: shippingMethod.fulfillmentHandlerCode,
2086
+ checker: shippingMethod.checker || {},
2087
+ calculator: shippingMethod.calculator || {},
2088
+ });
2089
+ if (!this.selectedChecker) {
2090
+ this.selectedChecker = shippingMethod.checker && {
2091
+ code: shippingMethod.checker.code,
2092
+ args: shippingMethod.checker.args.map(function (a) { return (Object.assign(Object.assign({}, a), { value: i2.getConfigArgValue(a.value) })); }),
2093
+ };
2094
+ }
2095
+ if (!this.selectedCalculator) {
2096
+ this.selectedCalculator = shippingMethod.calculator && {
2097
+ code: (_c = shippingMethod.calculator) === null || _c === void 0 ? void 0 : _c.code,
2098
+ args: (_d = shippingMethod.calculator) === null || _d === void 0 ? void 0 : _d.args.map(function (a) { return (Object.assign(Object.assign({}, a), { value: i2.getConfigArgValue(a.value) })); }),
2099
+ };
2100
+ }
2101
+ if (this.customFields.length) {
2102
+ this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), shippingMethod, currentTranslation);
2103
+ }
2104
+ };
2105
+ return ShippingMethodDetailComponent;
2106
+ }(i2.BaseDetailComponent));
2107
+ ShippingMethodDetailComponent.decorators = [
2108
+ { type: i0.Component, args: [{
2109
+ selector: 'vdr-shipping-method-detail',
2110
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n <vdr-language-selector\r\n [disabled]=\"isNew$ | async\"\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"languageCode$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n ></vdr-language-selector>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"shipping-method-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"detailForm.pristine || detailForm.invalid || !selectedChecker || !selectedCalculator\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"updatePermission\"\r\n [disabled]=\"\r\n detailForm.pristine || detailForm.invalid || !selectedChecker || !selectedCalculator\r\n \"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\" *ngIf=\"entity$ | async as shippingMethod\">\r\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n (input)=\"updateCode(shippingMethod.code, $event.target.value)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field\r\n [label]=\"'common.code' | translate\"\r\n for=\"code\"\r\n [readOnlyToggle]=\"updatePermission | hasPermission\"\r\n >\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n formControlName=\"code\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-rich-text-editor\r\n formControlName=\"description\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n [label]=\"'common.description' | translate\"\r\n ></vdr-rich-text-editor>\r\n <vdr-form-field [label]=\"'settings.fulfillment-handler' | translate\" for=\"fulfillmentHandler\" class=\"mb2\">\r\n <select\r\n name=\"fulfillmentHandler\"\r\n formControlName=\"fulfillmentHandler\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let handler of fulfillmentHandlers\" [value]=\"handler.code\">\r\n {{ handler.code }}: {{ handler.description }}\r\n </option>\r\n </select>\r\n </vdr-form-field>\r\n\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"ShippingMethod\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n\r\n <vdr-custom-detail-component-host\r\n locationId=\"shipping-method-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n\r\n <div class=\"clr-row mt4\">\r\n <div class=\"clr-col\">\r\n <label class=\"clr-control-label\">{{ 'settings.shipping-eligibility-checker' | translate }}</label>\r\n <vdr-configurable-input\r\n *ngIf=\"selectedChecker && selectedCheckerDefinition\"\r\n [operation]=\"selectedChecker\"\r\n [operationDefinition]=\"selectedCheckerDefinition\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n (remove)=\"selectedChecker = null\"\r\n formControlName=\"checker\"\r\n ></vdr-configurable-input>\r\n <div *ngIf=\"!selectedChecker || !selectedCheckerDefinition\">\r\n <vdr-dropdown>\r\n <button class=\"btn btn-outline\" vdrDropdownTrigger>\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'common.select' | translate }}\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <button\r\n *ngFor=\"let checker of checkers\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"selectChecker(checker)\"\r\n >\r\n {{ checker.description }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </div>\r\n <div class=\"clr-col\">\r\n <label class=\"clr-control-label\">{{ 'settings.shipping-calculator' | translate }}</label>\r\n <vdr-configurable-input\r\n *ngIf=\"selectedCalculator && selectedCalculatorDefinition\"\r\n [operation]=\"selectedCalculator\"\r\n [operationDefinition]=\"selectedCalculatorDefinition\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n (remove)=\"selectedCalculator = null\"\r\n formControlName=\"calculator\"\r\n ></vdr-configurable-input>\r\n <div *ngIf=\"!selectedCalculator || !selectedCalculatorDefinition\">\r\n <vdr-dropdown>\r\n <button class=\"btn btn-outline\" vdrDropdownTrigger>\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'common.select' | translate }}\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-left\">\r\n <button\r\n *ngFor=\"let calculator of calculators\"\r\n type=\"button\"\r\n vdrDropdownItem\r\n (click)=\"selectCalculator(calculator)\"\r\n >\r\n {{ calculator.description }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n<div class=\"testing-tool\">\r\n <clr-accordion>\r\n <clr-accordion-panel>\r\n <clr-accordion-title>{{ 'settings.test-shipping-method' | translate }}</clr-accordion-title>\r\n <clr-accordion-content *clrIfExpanded>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col\">\r\n <vdr-test-order-builder\r\n (orderLinesChange)=\"setTestOrderLines($event)\"\r\n ></vdr-test-order-builder>\r\n </div>\r\n <div class=\"clr-col\">\r\n <vdr-test-address-form\r\n (addressChange)=\"setTestAddress($event)\"\r\n ></vdr-test-address-form>\r\n <vdr-shipping-method-test-result\r\n [currencyCode]=\"(activeChannel$ | async)?.currencyCode\"\r\n [okToRun]=\"allTestDataPresent() && testDataUpdated && detailForm.valid\"\r\n [testDataUpdated]=\"testDataUpdated\"\r\n [testResult]=\"testResult$ | async\"\r\n (runTest)=\"runTest()\"\r\n ></vdr-shipping-method-test-result>\r\n </div>\r\n </div>\r\n </clr-accordion-content>\r\n </clr-accordion-panel>\r\n </clr-accordion>\r\n</div>\r\n",
2111
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2112
+ styles: [".testing-tool{margin-top:48px;margin-bottom:128px}.testing-tool h4{margin-bottom:12px}\n"]
2113
+ },] }
2114
+ ];
2115
+ ShippingMethodDetailComponent.ctorParameters = function () { return [
2116
+ { type: i1.Router },
2117
+ { type: i1.ActivatedRoute },
2118
+ { type: i2.ServerConfigService },
2119
+ { type: i0.ChangeDetectorRef },
2120
+ { type: i2.DataService },
2121
+ { type: forms.FormBuilder },
2122
+ { type: i2.NotificationService }
2123
+ ]; };
2124
+
2125
+ var ShippingMethodListComponent = /** @class */ (function (_super) {
2126
+ __extends(ShippingMethodListComponent, _super);
2127
+ function ShippingMethodListComponent(modalService, notificationService, dataService, serverConfigService, router, route) {
2128
+ var _this = _super.call(this, router, route) || this;
2129
+ _this.modalService = modalService;
2130
+ _this.notificationService = notificationService;
2131
+ _this.dataService = dataService;
2132
+ _this.serverConfigService = serverConfigService;
2133
+ _this.testDataUpdated = false;
2134
+ _this.fetchTestResult$ = new rxjs.Subject();
2135
+ _super.prototype.setQueryFn.call(_this, function () {
2136
+ var _a;
2137
+ var args = [];
2138
+ for (var _i = 0; _i < arguments.length; _i++) {
2139
+ args[_i] = arguments[_i];
2140
+ }
2141
+ return (_a = _this.dataService.shippingMethod).getShippingMethods.apply(_a, __spreadArray([], __read(args))).refetchOnChannelChange();
2142
+ }, function (data) { return data.shippingMethods; });
2143
+ return _this;
2144
+ }
2145
+ ShippingMethodListComponent.prototype.ngOnInit = function () {
2146
+ var _this = this;
2147
+ _super.prototype.ngOnInit.call(this);
2148
+ this.testResult$ = this.fetchTestResult$.pipe(operators.switchMap(function (_a) {
2149
+ var _b = __read(_a, 2), address = _b[0], lines = _b[1];
2150
+ var input = {
2151
+ shippingAddress: Object.assign(Object.assign({}, address), { streetLine1: 'test' }),
2152
+ lines: lines.map(function (l) { return ({ productVariantId: l.id, quantity: l.quantity }); }),
2153
+ };
2154
+ return _this.dataService.shippingMethod
2155
+ .testEligibleShippingMethods(input)
2156
+ .mapSingle(function (result) { return result.testEligibleShippingMethods; });
2157
+ }));
2158
+ this.activeChannel$ = this.dataService.settings
2159
+ .getActiveChannel()
2160
+ .mapStream(function (data) { return data.activeChannel; });
2161
+ this.availableLanguages$ = this.serverConfigService.getAvailableLanguages();
2162
+ this.contentLanguage$ = this.dataService.client
2163
+ .uiState()
2164
+ .mapStream(function (_a) {
2165
+ var uiState = _a.uiState;
2166
+ return uiState.contentLanguage;
2167
+ })
2168
+ .pipe(operators.tap(function () { return _this.refresh(); }));
2169
+ };
2170
+ ShippingMethodListComponent.prototype.deleteShippingMethod = function (id) {
2171
+ var _this = this;
2172
+ this.modalService
2173
+ .dialog({
2174
+ title: ngxTranslateExtractMarker.marker('catalog.confirm-delete-shipping-method'),
2175
+ buttons: [
2176
+ { type: 'secondary', label: ngxTranslateExtractMarker.marker('common.cancel') },
2177
+ { type: 'danger', label: ngxTranslateExtractMarker.marker('common.delete'), returnValue: true },
2178
+ ],
2179
+ })
2180
+ .pipe(operators.switchMap(function (response) { return response ? _this.dataService.shippingMethod.deleteShippingMethod(id) : rxjs.EMPTY; }))
2181
+ .subscribe(function () {
2182
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-delete-success'), {
2183
+ entity: 'ShippingMethod',
2184
+ });
2185
+ _this.refresh();
2186
+ }, function (err) {
2187
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-delete-error'), {
2188
+ entity: 'ShippingMethod',
2189
+ });
2190
+ });
2191
+ };
2192
+ ShippingMethodListComponent.prototype.setTestOrderLines = function (event) {
2193
+ this.testOrderLines = event;
2194
+ this.testDataUpdated = true;
2195
+ };
2196
+ ShippingMethodListComponent.prototype.setTestAddress = function (event) {
2197
+ this.testAddress = event;
2198
+ this.testDataUpdated = true;
2199
+ };
2200
+ ShippingMethodListComponent.prototype.allTestDataPresent = function () {
2201
+ return !!(this.testAddress && this.testOrderLines && this.testOrderLines.length);
2202
+ };
2203
+ ShippingMethodListComponent.prototype.runTest = function () {
2204
+ this.fetchTestResult$.next([this.testAddress, this.testOrderLines]);
2205
+ this.testDataUpdated = false;
2206
+ };
2207
+ ShippingMethodListComponent.prototype.setLanguage = function (code) {
2208
+ this.dataService.client.setContentLanguage(code).subscribe();
2209
+ };
2210
+ return ShippingMethodListComponent;
2211
+ }(i2.BaseListComponent));
2212
+ ShippingMethodListComponent.decorators = [
2213
+ { type: i0.Component, args: [{
2214
+ selector: 'vdr-shipping-method-list',
2215
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-language-selector\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"contentLanguage$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n ></vdr-language-selector>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"shipping-method-list\"></vdr-action-bar-items>\r\n <a\r\n class=\"btn btn-primary\"\r\n [routerLink]=\"['./create']\"\r\n *vdrIfPermissions=\"['CreateSettings', 'CreateShippingMethod']\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-shipping-method' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column>{{ 'common.code' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'common.name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-shippingMethod=\"item\">\r\n <td class=\"left align-middle\">{{ shippingMethod.code }}</td>\r\n <td class=\"left align-middle\">{{ shippingMethod.name }}</td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', shippingMethod.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deleteShippingMethod(shippingMethod.id)\"\r\n [disabled]=\"!(['DeleteSettings', 'DeleteShippingMethod'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n\r\n<div class=\"testing-tool\">\r\n <clr-accordion>\r\n <clr-accordion-panel>\r\n <clr-accordion-title>{{ 'settings.test-shipping-methods' | translate }}</clr-accordion-title>\r\n <clr-accordion-content *clrIfExpanded>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col\">\r\n <vdr-test-order-builder\r\n (orderLinesChange)=\"setTestOrderLines($event)\"\r\n ></vdr-test-order-builder>\r\n </div>\r\n <div class=\"clr-col\">\r\n <vdr-test-address-form\r\n (addressChange)=\"setTestAddress($event)\"\r\n ></vdr-test-address-form>\r\n <vdr-shipping-eligibility-test-result\r\n [currencyCode]=\"(activeChannel$ | async)?.currencyCode\"\r\n [okToRun]=\"allTestDataPresent()\"\r\n [testDataUpdated]=\"testDataUpdated\"\r\n [testResult]=\"testResult$ | async\"\r\n (runTest)=\"runTest()\"\r\n ></vdr-shipping-eligibility-test-result>\r\n </div>\r\n </div>\r\n </clr-accordion-content>\r\n </clr-accordion-panel>\r\n </clr-accordion>\r\n</div>\r\n",
2216
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2217
+ styles: [".testing-tool{margin-top:48px}\n"]
2218
+ },] }
2219
+ ];
2220
+ ShippingMethodListComponent.ctorParameters = function () { return [
2221
+ { type: i2.ModalService },
2222
+ { type: i2.NotificationService },
2223
+ { type: i2.DataService },
2224
+ { type: i2.ServerConfigService },
2225
+ { type: i1.Router },
2226
+ { type: i1.ActivatedRoute }
2227
+ ]; };
2228
+
2229
+ var ShippingMethodTestResultComponent = /** @class */ (function () {
2230
+ function ShippingMethodTestResultComponent() {
2231
+ this.okToRun = false;
2232
+ this.testDataUpdated = false;
2233
+ this.runTest = new i0.EventEmitter();
2234
+ }
2235
+ return ShippingMethodTestResultComponent;
2236
+ }());
2237
+ ShippingMethodTestResultComponent.decorators = [
2238
+ { type: i0.Component, args: [{
2239
+ selector: 'vdr-shipping-method-test-result',
2240
+ template: "<div\r\n class=\"test-result card\"\r\n [ngClass]=\"{\r\n success: testResult?.eligible === true,\r\n error: testResult?.eligible === false,\r\n unknown: !testResult\r\n }\"\r\n>\r\n <div class=\"card-header\">\r\n {{ 'settings.test-result' | translate }}\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"result-details\" [class.stale]=\"testDataUpdated\">\r\n <vdr-labeled-data [label]=\"'settings.eligible' | translate\">\r\n <div class=\"eligible-icon\">\r\n <clr-icon\r\n shape=\"success-standard\"\r\n class=\"is-solid success\"\r\n *ngIf=\"testResult?.eligible\"\r\n ></clr-icon>\r\n <clr-icon\r\n shape=\"ban\"\r\n class=\"is-solid error\"\r\n *ngIf=\"testResult?.eligible === false\"\r\n ></clr-icon>\r\n <clr-icon shape=\"unknown-status\" *ngIf=\"!testResult\"></clr-icon>\r\n </div>\r\n {{ testResult?.eligible }}\r\n </vdr-labeled-data>\r\n <div class=\"price-row\">\r\n <vdr-labeled-data\r\n [label]=\"'common.price' | translate\"\r\n *ngIf=\"testResult?.quote?.price != null\"\r\n >\r\n {{ testResult.quote?.price | localeCurrency: currencyCode }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data\r\n [label]=\"'common.price-with-tax' | translate\"\r\n *ngIf=\"testResult?.quote?.priceWithTax != null\"\r\n >\r\n {{ testResult.quote?.priceWithTax | localeCurrency: currencyCode }}\r\n </vdr-labeled-data>\r\n </div>\r\n <vdr-object-tree\r\n *ngIf=\"testResult?.quote?.metadata\"\r\n [value]=\"testResult?.quote?.metadata\"\r\n ></vdr-object-tree>\r\n </div>\r\n </div>\r\n <div class=\"card-footer\">\r\n <button class=\"btn btn-secondary\" (click)=\"runTest.emit()\" [disabled]=\"!okToRun\">\r\n {{ 'settings.test-shipping-method' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n",
2241
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2242
+ styles: [".test-result.success .card-block{background-color:var(--color-success-100)}.test-result.error .card-block{background-color:var(--color-error-100)}.test-result.unknown .card-block{background-color:var(--color-component-bg-100)}.result-details{transition:opacity .2s}.result-details.stale{opacity:.5}.eligible-icon{display:inline-block}.eligible-icon .success{color:var(--color-success-500)}.eligible-icon .error{color:var(--color-error-500)}.price-row{display:flex}.price-row>*:not(:first-child){margin-left:24px}\n"]
2243
+ },] }
2244
+ ];
2245
+ ShippingMethodTestResultComponent.propDecorators = {
2246
+ testResult: [{ type: i0.Input }],
2247
+ okToRun: [{ type: i0.Input }],
2248
+ testDataUpdated: [{ type: i0.Input }],
2249
+ currencyCode: [{ type: i0.Input }],
2250
+ runTest: [{ type: i0.Output }]
2251
+ };
2252
+
2253
+ var TaxCategoryDetailComponent = /** @class */ (function (_super) {
2254
+ __extends(TaxCategoryDetailComponent, _super);
2255
+ function TaxCategoryDetailComponent(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
2256
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
2257
+ _this.changeDetector = changeDetector;
2258
+ _this.dataService = dataService;
2259
+ _this.formBuilder = formBuilder;
2260
+ _this.notificationService = notificationService;
2261
+ _this.updatePermission = [i2.Permission.UpdateSettings, i2.Permission.UpdateTaxCategory];
2262
+ _this.customFields = _this.getCustomFieldConfig('TaxCategory');
2263
+ _this.detailForm = _this.formBuilder.group({
2264
+ name: ['', forms.Validators.required],
2265
+ isDefault: false,
2266
+ customFields: _this.formBuilder.group(_this.customFields.reduce(function (hash, field) {
2267
+ var _a;
2268
+ return (Object.assign(Object.assign({}, hash), (_a = {}, _a[field.name] = '', _a)));
2269
+ }, {})),
2270
+ });
2271
+ return _this;
2272
+ }
2273
+ TaxCategoryDetailComponent.prototype.ngOnInit = function () {
2274
+ this.init();
2275
+ this.taxCategory$ = this.entity$;
2276
+ };
2277
+ TaxCategoryDetailComponent.prototype.ngOnDestroy = function () {
2278
+ this.destroy();
2279
+ };
2280
+ TaxCategoryDetailComponent.prototype.saveButtonEnabled = function () {
2281
+ return this.detailForm.dirty && this.detailForm.valid;
2282
+ };
2283
+ TaxCategoryDetailComponent.prototype.create = function () {
2284
+ var _this = this;
2285
+ if (!this.detailForm.dirty) {
2286
+ return;
2287
+ }
2288
+ var formValue = this.detailForm.value;
2289
+ var input = {
2290
+ name: formValue.name,
2291
+ isDefault: formValue.isDefault,
2292
+ customFields: formValue.customFields,
2293
+ };
2294
+ this.dataService.settings.createTaxCategory(input).subscribe(function (data) {
2295
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-create-success'), {
2296
+ entity: 'TaxCategory',
2297
+ });
2298
+ _this.detailForm.markAsPristine();
2299
+ _this.changeDetector.markForCheck();
2300
+ _this.router.navigate(['../', data.createTaxCategory.id], { relativeTo: _this.route });
2301
+ }, function (err) {
2302
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-create-error'), {
2303
+ entity: 'TaxCategory',
2304
+ });
2305
+ });
2306
+ };
2307
+ TaxCategoryDetailComponent.prototype.save = function () {
2308
+ var _this = this;
2309
+ if (!this.detailForm.dirty) {
2310
+ return;
2311
+ }
2312
+ var formValue = this.detailForm.value;
2313
+ this.taxCategory$
2314
+ .pipe(operators.take(1), operators.mergeMap(function (taxCategory) {
2315
+ var input = {
2316
+ id: taxCategory.id,
2317
+ name: formValue.name,
2318
+ isDefault: formValue.isDefault,
2319
+ customFields: formValue.customFields,
2320
+ };
2321
+ return _this.dataService.settings.updateTaxCategory(input);
2322
+ }))
2323
+ .subscribe(function (data) {
2324
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), {
2325
+ entity: 'TaxCategory',
2326
+ });
2327
+ _this.detailForm.markAsPristine();
2328
+ _this.changeDetector.markForCheck();
2329
+ }, function (err) {
2330
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-update-error'), {
2331
+ entity: 'TaxCategory',
2332
+ });
2333
+ });
2334
+ };
2335
+ /**
2336
+ * Update the form values when the entity changes.
2337
+ */
2338
+ TaxCategoryDetailComponent.prototype.setFormValues = function (entity, languageCode) {
2339
+ this.detailForm.patchValue({
2340
+ name: entity.name,
2341
+ isDefault: entity.isDefault,
2342
+ });
2343
+ if (this.customFields.length) {
2344
+ this.setCustomFieldFormValues(this.customFields, this.detailForm.get('customFields'), entity);
2345
+ }
2346
+ };
2347
+ return TaxCategoryDetailComponent;
2348
+ }(i2.BaseDetailComponent));
2349
+ TaxCategoryDetailComponent.decorators = [
2350
+ { type: i0.Component, args: [{
2351
+ selector: 'vdr-tax-detail',
2352
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"tax-category-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n *vdrIfPermissions=\"updatePermission\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.default-tax-category' | translate\" for=\"isDefault\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"isDefault\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"isDefault\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"TaxCategory\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"tax-category-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n",
2353
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2354
+ styles: [""]
2355
+ },] }
2356
+ ];
2357
+ TaxCategoryDetailComponent.ctorParameters = function () { return [
2358
+ { type: i1.Router },
2359
+ { type: i1.ActivatedRoute },
2360
+ { type: i2.ServerConfigService },
2361
+ { type: i0.ChangeDetectorRef },
2362
+ { type: i2.DataService },
2363
+ { type: forms.FormBuilder },
2364
+ { type: i2.NotificationService }
2365
+ ]; };
2366
+
2367
+ var TaxCategoryListComponent = /** @class */ (function () {
2368
+ function TaxCategoryListComponent(dataService, notificationService, modalService) {
2369
+ this.dataService = dataService;
2370
+ this.notificationService = notificationService;
2371
+ this.modalService = modalService;
2372
+ this.queryResult = this.dataService.settings.getTaxCategories();
2373
+ this.taxCategories$ = this.queryResult.mapStream(function (data) { return data.taxCategories; });
2374
+ }
2375
+ TaxCategoryListComponent.prototype.deleteTaxCategory = function (taxCategory) {
2376
+ var _this = this;
2377
+ return this.modalService
2378
+ .dialog({
2379
+ title: ngxTranslateExtractMarker.marker('settings.confirm-delete-tax-category'),
2380
+ body: taxCategory.name,
2381
+ buttons: [
2382
+ { type: 'secondary', label: ngxTranslateExtractMarker.marker('common.cancel') },
2383
+ { type: 'danger', label: ngxTranslateExtractMarker.marker('common.delete'), returnValue: true },
2384
+ ],
2385
+ })
2386
+ .pipe(operators.switchMap(function (res) { return (res ? _this.dataService.settings.deleteTaxCategory(taxCategory.id) : rxjs.EMPTY); }), operators.map(function (res) { return res.deleteTaxCategory; }))
2387
+ .subscribe(function (res) {
2388
+ if (res.result === i2.DeletionResult.DELETED) {
2389
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-delete-success'), {
2390
+ entity: 'TaxRate',
2391
+ });
2392
+ _this.queryResult.ref.refetch();
2393
+ }
2394
+ else {
2395
+ _this.notificationService.error(res.message || ngxTranslateExtractMarker.marker('common.notify-delete-error'), {
2396
+ entity: 'TaxRate',
2397
+ });
2398
+ }
2399
+ }, function (err) {
2400
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-delete-error'), {
2401
+ entity: 'TaxRate',
2402
+ });
2403
+ });
2404
+ };
2405
+ return TaxCategoryListComponent;
2406
+ }());
2407
+ TaxCategoryListComponent.decorators = [
2408
+ { type: i0.Component, args: [{
2409
+ selector: 'vdr-tax-list',
2410
+ template: "<vdr-action-bar>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"tax-category-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\" [routerLink]=\"['./create']\" *vdrIfPermissions=\"['CreateSettings', 'CreateTaxCategory']\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-tax-category' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table [items]=\"taxCategories$ | async\">\r\n <vdr-dt-column>{{ 'common.name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-taxCategory=\"item\">\r\n <td class=\"left align-middle\">{{ taxCategory.name }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-chip *ngIf=\"taxCategory.isDefault\">{{ 'common.default-tax-category' | translate }}</vdr-chip>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', taxCategory.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deleteTaxCategory(taxCategory)\"\r\n [disabled]=\"!(['DeleteSettings', 'DeleteTaxCategory'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n",
2411
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2412
+ styles: [""]
2413
+ },] }
2414
+ ];
2415
+ TaxCategoryListComponent.ctorParameters = function () { return [
2416
+ { type: i2.DataService },
2417
+ { type: i2.NotificationService },
2418
+ { type: i2.ModalService }
2419
+ ]; };
2420
+
2421
+ var TaxRateDetailComponent = /** @class */ (function (_super) {
2422
+ __extends(TaxRateDetailComponent, _super);
2423
+ function TaxRateDetailComponent(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
2424
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
2425
+ _this.changeDetector = changeDetector;
2426
+ _this.dataService = dataService;
2427
+ _this.formBuilder = formBuilder;
2428
+ _this.notificationService = notificationService;
2429
+ _this.updatePermission = [i2.Permission.UpdateSettings, i2.Permission.UpdateTaxRate];
2430
+ _this.customFields = _this.getCustomFieldConfig('TaxRate');
2431
+ _this.detailForm = _this.formBuilder.group({
2432
+ name: ['', forms.Validators.required],
2433
+ enabled: [true],
2434
+ value: [0, forms.Validators.required],
2435
+ taxCategoryId: [''],
2436
+ zoneId: [''],
2437
+ customerGroupId: [''],
2438
+ customFields: _this.formBuilder.group(_this.customFields.reduce(function (hash, field) {
2439
+ var _a;
2440
+ return (Object.assign(Object.assign({}, hash), (_a = {}, _a[field.name] = '', _a)));
2441
+ }, {})),
2442
+ });
2443
+ return _this;
2444
+ }
2445
+ TaxRateDetailComponent.prototype.ngOnInit = function () {
2446
+ this.init();
2447
+ this.taxCategories$ = this.dataService.settings
2448
+ .getTaxCategories()
2449
+ .mapSingle(function (data) { return data.taxCategories; });
2450
+ this.zones$ = this.dataService.settings.getZones().mapSingle(function (data) { return data.zones; });
2451
+ };
2452
+ TaxRateDetailComponent.prototype.ngOnDestroy = function () {
2453
+ this.destroy();
2454
+ };
2455
+ TaxRateDetailComponent.prototype.saveButtonEnabled = function () {
2456
+ return this.detailForm.dirty && this.detailForm.valid;
2457
+ };
2458
+ TaxRateDetailComponent.prototype.create = function () {
2459
+ var _this = this;
2460
+ if (!this.detailForm.dirty) {
2461
+ return;
2462
+ }
2463
+ var formValue = this.detailForm.value;
2464
+ var input = {
2465
+ name: formValue.name,
2466
+ enabled: formValue.enabled,
2467
+ value: formValue.value,
2468
+ categoryId: formValue.taxCategoryId,
2469
+ zoneId: formValue.zoneId,
2470
+ customerGroupId: formValue.customerGroupId,
2471
+ customFields: formValue.customFields,
2472
+ };
2473
+ this.dataService.settings.createTaxRate(input).subscribe(function (data) {
2474
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-create-success'), {
2475
+ entity: 'TaxRate',
2476
+ });
2477
+ _this.detailForm.markAsPristine();
2478
+ _this.changeDetector.markForCheck();
2479
+ _this.router.navigate(['../', data.createTaxRate.id], { relativeTo: _this.route });
2480
+ }, function (err) {
2481
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-create-error'), {
2482
+ entity: 'TaxRate',
2483
+ });
2484
+ });
2485
+ };
2486
+ TaxRateDetailComponent.prototype.save = function () {
2487
+ var _this = this;
2488
+ if (!this.detailForm.dirty) {
2489
+ return;
2490
+ }
2491
+ var formValue = this.detailForm.value;
2492
+ this.entity$
2493
+ .pipe(operators.take(1), operators.mergeMap(function (taxRate) {
2494
+ var input = {
2495
+ id: taxRate.id,
2496
+ name: formValue.name,
2497
+ enabled: formValue.enabled,
2498
+ value: formValue.value,
2499
+ categoryId: formValue.taxCategoryId,
2500
+ zoneId: formValue.zoneId,
2501
+ customerGroupId: formValue.customerGroupId,
2502
+ customFields: formValue.customFields,
2503
+ };
2504
+ return _this.dataService.settings.updateTaxRate(input);
2505
+ }))
2506
+ .subscribe(function (data) {
2507
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), {
2508
+ entity: 'TaxRate',
2509
+ });
2510
+ _this.detailForm.markAsPristine();
2511
+ _this.changeDetector.markForCheck();
2512
+ }, function (err) {
2513
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-update-error'), {
2514
+ entity: 'TaxRate',
2515
+ });
2516
+ });
2517
+ };
2518
+ /**
2519
+ * Update the form values when the entity changes.
2520
+ */
2521
+ TaxRateDetailComponent.prototype.setFormValues = function (entity, languageCode) {
2522
+ this.detailForm.patchValue({
2523
+ name: entity.name,
2524
+ enabled: entity.enabled,
2525
+ value: entity.value,
2526
+ taxCategoryId: entity.category ? entity.category.id : '',
2527
+ zoneId: entity.zone ? entity.zone.id : '',
2528
+ customerGroupId: entity.customerGroup ? entity.customerGroup.id : '',
2529
+ });
2530
+ if (this.customFields.length) {
2531
+ this.setCustomFieldFormValues(this.customFields, this.detailForm.get('customFields'), entity);
2532
+ }
2533
+ };
2534
+ return TaxRateDetailComponent;
2535
+ }(i2.BaseDetailComponent));
2536
+ TaxRateDetailComponent.decorators = [
2537
+ { type: i0.Component, args: [{
2538
+ selector: 'vdr-tax-rate-detail',
2539
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"tax-rate-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n *vdrIfPermissions=\"updatePermission\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.enabled' | translate\" for=\"enabled\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"enabled\"\r\n formControlName=\"enabled\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.rate' | translate\" for=\"value\">\r\n <vdr-affixed-input suffix=\"%\">\r\n <input\r\n id=\"value\"\r\n type=\"number\"\r\n step=\"0.1\"\r\n formControlName=\"value\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-affixed-input>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.tax-category' | translate\" for=\"taxCategoryId\">\r\n <select\r\n clrSelect\r\n name=\"taxCategoryId\"\r\n formControlName=\"taxCategoryId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let taxCategory of taxCategories$ | async\" [value]=\"taxCategory.id\">\r\n {{ taxCategory.name }}\r\n </option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.zone' | translate\" for=\"zoneId\">\r\n <select\r\n clrSelect\r\n name=\"zoneId\"\r\n formControlName=\"zoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"TaxRate\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"tax-rate-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n",
2540
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2541
+ styles: [""]
2542
+ },] }
2543
+ ];
2544
+ TaxRateDetailComponent.ctorParameters = function () { return [
2545
+ { type: i1.Router },
2546
+ { type: i1.ActivatedRoute },
2547
+ { type: i2.ServerConfigService },
2548
+ { type: i0.ChangeDetectorRef },
2549
+ { type: i2.DataService },
2550
+ { type: forms.FormBuilder },
2551
+ { type: i2.NotificationService }
2552
+ ]; };
2553
+
2554
+ var TaxRateListComponent = /** @class */ (function (_super) {
2555
+ __extends(TaxRateListComponent, _super);
2556
+ function TaxRateListComponent(modalService, notificationService, dataService, router, route) {
2557
+ var _this = _super.call(this, router, route) || this;
2558
+ _this.modalService = modalService;
2559
+ _this.notificationService = notificationService;
2560
+ _this.dataService = dataService;
2561
+ _super.prototype.setQueryFn.call(_this, function () {
2562
+ var _a;
2563
+ var args = [];
2564
+ for (var _i = 0; _i < arguments.length; _i++) {
2565
+ args[_i] = arguments[_i];
2566
+ }
2567
+ return (_a = _this.dataService.settings).getTaxRates.apply(_a, __spreadArray([], __read(args)));
2568
+ }, function (data) { return data.taxRates; });
2569
+ return _this;
2570
+ }
2571
+ TaxRateListComponent.prototype.deleteTaxRate = function (taxRate) {
2572
+ var _this = this;
2573
+ return this.modalService
2574
+ .dialog({
2575
+ title: ngxTranslateExtractMarker.marker('settings.confirm-delete-tax-rate'),
2576
+ body: taxRate.name,
2577
+ buttons: [
2578
+ { type: 'secondary', label: ngxTranslateExtractMarker.marker('common.cancel') },
2579
+ { type: 'danger', label: ngxTranslateExtractMarker.marker('common.delete'), returnValue: true },
2580
+ ],
2581
+ })
2582
+ .pipe(operators.switchMap(function (res) { return (res ? _this.dataService.settings.deleteTaxRate(taxRate.id) : rxjs.EMPTY); }), operators.map(function (res) { return res.deleteTaxRate; }))
2583
+ .subscribe(function (res) {
2584
+ if (res.result === i2.DeletionResult.DELETED) {
2585
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-delete-success'), {
2586
+ entity: 'TaxRate',
2587
+ });
2588
+ _this.refresh();
2589
+ }
2590
+ else {
2591
+ _this.notificationService.error(res.message || ngxTranslateExtractMarker.marker('common.notify-delete-error'), {
2592
+ entity: 'TaxRate',
2593
+ });
2594
+ }
2595
+ }, function (err) {
2596
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-delete-error'), {
2597
+ entity: 'TaxRate',
2598
+ });
2599
+ });
2600
+ };
2601
+ return TaxRateListComponent;
2602
+ }(i2.BaseListComponent));
2603
+ TaxRateListComponent.decorators = [
2604
+ { type: i0.Component, args: [{
2605
+ selector: 'vdr-tax-rate-list',
2606
+ template: "<vdr-action-bar>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"tax-rate-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\" [routerLink]=\"['./create']\" *vdrIfPermissions=\"['CreateSettings', 'CreateTaxRate']\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-tax-rate' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"items$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column>{{ 'common.name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'settings.tax-category' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'settings.zone' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'settings.tax-rate' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-taxRate=\"item\">\r\n <td class=\"left align-middle\">{{ taxRate.name }}</td>\r\n <td class=\"left align-middle\">{{ taxRate.category.name }}</td>\r\n <td class=\"left align-middle\">{{ taxRate.zone.name }}</td>\r\n <td class=\"left align-middle\">{{ taxRate.value }}%</td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', taxRate.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deleteTaxRate(taxRate)\"\r\n [disabled]=\"!(['DeleteSettings', 'DeleteTaxRate'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n",
2607
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2608
+ styles: [""]
2609
+ },] }
2610
+ ];
2611
+ TaxRateListComponent.ctorParameters = function () { return [
2612
+ { type: i2.ModalService },
2613
+ { type: i2.NotificationService },
2614
+ { type: i2.DataService },
2615
+ { type: i1.Router },
2616
+ { type: i1.ActivatedRoute }
2617
+ ]; };
2618
+
2619
+ var TestAddressFormComponent = /** @class */ (function () {
2620
+ function TestAddressFormComponent(formBuilder, dataService, localStorageService) {
2621
+ this.formBuilder = formBuilder;
2622
+ this.dataService = dataService;
2623
+ this.localStorageService = localStorageService;
2624
+ this.addressChange = new i0.EventEmitter();
2625
+ }
2626
+ TestAddressFormComponent.prototype.ngOnInit = function () {
2627
+ var _this = this;
2628
+ this.availableCountries$ = this.dataService.settings
2629
+ .getAvailableCountries()
2630
+ .mapSingle(function (result) { return result.countries.items; });
2631
+ var storedValue = this.localStorageService.getForCurrentLocation('shippingTestAddress');
2632
+ var initialValue = storedValue
2633
+ ? storedValue
2634
+ : {
2635
+ city: '',
2636
+ countryCode: '',
2637
+ postalCode: '',
2638
+ province: '',
2639
+ };
2640
+ this.addressChange.emit(initialValue);
2641
+ this.form = this.formBuilder.group(initialValue);
2642
+ this.subscription = this.form.valueChanges.subscribe(function (value) {
2643
+ _this.localStorageService.setForCurrentLocation('shippingTestAddress', value);
2644
+ _this.addressChange.emit(value);
2645
+ });
2646
+ };
2647
+ TestAddressFormComponent.prototype.ngOnDestroy = function () {
2648
+ if (this.subscription) {
2649
+ this.subscription.unsubscribe();
2650
+ }
2651
+ };
2652
+ return TestAddressFormComponent;
2653
+ }());
2654
+ TestAddressFormComponent.decorators = [
2655
+ { type: i0.Component, args: [{
2656
+ selector: 'vdr-test-address-form',
2657
+ template: "<div class=\"card\">\r\n <div class=\"card-header\">\r\n {{ 'settings.test-address' | translate }}\r\n </div>\r\n <div class=\"card-block\">\r\n <form [formGroup]=\"form\">\r\n <clr-input-container>\r\n <label>{{ 'customer.city' | translate }}</label>\r\n <input formControlName=\"city\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n <clr-input-container>\r\n <label>{{ 'customer.province' | translate }}</label>\r\n <input formControlName=\"province\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n <clr-input-container>\r\n <label>{{ 'customer.postal-code' | translate }}</label>\r\n <input formControlName=\"postalCode\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n <clr-input-container>\r\n <label>{{ 'customer.country' | translate }}</label>\r\n <select name=\"countryCode\" formControlName=\"countryCode\" clrInput clrSelect>\r\n <option *ngFor=\"let country of availableCountries$ | async\" [value]=\"country.code\">\r\n {{ country.name }}\r\n </option>\r\n </select>\r\n </clr-input-container>\r\n </form>\r\n </div>\r\n</div>\r\n",
2658
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2659
+ styles: ["clr-input-container{margin-bottom:12px}\n"]
2660
+ },] }
2661
+ ];
2662
+ TestAddressFormComponent.ctorParameters = function () { return [
2663
+ { type: forms.FormBuilder },
2664
+ { type: i2.DataService },
2665
+ { type: i2.LocalStorageService }
2666
+ ]; };
2667
+ TestAddressFormComponent.propDecorators = {
2668
+ addressChange: [{ type: i0.Output }]
2669
+ };
2670
+
2671
+ var TestOrderBuilderComponent = /** @class */ (function () {
2672
+ function TestOrderBuilderComponent(dataService, localStorageService) {
2673
+ this.dataService = dataService;
2674
+ this.localStorageService = localStorageService;
2675
+ this.orderLinesChange = new i0.EventEmitter();
2676
+ this.lines = [];
2677
+ }
2678
+ Object.defineProperty(TestOrderBuilderComponent.prototype, "subTotal", {
2679
+ get: function () {
2680
+ return this.lines.reduce(function (sum, l) { return sum + l.unitPriceWithTax * l.quantity; }, 0);
2681
+ },
2682
+ enumerable: false,
2683
+ configurable: true
2684
+ });
2685
+ TestOrderBuilderComponent.prototype.ngOnInit = function () {
2686
+ var _this = this;
2687
+ this.lines = this.loadFromLocalStorage();
2688
+ if (this.lines) {
2689
+ this.orderLinesChange.emit(this.lines);
2690
+ }
2691
+ this.dataService.settings.getActiveChannel('cache-first').single$.subscribe(function (result) {
2692
+ _this.currencyCode = result.activeChannel.currencyCode;
2693
+ });
2694
+ };
2695
+ TestOrderBuilderComponent.prototype.selectResult = function (result) {
2696
+ if (result) {
2697
+ this.addToLines(result);
2698
+ }
2699
+ };
2700
+ TestOrderBuilderComponent.prototype.addToLines = function (result) {
2701
+ var _a, _b;
2702
+ if (!this.lines.find(function (l) { return l.id === result.productVariantId; })) {
2703
+ this.lines.push({
2704
+ id: result.productVariantId,
2705
+ name: result.productVariantName,
2706
+ preview: (_b = (_a = result.productAsset) === null || _a === void 0 ? void 0 : _a.preview) !== null && _b !== void 0 ? _b : '',
2707
+ quantity: 1,
2708
+ sku: result.sku,
2709
+ unitPriceWithTax: (result.priceWithTax.__typename === 'SinglePrice' && result.priceWithTax.value) || 0,
2710
+ });
2711
+ this.persistToLocalStorage();
2712
+ this.orderLinesChange.emit(this.lines);
2713
+ }
2714
+ };
2715
+ TestOrderBuilderComponent.prototype.updateQuantity = function () {
2716
+ this.persistToLocalStorage();
2717
+ this.orderLinesChange.emit(this.lines);
2718
+ };
2719
+ TestOrderBuilderComponent.prototype.removeLine = function (line) {
2720
+ this.lines = this.lines.filter(function (l) { return l.id !== line.id; });
2721
+ this.persistToLocalStorage();
2722
+ this.orderLinesChange.emit(this.lines);
2723
+ };
2724
+ TestOrderBuilderComponent.prototype.persistToLocalStorage = function () {
2725
+ this.localStorageService.setForCurrentLocation('shippingTestOrder', this.lines);
2726
+ };
2727
+ TestOrderBuilderComponent.prototype.loadFromLocalStorage = function () {
2728
+ return this.localStorageService.getForCurrentLocation('shippingTestOrder') || [];
2729
+ };
2730
+ return TestOrderBuilderComponent;
2731
+ }());
2732
+ TestOrderBuilderComponent.decorators = [
2733
+ { type: i0.Component, args: [{
2734
+ selector: 'vdr-test-order-builder',
2735
+ template: "<div class=\"card\">\r\n <div class=\"card-header\">\r\n {{ 'settings.test-order' | translate }}\r\n </div>\r\n <table class=\"order-table table\" *ngIf=\"lines.length; else emptyPlaceholder\">\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>{{ 'order.product-name' | translate }}</th>\r\n <th>{{ 'order.product-sku' | translate }}</th>\r\n <th>{{ 'order.unit-price' | translate }}</th>\r\n <th>{{ 'order.quantity' | translate }}</th>\r\n <th>{{ 'order.total' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tr *ngFor=\"let line of lines\" class=\"order-line\">\r\n <td class=\"align-middle thumb\">\r\n <img [src]=\"line.preview + '?preset=tiny'\" />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.sku }}</td>\r\n <td class=\"align-middle unit-price\">\r\n {{ line.unitPriceWithTax | localeCurrency: currencyCode }}\r\n </td>\r\n <td class=\"align-middle quantity\">\r\n <input\r\n [(ngModel)]=\"line.quantity\"\r\n (change)=\"updateQuantity()\"\r\n type=\"number\"\r\n max=\"9999\"\r\n min=\"1\"\r\n />\r\n <button class=\"icon-button\" (click)=\"removeLine(line)\">\r\n <clr-icon shape=\"trash\"></clr-icon>\r\n </button>\r\n </td>\r\n <td class=\"align-middle total\">\r\n {{ (line.unitPriceWithTax * line.quantity) | localeCurrency: currencyCode }}\r\n </td>\r\n </tr>\r\n <tr class=\"sub-total\">\r\n <td class=\"left\">{{ 'order.sub-total' | translate }}</td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n <td></td>\r\n <td>{{ subTotal | localeCurrency: currencyCode }}</td>\r\n </tr>\r\n </table>\r\n\r\n <ng-template #emptyPlaceholder>\r\n <div class=\"card-block empty-placeholder\">\r\n <div class=\"empty-text\">{{ 'settings.add-products-to-test-order' | translate }}</div>\r\n <clr-icon shape=\"arrow\" dir=\"down\" size=\"96\"></clr-icon>\r\n </div>\r\n </ng-template>\r\n <div class=\"card-block\">\r\n <vdr-product-selector (productSelected)=\"selectResult($event)\"> </vdr-product-selector>\r\n </div>\r\n</div>\r\n",
2736
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2737
+ styles: [".empty-placeholder{color:var(--color-grey-400);text-align:center}.empty-text{font-size:22px}\n"]
2738
+ },] }
2739
+ ];
2740
+ TestOrderBuilderComponent.ctorParameters = function () { return [
2741
+ { type: i2.DataService },
2742
+ { type: i2.LocalStorageService }
2743
+ ]; };
2744
+ TestOrderBuilderComponent.propDecorators = {
2745
+ orderLinesChange: [{ type: i0.Output }]
2746
+ };
2747
+
2748
+ var ZoneDetailDialogComponent = /** @class */ (function () {
2749
+ function ZoneDetailDialogComponent(serverConfigService, formBuilder) {
2750
+ this.serverConfigService = serverConfigService;
2751
+ this.formBuilder = formBuilder;
2752
+ this.customFields = this.serverConfigService.getCustomFieldsFor('CustomerGroup');
2753
+ }
2754
+ ZoneDetailDialogComponent.prototype.ngOnInit = function () {
2755
+ var e_1, _b;
2756
+ var _a;
2757
+ this.form = this.formBuilder.group({
2758
+ name: [this.zone.name, forms.Validators.required],
2759
+ customFields: this.formBuilder.group(this.customFields.reduce(function (hash, field) {
2760
+ var _b;
2761
+ return (Object.assign(Object.assign({}, hash), (_b = {}, _b[field.name] = '', _b)));
2762
+ }, {})),
2763
+ });
2764
+ if (this.customFields.length) {
2765
+ var customFieldsGroup = this.form.get('customFields');
2766
+ try {
2767
+ for (var _c = __values(this.customFields), _d = _c.next(); !_d.done; _d = _c.next()) {
2768
+ var fieldDef = _d.value;
2769
+ var key = fieldDef.name;
2770
+ var value = (_a = this.zone.customFields) === null || _a === void 0 ? void 0 : _a[key];
2771
+ var control = customFieldsGroup.get(key);
2772
+ if (control) {
2773
+ control.patchValue(value);
2774
+ }
2775
+ }
2776
+ }
2777
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
2778
+ finally {
2779
+ try {
2780
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
2781
+ }
2782
+ finally { if (e_1) throw e_1.error; }
2783
+ }
2784
+ }
2785
+ };
2786
+ ZoneDetailDialogComponent.prototype.cancel = function () {
2787
+ this.resolveWith();
2788
+ };
2789
+ ZoneDetailDialogComponent.prototype.save = function () {
2790
+ this.resolveWith(this.form.value);
2791
+ };
2792
+ return ZoneDetailDialogComponent;
2793
+ }());
2794
+ ZoneDetailDialogComponent.decorators = [
2795
+ { type: i0.Component, args: [{
2796
+ selector: 'vdr-zone-detail-dialog',
2797
+ template: "<ng-template vdrDialogTitle>\r\n <span *ngIf=\"zone.id\">{{ 'settings.update-zone' | translate }}</span>\r\n <span *ngIf=\"!zone.id\">{{ 'settings.create-zone' | translate }}</span>\r\n</ng-template>\r\n<form [formGroup]=\"form\">\r\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(['UpdateSettings', 'UpdateZone'] | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Zone\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"form.get('customFields')\"\r\n [readonly]=\"!(['UpdateSettings', 'UpdateZone'] | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n</form>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"save()\" [disabled]=\"form.invalid\" class=\"btn btn-primary\">\r\n <span *ngIf=\"zone.id\">{{ 'settings.update-zone' | translate }}</span>\r\n <span *ngIf=\"!zone.id\">{{ 'settings.create-zone' | translate }}</span>\r\n </button>\r\n</ng-template>\r\n",
2798
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2799
+ styles: [""]
2800
+ },] }
2801
+ ];
2802
+ ZoneDetailDialogComponent.ctorParameters = function () { return [
2803
+ { type: i2.ServerConfigService },
2804
+ { type: forms.FormBuilder }
2805
+ ]; };
2806
+
2807
+ var ZoneListComponent = /** @class */ (function () {
2808
+ function ZoneListComponent(dataService, notificationService, modalService, route, router, serverConfigService) {
2809
+ this.dataService = dataService;
2810
+ this.notificationService = notificationService;
2811
+ this.modalService = modalService;
2812
+ this.route = route;
2813
+ this.router = router;
2814
+ this.serverConfigService = serverConfigService;
2815
+ this.selectedMemberIds = [];
2816
+ }
2817
+ ZoneListComponent.prototype.ngOnInit = function () {
2818
+ var _this = this;
2819
+ var zonesQueryRef = this.dataService.settings.getZones().ref;
2820
+ this.zones$ = zonesQueryRef.valueChanges.pipe(operators.map(function (data) { return data.data.zones; }));
2821
+ var activeZoneId$ = this.route.paramMap.pipe(operators.map(function (pm) { return pm.get('contents'); }), operators.distinctUntilChanged(), operators.tap(function () { return (_this.selectedMemberIds = []); }));
2822
+ this.activeZone$ = rxjs.combineLatest(this.zones$, activeZoneId$).pipe(operators.map(function (_a) {
2823
+ var _b = __read(_a, 2), zones = _b[0], activeZoneId = _b[1];
2824
+ if (activeZoneId) {
2825
+ return zones.find(function (z) { return z.id === activeZoneId; });
2826
+ }
2827
+ }));
2828
+ this.availableLanguages$ = this.serverConfigService.getAvailableLanguages();
2829
+ this.contentLanguage$ = this.dataService.client
2830
+ .uiState()
2831
+ .mapStream(function (_a) {
2832
+ var uiState = _a.uiState;
2833
+ return uiState.contentLanguage;
2834
+ })
2835
+ .pipe(operators.tap(function () { return zonesQueryRef.refetch(); }));
2836
+ };
2837
+ ZoneListComponent.prototype.setLanguage = function (code) {
2838
+ this.dataService.client.setContentLanguage(code).subscribe();
2839
+ };
2840
+ ZoneListComponent.prototype.create = function () {
2841
+ var _this = this;
2842
+ this.modalService
2843
+ .fromComponent(ZoneDetailDialogComponent, { locals: { zone: { name: '' } } })
2844
+ .pipe(operators.switchMap(function (result) { return result ? _this.dataService.settings.createZone(Object.assign(Object.assign({}, result), { memberIds: [] })) : rxjs.EMPTY; }),
2845
+ // refresh list
2846
+ operators.switchMap(function () { return _this.dataService.settings.getZones().single$; }))
2847
+ .subscribe(function () {
2848
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-create-success'), {
2849
+ entity: 'Zone',
2850
+ });
2851
+ }, function (err) {
2852
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-create-error'), {
2853
+ entity: 'Zone',
2854
+ });
2855
+ });
2856
+ };
2857
+ ZoneListComponent.prototype.delete = function (zoneId) {
2858
+ var _this = this;
2859
+ this.modalService
2860
+ .dialog({
2861
+ title: ngxTranslateExtractMarker.marker('catalog.confirm-delete-zone'),
2862
+ buttons: [
2863
+ { type: 'secondary', label: ngxTranslateExtractMarker.marker('common.cancel') },
2864
+ { type: 'danger', label: ngxTranslateExtractMarker.marker('common.delete'), returnValue: true },
2865
+ ],
2866
+ })
2867
+ .pipe(operators.switchMap(function (response) { return (response ? _this.dataService.settings.deleteZone(zoneId) : rxjs.EMPTY); }), operators.switchMap(function (result) {
2868
+ if (result.deleteZone.result === i2.DeletionResult.DELETED) {
2869
+ // refresh list
2870
+ return _this.dataService.settings
2871
+ .getZones()
2872
+ .mapSingle(function () { return ({ errorMessage: false }); });
2873
+ }
2874
+ else {
2875
+ return rxjs.of({ errorMessage: result.deleteZone.message });
2876
+ }
2877
+ }))
2878
+ .subscribe(function (result) {
2879
+ if (typeof result.errorMessage === 'string') {
2880
+ _this.notificationService.error(result.errorMessage);
2881
+ }
2882
+ else {
2883
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-delete-success'), {
2884
+ entity: 'Zone',
2885
+ });
2886
+ }
2887
+ }, function (err) {
2888
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-delete-error'), {
2889
+ entity: 'Zone',
2890
+ });
2891
+ });
2892
+ };
2893
+ ZoneListComponent.prototype.update = function (zone) {
2894
+ var _this = this;
2895
+ this.modalService
2896
+ .fromComponent(ZoneDetailDialogComponent, { locals: { zone: zone } })
2897
+ .pipe(operators.switchMap(function (result) { return result ? _this.dataService.settings.updateZone(Object.assign({ id: zone.id }, result)) : rxjs.EMPTY; }))
2898
+ .subscribe(function () {
2899
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), {
2900
+ entity: 'Zone',
2901
+ });
2902
+ }, function (err) {
2903
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('common.notify-update-error'), {
2904
+ entity: 'Zone',
2905
+ });
2906
+ });
2907
+ };
2908
+ ZoneListComponent.prototype.closeMembers = function () {
2909
+ var params = Object.assign({}, this.route.snapshot.params);
2910
+ delete params.contents;
2911
+ this.router.navigate(['./', params], { relativeTo: this.route, queryParamsHandling: 'preserve' });
2912
+ };
2913
+ ZoneListComponent.prototype.addToZone = function (zone) {
2914
+ var _this = this;
2915
+ this.modalService
2916
+ .fromComponent(AddCountryToZoneDialogComponent, {
2917
+ locals: {
2918
+ zoneName: zone.name,
2919
+ currentMembers: zone.members,
2920
+ },
2921
+ size: 'md',
2922
+ })
2923
+ .pipe(operators.switchMap(function (memberIds) { return memberIds
2924
+ ? _this.dataService.settings
2925
+ .addMembersToZone(zone.id, memberIds)
2926
+ .pipe(operators.mapTo(memberIds))
2927
+ : rxjs.EMPTY; }))
2928
+ .subscribe({
2929
+ next: function (result) {
2930
+ _this.notificationService.success(ngxTranslateExtractMarker.marker("settings.add-countries-to-zone-success"), {
2931
+ countryCount: result.length,
2932
+ zoneName: zone.name,
2933
+ });
2934
+ },
2935
+ error: function (err) {
2936
+ _this.notificationService.error(err);
2937
+ },
2938
+ });
2939
+ };
2940
+ ZoneListComponent.prototype.removeFromZone = function (zone, memberIds) {
2941
+ var _this = this;
2942
+ this.dataService.settings.removeMembersFromZone(zone.id, memberIds).subscribe({
2943
+ complete: function () {
2944
+ _this.notificationService.success(ngxTranslateExtractMarker.marker("settings.remove-countries-from-zone-success"), {
2945
+ countryCount: memberIds.length,
2946
+ zoneName: zone.name,
2947
+ });
2948
+ },
2949
+ });
2950
+ };
2951
+ return ZoneListComponent;
2952
+ }());
2953
+ ZoneListComponent.decorators = [
2954
+ { type: i0.Component, args: [{
2955
+ selector: 'vdr-zone-list',
2956
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-language-selector\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"contentLanguage$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n ></vdr-language-selector>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"zone-list\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *vdrIfPermissions=\"['CreateSettings', 'CreateZone']\"\r\n (click)=\"create()\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-zone' | translate }}\r\n </button>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n<div class=\"zone-wrapper\">\r\n <div class=\"zone-list\">\r\n <table class=\"table mt0\">\r\n <tbody>\r\n <tr\r\n *ngFor=\"let zone of zones$ | async\"\r\n [class.active]=\"zone.id === (activeZone$ | async)?.id\"\r\n >\r\n <td class=\"left align-middle\"><vdr-entity-info [entity]=\"zone\"></vdr-entity-info></td>\r\n <td class=\"left align-middle\">\r\n <vdr-chip [colorFrom]=\"zone.name\">{{ zone.name }}</vdr-chip>\r\n </td>\r\n <td class=\"text-right align-middle\">\r\n <a\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['./', { contents: zone.id }]\"\r\n queryParamsHandling=\"preserve\"\r\n >\r\n <clr-icon shape=\"view-list\"></clr-icon>\r\n {{ 'settings.view-zone-members' | translate }}\r\n </a>\r\n </td>\r\n <td class=\"align-middle\">\r\n <button class=\"btn btn-link btn-sm\" (click)=\"update(zone)\">\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n </td>\r\n <td class=\"align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"delete(zone.id)\"\r\n [disabled]=\"!(['DeleteSettings', 'DeleteZone'] | hasPermission)\"\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n <div class=\"zone-members\" [class.expanded]=\"activeZone$ | async\">\r\n <ng-container *ngIf=\"activeZone$ | async as activeZone\">\r\n <vdr-zone-member-list\r\n [members]=\"activeZone.members\"\r\n [selectedMemberIds]=\"selectedMemberIds\"\r\n (selectionChange)=\"selectedMemberIds = $event\"\r\n >\r\n <div *vdrZoneMemberListHeader>\r\n <div class=\"flex\">\r\n <div class=\"header-title-row\">\r\n {{ activeZone.name }} ({{ activeZone.members.length }})\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <button type=\"button\" class=\"close-button\" (click)=\"closeMembers()\">\r\n <clr-icon shape=\"close\"></clr-icon>\r\n </button>\r\n </div>\r\n <div class=\"controls\">\r\n <vdr-dropdown>\r\n <button\r\n type=\"button\"\r\n class=\"btn btn-secondary btn-sm\"\r\n vdrDropdownTrigger\r\n [disabled]=\"selectedMemberIds.length === 0\"\r\n >\r\n {{ 'common.with-selected' | translate: { count: selectedMemberIds.length } }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"removeFromZone(activeZone, selectedMemberIds)\"\r\n vdrDropdownItem\r\n [disabled]=\"!(['UpdateSettings', 'UpdateZone'] | hasPermission)\"\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'settings.remove-from-zone' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n <button class=\"btn btn-secondary btn-sm\" (click)=\"addToZone(activeZone)\">\r\n {{ 'settings.add-countries-to-zone' | translate: { zoneName: activeZone.name } }}\r\n </button>\r\n </div>\r\n </div>\r\n <div *vdrZoneMemberControls=\"let member = member\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <a\r\n type=\"button\"\r\n [routerLink]=\"['/settings', 'countries', member.id]\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </a>\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"removeFromZone(activeZone, [member.id])\"\r\n vdrDropdownItem\r\n [disabled]=\"!(['UpdateSettings', 'UpdateZone'] | hasPermission)\"\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'settings.remove-from-zone' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </vdr-zone-member-list>\r\n </ng-container>\r\n </div>\r\n</div>\r\n",
2957
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2958
+ styles: [".zone-wrapper{display:flex;height:calc(100% - 50px)}.zone-wrapper .zone-list{flex:1;overflow:auto;margin-top:0}.zone-wrapper .zone-list tr.active{background-color:var(--color-component-bg-200)}.zone-members{height:100%;width:0;opacity:0;visibility:hidden;overflow:auto;transition:width .3s,opacity .2s .3s,visibility 0s .3s}.zone-members.expanded{width:40vw;visibility:visible;opacity:1;padding-left:12px}.zone-members .close-button{margin:0;background:none;border:none;cursor:pointer}.zone-members ::ng-deep table.table{margin-top:0}.zone-members ::ng-deep table.table th{top:0}.zone-members .controls{display:flex;justify-content:space-between}\n"]
2959
+ },] }
2960
+ ];
2961
+ ZoneListComponent.ctorParameters = function () { return [
2962
+ { type: i2.DataService },
2963
+ { type: i2.NotificationService },
2964
+ { type: i2.ModalService },
2965
+ { type: i1.ActivatedRoute },
2966
+ { type: i1.Router },
2967
+ { type: i2.ServerConfigService }
2968
+ ]; };
2969
+
2970
+ var ZoneMemberControlsDirective = /** @class */ (function () {
2971
+ function ZoneMemberControlsDirective(templateRef) {
2972
+ this.templateRef = templateRef;
2973
+ }
2974
+ return ZoneMemberControlsDirective;
2975
+ }());
2976
+ ZoneMemberControlsDirective.decorators = [
2977
+ { type: i0.Directive, args: [{
2978
+ selector: '[vdrZoneMemberControls]',
2979
+ },] }
2980
+ ];
2981
+ ZoneMemberControlsDirective.ctorParameters = function () { return [
2982
+ { type: i0.TemplateRef }
2983
+ ]; };
2984
+
2985
+ var ZoneMemberListHeaderDirective = /** @class */ (function () {
2986
+ function ZoneMemberListHeaderDirective(templateRef) {
2987
+ this.templateRef = templateRef;
2988
+ }
2989
+ return ZoneMemberListHeaderDirective;
2990
+ }());
2991
+ ZoneMemberListHeaderDirective.decorators = [
2992
+ { type: i0.Directive, args: [{
2993
+ selector: '[vdrZoneMemberListHeader]',
2994
+ },] }
2995
+ ];
2996
+ ZoneMemberListHeaderDirective.ctorParameters = function () { return [
2997
+ { type: i0.TemplateRef }
2998
+ ]; };
2999
+
3000
+ var ZoneMemberListComponent = /** @class */ (function () {
3001
+ function ZoneMemberListComponent() {
3002
+ var _this = this;
3003
+ this.members = [];
3004
+ this.selectedMemberIds = [];
3005
+ this.selectionChange = new i0.EventEmitter();
3006
+ this.filterTerm = '';
3007
+ this.isMemberSelected = function (member) {
3008
+ return -1 < _this.selectedMemberIds.indexOf(member.id);
3009
+ };
3010
+ }
3011
+ ZoneMemberListComponent.prototype.filteredMembers = function () {
3012
+ if (this.filterTerm !== '') {
3013
+ var term_1 = this.filterTerm.toLocaleLowerCase();
3014
+ return this.members.filter(function (m) { return m.name.toLocaleLowerCase().includes(term_1) || m.code.toLocaleLowerCase().includes(term_1); });
3015
+ }
3016
+ else {
3017
+ return this.members;
3018
+ }
3019
+ };
3020
+ ZoneMemberListComponent.prototype.areAllSelected = function () {
3021
+ if (this.members) {
3022
+ return this.selectedMemberIds.length === this.members.length;
3023
+ }
3024
+ else {
3025
+ return false;
3026
+ }
3027
+ };
3028
+ ZoneMemberListComponent.prototype.toggleSelectAll = function () {
3029
+ if (this.areAllSelected()) {
3030
+ this.selectionChange.emit([]);
3031
+ }
3032
+ else {
3033
+ this.selectionChange.emit(this.members.map(function (v) { return v.id; }));
3034
+ }
3035
+ };
3036
+ ZoneMemberListComponent.prototype.toggleSelectMember = function (_a) {
3037
+ var member = _a.item;
3038
+ if (this.selectedMemberIds.includes(member.id)) {
3039
+ this.selectionChange.emit(this.selectedMemberIds.filter(function (id) { return id !== member.id; }));
3040
+ }
3041
+ else {
3042
+ this.selectionChange.emit(__spreadArray(__spreadArray([], __read(this.selectedMemberIds)), [member.id]));
3043
+ }
3044
+ };
3045
+ return ZoneMemberListComponent;
3046
+ }());
3047
+ ZoneMemberListComponent.decorators = [
3048
+ { type: i0.Component, args: [{
3049
+ selector: 'vdr-zone-member-list',
3050
+ template: "<div class=\"members-header\">\r\n <ng-container *ngIf=\"headerTemplate\">\r\n <ng-container *ngTemplateOutlet=\"headerTemplate.templateRef\"></ng-container>\r\n </ng-container>\r\n <input\r\n type=\"text\"\r\n [placeholder]=\"'settings.filter-by-member-name' | translate\"\r\n [(ngModel)]=\"filterTerm\"\r\n />\r\n</div>\r\n<vdr-data-table\r\n [items]=\"filteredMembers()\"\r\n [allSelected]=\"areAllSelected()\"\r\n [isRowSelectedFn]=\"(['UpdateSettings', 'UpdateZone'] | hasPermission) && isMemberSelected\"\r\n (rowSelectChange)=\"toggleSelectMember($event)\"\r\n (allSelectChange)=\"toggleSelectAll()\"\r\n>\r\n <vdr-dt-column>{{ 'common.code' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'common.name' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'common.enabled' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-member=\"item\">\r\n <td class=\"left align-middle\">{{ member.code }}</td>\r\n <td class=\"left align-middle\">{{ member.name }}</td>\r\n <td class=\"left align-middle\">\r\n <clr-icon\r\n [class.is-success]=\"member.enabled\"\r\n [attr.shape]=\"member.enabled ? 'check' : 'times'\"\r\n ></clr-icon>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <ng-container *ngIf=\"controlsTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"controlsTemplate.templateRef; context: { member: member }\"\r\n ></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n",
3051
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
3052
+ styles: [".members-header{background-color:var(--color-component-bg-100);position:sticky;top:0;padding:6px;z-index:5;border-bottom:1px solid var(--color-component-border-200)}.members-header .header-title-row{display:flex;justify-content:space-between;align-items:center}.members-header .clr-input{width:100%}\n"]
3053
+ },] }
3054
+ ];
3055
+ ZoneMemberListComponent.propDecorators = {
3056
+ members: [{ type: i0.Input }],
3057
+ selectedMemberIds: [{ type: i0.Input }],
3058
+ selectionChange: [{ type: i0.Output }],
3059
+ headerTemplate: [{ type: i0.ContentChild, args: [ZoneMemberListHeaderDirective,] }],
3060
+ controlsTemplate: [{ type: i0.ContentChild, args: [ZoneMemberControlsDirective,] }]
3061
+ };
3062
+
3063
+ var AdministratorResolver = /** @class */ (function (_super) {
3064
+ __extends(AdministratorResolver, _super);
3065
+ function AdministratorResolver(router, dataService) {
3066
+ return _super.call(this, router, {
3067
+ __typename: 'Administrator',
3068
+ id: '',
3069
+ createdAt: '',
3070
+ updatedAt: '',
3071
+ emailAddress: '',
3072
+ firstName: '',
3073
+ lastName: '',
3074
+ user: { roles: [] },
3075
+ }, function (id) { return dataService.administrator.getAdministrator(id).mapStream(function (data) { return data.administrator; }); }) || this;
3076
+ }
3077
+ return AdministratorResolver;
3078
+ }(i2.BaseEntityResolver));
3079
+ AdministratorResolver.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function AdministratorResolver_Factory() { return new AdministratorResolver(i0__namespace.ɵɵinject(i1__namespace.Router), i0__namespace.ɵɵinject(i2__namespace.DataService)); }, token: AdministratorResolver, providedIn: "root" });
3080
+ AdministratorResolver.decorators = [
3081
+ { type: i0.Injectable, args: [{
3082
+ providedIn: 'root',
3083
+ },] }
3084
+ ];
3085
+ AdministratorResolver.ctorParameters = function () { return [
3086
+ { type: i1.Router },
3087
+ { type: i2.DataService }
3088
+ ]; };
3089
+
3090
+ /**
3091
+ * Resolves the id from the path into a Customer entity.
3092
+ */
3093
+ var ChannelResolver = /** @class */ (function (_super) {
3094
+ __extends(ChannelResolver, _super);
3095
+ function ChannelResolver(router, dataService) {
3096
+ return _super.call(this, router, {
3097
+ __typename: 'Channel',
3098
+ id: '',
3099
+ createdAt: '',
3100
+ updatedAt: '',
3101
+ code: '',
3102
+ token: '',
3103
+ pricesIncludeTax: false,
3104
+ currencyCode: i2.CurrencyCode.USD,
3105
+ defaultLanguageCode: i2.getDefaultUiLanguage(),
3106
+ defaultShippingZone: {},
3107
+ defaultTaxZone: {},
3108
+ }, function (id) { return dataService.settings.getChannel(id).mapStream(function (data) { return data.channel; }); }) || this;
3109
+ }
3110
+ return ChannelResolver;
3111
+ }(i2.BaseEntityResolver));
3112
+ ChannelResolver.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ChannelResolver_Factory() { return new ChannelResolver(i0__namespace.ɵɵinject(i1__namespace.Router), i0__namespace.ɵɵinject(i2__namespace.DataService)); }, token: ChannelResolver, providedIn: "root" });
3113
+ ChannelResolver.decorators = [
3114
+ { type: i0.Injectable, args: [{
3115
+ providedIn: 'root',
3116
+ },] }
3117
+ ];
3118
+ ChannelResolver.ctorParameters = function () { return [
3119
+ { type: i1.Router },
3120
+ { type: i2.DataService }
3121
+ ]; };
3122
+
3123
+ /**
3124
+ * Resolves the id from the path into a Customer entity.
3125
+ */
3126
+ var CountryResolver = /** @class */ (function (_super) {
3127
+ __extends(CountryResolver, _super);
3128
+ function CountryResolver(router, dataService) {
3129
+ return _super.call(this, router, {
3130
+ __typename: 'Country',
3131
+ id: '',
3132
+ createdAt: '',
3133
+ updatedAt: '',
3134
+ code: '',
3135
+ name: '',
3136
+ enabled: false,
3137
+ translations: [],
3138
+ }, function (id) { return dataService.settings.getCountry(id).mapStream(function (data) { return data.country; }); }) || this;
3139
+ }
3140
+ return CountryResolver;
3141
+ }(i2.BaseEntityResolver));
3142
+ CountryResolver.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function CountryResolver_Factory() { return new CountryResolver(i0__namespace.ɵɵinject(i1__namespace.Router), i0__namespace.ɵɵinject(i2__namespace.DataService)); }, token: CountryResolver, providedIn: "root" });
3143
+ CountryResolver.decorators = [
3144
+ { type: i0.Injectable, args: [{
3145
+ providedIn: 'root',
3146
+ },] }
3147
+ ];
3148
+ CountryResolver.ctorParameters = function () { return [
3149
+ { type: i1.Router },
3150
+ { type: i2.DataService }
3151
+ ]; };
3152
+
3153
+ /**
3154
+ * Resolves the global settings.
3155
+ */
3156
+ var GlobalSettingsResolver = /** @class */ (function (_super) {
3157
+ __extends(GlobalSettingsResolver, _super);
3158
+ function GlobalSettingsResolver(router, dataService) {
3159
+ return _super.call(this, router,
3160
+ // we will never be creating a new GlobalSettings entity, so this part is not used.
3161
+ {}, function () { return dataService.settings.getGlobalSettings().mapStream(function (data) { return data.globalSettings; }); }) || this;
3162
+ }
3163
+ return GlobalSettingsResolver;
3164
+ }(i2.BaseEntityResolver));
3165
+ GlobalSettingsResolver.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function GlobalSettingsResolver_Factory() { return new GlobalSettingsResolver(i0__namespace.ɵɵinject(i1__namespace.Router), i0__namespace.ɵɵinject(i2__namespace.DataService)); }, token: GlobalSettingsResolver, providedIn: "root" });
3166
+ GlobalSettingsResolver.decorators = [
3167
+ { type: i0.Injectable, args: [{
3168
+ providedIn: 'root',
3169
+ },] }
3170
+ ];
3171
+ GlobalSettingsResolver.ctorParameters = function () { return [
3172
+ { type: i1.Router },
3173
+ { type: i2.DataService }
3174
+ ]; };
3175
+
3176
+ /**
3177
+ * Resolves the id from the path into a Customer entity.
3178
+ */
3179
+ var PaymentMethodResolver = /** @class */ (function (_super) {
3180
+ __extends(PaymentMethodResolver, _super);
3181
+ function PaymentMethodResolver(router, dataService) {
3182
+ return _super.call(this, router, {
3183
+ __typename: 'PaymentMethod',
3184
+ id: '',
3185
+ createdAt: '',
3186
+ updatedAt: '',
3187
+ name: '',
3188
+ code: '',
3189
+ description: '',
3190
+ enabled: true,
3191
+ checker: undefined,
3192
+ handler: undefined,
3193
+ }, function (id) { return dataService.settings.getPaymentMethod(id).mapStream(function (data) { return data.paymentMethod; }); }) || this;
3194
+ }
3195
+ return PaymentMethodResolver;
3196
+ }(i2.BaseEntityResolver));
3197
+ PaymentMethodResolver.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function PaymentMethodResolver_Factory() { return new PaymentMethodResolver(i0__namespace.ɵɵinject(i1__namespace.Router), i0__namespace.ɵɵinject(i2__namespace.DataService)); }, token: PaymentMethodResolver, providedIn: "root" });
3198
+ PaymentMethodResolver.decorators = [
3199
+ { type: i0.Injectable, args: [{
3200
+ providedIn: 'root',
3201
+ },] }
3202
+ ];
3203
+ PaymentMethodResolver.ctorParameters = function () { return [
3204
+ { type: i1.Router },
3205
+ { type: i2.DataService }
3206
+ ]; };
3207
+
3208
+ var ProfileResolver = /** @class */ (function (_super) {
3209
+ __extends(ProfileResolver, _super);
3210
+ function ProfileResolver(router, dataService) {
3211
+ return _super.call(this, router, {
3212
+ __typename: 'Administrator',
3213
+ id: '',
3214
+ createdAt: '',
3215
+ updatedAt: '',
3216
+ emailAddress: '',
3217
+ firstName: '',
3218
+ lastName: '',
3219
+ user: { roles: [] },
3220
+ }, function (id) { return dataService.administrator
3221
+ .getActiveAdministrator()
3222
+ .mapStream(function (data) { return data.activeAdministrator; }); }) || this;
3223
+ }
3224
+ return ProfileResolver;
3225
+ }(i2.BaseEntityResolver));
3226
+ ProfileResolver.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ProfileResolver_Factory() { return new ProfileResolver(i0__namespace.ɵɵinject(i1__namespace.Router), i0__namespace.ɵɵinject(i2__namespace.DataService)); }, token: ProfileResolver, providedIn: "root" });
3227
+ ProfileResolver.decorators = [
3228
+ { type: i0.Injectable, args: [{
3229
+ providedIn: 'root',
3230
+ },] }
3231
+ ];
3232
+ ProfileResolver.ctorParameters = function () { return [
3233
+ { type: i1.Router },
3234
+ { type: i2.DataService }
3235
+ ]; };
3236
+
3237
+ var RoleResolver = /** @class */ (function (_super) {
3238
+ __extends(RoleResolver, _super);
3239
+ function RoleResolver(router, dataService) {
3240
+ return _super.call(this, router, {
3241
+ __typename: 'Role',
3242
+ id: '',
3243
+ createdAt: '',
3244
+ updatedAt: '',
3245
+ code: '',
3246
+ description: '',
3247
+ permissions: [],
3248
+ channels: [],
3249
+ }, function (id) { return dataService.administrator.getRole(id).mapStream(function (data) { return data.role; }); }) || this;
3250
+ }
3251
+ return RoleResolver;
3252
+ }(i2.BaseEntityResolver));
3253
+ RoleResolver.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function RoleResolver_Factory() { return new RoleResolver(i0__namespace.ɵɵinject(i1__namespace.Router), i0__namespace.ɵɵinject(i2__namespace.DataService)); }, token: RoleResolver, providedIn: "root" });
3254
+ RoleResolver.decorators = [
3255
+ { type: i0.Injectable, args: [{
3256
+ providedIn: 'root',
3257
+ },] }
3258
+ ];
3259
+ RoleResolver.ctorParameters = function () { return [
3260
+ { type: i1.Router },
3261
+ { type: i2.DataService }
3262
+ ]; };
3263
+
3264
+ /**
3265
+ * Resolves the id from the path into a Customer entity.
3266
+ */
3267
+ var ShippingMethodResolver = /** @class */ (function (_super) {
3268
+ __extends(ShippingMethodResolver, _super);
3269
+ function ShippingMethodResolver(router, dataService) {
3270
+ return _super.call(this, router, {
3271
+ __typename: 'ShippingMethod',
3272
+ createdAt: '',
3273
+ updatedAt: '',
3274
+ id: '',
3275
+ code: '',
3276
+ name: '',
3277
+ description: '',
3278
+ fulfillmentHandlerCode: undefined,
3279
+ checker: undefined,
3280
+ calculator: undefined,
3281
+ translations: [],
3282
+ }, function (id) { return dataService.shippingMethod.getShippingMethod(id).mapStream(function (data) { return data.shippingMethod; }); }) || this;
3283
+ }
3284
+ return ShippingMethodResolver;
3285
+ }(i2.BaseEntityResolver));
3286
+ ShippingMethodResolver.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function ShippingMethodResolver_Factory() { return new ShippingMethodResolver(i0__namespace.ɵɵinject(i1__namespace.Router), i0__namespace.ɵɵinject(i2__namespace.DataService)); }, token: ShippingMethodResolver, providedIn: "root" });
3287
+ ShippingMethodResolver.decorators = [
3288
+ { type: i0.Injectable, args: [{
3289
+ providedIn: 'root',
3290
+ },] }
3291
+ ];
3292
+ ShippingMethodResolver.ctorParameters = function () { return [
3293
+ { type: i1.Router },
3294
+ { type: i2.DataService }
3295
+ ]; };
3296
+
3297
+ /**
3298
+ * Resolves the id from the path into a Customer entity.
3299
+ */
3300
+ var TaxCategoryResolver = /** @class */ (function (_super) {
3301
+ __extends(TaxCategoryResolver, _super);
3302
+ function TaxCategoryResolver(router, dataService) {
3303
+ return _super.call(this, router, {
3304
+ __typename: 'TaxCategory',
3305
+ id: '',
3306
+ createdAt: '',
3307
+ updatedAt: '',
3308
+ name: '',
3309
+ isDefault: false,
3310
+ }, function (id) { return dataService.settings.getTaxCategory(id).mapStream(function (data) { return data.taxCategory; }); }) || this;
3311
+ }
3312
+ return TaxCategoryResolver;
3313
+ }(i2.BaseEntityResolver));
3314
+ TaxCategoryResolver.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TaxCategoryResolver_Factory() { return new TaxCategoryResolver(i0__namespace.ɵɵinject(i1__namespace.Router), i0__namespace.ɵɵinject(i2__namespace.DataService)); }, token: TaxCategoryResolver, providedIn: "root" });
3315
+ TaxCategoryResolver.decorators = [
3316
+ { type: i0.Injectable, args: [{
3317
+ providedIn: 'root',
3318
+ },] }
3319
+ ];
3320
+ TaxCategoryResolver.ctorParameters = function () { return [
3321
+ { type: i1.Router },
3322
+ { type: i2.DataService }
3323
+ ]; };
3324
+
3325
+ /**
3326
+ * Resolves the id from the path into a Customer entity.
3327
+ */
3328
+ var TaxRateResolver = /** @class */ (function (_super) {
3329
+ __extends(TaxRateResolver, _super);
3330
+ function TaxRateResolver(router, dataService) {
3331
+ return _super.call(this, router, {
3332
+ __typename: 'TaxRate',
3333
+ id: '',
3334
+ createdAt: '',
3335
+ updatedAt: '',
3336
+ name: '',
3337
+ value: 0,
3338
+ enabled: true,
3339
+ category: {},
3340
+ zone: {},
3341
+ customerGroup: null,
3342
+ }, function (id) { return dataService.settings.getTaxRate(id).mapStream(function (data) { return data.taxRate; }); }) || this;
3343
+ }
3344
+ return TaxRateResolver;
3345
+ }(i2.BaseEntityResolver));
3346
+ TaxRateResolver.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function TaxRateResolver_Factory() { return new TaxRateResolver(i0__namespace.ɵɵinject(i1__namespace.Router), i0__namespace.ɵɵinject(i2__namespace.DataService)); }, token: TaxRateResolver, providedIn: "root" });
3347
+ TaxRateResolver.decorators = [
3348
+ { type: i0.Injectable, args: [{
3349
+ providedIn: 'root',
3350
+ },] }
3351
+ ];
3352
+ TaxRateResolver.ctorParameters = function () { return [
3353
+ { type: i1.Router },
3354
+ { type: i2.DataService }
3355
+ ]; };
3356
+
3357
+ var ɵ0 = {
3358
+ breadcrumb: ngxTranslateExtractMarker.marker('breadcrumb.profile'),
3359
+ }, ɵ1 = {
3360
+ breadcrumb: ngxTranslateExtractMarker.marker('breadcrumb.administrators'),
3361
+ }, ɵ2 = { breadcrumb: administratorBreadcrumb }, ɵ3 = {
3362
+ breadcrumb: ngxTranslateExtractMarker.marker('breadcrumb.channels'),
3363
+ }, ɵ4 = { breadcrumb: channelBreadcrumb }, ɵ5 = {
3364
+ breadcrumb: ngxTranslateExtractMarker.marker('breadcrumb.roles'),
3365
+ }, ɵ6 = { breadcrumb: roleBreadcrumb }, ɵ7 = {
3366
+ breadcrumb: ngxTranslateExtractMarker.marker('breadcrumb.tax-categories'),
3367
+ }, ɵ8 = {
3368
+ breadcrumb: taxCategoryBreadcrumb,
3369
+ }, ɵ9 = {
3370
+ breadcrumb: ngxTranslateExtractMarker.marker('breadcrumb.tax-rates'),
3371
+ }, ɵ10 = {
3372
+ breadcrumb: taxRateBreadcrumb,
3373
+ }, ɵ11 = {
3374
+ breadcrumb: ngxTranslateExtractMarker.marker('breadcrumb.countries'),
3375
+ }, ɵ12 = {
3376
+ breadcrumb: countryBreadcrumb,
3377
+ }, ɵ13 = {
3378
+ breadcrumb: ngxTranslateExtractMarker.marker('breadcrumb.zones'),
3379
+ }, ɵ14 = {
3380
+ breadcrumb: ngxTranslateExtractMarker.marker('breadcrumb.shipping-methods'),
3381
+ }, ɵ15 = {
3382
+ breadcrumb: shippingMethodBreadcrumb,
3383
+ }, ɵ16 = {
3384
+ breadcrumb: ngxTranslateExtractMarker.marker('breadcrumb.payment-methods'),
3385
+ }, ɵ17 = {
3386
+ breadcrumb: paymentMethodBreadcrumb,
3387
+ }, ɵ18 = {
3388
+ breadcrumb: ngxTranslateExtractMarker.marker('breadcrumb.global-settings'),
3389
+ };
3390
+ var settingsRoutes = [
3391
+ {
3392
+ path: 'profile',
3393
+ component: ProfileComponent,
3394
+ resolve: i2.createResolveData(ProfileResolver),
3395
+ canDeactivate: [i2.CanDeactivateDetailGuard],
3396
+ data: ɵ0,
3397
+ },
3398
+ {
3399
+ path: 'administrators',
3400
+ component: AdministratorListComponent,
3401
+ data: ɵ1,
3402
+ },
3403
+ {
3404
+ path: 'administrators/:id',
3405
+ component: AdminDetailComponent,
3406
+ resolve: i2.createResolveData(AdministratorResolver),
3407
+ canDeactivate: [i2.CanDeactivateDetailGuard],
3408
+ data: ɵ2,
3409
+ },
3410
+ {
3411
+ path: 'channels',
3412
+ component: ChannelListComponent,
3413
+ data: ɵ3,
3414
+ },
3415
+ {
3416
+ path: 'channels/:id',
3417
+ component: ChannelDetailComponent,
3418
+ resolve: i2.createResolveData(ChannelResolver),
3419
+ canDeactivate: [i2.CanDeactivateDetailGuard],
3420
+ data: ɵ4,
3421
+ },
3422
+ {
3423
+ path: 'roles',
3424
+ component: RoleListComponent,
3425
+ data: ɵ5,
3426
+ },
3427
+ {
3428
+ path: 'roles/:id',
3429
+ component: RoleDetailComponent,
3430
+ resolve: i2.createResolveData(RoleResolver),
3431
+ canDeactivate: [i2.CanDeactivateDetailGuard],
3432
+ data: ɵ6,
3433
+ },
3434
+ {
3435
+ path: 'tax-categories',
3436
+ component: TaxCategoryListComponent,
3437
+ data: ɵ7,
3438
+ },
3439
+ {
3440
+ path: 'tax-categories/:id',
3441
+ component: TaxCategoryDetailComponent,
3442
+ resolve: i2.createResolveData(TaxCategoryResolver),
3443
+ canDeactivate: [i2.CanDeactivateDetailGuard],
3444
+ data: ɵ8,
3445
+ },
3446
+ {
3447
+ path: 'tax-rates',
3448
+ component: TaxRateListComponent,
3449
+ data: ɵ9,
3450
+ },
3451
+ {
3452
+ path: 'tax-rates/:id',
3453
+ component: TaxRateDetailComponent,
3454
+ resolve: i2.createResolveData(TaxRateResolver),
3455
+ canDeactivate: [i2.CanDeactivateDetailGuard],
3456
+ data: ɵ10,
3457
+ },
3458
+ {
3459
+ path: 'countries',
3460
+ component: CountryListComponent,
3461
+ data: ɵ11,
3462
+ },
3463
+ {
3464
+ path: 'countries/:id',
3465
+ component: CountryDetailComponent,
3466
+ resolve: i2.createResolveData(CountryResolver),
3467
+ canDeactivate: [i2.CanDeactivateDetailGuard],
3468
+ data: ɵ12,
3469
+ },
3470
+ {
3471
+ path: 'zones',
3472
+ component: ZoneListComponent,
3473
+ data: ɵ13,
3474
+ },
3475
+ {
3476
+ path: 'shipping-methods',
3477
+ component: ShippingMethodListComponent,
3478
+ data: ɵ14,
3479
+ },
3480
+ {
3481
+ path: 'shipping-methods/:id',
3482
+ component: ShippingMethodDetailComponent,
3483
+ resolve: i2.createResolveData(ShippingMethodResolver),
3484
+ canDeactivate: [i2.CanDeactivateDetailGuard],
3485
+ data: ɵ15,
3486
+ },
3487
+ {
3488
+ path: 'payment-methods',
3489
+ component: PaymentMethodListComponent,
3490
+ data: ɵ16,
3491
+ },
3492
+ {
3493
+ path: 'payment-methods/:id',
3494
+ component: PaymentMethodDetailComponent,
3495
+ resolve: i2.createResolveData(PaymentMethodResolver),
3496
+ canDeactivate: [i2.CanDeactivateDetailGuard],
3497
+ data: ɵ17,
3498
+ },
3499
+ {
3500
+ path: 'global-settings',
3501
+ component: GlobalSettingsComponent,
3502
+ resolve: i2.createResolveData(GlobalSettingsResolver),
3503
+ canDeactivate: [i2.CanDeactivateDetailGuard],
3504
+ data: ɵ18,
3505
+ },
3506
+ ];
3507
+ function administratorBreadcrumb(data, params) {
3508
+ return i2.detailBreadcrumb({
3509
+ entity: data.entity,
3510
+ id: params.id,
3511
+ breadcrumbKey: 'breadcrumb.administrators',
3512
+ getName: function (admin) { return admin.firstName + " " + admin.lastName; },
3513
+ route: 'administrators',
3514
+ });
3515
+ }
3516
+ function channelBreadcrumb(data, params) {
3517
+ return i2.detailBreadcrumb({
3518
+ entity: data.entity,
3519
+ id: params.id,
3520
+ breadcrumbKey: 'breadcrumb.channels',
3521
+ getName: function (channel) { return channel.code; },
3522
+ route: 'channels',
3523
+ });
3524
+ }
3525
+ function roleBreadcrumb(data, params) {
3526
+ return i2.detailBreadcrumb({
3527
+ entity: data.entity,
3528
+ id: params.id,
3529
+ breadcrumbKey: 'breadcrumb.roles',
3530
+ getName: function (role) { return role.description; },
3531
+ route: 'roles',
3532
+ });
3533
+ }
3534
+ function taxCategoryBreadcrumb(data, params) {
3535
+ return i2.detailBreadcrumb({
3536
+ entity: data.entity,
3537
+ id: params.id,
3538
+ breadcrumbKey: 'breadcrumb.tax-categories',
3539
+ getName: function (category) { return category.name; },
3540
+ route: 'tax-categories',
3541
+ });
3542
+ }
3543
+ function taxRateBreadcrumb(data, params) {
3544
+ return i2.detailBreadcrumb({
3545
+ entity: data.entity,
3546
+ id: params.id,
3547
+ breadcrumbKey: 'breadcrumb.tax-rates',
3548
+ getName: function (category) { return category.name; },
3549
+ route: 'tax-rates',
3550
+ });
3551
+ }
3552
+ function countryBreadcrumb(data, params) {
3553
+ return i2.detailBreadcrumb({
3554
+ entity: data.entity,
3555
+ id: params.id,
3556
+ breadcrumbKey: 'breadcrumb.countries',
3557
+ getName: function (promotion) { return promotion.name; },
3558
+ route: 'countries',
3559
+ });
3560
+ }
3561
+ function shippingMethodBreadcrumb(data, params) {
3562
+ return i2.detailBreadcrumb({
3563
+ entity: data.entity,
3564
+ id: params.id,
3565
+ breadcrumbKey: 'breadcrumb.shipping-methods',
3566
+ getName: function (method) { return method.name; },
3567
+ route: 'shipping-methods',
3568
+ });
3569
+ }
3570
+ function paymentMethodBreadcrumb(data, params) {
3571
+ return i2.detailBreadcrumb({
3572
+ entity: data.entity,
3573
+ id: params.id,
3574
+ breadcrumbKey: 'breadcrumb.payment-methods',
3575
+ getName: function (method) { return method.code; },
3576
+ route: 'payment-methods',
3577
+ });
3578
+ }
3579
+
3580
+ var SettingsModule = /** @class */ (function () {
3581
+ function SettingsModule() {
3582
+ }
3583
+ return SettingsModule;
3584
+ }());
3585
+ SettingsModule.decorators = [
3586
+ { type: i0.NgModule, args: [{
3587
+ imports: [i2.SharedModule, i1.RouterModule.forChild(settingsRoutes)],
3588
+ declarations: [
3589
+ TaxCategoryListComponent,
3590
+ TaxCategoryDetailComponent,
3591
+ AdministratorListComponent,
3592
+ RoleListComponent,
3593
+ RoleDetailComponent,
3594
+ AdminDetailComponent,
3595
+ PermissionGridComponent,
3596
+ CountryListComponent,
3597
+ CountryDetailComponent,
3598
+ TaxRateListComponent,
3599
+ TaxRateDetailComponent,
3600
+ ChannelListComponent,
3601
+ ChannelDetailComponent,
3602
+ ShippingMethodListComponent,
3603
+ ShippingMethodDetailComponent,
3604
+ PaymentMethodListComponent,
3605
+ PaymentMethodDetailComponent,
3606
+ GlobalSettingsComponent,
3607
+ TestOrderBuilderComponent,
3608
+ TestAddressFormComponent,
3609
+ ShippingMethodTestResultComponent,
3610
+ ShippingEligibilityTestResultComponent,
3611
+ ZoneListComponent,
3612
+ AddCountryToZoneDialogComponent,
3613
+ ZoneMemberListComponent,
3614
+ ZoneMemberListHeaderDirective,
3615
+ ZoneMemberControlsDirective,
3616
+ ZoneDetailDialogComponent,
3617
+ ProfileComponent,
3618
+ ],
3619
+ },] }
3620
+ ];
3621
+
3622
+ // This file was generated by the build-public-api.ts script
3623
+
3624
+ /**
3625
+ * Generated bundle index. Do not edit.
3626
+ */
3627
+
3628
+ exports.AddCountryToZoneDialogComponent = AddCountryToZoneDialogComponent;
3629
+ exports.AdminDetailComponent = AdminDetailComponent;
3630
+ exports.AdministratorListComponent = AdministratorListComponent;
3631
+ exports.AdministratorResolver = AdministratorResolver;
3632
+ exports.ChannelDetailComponent = ChannelDetailComponent;
3633
+ exports.ChannelListComponent = ChannelListComponent;
3634
+ exports.ChannelResolver = ChannelResolver;
3635
+ exports.CountryDetailComponent = CountryDetailComponent;
3636
+ exports.CountryListComponent = CountryListComponent;
3637
+ exports.CountryResolver = CountryResolver;
3638
+ exports.GlobalSettingsComponent = GlobalSettingsComponent;
3639
+ exports.GlobalSettingsResolver = GlobalSettingsResolver;
3640
+ exports.PaymentMethodDetailComponent = PaymentMethodDetailComponent;
3641
+ exports.PaymentMethodListComponent = PaymentMethodListComponent;
3642
+ exports.PaymentMethodResolver = PaymentMethodResolver;
3643
+ exports.PermissionGridComponent = PermissionGridComponent;
3644
+ exports.ProfileComponent = ProfileComponent;
3645
+ exports.ProfileResolver = ProfileResolver;
3646
+ exports.RoleDetailComponent = RoleDetailComponent;
3647
+ exports.RoleListComponent = RoleListComponent;
3648
+ exports.RoleResolver = RoleResolver;
3649
+ exports.SettingsModule = SettingsModule;
3650
+ exports.ShippingEligibilityTestResultComponent = ShippingEligibilityTestResultComponent;
3651
+ exports.ShippingMethodDetailComponent = ShippingMethodDetailComponent;
3652
+ exports.ShippingMethodListComponent = ShippingMethodListComponent;
3653
+ exports.ShippingMethodResolver = ShippingMethodResolver;
3654
+ exports.ShippingMethodTestResultComponent = ShippingMethodTestResultComponent;
3655
+ exports.TaxCategoryDetailComponent = TaxCategoryDetailComponent;
3656
+ exports.TaxCategoryListComponent = TaxCategoryListComponent;
3657
+ exports.TaxCategoryResolver = TaxCategoryResolver;
3658
+ exports.TaxRateDetailComponent = TaxRateDetailComponent;
3659
+ exports.TaxRateListComponent = TaxRateListComponent;
3660
+ exports.TaxRateResolver = TaxRateResolver;
3661
+ exports.TestAddressFormComponent = TestAddressFormComponent;
3662
+ exports.TestOrderBuilderComponent = TestOrderBuilderComponent;
3663
+ exports.ZoneDetailDialogComponent = ZoneDetailDialogComponent;
3664
+ exports.ZoneListComponent = ZoneListComponent;
3665
+ exports.ZoneMemberControlsDirective = ZoneMemberControlsDirective;
3666
+ exports.ZoneMemberListComponent = ZoneMemberListComponent;
3667
+ exports.ZoneMemberListHeaderDirective = ZoneMemberListHeaderDirective;
3668
+ exports.administratorBreadcrumb = administratorBreadcrumb;
3669
+ exports.channelBreadcrumb = channelBreadcrumb;
3670
+ exports.countryBreadcrumb = countryBreadcrumb;
3671
+ exports.paymentMethodBreadcrumb = paymentMethodBreadcrumb;
3672
+ exports.roleBreadcrumb = roleBreadcrumb;
3673
+ exports.settingsRoutes = settingsRoutes;
3674
+ exports.shippingMethodBreadcrumb = shippingMethodBreadcrumb;
3675
+ exports.taxCategoryBreadcrumb = taxCategoryBreadcrumb;
3676
+ exports.taxRateBreadcrumb = taxRateBreadcrumb;
3677
+ exports.ɵ0 = ɵ0;
3678
+ exports.ɵ1 = ɵ1;
3679
+ exports.ɵ10 = ɵ10;
3680
+ exports.ɵ11 = ɵ11;
3681
+ exports.ɵ12 = ɵ12;
3682
+ exports.ɵ13 = ɵ13;
3683
+ exports.ɵ14 = ɵ14;
3684
+ exports.ɵ15 = ɵ15;
3685
+ exports.ɵ16 = ɵ16;
3686
+ exports.ɵ17 = ɵ17;
3687
+ exports.ɵ18 = ɵ18;
3688
+ exports.ɵ2 = ɵ2;
3689
+ exports.ɵ3 = ɵ3;
3690
+ exports.ɵ4 = ɵ4;
3691
+ exports.ɵ5 = ɵ5;
3692
+ exports.ɵ6 = ɵ6;
3693
+ exports.ɵ7 = ɵ7;
3694
+ exports.ɵ8 = ɵ8;
3695
+ exports.ɵ9 = ɵ9;
3696
+
3697
+ Object.defineProperty(exports, '__esModule', { value: true });
3698
+
3699
+ })));
3700
+ //# sourceMappingURL=vendure-admin-ui-settings.umd.js.map