@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,4028 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@vendure/admin-ui/core'), require('@biesbjerg/ngx-translate-extract-marker'), require('rxjs'), require('rxjs/operators'), require('@angular/router'), require('@vendure/common/lib/pick'), require('apollo-angular'), require('@vendure/common/lib/shared-utils'), require('@vendure/common/lib/simple-deep-clone')) :
3
+ typeof define === 'function' && define.amd ? define('@vendure/admin-ui/order', ['exports', '@angular/core', '@angular/forms', '@vendure/admin-ui/core', '@biesbjerg/ngx-translate-extract-marker', 'rxjs', 'rxjs/operators', '@angular/router', '@vendure/common/lib/pick', 'apollo-angular', '@vendure/common/lib/shared-utils', '@vendure/common/lib/simple-deep-clone'], 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'].order = {}), global.ng.core, global.ng.forms, global.vendure['admin-ui'].core, global.ngxTranslateExtractMarker, global.rxjs, global.rxjs.operators, global.ng.router, global.pick, global.apolloAngular, global.sharedUtils, global.simpleDeepClone));
5
+ }(this, (function (exports, i0, forms, i1, ngxTranslateExtractMarker, rxjs, operators, i1$1, pick, apolloAngular, sharedUtils, simpleDeepClone) { '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 i1__namespace = /*#__PURE__*/_interopNamespace(i1);
29
+ var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
30
+
31
+ var AddManualPaymentDialogComponent = /** @class */ (function () {
32
+ function AddManualPaymentDialogComponent(dataService) {
33
+ this.dataService = dataService;
34
+ this.form = new forms.FormGroup({
35
+ method: new forms.FormControl('', forms.Validators.required),
36
+ transactionId: new forms.FormControl('', forms.Validators.required),
37
+ });
38
+ }
39
+ AddManualPaymentDialogComponent.prototype.ngOnInit = function () {
40
+ this.paymentMethods$ = this.dataService.settings
41
+ .getPaymentMethods(999)
42
+ .mapSingle(function (data) { return data.paymentMethods.items; });
43
+ };
44
+ AddManualPaymentDialogComponent.prototype.submit = function () {
45
+ var formValue = this.form.value;
46
+ this.resolveWith({
47
+ method: formValue.method,
48
+ transactionId: formValue.transactionId,
49
+ });
50
+ };
51
+ AddManualPaymentDialogComponent.prototype.cancel = function () {
52
+ this.resolveWith();
53
+ };
54
+ return AddManualPaymentDialogComponent;
55
+ }());
56
+ AddManualPaymentDialogComponent.decorators = [
57
+ { type: i0.Component, args: [{
58
+ selector: 'vdr-add-manual-payment-dialog',
59
+ template: "<ng-template vdrDialogTitle>{{ 'order.add-payment-to-order' | translate }}</ng-template>\r\n<form [formGroup]=\"form\">\r\n <vdr-form-field [label]=\"'order.payment-method' | translate\" for=\"method\">\r\n <ng-select\r\n [items]=\"paymentMethods$ | async\"\r\n bindLabel=\"code\"\r\n autofocus\r\n bindValue=\"code\"\r\n [addTag]=\"true\"\r\n formControlName=\"method\"\r\n ></ng-select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'order.transaction-id' | translate\" for=\"transactionId\">\r\n <input id=\"transactionId\" type=\"text\" formControlName=\"transactionId\" />\r\n </vdr-form-field>\r\n</form>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"submit()\" class=\"btn btn-primary\" [disabled]=\"form.invalid || form.pristine\">\r\n {{ 'order.add-payment' | translate }} ({{ outstandingAmount | localeCurrency: currencyCode }})\r\n </button>\r\n</ng-template>\r\n",
60
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
61
+ styles: [".ng-select{min-width:100%}\n"]
62
+ },] }
63
+ ];
64
+ AddManualPaymentDialogComponent.ctorParameters = function () { return [
65
+ { type: i1.DataService }
66
+ ]; };
67
+
68
+ /*! *****************************************************************************
69
+ Copyright (c) Microsoft Corporation.
70
+
71
+ Permission to use, copy, modify, and/or distribute this software for any
72
+ purpose with or without fee is hereby granted.
73
+
74
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
75
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
76
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
77
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
78
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
79
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
80
+ PERFORMANCE OF THIS SOFTWARE.
81
+ ***************************************************************************** */
82
+ /* global Reflect, Promise */
83
+ var extendStatics = function (d, b) {
84
+ extendStatics = Object.setPrototypeOf ||
85
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
86
+ function (d, b) { for (var p in b)
87
+ if (Object.prototype.hasOwnProperty.call(b, p))
88
+ d[p] = b[p]; };
89
+ return extendStatics(d, b);
90
+ };
91
+ function __extends(d, b) {
92
+ if (typeof b !== "function" && b !== null)
93
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
94
+ extendStatics(d, b);
95
+ function __() { this.constructor = d; }
96
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
97
+ }
98
+ var __assign = function () {
99
+ __assign = Object.assign || function __assign(t) {
100
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
101
+ s = arguments[i];
102
+ for (var p in s)
103
+ if (Object.prototype.hasOwnProperty.call(s, p))
104
+ t[p] = s[p];
105
+ }
106
+ return t;
107
+ };
108
+ return __assign.apply(this, arguments);
109
+ };
110
+ function __rest(s, e) {
111
+ var t = {};
112
+ for (var p in s)
113
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
114
+ t[p] = s[p];
115
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
116
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
117
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
118
+ t[p[i]] = s[p[i]];
119
+ }
120
+ return t;
121
+ }
122
+ function __decorate(decorators, target, key, desc) {
123
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
124
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
125
+ r = Reflect.decorate(decorators, target, key, desc);
126
+ else
127
+ for (var i = decorators.length - 1; i >= 0; i--)
128
+ if (d = decorators[i])
129
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
130
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
131
+ }
132
+ function __param(paramIndex, decorator) {
133
+ return function (target, key) { decorator(target, key, paramIndex); };
134
+ }
135
+ function __metadata(metadataKey, metadataValue) {
136
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
137
+ return Reflect.metadata(metadataKey, metadataValue);
138
+ }
139
+ function __awaiter(thisArg, _arguments, P, generator) {
140
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
141
+ return new (P || (P = Promise))(function (resolve, reject) {
142
+ function fulfilled(value) { try {
143
+ step(generator.next(value));
144
+ }
145
+ catch (e) {
146
+ reject(e);
147
+ } }
148
+ function rejected(value) { try {
149
+ step(generator["throw"](value));
150
+ }
151
+ catch (e) {
152
+ reject(e);
153
+ } }
154
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
155
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
156
+ });
157
+ }
158
+ function __generator(thisArg, body) {
159
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
160
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
161
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
162
+ function verb(n) { return function (v) { return step([n, v]); }; }
163
+ function step(op) {
164
+ if (f)
165
+ throw new TypeError("Generator is already executing.");
166
+ while (_)
167
+ try {
168
+ 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)
169
+ return t;
170
+ if (y = 0, t)
171
+ op = [op[0] & 2, t.value];
172
+ switch (op[0]) {
173
+ case 0:
174
+ case 1:
175
+ t = op;
176
+ break;
177
+ case 4:
178
+ _.label++;
179
+ return { value: op[1], done: false };
180
+ case 5:
181
+ _.label++;
182
+ y = op[1];
183
+ op = [0];
184
+ continue;
185
+ case 7:
186
+ op = _.ops.pop();
187
+ _.trys.pop();
188
+ continue;
189
+ default:
190
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
191
+ _ = 0;
192
+ continue;
193
+ }
194
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
195
+ _.label = op[1];
196
+ break;
197
+ }
198
+ if (op[0] === 6 && _.label < t[1]) {
199
+ _.label = t[1];
200
+ t = op;
201
+ break;
202
+ }
203
+ if (t && _.label < t[2]) {
204
+ _.label = t[2];
205
+ _.ops.push(op);
206
+ break;
207
+ }
208
+ if (t[2])
209
+ _.ops.pop();
210
+ _.trys.pop();
211
+ continue;
212
+ }
213
+ op = body.call(thisArg, _);
214
+ }
215
+ catch (e) {
216
+ op = [6, e];
217
+ y = 0;
218
+ }
219
+ finally {
220
+ f = t = 0;
221
+ }
222
+ if (op[0] & 5)
223
+ throw op[1];
224
+ return { value: op[0] ? op[1] : void 0, done: true };
225
+ }
226
+ }
227
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
228
+ if (k2 === undefined)
229
+ k2 = k;
230
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
231
+ }) : (function (o, m, k, k2) {
232
+ if (k2 === undefined)
233
+ k2 = k;
234
+ o[k2] = m[k];
235
+ });
236
+ function __exportStar(m, o) {
237
+ for (var p in m)
238
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
239
+ __createBinding(o, m, p);
240
+ }
241
+ function __values(o) {
242
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
243
+ if (m)
244
+ return m.call(o);
245
+ if (o && typeof o.length === "number")
246
+ return {
247
+ next: function () {
248
+ if (o && i >= o.length)
249
+ o = void 0;
250
+ return { value: o && o[i++], done: !o };
251
+ }
252
+ };
253
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
254
+ }
255
+ function __read(o, n) {
256
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
257
+ if (!m)
258
+ return o;
259
+ var i = m.call(o), r, ar = [], e;
260
+ try {
261
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
262
+ ar.push(r.value);
263
+ }
264
+ catch (error) {
265
+ e = { error: error };
266
+ }
267
+ finally {
268
+ try {
269
+ if (r && !r.done && (m = i["return"]))
270
+ m.call(i);
271
+ }
272
+ finally {
273
+ if (e)
274
+ throw e.error;
275
+ }
276
+ }
277
+ return ar;
278
+ }
279
+ /** @deprecated */
280
+ function __spread() {
281
+ for (var ar = [], i = 0; i < arguments.length; i++)
282
+ ar = ar.concat(__read(arguments[i]));
283
+ return ar;
284
+ }
285
+ /** @deprecated */
286
+ function __spreadArrays() {
287
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
288
+ s += arguments[i].length;
289
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
290
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
291
+ r[k] = a[j];
292
+ return r;
293
+ }
294
+ function __spreadArray(to, from, pack) {
295
+ if (pack || arguments.length === 2)
296
+ for (var i = 0, l = from.length, ar; i < l; i++) {
297
+ if (ar || !(i in from)) {
298
+ if (!ar)
299
+ ar = Array.prototype.slice.call(from, 0, i);
300
+ ar[i] = from[i];
301
+ }
302
+ }
303
+ return to.concat(ar || Array.prototype.slice.call(from));
304
+ }
305
+ function __await(v) {
306
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
307
+ }
308
+ function __asyncGenerator(thisArg, _arguments, generator) {
309
+ if (!Symbol.asyncIterator)
310
+ throw new TypeError("Symbol.asyncIterator is not defined.");
311
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
312
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
313
+ function verb(n) { if (g[n])
314
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
315
+ function resume(n, v) { try {
316
+ step(g[n](v));
317
+ }
318
+ catch (e) {
319
+ settle(q[0][3], e);
320
+ } }
321
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
322
+ function fulfill(value) { resume("next", value); }
323
+ function reject(value) { resume("throw", value); }
324
+ function settle(f, v) { if (f(v), q.shift(), q.length)
325
+ resume(q[0][0], q[0][1]); }
326
+ }
327
+ function __asyncDelegator(o) {
328
+ var i, p;
329
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
330
+ 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; }
331
+ }
332
+ function __asyncValues(o) {
333
+ if (!Symbol.asyncIterator)
334
+ throw new TypeError("Symbol.asyncIterator is not defined.");
335
+ var m = o[Symbol.asyncIterator], i;
336
+ 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);
337
+ 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); }); }; }
338
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
339
+ }
340
+ function __makeTemplateObject(cooked, raw) {
341
+ if (Object.defineProperty) {
342
+ Object.defineProperty(cooked, "raw", { value: raw });
343
+ }
344
+ else {
345
+ cooked.raw = raw;
346
+ }
347
+ return cooked;
348
+ }
349
+ ;
350
+ var __setModuleDefault = Object.create ? (function (o, v) {
351
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
352
+ }) : function (o, v) {
353
+ o["default"] = v;
354
+ };
355
+ function __importStar(mod) {
356
+ if (mod && mod.__esModule)
357
+ return mod;
358
+ var result = {};
359
+ if (mod != null)
360
+ for (var k in mod)
361
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
362
+ __createBinding(result, mod, k);
363
+ __setModuleDefault(result, mod);
364
+ return result;
365
+ }
366
+ function __importDefault(mod) {
367
+ return (mod && mod.__esModule) ? mod : { default: mod };
368
+ }
369
+ function __classPrivateFieldGet(receiver, state, kind, f) {
370
+ if (kind === "a" && !f)
371
+ throw new TypeError("Private accessor was defined without a getter");
372
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
373
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
374
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
375
+ }
376
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
377
+ if (kind === "m")
378
+ throw new TypeError("Private method is not writable");
379
+ if (kind === "a" && !f)
380
+ throw new TypeError("Private accessor was defined without a setter");
381
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
382
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
383
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
384
+ }
385
+
386
+ var CancelOrderDialogComponent = /** @class */ (function () {
387
+ function CancelOrderDialogComponent(i18nService) {
388
+ var _this = this;
389
+ var _a;
390
+ this.i18nService = i18nService;
391
+ this.cancelAll = true;
392
+ this.lineQuantities = {};
393
+ this.reasons = (_a = i1.getAppConfig().cancellationReasons) !== null && _a !== void 0 ? _a : [
394
+ ngxTranslateExtractMarker.marker('order.cancel-reason-customer-request'),
395
+ ngxTranslateExtractMarker.marker('order.cancel-reason-not-available'),
396
+ ];
397
+ this.reasons = this.reasons.map(function (r) { return _this.i18nService.translate(r); });
398
+ }
399
+ Object.defineProperty(CancelOrderDialogComponent.prototype, "selectionCount", {
400
+ get: function () {
401
+ return Object.values(this.lineQuantities).reduce(function (sum, n) { return sum + n; }, 0);
402
+ },
403
+ enumerable: false,
404
+ configurable: true
405
+ });
406
+ CancelOrderDialogComponent.prototype.ngOnInit = function () {
407
+ this.lineQuantities = this.order.lines.reduce(function (result, line) {
408
+ var _b;
409
+ return Object.assign(Object.assign({}, result), (_b = {}, _b[line.id] = line.quantity, _b));
410
+ }, {});
411
+ };
412
+ CancelOrderDialogComponent.prototype.radioChanged = function () {
413
+ var e_1, _b, e_2, _c;
414
+ if (this.cancelAll) {
415
+ try {
416
+ for (var _d = __values(this.order.lines), _e = _d.next(); !_e.done; _e = _d.next()) {
417
+ var line = _e.value;
418
+ this.lineQuantities[line.id] = line.quantity;
419
+ }
420
+ }
421
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
422
+ finally {
423
+ try {
424
+ if (_e && !_e.done && (_b = _d.return)) _b.call(_d);
425
+ }
426
+ finally { if (e_1) throw e_1.error; }
427
+ }
428
+ }
429
+ else {
430
+ try {
431
+ for (var _f = __values(this.order.lines), _g = _f.next(); !_g.done; _g = _f.next()) {
432
+ var line = _g.value;
433
+ this.lineQuantities[line.id] = 0;
434
+ }
435
+ }
436
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
437
+ finally {
438
+ try {
439
+ if (_g && !_g.done && (_c = _f.return)) _c.call(_f);
440
+ }
441
+ finally { if (e_2) throw e_2.error; }
442
+ }
443
+ }
444
+ };
445
+ CancelOrderDialogComponent.prototype.checkIfAllSelected = function () {
446
+ var e_3, _b;
447
+ var _a;
448
+ var _loop_1 = function (lineId, quantity) {
449
+ var quantityInOrder = (_a = this_1.order.lines.find(function (line) { return line.id === lineId; })) === null || _a === void 0 ? void 0 : _a.quantity;
450
+ if (quantityInOrder && quantity < quantityInOrder) {
451
+ return { value: void 0 };
452
+ }
453
+ };
454
+ var this_1 = this;
455
+ try {
456
+ for (var _c = __values(Object.entries(this.lineQuantities)), _d = _c.next(); !_d.done; _d = _c.next()) {
457
+ var _e = __read(_d.value, 2), lineId = _e[0], quantity = _e[1];
458
+ var state_1 = _loop_1(lineId, quantity);
459
+ if (typeof state_1 === "object")
460
+ return state_1.value;
461
+ }
462
+ }
463
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
464
+ finally {
465
+ try {
466
+ if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
467
+ }
468
+ finally { if (e_3) throw e_3.error; }
469
+ }
470
+ // If we got here, all of the selected quantities are equal to the order
471
+ // line quantities, i.e. everything is selected.
472
+ this.cancelAll = true;
473
+ };
474
+ CancelOrderDialogComponent.prototype.select = function () {
475
+ this.resolveWith({
476
+ orderId: this.order.id,
477
+ lines: this.getLineInputs(),
478
+ reason: this.reason,
479
+ cancelShipping: this.cancelAll,
480
+ });
481
+ };
482
+ CancelOrderDialogComponent.prototype.cancel = function () {
483
+ this.resolveWith();
484
+ };
485
+ CancelOrderDialogComponent.prototype.getLineInputs = function () {
486
+ if (this.order.active) {
487
+ return;
488
+ }
489
+ return Object.entries(this.lineQuantities)
490
+ .map(function (_b) {
491
+ var _c = __read(_b, 2), orderLineId = _c[0], quantity = _c[1];
492
+ return ({
493
+ orderLineId: orderLineId,
494
+ quantity: quantity,
495
+ });
496
+ })
497
+ .filter(function (l) { return 0 < l.quantity; });
498
+ };
499
+ return CancelOrderDialogComponent;
500
+ }());
501
+ CancelOrderDialogComponent.decorators = [
502
+ { type: i0.Component, args: [{
503
+ selector: 'vdr-cancel-order-dialog',
504
+ template: "<ng-template vdrDialogTitle>{{ 'order.cancel-order' | translate }}</ng-template>\r\n\r\n<div class=\"fulfillment-wrapper\">\r\n <div class=\"order-lines\">\r\n <table class=\"table\">\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.quantity' | translate }}</th>\r\n <th>{{ 'order.unit-price' | translate }}</th>\r\n <th>{{ 'order.cancel' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tr\r\n *ngFor=\"let line of order.lines\"\r\n class=\"order-line\"\r\n [class.is-disabled]=\"cancelAll\"\r\n [class.is-cancelled]=\"line.quantity === 0\"\r\n >\r\n <td class=\"align-middle thumb\">\r\n <img [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\r\n <td class=\"align-middle quantity\">{{ line.quantity }}</td>\r\n <td class=\"align-middle quantity\">\r\n {{ line.unitPriceWithTax | localeCurrency: order.currencyCode }}\r\n </td>\r\n <td class=\"align-middle fulfil\">\r\n <input\r\n *ngIf=\"line.quantity > 0 && !order.active; else nonEditable\"\r\n [(ngModel)]=\"lineQuantities[line.id]\"\r\n (input)=\"checkIfAllSelected()\"\r\n [disabled]=\"cancelAll\"\r\n type=\"number\"\r\n [max]=\"line.quantity\"\r\n min=\"0\"\r\n />\r\n <ng-template #nonEditable>{{ line.quantity }}</ng-template>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"cancellation-details\">\r\n <ng-container *ngIf=\"order.active !== true\">\r\n <clr-radio-wrapper>\r\n <input\r\n type=\"radio\"\r\n clrRadio\r\n [value]=\"true\"\r\n [(ngModel)]=\"cancelAll\"\r\n name=\"options\"\r\n (ngModelChange)=\"radioChanged()\"\r\n />\r\n <label>{{ 'order.cancel-entire-order' | translate }}</label>\r\n </clr-radio-wrapper>\r\n <clr-radio-wrapper>\r\n <input\r\n type=\"radio\"\r\n clrRadio\r\n [value]=\"false\"\r\n [(ngModel)]=\"cancelAll\"\r\n name=\"options\"\r\n (ngModelChange)=\"radioChanged()\"\r\n />\r\n <label>{{ 'order.cancel-specified-items' | translate }}</label>\r\n </clr-radio-wrapper>\r\n </ng-container>\r\n <label class=\"clr-control-label\">{{ 'order.cancellation-reason' | translate }}</label>\r\n <ng-select\r\n [items]=\"reasons\"\r\n bindLabel=\"name\"\r\n autofocus\r\n bindValue=\"id\"\r\n [addTag]=\"true\"\r\n [(ngModel)]=\"reason\"\r\n ></ng-select>\r\n </div>\r\n</div>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"select()\"\r\n [disabled]=\"!reason || (!order.active && selectionCount === 0)\"\r\n class=\"btn btn-primary\"\r\n >\r\n <ng-container *ngIf=\"!order.active\">\r\n {{ 'order.cancel-selected-items' | translate }}\r\n </ng-container>\r\n <ng-container *ngIf=\"order.active\">\r\n {{ 'order.cancel-order' | translate }}\r\n </ng-container>\r\n </button>\r\n</ng-template>\r\n",
505
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
506
+ styles: [":host{height:100%;display:flex;min-height:64vh}.fulfillment-wrapper{flex:1}@media screen and (min-width: 768px){.fulfillment-wrapper{display:flex;flex-direction:row}}@media screen and (min-width: 768px){.fulfillment-wrapper .cancellation-details{margin-top:0;margin-left:24px;width:250px}}.fulfillment-wrapper .order-lines{flex:1;overflow-y:auto}.fulfillment-wrapper .order-lines table{margin-top:0}.fulfillment-wrapper tr.ignore{color:var(--color-grey-300)}.fulfillment-wrapper .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}.fulfillment-wrapper .is-disabled td,.fulfillment-wrapper .is-disabled td input{background-color:var(--color-component-bg-200)}\n"]
507
+ },] }
508
+ ];
509
+ CancelOrderDialogComponent.ctorParameters = function () { return [
510
+ { type: i1.I18nService }
511
+ ]; };
512
+
513
+ var CouponCodeSelectorComponent = /** @class */ (function () {
514
+ function CouponCodeSelectorComponent(dataService) {
515
+ this.dataService = dataService;
516
+ this.addCouponCode = new i0.EventEmitter();
517
+ this.removeCouponCode = new i0.EventEmitter();
518
+ this.couponCodeInput$ = new rxjs.Subject();
519
+ }
520
+ CouponCodeSelectorComponent.prototype.ngOnInit = function () {
521
+ var _this = this;
522
+ var _a;
523
+ this.availableCouponCodes$ = rxjs.concat(this.couponCodeInput$.pipe(operators.distinctUntilChanged(), operators.switchMap(function (term) { return _this.dataService.promotion.getPromotions(10, 0, {
524
+ couponCode: { contains: term },
525
+ }).single$; }), operators.map(function (_b) {
526
+ var promotions = _b.promotions;
527
+ // tslint:disable-next-line:no-non-null-assertion
528
+ return promotions.items.map(function (p) { return ({ code: p.couponCode, promotionName: p.name }); });
529
+ }), operators.startWith([])));
530
+ if (!this.control) {
531
+ this.control = new forms.FormControl((_a = this.couponCodes) !== null && _a !== void 0 ? _a : []);
532
+ }
533
+ };
534
+ return CouponCodeSelectorComponent;
535
+ }());
536
+ CouponCodeSelectorComponent.decorators = [
537
+ { type: i0.Component, args: [{
538
+ selector: 'vdr-coupon-code-selector',
539
+ template: "<ng-select\r\n [items]=\"availableCouponCodes$ | async\"\r\n appendTo=\"body\"\r\n bindLabel=\"code\"\r\n bindValue=\"code\"\r\n [addTag]=\"false\"\r\n [multiple]=\"true\"\r\n [hideSelected]=\"true\"\r\n [minTermLength]=\"2\"\r\n typeToSearchText=\"\"\r\n [typeahead]=\"couponCodeInput$\"\r\n [formControl]=\"control\"\r\n (add)=\"addCouponCode.emit($event.code)\"\r\n (remove)=\"removeCouponCode.emit($event.value?.code)\"\r\n>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <vdr-chip>{{ item.code }}</vdr-chip>\r\n {{ item.promotionName }}\r\n </ng-template>\r\n</ng-select>\r\n",
540
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
541
+ styles: [""]
542
+ },] }
543
+ ];
544
+ CouponCodeSelectorComponent.ctorParameters = function () { return [
545
+ { type: i1.DataService }
546
+ ]; };
547
+ CouponCodeSelectorComponent.propDecorators = {
548
+ couponCodes: [{ type: i0.Input }],
549
+ control: [{ type: i0.Input }],
550
+ addCouponCode: [{ type: i0.Output }],
551
+ removeCouponCode: [{ type: i0.Output }]
552
+ };
553
+
554
+ var OrderStateSelectDialogComponent = /** @class */ (function () {
555
+ function OrderStateSelectDialogComponent() {
556
+ this.nextStates = [];
557
+ this.message = '';
558
+ this.selectedState = '';
559
+ }
560
+ OrderStateSelectDialogComponent.prototype.select = function () {
561
+ if (this.selectedState) {
562
+ this.resolveWith(this.selectedState);
563
+ }
564
+ };
565
+ OrderStateSelectDialogComponent.prototype.cancel = function () {
566
+ this.resolveWith();
567
+ };
568
+ return OrderStateSelectDialogComponent;
569
+ }());
570
+ OrderStateSelectDialogComponent.decorators = [
571
+ { type: i0.Component, args: [{
572
+ selector: 'vdr-order-state-select-dialog',
573
+ template: "<ng-template vdrDialogTitle>{{ 'order.select-state' | translate }}</ng-template>\r\n<p>{{ message | translate }}</p>\r\n<clr-select-container>\r\n <select clrSelect name=\"state\" [(ngModel)]=\"selectedState\">\r\n <option *ngFor=\"let state of nextStates\" [value]=\"state\">\r\n {{ state | stateI18nToken | translate }}\r\n </option>\r\n </select>\r\n</clr-select-container>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"submit\" *ngIf=\"cancellable\" (click)=\"cancel()\" class=\"btn btn-secondary\">\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n <button type=\"submit\" (click)=\"select()\" class=\"btn btn-primary\" [disabled]=\"!selectedState\">\r\n {{ 'order.transition-to-state' | translate: { state: (selectedState | stateI18nToken | translate) } }}\r\n </button>\r\n</ng-template>\r\n",
574
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
575
+ styles: [""]
576
+ },] }
577
+ ];
578
+
579
+ var OrderTransitionService = /** @class */ (function () {
580
+ function OrderTransitionService(dataService, modalService, notificationService, i18nService) {
581
+ this.dataService = dataService;
582
+ this.modalService = modalService;
583
+ this.notificationService = notificationService;
584
+ this.i18nService = i18nService;
585
+ }
586
+ /**
587
+ * Attempts to transition the Order to the last state it was in before it was transitioned
588
+ * to the "Modifying" state. If this fails, a manual prompt is used.
589
+ */
590
+ OrderTransitionService.prototype.transitionToPreModifyingState = function (orderId, nextStates) {
591
+ var _this = this;
592
+ return this.getPreModifyingState(orderId).pipe(operators.switchMap(function (state) {
593
+ var manualTransitionOptions = {
594
+ orderId: orderId,
595
+ nextStates: nextStates,
596
+ message: _this.i18nService.translate(ngxTranslateExtractMarker.marker('order.unable-to-transition-to-state-try-another'), { state: state }),
597
+ cancellable: false,
598
+ retry: 10,
599
+ };
600
+ if (state) {
601
+ return _this.transitionToStateOrThrow(orderId, state).pipe(operators.catchError(function (err) { return _this.manuallyTransitionToState(manualTransitionOptions); }));
602
+ }
603
+ else {
604
+ return _this.manuallyTransitionToState(manualTransitionOptions);
605
+ }
606
+ }));
607
+ };
608
+ /**
609
+ * Displays a modal for manually selecting the next state.
610
+ */
611
+ OrderTransitionService.prototype.manuallyTransitionToState = function (options) {
612
+ var _this = this;
613
+ return this.modalService
614
+ .fromComponent(OrderStateSelectDialogComponent, {
615
+ locals: {
616
+ nextStates: options.nextStates,
617
+ cancellable: options.cancellable,
618
+ message: options.message,
619
+ },
620
+ closable: false,
621
+ size: 'md',
622
+ })
623
+ .pipe(operators.switchMap(function (result) {
624
+ if (result) {
625
+ return _this.transitionToStateOrThrow(options.orderId, result);
626
+ }
627
+ else {
628
+ if (!options.cancellable) {
629
+ throw new Error("An order state must be selected");
630
+ }
631
+ else {
632
+ return rxjs.EMPTY;
633
+ }
634
+ }
635
+ }), operators.retryWhen(function (errors) { return errors.pipe(operators.delay(2000), operators.take(options.retry)); }));
636
+ };
637
+ /**
638
+ * Attempts to get the last state the Order was in before it was transitioned
639
+ * to the "Modifying" state.
640
+ */
641
+ OrderTransitionService.prototype.getPreModifyingState = function (orderId) {
642
+ return this.dataService.order
643
+ .getOrderHistory(orderId, {
644
+ filter: {
645
+ type: {
646
+ eq: i1.HistoryEntryType.ORDER_STATE_TRANSITION,
647
+ },
648
+ },
649
+ sort: {
650
+ createdAt: i1.SortOrder.DESC,
651
+ },
652
+ })
653
+ .mapSingle(function (result) { return result.order; })
654
+ .pipe(operators.map(function (result) {
655
+ var item = result === null || result === void 0 ? void 0 : result.history.items.find(function (i) { return i.data.to === 'Modifying'; });
656
+ if (item) {
657
+ return item.data.from;
658
+ }
659
+ else {
660
+ return;
661
+ }
662
+ }));
663
+ };
664
+ OrderTransitionService.prototype.transitionToStateOrThrow = function (orderId, state) {
665
+ var _this = this;
666
+ return this.dataService.order.transitionToState(orderId, state).pipe(operators.map(function (_a) {
667
+ var transitionOrderToState = _a.transitionOrderToState;
668
+ switch (transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.__typename) {
669
+ case 'Order':
670
+ return transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.state;
671
+ case 'OrderStateTransitionError':
672
+ _this.notificationService.error(transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.transitionError);
673
+ throw new Error(transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.transitionError);
674
+ }
675
+ }));
676
+ };
677
+ return OrderTransitionService;
678
+ }());
679
+ OrderTransitionService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function OrderTransitionService_Factory() { return new OrderTransitionService(i0__namespace.ɵɵinject(i1__namespace.DataService), i0__namespace.ɵɵinject(i1__namespace.ModalService), i0__namespace.ɵɵinject(i1__namespace.NotificationService), i0__namespace.ɵɵinject(i1__namespace.I18nService)); }, token: OrderTransitionService, providedIn: "root" });
680
+ OrderTransitionService.decorators = [
681
+ { type: i0.Injectable, args: [{
682
+ providedIn: 'root',
683
+ },] }
684
+ ];
685
+ OrderTransitionService.ctorParameters = function () { return [
686
+ { type: i1.DataService },
687
+ { type: i1.ModalService },
688
+ { type: i1.NotificationService },
689
+ { type: i1.I18nService }
690
+ ]; };
691
+
692
+ var GET_CUSTOMER_ADDRESSES = apolloAngular.gql(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n query GetCustomerAddresses($customerId: ID!) {\n customer(id: $customerId) {\n id\n addresses {\n ...Address\n }\n }\n }\n ", "\n"], ["\n query GetCustomerAddresses($customerId: ID!) {\n customer(id: $customerId) {\n id\n addresses {\n ...Address\n }\n }\n }\n ", "\n"])), i1.ADDRESS_FRAGMENT);
693
+ var templateObject_1;
694
+
695
+ var SelectAddressDialogComponent = /** @class */ (function () {
696
+ function SelectAddressDialogComponent(dataService, formBuilder) {
697
+ this.dataService = dataService;
698
+ this.formBuilder = formBuilder;
699
+ this.useExisting = true;
700
+ this.createNew = false;
701
+ }
702
+ SelectAddressDialogComponent.prototype.ngOnInit = function () {
703
+ var _this = this;
704
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
705
+ this.addressForm = this.formBuilder.group({
706
+ fullName: [(_b = (_a = this.currentAddress) === null || _a === void 0 ? void 0 : _a.fullName) !== null && _b !== void 0 ? _b : ''],
707
+ company: [(_d = (_c = this.currentAddress) === null || _c === void 0 ? void 0 : _c.company) !== null && _d !== void 0 ? _d : ''],
708
+ streetLine1: [(_f = (_e = this.currentAddress) === null || _e === void 0 ? void 0 : _e.streetLine1) !== null && _f !== void 0 ? _f : '', forms.Validators.required],
709
+ streetLine2: [(_h = (_g = this.currentAddress) === null || _g === void 0 ? void 0 : _g.streetLine2) !== null && _h !== void 0 ? _h : ''],
710
+ city: [(_k = (_j = this.currentAddress) === null || _j === void 0 ? void 0 : _j.city) !== null && _k !== void 0 ? _k : '', forms.Validators.required],
711
+ province: [(_m = (_l = this.currentAddress) === null || _l === void 0 ? void 0 : _l.province) !== null && _m !== void 0 ? _m : ''],
712
+ postalCode: [(_p = (_o = this.currentAddress) === null || _o === void 0 ? void 0 : _o.postalCode) !== null && _p !== void 0 ? _p : '', forms.Validators.required],
713
+ countryCode: [(_r = (_q = this.currentAddress) === null || _q === void 0 ? void 0 : _q.countryCode) !== null && _r !== void 0 ? _r : '', forms.Validators.required],
714
+ phoneNumber: [(_t = (_s = this.currentAddress) === null || _s === void 0 ? void 0 : _s.phoneNumber) !== null && _t !== void 0 ? _t : ''],
715
+ });
716
+ this.useExisting = !!this.customerId;
717
+ this.addresses$ = this.customerId
718
+ ? this.dataService
719
+ .query(GET_CUSTOMER_ADDRESSES, { customerId: this.customerId })
720
+ .mapSingle(function (_u) {
721
+ var customer = _u.customer;
722
+ var _a;
723
+ return (_a = customer === null || customer === void 0 ? void 0 : customer.addresses) !== null && _a !== void 0 ? _a : [];
724
+ })
725
+ .pipe(operators.tap(function (addresses) {
726
+ if (_this.currentAddress) {
727
+ _this.selectedAddress = addresses.find(function (a) {
728
+ var _a, _b;
729
+ return a.streetLine1 === ((_a = _this.currentAddress) === null || _a === void 0 ? void 0 : _a.streetLine1) &&
730
+ a.postalCode === ((_b = _this.currentAddress) === null || _b === void 0 ? void 0 : _b.postalCode);
731
+ });
732
+ }
733
+ if (addresses.length === 0) {
734
+ _this.createNew = true;
735
+ _this.useExisting = false;
736
+ }
737
+ }))
738
+ : rxjs.of([]);
739
+ this.availableCountries$ = this.dataService.settings
740
+ .getAvailableCountries()
741
+ .mapSingle(function (_u) {
742
+ var countries = _u.countries;
743
+ return countries.items;
744
+ });
745
+ };
746
+ SelectAddressDialogComponent.prototype.trackByFn = function (item) {
747
+ return item.id;
748
+ };
749
+ SelectAddressDialogComponent.prototype.addressIdFn = function (item) {
750
+ return item.streetLine1 + item.postalCode;
751
+ };
752
+ SelectAddressDialogComponent.prototype.cancel = function () {
753
+ this.resolveWith();
754
+ };
755
+ SelectAddressDialogComponent.prototype.select = function () {
756
+ if (this.useExisting && this.selectedAddress) {
757
+ this.resolveWith(Object.assign(Object.assign({}, pick.pick(this.selectedAddress, [
758
+ 'fullName',
759
+ 'company',
760
+ 'streetLine1',
761
+ 'streetLine2',
762
+ 'city',
763
+ 'province',
764
+ 'phoneNumber',
765
+ 'postalCode',
766
+ ])), { countryCode: this.selectedAddress.country.code }));
767
+ }
768
+ if (this.createNew && this.addressForm.valid) {
769
+ var formValue = this.addressForm.value;
770
+ this.resolveWith(formValue);
771
+ }
772
+ };
773
+ return SelectAddressDialogComponent;
774
+ }());
775
+ SelectAddressDialogComponent.decorators = [
776
+ { type: i0.Component, args: [{
777
+ selector: 'vdr-select-address-dialog',
778
+ template: "<ng-template vdrDialogTitle>{{ 'order.select-address' | translate }}</ng-template>\r\n\r\n<clr-tabs *ngIf=\"addresses$ | async as addresses\">\r\n <clr-tab *ngIf=\"customerId && addresses.length\">\r\n <button clrTabLink>{{ 'order.existing-address' | translate }}</button>\r\n <ng-template [(clrIfActive)]=\"useExisting\">\r\n <clr-tab-content>\r\n <vdr-radio-card-fieldset\r\n class=\"block mt4\"\r\n [idFn]=\"addressIdFn\"\r\n [selectedItemId]=\"selectedAddress && addressIdFn(selectedAddress)\"\r\n (selectItem)=\"selectedAddress = $event\"\r\n >\r\n <vdr-radio-card *ngFor=\"let address of addresses\" [item]=\"address\">\r\n <vdr-formatted-address [address]=\"address\"></vdr-formatted-address>\r\n </vdr-radio-card>\r\n </vdr-radio-card-fieldset>\r\n </clr-tab-content>\r\n </ng-template>\r\n </clr-tab>\r\n <clr-tab>\r\n <button clrTabLink>{{ 'customer.create-new-address' | translate }}</button>\r\n\r\n <ng-template [(clrIfActive)]=\"createNew\">\r\n <clr-tab-content>\r\n <vdr-address-form\r\n [formGroup]=\"addressForm\"\r\n [availableCountries]=\"availableCountries$ | async\"\r\n ></vdr-address-form>\r\n </clr-tab-content>\r\n </ng-template>\r\n </clr-tab>\r\n</clr-tabs>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"select()\"\r\n [disabled]=\"(useExisting && !selectedAddress) || (createNew && addressForm.invalid)\"\r\n class=\"btn btn-primary\"\r\n >\r\n {{ 'common.okay' | translate }}\r\n </button>\r\n</ng-template>\r\n",
779
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
780
+ styles: [""]
781
+ },] }
782
+ ];
783
+ SelectAddressDialogComponent.ctorParameters = function () { return [
784
+ { type: i1.DataService },
785
+ { type: forms.FormBuilder }
786
+ ]; };
787
+
788
+ var SelectCustomerDialogComponent = /** @class */ (function () {
789
+ function SelectCustomerDialogComponent(dataService, formBuilder) {
790
+ this.dataService = dataService;
791
+ this.formBuilder = formBuilder;
792
+ this.isLoading = false;
793
+ this.input$ = new rxjs.Subject();
794
+ this.selectedCustomer = [];
795
+ this.useExisting = true;
796
+ this.createNew = false;
797
+ this.customerForm = this.formBuilder.group({
798
+ title: '',
799
+ firstName: ['', forms.Validators.required],
800
+ lastName: ['', forms.Validators.required],
801
+ phoneNumber: '',
802
+ emailAddress: ['', [forms.Validators.required, forms.Validators.email]],
803
+ });
804
+ }
805
+ SelectCustomerDialogComponent.prototype.ngOnInit = function () {
806
+ var _this = this;
807
+ this.customers$ = rxjs.concat(rxjs.of([]), // default items
808
+ this.input$.pipe(operators.debounceTime(200), operators.distinctUntilChanged(), operators.tap(function () { return (_this.isLoading = true); }), operators.switchMap(function (term) { return _this.dataService.customer
809
+ .getCustomerList(10, 0, term)
810
+ .mapStream(function (_a) {
811
+ var customers = _a.customers;
812
+ return customers.items;
813
+ })
814
+ .pipe(operators.catchError(function () { return rxjs.of([]); }), // empty list on error
815
+ operators.tap(function () { return (_this.isLoading = false); })); })));
816
+ };
817
+ SelectCustomerDialogComponent.prototype.trackByFn = function (item) {
818
+ return item.id;
819
+ };
820
+ SelectCustomerDialogComponent.prototype.cancel = function () {
821
+ this.resolveWith();
822
+ };
823
+ SelectCustomerDialogComponent.prototype.select = function () {
824
+ if (this.useExisting && this.selectedCustomer.length === 1) {
825
+ this.resolveWith(this.selectedCustomer[0]);
826
+ }
827
+ if (this.createNew && this.customerForm.valid) {
828
+ var formValue = this.customerForm.value;
829
+ this.resolveWith(formValue);
830
+ }
831
+ };
832
+ return SelectCustomerDialogComponent;
833
+ }());
834
+ SelectCustomerDialogComponent.decorators = [
835
+ { type: i0.Component, args: [{
836
+ selector: 'vdr-select-customer-dialog',
837
+ template: "<ng-template vdrDialogTitle>{{ 'order.set-customer-for-order' | translate }}</ng-template>\r\n\r\n<clr-tabs>\r\n <clr-tab>\r\n <button clrTabLink>{{ 'order.existing-customer' | translate }}</button>\r\n\r\n <ng-template [(clrIfActive)]=\"useExisting\">\r\n <clr-tab-content>\r\n <ng-select\r\n [items]=\"customers$ | async\"\r\n appendTo=\"body\"\r\n bindLabel=\"name\"\r\n [addTag]=\"false\"\r\n [multiple]=\"true\"\r\n [hideSelected]=\"true\"\r\n [trackByFn]=\"trackByFn\"\r\n [minTermLength]=\"2\"\r\n [loading]=\"isLoading\"\r\n [typeahead]=\"input$\"\r\n [(ngModel)]=\"selectedCustomer\"\r\n class=\"mt4\"\r\n >\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon\r\n ><span class=\"ml2 mr2\">{{ item.firstName }} {{ item.lastName }}</span>\r\n <vdr-chip>{{ item.emailAddress }}</vdr-chip>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\">\r\n <clr-icon shape=\"user\" class=\"is-solid\"></clr-icon\r\n ><span class=\"ml2 mr2\">{{ item.firstName }} {{ item.lastName }}</span>\r\n <vdr-chip>{{ item.emailAddress }}</vdr-chip>\r\n </ng-template>\r\n </ng-select>\r\n </clr-tab-content>\r\n </ng-template>\r\n </clr-tab>\r\n <clr-tab>\r\n <button clrTabLink>{{ 'customer.create-new-customer' | translate }}</button>\r\n\r\n <ng-template [(clrIfActive)]=\"createNew\">\r\n <clr-tab-content>\r\n <form [formGroup]=\"customerForm\">\r\n <vdr-form-field [label]=\"'customer.title' | translate\" for=\"title\">\r\n <input id=\"title\" type=\"text\" formControlName=\"title\" />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'customer.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]=\"'customer.last-name' | translate\" for=\"lastName\">\r\n <input id=\"lastName\" type=\"text\" formControlName=\"lastName\" />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'customer.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]=\"'customer.phone-number' | translate\" for=\"phoneNumber\">\r\n <input id=\"phoneNumber\" type=\"text\" formControlName=\"phoneNumber\" />\r\n </vdr-form-field>\r\n </form>\r\n </clr-tab-content>\r\n </ng-template>\r\n </clr-tab>\r\n</clr-tabs>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"select()\"\r\n [disabled]=\"(useExisting && selectedCustomer.length === 0) || (createNew && customerForm.invalid)\"\r\n class=\"btn btn-primary\"\r\n >\r\n {{ 'common.okay' | translate }}\r\n </button>\r\n</ng-template>\r\n",
838
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
839
+ styles: [""]
840
+ },] }
841
+ ];
842
+ SelectCustomerDialogComponent.ctorParameters = function () { return [
843
+ { type: i1.DataService },
844
+ { type: forms.FormBuilder }
845
+ ]; };
846
+
847
+ var SelectShippingMethodDialogComponent = /** @class */ (function () {
848
+ function SelectShippingMethodDialogComponent() {
849
+ }
850
+ SelectShippingMethodDialogComponent.prototype.ngOnInit = function () {
851
+ var _this = this;
852
+ if (this.currentSelectionId) {
853
+ this.selectedMethod = this.eligibleShippingMethods.find(function (m) { return m.id === _this.currentSelectionId; });
854
+ }
855
+ };
856
+ SelectShippingMethodDialogComponent.prototype.methodIdFn = function (item) {
857
+ return item.id;
858
+ };
859
+ SelectShippingMethodDialogComponent.prototype.cancel = function () {
860
+ this.resolveWith();
861
+ };
862
+ SelectShippingMethodDialogComponent.prototype.select = function () {
863
+ if (this.selectedMethod) {
864
+ this.resolveWith(this.selectedMethod.id);
865
+ }
866
+ };
867
+ return SelectShippingMethodDialogComponent;
868
+ }());
869
+ SelectShippingMethodDialogComponent.decorators = [
870
+ { type: i0.Component, args: [{
871
+ selector: 'vdr-select-shipping-method-dialog',
872
+ template: "<ng-template vdrDialogTitle>{{ 'order.select-shipping-method' | translate }}</ng-template>\r\n<vdr-radio-card-fieldset\r\n [idFn]=\"methodIdFn\"\r\n [selectedItemId]=\"selectedMethod?.id\"\r\n (selectItem)=\"selectedMethod = $event\"\r\n>\r\n <vdr-radio-card *ngFor=\"let quote of eligibleShippingMethods\" [item]=\"quote\">\r\n <div class=\"result-details\">\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 </vdr-radio-card>\r\n</vdr-radio-card-fieldset>\r\n\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button\r\n type=\"submit\"\r\n (click)=\"select()\"\r\n [disabled]=\"!selectedMethod\"\r\n class=\"btn btn-primary\"\r\n >\r\n {{ 'common.okay' | translate }}\r\n </button>\r\n</ng-template>\r\n",
873
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
874
+ styles: [""]
875
+ },] }
876
+ ];
877
+ SelectShippingMethodDialogComponent.ctorParameters = function () { return []; };
878
+
879
+ var DraftOrderDetailComponent = /** @class */ (function (_super) {
880
+ __extends(DraftOrderDetailComponent, _super);
881
+ function DraftOrderDetailComponent(router, route, serverConfigService, changeDetector, dataService, notificationService, modalService, orderTransitionService) {
882
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
883
+ _this.changeDetector = changeDetector;
884
+ _this.dataService = dataService;
885
+ _this.notificationService = notificationService;
886
+ _this.modalService = modalService;
887
+ _this.orderTransitionService = orderTransitionService;
888
+ _this.detailForm = new forms.FormGroup({});
889
+ _this.fetchHistory = new rxjs.Subject();
890
+ _this.displayCouponCodeInput = false;
891
+ return _this;
892
+ }
893
+ DraftOrderDetailComponent.prototype.ngOnInit = function () {
894
+ var _this = this;
895
+ this.init();
896
+ this.orderLineCustomFields = this.getCustomFieldConfig('OrderLine');
897
+ this.eligibleShippingMethods$ = this.entity$.pipe(operators.switchMap(function (order) { return _this.dataService.order
898
+ .getDraftOrderEligibleShippingMethods(order.id)
899
+ .mapSingle(function (_c) {
900
+ var eligibleShippingMethodsForDraftOrder = _c.eligibleShippingMethodsForDraftOrder;
901
+ return eligibleShippingMethodsForDraftOrder;
902
+ }); }));
903
+ this.customFields = this.getCustomFieldConfig('Order');
904
+ this.orderLineCustomFields = this.getCustomFieldConfig('OrderLine');
905
+ };
906
+ DraftOrderDetailComponent.prototype.ngOnDestroy = function () {
907
+ this.destroy();
908
+ };
909
+ DraftOrderDetailComponent.prototype.addItemToOrder = function (event) {
910
+ var _this = this;
911
+ this.dataService.order.addItemToDraftOrder(this.id, event).subscribe(function (result) {
912
+ if (result.addItemToDraftOrder.__typename !== 'Order') {
913
+ _this.notificationService.error(result.addItemToDraftOrder.message);
914
+ }
915
+ });
916
+ };
917
+ DraftOrderDetailComponent.prototype.adjustOrderLine = function (event) {
918
+ var _this = this;
919
+ this.dataService.order
920
+ .adjustDraftOrderLine(this.id, { orderLineId: event.lineId, quantity: event.quantity })
921
+ .subscribe(function (result) {
922
+ if (result.adjustDraftOrderLine.__typename !== 'Order') {
923
+ _this.notificationService.error(result.adjustDraftOrderLine.message);
924
+ }
925
+ });
926
+ };
927
+ DraftOrderDetailComponent.prototype.removeOrderLine = function (event) {
928
+ var _this = this;
929
+ this.dataService.order.removeDraftOrderLine(this.id, event.lineId).subscribe(function (result) {
930
+ if (result.removeDraftOrderLine.__typename !== 'Order') {
931
+ _this.notificationService.error(result.removeDraftOrderLine.message);
932
+ }
933
+ });
934
+ };
935
+ DraftOrderDetailComponent.prototype.getOrderAddressLines = function (orderAddress) {
936
+ if (!orderAddress) {
937
+ return [];
938
+ }
939
+ return Object.values(orderAddress)
940
+ .filter(function (val) { return val !== 'OrderAddress'; })
941
+ .filter(function (line) { return !!line; });
942
+ };
943
+ DraftOrderDetailComponent.prototype.setCustomer = function () {
944
+ var _this = this;
945
+ this.modalService.fromComponent(SelectCustomerDialogComponent).subscribe(function (result) {
946
+ if (_this.hasId(result)) {
947
+ _this.dataService.order
948
+ .setCustomerForDraftOrder(_this.id, { customerId: result.id })
949
+ .subscribe();
950
+ }
951
+ else if (result) {
952
+ _this.dataService.order.setCustomerForDraftOrder(_this.id, { input: result }).subscribe();
953
+ }
954
+ });
955
+ };
956
+ DraftOrderDetailComponent.prototype.setShippingAddress = function () {
957
+ var _this = this;
958
+ this.entity$
959
+ .pipe(operators.take(1), operators.switchMap(function (order) {
960
+ var _a, _b;
961
+ return _this.modalService.fromComponent(SelectAddressDialogComponent, {
962
+ locals: {
963
+ customerId: (_a = order.customer) === null || _a === void 0 ? void 0 : _a.id,
964
+ currentAddress: (_b = order.shippingAddress) !== null && _b !== void 0 ? _b : undefined,
965
+ },
966
+ });
967
+ }))
968
+ .subscribe(function (result) {
969
+ if (result) {
970
+ _this.dataService.order.setDraftOrderShippingAddress(_this.id, result).subscribe();
971
+ }
972
+ });
973
+ };
974
+ DraftOrderDetailComponent.prototype.setBillingAddress = function () {
975
+ var _this = this;
976
+ this.entity$
977
+ .pipe(operators.take(1), operators.switchMap(function (order) {
978
+ var _a, _b;
979
+ return _this.modalService.fromComponent(SelectAddressDialogComponent, {
980
+ locals: {
981
+ customerId: (_a = order.customer) === null || _a === void 0 ? void 0 : _a.id,
982
+ currentAddress: (_b = order.billingAddress) !== null && _b !== void 0 ? _b : undefined,
983
+ },
984
+ });
985
+ }))
986
+ .subscribe(function (result) {
987
+ if (result) {
988
+ _this.dataService.order.setDraftOrderBillingAddress(_this.id, result).subscribe();
989
+ }
990
+ });
991
+ };
992
+ DraftOrderDetailComponent.prototype.applyCouponCode = function (couponCode) {
993
+ this.dataService.order.applyCouponCodeToDraftOrder(this.id, couponCode).subscribe();
994
+ };
995
+ DraftOrderDetailComponent.prototype.removeCouponCode = function (couponCode) {
996
+ this.dataService.order.removeCouponCodeFromDraftOrder(this.id, couponCode).subscribe();
997
+ };
998
+ DraftOrderDetailComponent.prototype.setShippingMethod = function () {
999
+ var _this = this;
1000
+ rxjs.combineLatest(this.entity$, this.eligibleShippingMethods$)
1001
+ .pipe(operators.take(1), operators.switchMap(function (_c) {
1002
+ var _d = __read(_c, 2), order = _d[0], methods = _d[1];
1003
+ var _a, _b;
1004
+ return _this.modalService.fromComponent(SelectShippingMethodDialogComponent, {
1005
+ locals: {
1006
+ eligibleShippingMethods: methods,
1007
+ currencyCode: order.currencyCode,
1008
+ currentSelectionId: (_b = (_a = order.shippingLines) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.shippingMethod.id,
1009
+ },
1010
+ });
1011
+ }))
1012
+ .subscribe(function (result) {
1013
+ if (result) {
1014
+ _this.dataService.order.setDraftOrderShippingMethod(_this.id, result).subscribe();
1015
+ }
1016
+ });
1017
+ };
1018
+ DraftOrderDetailComponent.prototype.updateCustomFields = function (customFieldsValue) {
1019
+ this.dataService.order
1020
+ .updateOrderCustomFields({
1021
+ id: this.id,
1022
+ customFields: customFieldsValue,
1023
+ })
1024
+ .subscribe();
1025
+ };
1026
+ DraftOrderDetailComponent.prototype.deleteOrder = function () {
1027
+ var _this = this;
1028
+ this.dataService.order.deleteDraftOrder(this.id).subscribe(function (_c) {
1029
+ var deleteDraftOrder = _c.deleteDraftOrder;
1030
+ if (deleteDraftOrder.result === i1.DeletionResult.DELETED) {
1031
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-delete-success'), {
1032
+ entity: 'Order',
1033
+ });
1034
+ _this.router.navigate(['/orders']);
1035
+ }
1036
+ else if (deleteDraftOrder.message) {
1037
+ _this.notificationService.error(deleteDraftOrder.message);
1038
+ }
1039
+ });
1040
+ };
1041
+ DraftOrderDetailComponent.prototype.completeOrder = function () {
1042
+ var _this = this;
1043
+ this.dataService.order
1044
+ .transitionToState(this.id, 'ArrangingPayment')
1045
+ .subscribe(function (_c) {
1046
+ var transitionOrderToState = _c.transitionOrderToState;
1047
+ if ((transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.__typename) === 'Order') {
1048
+ _this.router.navigate(['/orders', _this.id]);
1049
+ }
1050
+ else if ((transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.__typename) === 'OrderStateTransitionError') {
1051
+ _this.notificationService.error(transitionOrderToState.transitionError);
1052
+ }
1053
+ });
1054
+ };
1055
+ DraftOrderDetailComponent.prototype.hasId = function (input) {
1056
+ return typeof input === 'object' && !!input.id;
1057
+ };
1058
+ DraftOrderDetailComponent.prototype.setFormValues = function (entity) {
1059
+ // empty
1060
+ };
1061
+ return DraftOrderDetailComponent;
1062
+ }(i1.BaseDetailComponent));
1063
+ DraftOrderDetailComponent.decorators = [
1064
+ { type: i0.Component, args: [{
1065
+ selector: 'vdr-draft-order-detail',
1066
+ template: "<vdr-action-bar *ngIf=\"entity$ | async as order\">\r\n <vdr-ab-left>\r\n <div class=\"flex clr-align-items-center\">\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\r\n </div>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"completeOrder()\"\r\n [disabled]=\"!order.customer || !order.lines.length || !order.shippingLines.length\"\r\n >\r\n <clr-icon shape=\"check\"></clr-icon>\r\n {{ 'order.complete-draft-order' | translate }}\r\n </button>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button type=\"button\" class=\"btn\" vdrDropdownItem (click)=\"deleteOrder()\">\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'order.delete-draft-order' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<div *ngIf=\"entity$ | async as order\">\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-lg-8\">\r\n <vdr-draft-order-variant-selector\r\n [orderLineCustomFields]=\"orderLineCustomFields\"\r\n [currencyCode]=\"order.currencyCode\"\r\n (addItem)=\"addItemToOrder($event)\"\r\n ></vdr-draft-order-variant-selector>\r\n <vdr-order-table\r\n [order]=\"order\"\r\n [orderLineCustomFields]=\"orderLineCustomFields\"\r\n [isDraft]=\"true\"\r\n (adjust)=\"adjustOrderLine($event)\"\r\n (remove)=\"removeOrderLine($event)\"\r\n ></vdr-order-table>\r\n <div class=\"flex\">\r\n <button\r\n *ngIf=\"order.couponCodes.length === 0 && !displayCouponCodeInput\"\r\n class=\"btn btn-link btn-sm mr2\"\r\n (click)=\"displayCouponCodeInput = !displayCouponCodeInput\"\r\n >\r\n {{ 'order.set-coupon-codes' | translate }}\r\n </button>\r\n <div *ngIf=\"order.couponCodes.length || displayCouponCodeInput\">\r\n <label>{{ 'order.set-coupon-codes' | translate }}</label>\r\n <vdr-coupon-code-selector\r\n [couponCodes]=\"order.couponCodes\"\r\n (addCouponCode)=\"applyCouponCode($event)\"\r\n (removeCouponCode)=\"removeCouponCode($event)\"\r\n ></vdr-coupon-code-selector>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"order.taxSummary.length\">\r\n <h4>{{ 'order.tax-summary' | translate }}</h4>\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th>{{ 'common.description' | translate }}</th>\r\n <th>{{ 'order.tax-rate' | translate }}</th>\r\n <th>{{ 'order.tax-base' | translate }}</th>\r\n <th>{{ 'order.tax-total' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of order.taxSummary\">\r\n <td>{{ row.description }}</td>\r\n <td>{{ row.taxRate / 100 | percent }}</td>\r\n <td>{{ row.taxBase | localeCurrency: order.currencyCode }}</td>\r\n <td>{{ row.taxTotal | localeCurrency: order.currencyCode }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </ng-container>\r\n </div>\r\n <div class=\"clr-col-lg-4 order-cards\">\r\n <div class=\"card\">\r\n <div class=\"card-header\">\r\n <clr-icon *ngIf=\"!order.customer\" shape=\"unknown-status\" class=\"is-warning\"></clr-icon>\r\n <clr-icon *ngIf=\"order.customer\" shape=\"check\" class=\"is-success\"></clr-icon>\r\n {{ 'order.customer' | translate }}\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"card-text\">\r\n <vdr-customer-label\r\n class=\"block mb2\"\r\n *ngIf=\"order.customer\"\r\n [customer]=\"order.customer\"\r\n ></vdr-customer-label>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"setCustomer()\">\r\n {{ 'order.set-customer-for-order' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"card-block\">\r\n <h4 class=\"card-title\">\r\n <clr-icon\r\n *ngIf=\"!order.billingAddress.streetLine1\"\r\n shape=\"unknown-status\"\r\n class=\"is-warning\"\r\n ></clr-icon>\r\n <clr-icon\r\n *ngIf=\"order.billingAddress.streetLine1\"\r\n shape=\"check\"\r\n class=\"is-success\"\r\n ></clr-icon>\r\n {{ 'order.billing-address' | translate }}\r\n </h4>\r\n <div class=\"card-text\">\r\n <vdr-formatted-address\r\n class=\"block mb2\"\r\n *ngIf=\"order.billingAddress\"\r\n [address]=\"order.billingAddress\"\r\n ></vdr-formatted-address>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"setBillingAddress()\">\r\n {{ 'order.set-billing-address' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card\">\r\n <div class=\"card-header\">\r\n <clr-icon\r\n *ngIf=\"!order.shippingAddress.streetLine1 || !order.shippingLines.length\"\r\n shape=\"unknown-status\"\r\n class=\"is-warning\"\r\n ></clr-icon>\r\n <clr-icon\r\n *ngIf=\"order.shippingAddress.streetLine1 && order.shippingLines.length\"\r\n shape=\"check\"\r\n class=\"is-success\"\r\n ></clr-icon>\r\n {{ 'order.shipping' | translate }}\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"card-text\">\r\n <vdr-formatted-address\r\n class=\"block mb2\"\r\n *ngIf=\"order.shippingAddress\"\r\n [address]=\"order.shippingAddress\"\r\n ></vdr-formatted-address>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"setShippingAddress()\">\r\n {{ 'order.set-shipping-address' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"card-text\">\r\n <div *ngFor=\"let shippingLine of order.shippingLines\">\r\n {{ shippingLine.shippingMethod.name }}\r\n </div>\r\n <button class=\"btn btn-link btn-sm\" (click)=\"setShippingMethod()\">\r\n {{ 'order.set-shipping-method' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <vdr-order-custom-fields-card\r\n [customFieldsConfig]=\"customFields\"\r\n [customFieldValues]=\"order.customFields\"\r\n (updateClick)=\"updateCustomFields($event)\"\r\n ></vdr-order-custom-fields-card>\r\n </div>\r\n </div>\r\n</div>\r\n",
1067
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1068
+ styles: [""]
1069
+ },] }
1070
+ ];
1071
+ DraftOrderDetailComponent.ctorParameters = function () { return [
1072
+ { type: i1$1.Router },
1073
+ { type: i1$1.ActivatedRoute },
1074
+ { type: i1.ServerConfigService },
1075
+ { type: i0.ChangeDetectorRef },
1076
+ { type: i1.DataService },
1077
+ { type: i1.NotificationService },
1078
+ { type: i1.ModalService },
1079
+ { type: OrderTransitionService }
1080
+ ]; };
1081
+
1082
+ var DraftOrderVariantSelectorComponent = /** @class */ (function () {
1083
+ function DraftOrderVariantSelectorComponent(dataService) {
1084
+ this.dataService = dataService;
1085
+ this.addItem = new i0.EventEmitter();
1086
+ this.customFieldsFormGroup = new forms.FormGroup({});
1087
+ this.selectedVariantId$ = new rxjs.Subject();
1088
+ this.quantity = 1;
1089
+ }
1090
+ DraftOrderVariantSelectorComponent.prototype.ngOnInit = function () {
1091
+ var e_1, _a;
1092
+ var _this = this;
1093
+ this.selectedVariant$ = this.selectedVariantId$.pipe(operators.switchMap(function (id) {
1094
+ if (id) {
1095
+ return _this.dataService.product
1096
+ .getProductVariant(id)
1097
+ .mapSingle(function (_a) {
1098
+ var productVariant = _a.productVariant;
1099
+ return productVariant;
1100
+ });
1101
+ }
1102
+ else {
1103
+ return [undefined];
1104
+ }
1105
+ }));
1106
+ try {
1107
+ for (var _b = __values(this.orderLineCustomFields), _c = _b.next(); !_c.done; _c = _b.next()) {
1108
+ var customField = _c.value;
1109
+ this.customFieldsFormGroup.addControl(customField.name, new forms.FormControl(''));
1110
+ }
1111
+ }
1112
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1113
+ finally {
1114
+ try {
1115
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1116
+ }
1117
+ finally { if (e_1) throw e_1.error; }
1118
+ }
1119
+ };
1120
+ DraftOrderVariantSelectorComponent.prototype.addItemClick = function (selectedVariant) {
1121
+ if (selectedVariant) {
1122
+ this.addItem.emit({
1123
+ productVariantId: selectedVariant.id,
1124
+ quantity: this.quantity,
1125
+ customFields: this.orderLineCustomFields.length
1126
+ ? this.customFieldsFormGroup.value
1127
+ : undefined,
1128
+ });
1129
+ this.selectedVariantId$.next(undefined);
1130
+ this.customFieldsFormGroup.reset();
1131
+ }
1132
+ };
1133
+ return DraftOrderVariantSelectorComponent;
1134
+ }());
1135
+ DraftOrderVariantSelectorComponent.decorators = [
1136
+ { type: i0.Component, args: [{
1137
+ selector: 'vdr-draft-order-variant-selector',
1138
+ template: "<div class=\"card\">\r\n <div class=\"card-block\">\r\n <h4 class=\"card-title\">{{ 'order.add-item-to-order' | translate }}</h4>\r\n <vdr-product-selector\r\n (productSelected)=\"selectedVariantId$.next($event.productVariantId)\"\r\n ></vdr-product-selector>\r\n </div>\r\n <div class=\"card-block\" *ngIf=\"selectedVariant$ | async as selectedVariant\">\r\n <div class=\"variant-details\">\r\n <img class=\"mr2\" [src]=\"selectedVariant.featuredAsset || selectedVariant.product.featuredAsset | assetPreview: 32\">\r\n <div class=\"details\">\r\n <div>{{ selectedVariant?.name }}</div>\r\n <div class=\"small\">{{ selectedVariant?.sku }}</div>\r\n </div>\r\n <div class=\"details ml4\">\r\n <div class=\"small\">\r\n {{ 'catalog.stock-on-hand' | translate }}: {{ selectedVariant.stockOnHand }}\r\n </div>\r\n <div class=\"small\">\r\n {{ 'catalog.stock-allocated' | translate }}: {{ selectedVariant.stockAllocated }}\r\n </div>\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <div class=\"details\">\r\n <div>{{ selectedVariant?.priceWithTax | localeCurrency: currencyCode }}</div>\r\n <div class=\"small\" [title]=\"'order.net-price' | translate\">\r\n {{ selectedVariant?.price | localeCurrency: currencyCode }}\r\n </div>\r\n </div>\r\n <div>\r\n <input [disabled]=\"!selectedVariant\" type=\"number\" min=\"0\" [(ngModel)]=\"quantity\" />\r\n </div>\r\n <button\r\n [disabled]=\"!selectedVariant\"\r\n class=\"btn btn-small btn-primary\"\r\n (click)=\"addItemClick(selectedVariant)\"\r\n >\r\n {{ 'order.add-item-to-order' | translate }}\r\n </button>\r\n </div>\r\n <ng-container *ngIf=\"orderLineCustomFields.length\">\r\n <div class=\"custom-field\" *ngFor=\"let field of orderLineCustomFields\">\r\n <vdr-custom-field-control\r\n [compact]=\"true\"\r\n [readonly]=\"false\"\r\n [customField]=\"field\"\r\n [customFieldsFormGroup]=\"customFieldsFormGroup\"\r\n ></vdr-custom-field-control>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n",
1139
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1140
+ styles: [".variant-details{display:flex;align-items:center}.variant-details img{border-radius:var(--border-radius-img);width:32px;height:32px}.variant-details .details{font-size:.65rem;line-height:.7rem}.variant-details input{width:48px;margin:0 6px}.variant-details .small{font-size:11px;color:var(--color-text-300)}\n"]
1141
+ },] }
1142
+ ];
1143
+ DraftOrderVariantSelectorComponent.ctorParameters = function () { return [
1144
+ { type: i1.DataService }
1145
+ ]; };
1146
+ DraftOrderVariantSelectorComponent.propDecorators = {
1147
+ currencyCode: [{ type: i0.Input }],
1148
+ orderLineCustomFields: [{ type: i0.Input }],
1149
+ addItem: [{ type: i0.Output }]
1150
+ };
1151
+
1152
+ var FulfillOrderDialogComponent = /** @class */ (function () {
1153
+ function FulfillOrderDialogComponent(dataService, changeDetector) {
1154
+ this.dataService = dataService;
1155
+ this.changeDetector = changeDetector;
1156
+ this.fulfillmentHandlerControl = new forms.FormControl();
1157
+ this.fulfillmentQuantities = {};
1158
+ }
1159
+ FulfillOrderDialogComponent.prototype.ngOnInit = function () {
1160
+ var _this = this;
1161
+ this.dataService.settings.getGlobalSettings().single$.subscribe(function (_c) {
1162
+ var globalSettings = _c.globalSettings;
1163
+ _this.fulfillmentQuantities = _this.order.lines.reduce(function (result, line) {
1164
+ var _c;
1165
+ var fulfillCount = _this.getFulfillableCount(line, globalSettings.trackInventory);
1166
+ return Object.assign(Object.assign({}, result), (_c = {}, _c[line.id] = { fulfillCount: fulfillCount, max: fulfillCount }, _c));
1167
+ }, {});
1168
+ _this.changeDetector.markForCheck();
1169
+ });
1170
+ this.dataService.shippingMethod
1171
+ .getShippingMethodOperations()
1172
+ .mapSingle(function (data) { return data.fulfillmentHandlers; })
1173
+ .subscribe(function (handlers) {
1174
+ _this.fulfillmentHandlerDef =
1175
+ handlers.find(function (h) { var _a, _b; return h.code === ((_b = (_a = _this.order.shippingLines[0]) === null || _a === void 0 ? void 0 : _a.shippingMethod) === null || _b === void 0 ? void 0 : _b.fulfillmentHandlerCode); }) || handlers[0];
1176
+ _this.fulfillmentHandler = i1.configurableDefinitionToInstance(_this.fulfillmentHandlerDef);
1177
+ _this.fulfillmentHandlerControl.patchValue(_this.fulfillmentHandler);
1178
+ _this.changeDetector.markForCheck();
1179
+ });
1180
+ };
1181
+ FulfillOrderDialogComponent.prototype.getFulfillableCount = function (line, globalTrackInventory) {
1182
+ var _c = line.productVariant, trackInventory = _c.trackInventory, stockOnHand = _c.stockOnHand;
1183
+ var effectiveTracInventory = trackInventory === i1.GlobalFlag.INHERIT ? globalTrackInventory : trackInventory === i1.GlobalFlag.TRUE;
1184
+ var unfulfilledCount = this.getUnfulfilledCount(line);
1185
+ return effectiveTracInventory ? Math.min(unfulfilledCount, stockOnHand) : unfulfilledCount;
1186
+ };
1187
+ FulfillOrderDialogComponent.prototype.getUnfulfilledCount = function (line) {
1188
+ var _a, _b;
1189
+ var fulfilled = (_b = (_a = line.fulfillments) === null || _a === void 0 ? void 0 : _a.map(function (f) { return f.summary; }).flat().filter(function (row) { return row.orderLine.id === line.id; }).reduce(function (sum, row) { return sum + row.quantity; }, 0)) !== null && _b !== void 0 ? _b : 0;
1190
+ return line.quantity - fulfilled;
1191
+ };
1192
+ FulfillOrderDialogComponent.prototype.canSubmit = function () {
1193
+ var totalCount = Object.values(this.fulfillmentQuantities).reduce(function (total, _c) {
1194
+ var fulfillCount = _c.fulfillCount;
1195
+ return total + fulfillCount;
1196
+ }, 0);
1197
+ var formIsValid = i1.configurableOperationValueIsValid(this.fulfillmentHandlerDef, this.fulfillmentHandlerControl.value) && this.fulfillmentHandlerControl.valid;
1198
+ return formIsValid && 0 < totalCount;
1199
+ };
1200
+ FulfillOrderDialogComponent.prototype.select = function () {
1201
+ var lines = Object.entries(this.fulfillmentQuantities).map(function (_c) {
1202
+ var _d = __read(_c, 2), orderLineId = _d[0], fulfillCount = _d[1].fulfillCount;
1203
+ return ({
1204
+ orderLineId: orderLineId,
1205
+ quantity: fulfillCount,
1206
+ });
1207
+ });
1208
+ this.resolveWith({
1209
+ lines: lines,
1210
+ handler: i1.toConfigurableOperationInput(this.fulfillmentHandler, this.fulfillmentHandlerControl.value),
1211
+ });
1212
+ };
1213
+ FulfillOrderDialogComponent.prototype.cancel = function () {
1214
+ this.resolveWith();
1215
+ };
1216
+ return FulfillOrderDialogComponent;
1217
+ }());
1218
+ FulfillOrderDialogComponent.decorators = [
1219
+ { type: i0.Component, args: [{
1220
+ selector: 'vdr-fulfill-order-dialog',
1221
+ template: "<ng-template vdrDialogTitle>{{ 'order.fulfill-order' | translate }}</ng-template>\r\n\r\n<div class=\"fulfillment-wrapper\">\r\n <div class=\"order-table\">\r\n <table class=\"table\">\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.unfulfilled' | translate }}</th>\r\n <th>{{ 'catalog.stock-on-hand' | translate }}</th>\r\n <th>{{ 'order.fulfill' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tr\r\n *ngFor=\"let line of order.lines\"\r\n class=\"order-line\"\r\n [class.ignore]=\"getUnfulfilledCount(line) === 0\"\r\n >\r\n <td class=\"align-middle thumb\">\r\n <img *ngIf=\"line.featuredAsset\" [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\r\n <td class=\"align-middle quantity\">{{ getUnfulfilledCount(line) }}</td>\r\n <td class=\"align-middle quantity\">{{ line.productVariant.stockOnHand }}</td>\r\n <td class=\"align-middle fulfil\">\r\n <input\r\n *ngIf=\"fulfillmentQuantities[line.id]\"\r\n [disabled]=\"getUnfulfilledCount(line) === 0\"\r\n [(ngModel)]=\"fulfillmentQuantities[line.id].fulfillCount\"\r\n type=\"number\"\r\n [max]=\"fulfillmentQuantities[line.id].max\"\r\n min=\"0\"\r\n />\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"shipping-details\">\r\n <vdr-formatted-address [address]=\"order.shippingAddress\"></vdr-formatted-address>\r\n <h6>{{ 'order.shipping-method' | translate }}</h6>\r\n {{ order.shippingLines[0]?.shippingMethod?.name }}\r\n <strong>{{ order.shipping | localeCurrency: order.currencyCode }}</strong>\r\n <vdr-configurable-input\r\n [operationDefinition]=\"fulfillmentHandlerDef\"\r\n [operation]=\"fulfillmentHandler\"\r\n [formControl]=\"fulfillmentHandlerControl\"\r\n [removable]=\"false\"\r\n ></vdr-configurable-input>\r\n </div>\r\n</div>\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)=\"select()\" [disabled]=\"!canSubmit()\" class=\"btn btn-primary\">\r\n {{ 'order.create-fulfillment' | translate }}\r\n </button>\r\n</ng-template>\r\n",
1222
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1223
+ styles: [":host{height:100%;display:flex;min-height:64vh}.fulfillment-wrapper{flex:1}@media screen and (min-width: 768px){.fulfillment-wrapper{display:flex;flex-direction:row}}.fulfillment-wrapper .shipping-details{margin-top:24px}@media screen and (min-width: 768px){.fulfillment-wrapper .shipping-details{margin-top:0;margin-left:24px;width:250px}}.fulfillment-wrapper .shipping-details clr-input-container{margin-top:24px}.fulfillment-wrapper .order-table{flex:1;overflow-y:auto}.fulfillment-wrapper .order-table table{margin-top:0}.fulfillment-wrapper tr.ignore{color:var(--color-grey-300)}\n"]
1224
+ },] }
1225
+ ];
1226
+ FulfillOrderDialogComponent.ctorParameters = function () { return [
1227
+ { type: i1.DataService },
1228
+ { type: i0.ChangeDetectorRef }
1229
+ ]; };
1230
+
1231
+ var FulfillmentCardComponent = /** @class */ (function () {
1232
+ function FulfillmentCardComponent() {
1233
+ this.transitionState = new i0.EventEmitter();
1234
+ }
1235
+ FulfillmentCardComponent.prototype.nextSuggestedState = function () {
1236
+ var _a;
1237
+ if (!this.fulfillment) {
1238
+ return;
1239
+ }
1240
+ var nextStates = this.fulfillment.nextStates;
1241
+ var namedStateOrDefault = function (targetState) { return nextStates.includes(targetState) ? targetState : nextStates[0]; };
1242
+ switch ((_a = this.fulfillment) === null || _a === void 0 ? void 0 : _a.state) {
1243
+ case 'Pending':
1244
+ return namedStateOrDefault('Shipped');
1245
+ case 'Shipped':
1246
+ return namedStateOrDefault('Delivered');
1247
+ default:
1248
+ return nextStates.find(function (s) { return s !== 'Cancelled'; });
1249
+ }
1250
+ };
1251
+ FulfillmentCardComponent.prototype.nextOtherStates = function () {
1252
+ if (!this.fulfillment) {
1253
+ return [];
1254
+ }
1255
+ var suggested = this.nextSuggestedState();
1256
+ return this.fulfillment.nextStates.filter(function (s) { return s !== suggested; });
1257
+ };
1258
+ return FulfillmentCardComponent;
1259
+ }());
1260
+ FulfillmentCardComponent.decorators = [
1261
+ { type: i0.Component, args: [{
1262
+ selector: 'vdr-fulfillment-card',
1263
+ template: "<div class=\"card\">\r\n <div class=\"card-header fulfillment-header\">\r\n <div>{{ 'order.fulfillment' | translate }}</div>\r\n <div class=\"fulfillment-state\">\r\n <vdr-fulfillment-state-label [state]=\"fulfillment?.state\"></vdr-fulfillment-state-label>\r\n </div>\r\n </div>\r\n <div class=\"card-block\">\r\n <vdr-fulfillment-detail\r\n *ngIf=\"!!fulfillment\"\r\n [fulfillmentId]=\"fulfillment?.id\"\r\n [order]=\"order\"\r\n ></vdr-fulfillment-detail>\r\n </div>\r\n <div class=\"card-footer\" *ngIf=\"fulfillment?.nextStates.length\">\r\n <ng-container *ngIf=\"nextSuggestedState() as suggestedState\">\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"transitionState.emit(suggestedState)\">\r\n {{ 'order.set-fulfillment-state' | translate: { state: (suggestedState | stateI18nToken | translate) } }}\r\n </button>\r\n </ng-container>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <ng-container *ngFor=\"let nextState of nextOtherStates()\">\r\n <button\r\n type=\"button\"\r\n class=\"btn\"\r\n vdrDropdownItem\r\n (click)=\"transitionState.emit(nextState)\"\r\n >\r\n <ng-container *ngIf=\"nextState !== 'Cancelled'; else cancel\">\r\n <clr-icon shape=\"step-forward-2\"></clr-icon>\r\n {{ 'order.transition-to-state' | translate: { state: (nextState | stateI18nToken | translate) } }}\r\n </ng-container>\r\n <ng-template #cancel>\r\n <clr-icon shape=\"error-standard\" class=\"is-error\"></clr-icon>\r\n {{ 'order.cancel-fulfillment' | translate }}\r\n </ng-template>\r\n </button>\r\n </ng-container>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n</div>\r\n",
1264
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1265
+ styles: [".fulfillment-header{display:flex;justify-content:space-between;align-items:center}.card-footer{display:flex;align-items:center;justify-content:flex-end}\n"]
1266
+ },] }
1267
+ ];
1268
+ FulfillmentCardComponent.propDecorators = {
1269
+ fulfillment: [{ type: i0.Input }],
1270
+ order: [{ type: i0.Input }],
1271
+ transitionState: [{ type: i0.Output }]
1272
+ };
1273
+
1274
+ var FulfillmentDetailComponent = /** @class */ (function () {
1275
+ function FulfillmentDetailComponent(serverConfigService) {
1276
+ this.serverConfigService = serverConfigService;
1277
+ this.customFieldConfig = [];
1278
+ this.customFieldFormGroup = new forms.FormGroup({});
1279
+ }
1280
+ FulfillmentDetailComponent.prototype.ngOnInit = function () {
1281
+ this.customFieldConfig = this.serverConfigService.getCustomFieldsFor('Fulfillment');
1282
+ };
1283
+ FulfillmentDetailComponent.prototype.ngOnChanges = function (changes) {
1284
+ this.buildCustomFieldsFormGroup();
1285
+ };
1286
+ Object.defineProperty(FulfillmentDetailComponent.prototype, "fulfillment", {
1287
+ get: function () {
1288
+ var _this = this;
1289
+ return this.order.fulfillments && this.order.fulfillments.find(function (f) { return f.id === _this.fulfillmentId; });
1290
+ },
1291
+ enumerable: false,
1292
+ configurable: true
1293
+ });
1294
+ Object.defineProperty(FulfillmentDetailComponent.prototype, "items", {
1295
+ get: function () {
1296
+ var _this = this;
1297
+ var _a, _b;
1298
+ return ((_b = (_a = this.fulfillment) === null || _a === void 0 ? void 0 : _a.summary.map(function (row) {
1299
+ var _a, _b;
1300
+ return {
1301
+ name: (_b = (_a = _this.order.lines.find(function (line) { return line.id === row.orderLine.id; })) === null || _a === void 0 ? void 0 : _a.productVariant.name) !== null && _b !== void 0 ? _b : '',
1302
+ quantity: row.quantity,
1303
+ };
1304
+ })) !== null && _b !== void 0 ? _b : []);
1305
+ },
1306
+ enumerable: false,
1307
+ configurable: true
1308
+ });
1309
+ FulfillmentDetailComponent.prototype.buildCustomFieldsFormGroup = function () {
1310
+ var e_1, _c;
1311
+ var customFields = this.fulfillment.customFields;
1312
+ try {
1313
+ for (var _d = __values(this.serverConfigService.getCustomFieldsFor('Fulfillment')), _e = _d.next(); !_e.done; _e = _d.next()) {
1314
+ var fieldDef = _e.value;
1315
+ this.customFieldFormGroup.addControl(fieldDef.name, new forms.FormControl(customFields[fieldDef.name]));
1316
+ }
1317
+ }
1318
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1319
+ finally {
1320
+ try {
1321
+ if (_e && !_e.done && (_c = _d.return)) _c.call(_d);
1322
+ }
1323
+ finally { if (e_1) throw e_1.error; }
1324
+ }
1325
+ };
1326
+ FulfillmentDetailComponent.prototype.customFieldIsObject = function (customField) {
1327
+ return Array.isArray(customField) || sharedUtils.isObject(customField);
1328
+ };
1329
+ return FulfillmentDetailComponent;
1330
+ }());
1331
+ FulfillmentDetailComponent.decorators = [
1332
+ { type: i0.Component, args: [{
1333
+ selector: 'vdr-fulfillment-detail',
1334
+ template: "<vdr-labeled-data [label]=\"'common.created-at' | translate\">\r\n {{ fulfillment?.createdAt | localeDate: 'medium' }}\r\n</vdr-labeled-data>\r\n<vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\r\n {{ fulfillment?.method }}\r\n</vdr-labeled-data>\r\n<vdr-labeled-data *ngIf=\"fulfillment?.trackingCode\" [label]=\"'order.tracking-code' | translate\">\r\n {{ fulfillment?.trackingCode }}\r\n</vdr-labeled-data>\r\n<vdr-labeled-data [label]=\"'order.contents' | translate\">\r\n <vdr-simple-item-list [items]=\"items\"></vdr-simple-item-list>\r\n</vdr-labeled-data>\r\n<ng-container *ngFor=\"let customField of customFieldConfig\">\r\n <vdr-custom-field-control\r\n *ngIf=\"customFieldFormGroup.get(customField.name)\"\r\n [readonly]=\"true\"\r\n [compact]=\"true\"\r\n [customField]=\"customField\"\r\n [customFieldsFormGroup]=\"customFieldFormGroup\"\r\n ></vdr-custom-field-control>\r\n</ng-container>\r\n",
1335
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1336
+ styles: [""]
1337
+ },] }
1338
+ ];
1339
+ FulfillmentDetailComponent.ctorParameters = function () { return [
1340
+ { type: i1.ServerConfigService }
1341
+ ]; };
1342
+ FulfillmentDetailComponent.propDecorators = {
1343
+ fulfillmentId: [{ type: i0.Input }],
1344
+ order: [{ type: i0.Input }]
1345
+ };
1346
+
1347
+ var FulfillmentStateLabelComponent = /** @class */ (function () {
1348
+ function FulfillmentStateLabelComponent() {
1349
+ }
1350
+ Object.defineProperty(FulfillmentStateLabelComponent.prototype, "chipColorType", {
1351
+ get: function () {
1352
+ switch (this.state) {
1353
+ case 'Pending':
1354
+ case 'Shipped':
1355
+ return 'warning';
1356
+ case 'Delivered':
1357
+ return 'success';
1358
+ case 'Cancelled':
1359
+ return 'error';
1360
+ }
1361
+ },
1362
+ enumerable: false,
1363
+ configurable: true
1364
+ });
1365
+ return FulfillmentStateLabelComponent;
1366
+ }());
1367
+ FulfillmentStateLabelComponent.decorators = [
1368
+ { type: i0.Component, args: [{
1369
+ selector: 'vdr-fulfillment-state-label',
1370
+ template: "<vdr-chip [title]=\"'order.payment-state' | translate\" [colorType]=\"chipColorType\">\r\n <clr-icon shape=\"check-circle\" *ngIf=\"state === 'Delivered'\"></clr-icon>\r\n {{ state | stateI18nToken | translate }}\r\n</vdr-chip>\r\n",
1371
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1372
+ styles: [":host{font-size:14px}\n"]
1373
+ },] }
1374
+ ];
1375
+ FulfillmentStateLabelComponent.propDecorators = {
1376
+ state: [{ type: i0.Input }]
1377
+ };
1378
+
1379
+ var LineFulfillmentComponent = /** @class */ (function () {
1380
+ function LineFulfillmentComponent() {
1381
+ this.fulfilledCount = 0;
1382
+ this.fulfillments = [];
1383
+ }
1384
+ LineFulfillmentComponent.prototype.ngOnChanges = function (changes) {
1385
+ if (this.line) {
1386
+ this.fulfilledCount = this.getDeliveredCount(this.line);
1387
+ this.fulfillmentStatus = this.getFulfillmentStatus(this.fulfilledCount, this.line.items.length);
1388
+ this.fulfillments = this.getFulfillments(this.line);
1389
+ }
1390
+ };
1391
+ /**
1392
+ * Returns the number of items in an OrderLine which are fulfilled.
1393
+ */
1394
+ LineFulfillmentComponent.prototype.getDeliveredCount = function (line) {
1395
+ var _a, _b;
1396
+ return ((_b = (_a = line.fulfillments) === null || _a === void 0 ? void 0 : _a.reduce(function (sum, fulfillment) { var _a, _b; return sum + ((_b = (_a = fulfillment.summary.find(function (s) { return s.orderLine.id === line.id; })) === null || _a === void 0 ? void 0 : _a.quantity) !== null && _b !== void 0 ? _b : 0); }, 0)) !== null && _b !== void 0 ? _b : 0);
1397
+ };
1398
+ LineFulfillmentComponent.prototype.getFulfillmentStatus = function (fulfilledCount, lineQuantity) {
1399
+ if (fulfilledCount === lineQuantity) {
1400
+ return 'full';
1401
+ }
1402
+ if (0 < fulfilledCount && fulfilledCount < lineQuantity) {
1403
+ return 'partial';
1404
+ }
1405
+ return 'none';
1406
+ };
1407
+ LineFulfillmentComponent.prototype.getFulfillments = function (line) {
1408
+ var _a, _b;
1409
+ return ((_b = (_a = line.fulfillments) === null || _a === void 0 ? void 0 : _a.map(function (fulfillment) {
1410
+ var _a;
1411
+ var summaryLine = fulfillment.summary.find(function (s) { return s.orderLine.id === line.id; });
1412
+ return {
1413
+ count: (_a = summaryLine === null || summaryLine === void 0 ? void 0 : summaryLine.quantity) !== null && _a !== void 0 ? _a : 0,
1414
+ fulfillment: fulfillment,
1415
+ };
1416
+ })) !== null && _b !== void 0 ? _b : []);
1417
+ };
1418
+ return LineFulfillmentComponent;
1419
+ }());
1420
+ LineFulfillmentComponent.decorators = [
1421
+ { type: i0.Component, args: [{
1422
+ selector: 'vdr-line-fulfillment',
1423
+ template: "<vdr-dropdown class=\"search-settings-menu\" *ngIf=\"fulfilledCount || orderState === 'PartiallyDelivered'\">\r\n <button type=\"button\" class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon *ngIf=\"fulfillmentStatus === 'full'\" class=\"item-fulfilled\" shape=\"check-circle\"></clr-icon>\r\n <clr-icon\r\n *ngIf=\"fulfillmentStatus === 'partial'\"\r\n class=\"item-partially-fulfilled\"\r\n shape=\"check-circle\"\r\n ></clr-icon>\r\n <clr-icon\r\n *ngIf=\"fulfillmentStatus === 'none'\"\r\n class=\"item-not-fulfilled\"\r\n shape=\"exclamation-circle\"\r\n ></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'full'\">\r\n {{ 'order.line-fulfillment-all' | translate }}\r\n </label>\r\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'partial'\">\r\n {{\r\n 'order.line-fulfillment-partial' | translate: { total: line.quantity, count: fulfilledCount }\r\n }}\r\n </label>\r\n <label class=\"dropdown-header\" *ngIf=\"fulfillmentStatus === 'none'\">\r\n {{ 'order.line-fulfillment-none' | translate }}\r\n </label>\r\n <div class=\"fulfillment-detail\" *ngFor=\"let item of fulfillments\">\r\n <div class=\"fulfillment-title\">\r\n {{ 'order.fulfillment' | translate }} #{{ item.fulfillment.id }} ({{\r\n 'order.item-count' | translate: { count: item.count }\r\n }})\r\n </div>\r\n <vdr-labeled-data [label]=\"'common.created-at' | translate\">\r\n {{ item.fulfillment.createdAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.fulfillment-method' | translate\">\r\n {{ item.fulfillment.method }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data\r\n *ngIf=\"item.fulfillment.trackingCode\"\r\n [label]=\"'order.tracking-code' | translate\"\r\n >\r\n {{ item.fulfillment.trackingCode }}\r\n </vdr-labeled-data>\r\n </div>\r\n </vdr-dropdown-menu>\r\n</vdr-dropdown>\r\n",
1424
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1425
+ styles: [".item-fulfilled{color:var(--color-success-500)}.item-partially-fulfilled{color:var(--color-warning-500)}.item-not-fulfilled{color:var(--color-error-500)}.fulfillment-detail{margin:6px 12px}.fulfillment-detail:not(:last-of-type){border-bottom:1px dashed var(--color-component-border-200)}\n"]
1426
+ },] }
1427
+ ];
1428
+ LineFulfillmentComponent.propDecorators = {
1429
+ line: [{ type: i0.Input }],
1430
+ orderState: [{ type: i0.Input }]
1431
+ };
1432
+
1433
+ var LineRefundsComponent = /** @class */ (function () {
1434
+ function LineRefundsComponent() {
1435
+ }
1436
+ LineRefundsComponent.prototype.getRefundedCount = function () {
1437
+ var _a, _b;
1438
+ var refunds = (_b = (_a = this.payments) === null || _a === void 0 ? void 0 : _a.reduce(function (all, payment) { return __spreadArray(__spreadArray([], __read(all)), __read(payment.refunds)); }, [])) !== null && _b !== void 0 ? _b : [];
1439
+ return this.line.items.filter(function (i) {
1440
+ if (i.refundId === null && !i.cancelled) {
1441
+ return false;
1442
+ }
1443
+ if (i.refundId) {
1444
+ var refund = refunds.find(function (r) { return r.id === i.refundId; });
1445
+ if ((refund === null || refund === void 0 ? void 0 : refund.state) === 'Failed') {
1446
+ return false;
1447
+ }
1448
+ else {
1449
+ return true;
1450
+ }
1451
+ }
1452
+ return false;
1453
+ }).length;
1454
+ };
1455
+ return LineRefundsComponent;
1456
+ }());
1457
+ LineRefundsComponent.decorators = [
1458
+ { type: i0.Component, args: [{
1459
+ selector: 'vdr-line-refunds',
1460
+ template: "<span *ngIf=\"getRefundedCount()\" [title]=\"'order.refunded-count' | translate: { count: getRefundedCount() }\">\r\n <clr-icon shape=\"redo\" class=\"is-solid\" dir=\"down\"></clr-icon>\r\n</span>\r\n",
1461
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1462
+ styles: [":host{color:var(--color-error-500)}\n"]
1463
+ },] }
1464
+ ];
1465
+ LineRefundsComponent.propDecorators = {
1466
+ line: [{ type: i0.Input }],
1467
+ payments: [{ type: i0.Input }]
1468
+ };
1469
+
1470
+ var ModificationDetailComponent = /** @class */ (function () {
1471
+ function ModificationDetailComponent() {
1472
+ this.addedItems = new Map();
1473
+ this.removedItems = new Map();
1474
+ }
1475
+ ModificationDetailComponent.prototype.ngOnChanges = function () {
1476
+ var _c = this.getModifiedLines(), added = _c.added, removed = _c.removed;
1477
+ this.addedItems = added;
1478
+ this.removedItems = removed;
1479
+ };
1480
+ ModificationDetailComponent.prototype.getSurcharge = function (id) {
1481
+ return this.order.surcharges.find(function (m) { return m.id === id; });
1482
+ };
1483
+ ModificationDetailComponent.prototype.getAddedItems = function () {
1484
+ return __spreadArray([], __read(this.addedItems.entries())).map(function (_c) {
1485
+ var _d = __read(_c, 2), line = _d[0], count = _d[1];
1486
+ return { name: line.productVariant.name, quantity: count };
1487
+ });
1488
+ };
1489
+ ModificationDetailComponent.prototype.getRemovedItems = function () {
1490
+ return __spreadArray([], __read(this.removedItems.entries())).map(function (_c) {
1491
+ var _d = __read(_c, 2), line = _d[0], count = _d[1];
1492
+ return { name: line.productVariant.name, quantity: count };
1493
+ });
1494
+ };
1495
+ ModificationDetailComponent.prototype.getModifiedLines = function () {
1496
+ var e_1, _c;
1497
+ var _a, _b;
1498
+ var added = new Map();
1499
+ var removed = new Map();
1500
+ try {
1501
+ for (var _d = __values(this.modification.orderItems || []), _e = _d.next(); !_e.done; _e = _d.next()) {
1502
+ var _item = _e.value;
1503
+ var result = this.getOrderLineAndItem(_item.id);
1504
+ if (result) {
1505
+ var line = result.line, item = result.item;
1506
+ if (item.cancelled) {
1507
+ var count = (_a = removed.get(line)) !== null && _a !== void 0 ? _a : 0;
1508
+ removed.set(line, count + 1);
1509
+ }
1510
+ else {
1511
+ var count = (_b = added.get(line)) !== null && _b !== void 0 ? _b : 0;
1512
+ added.set(line, count + 1);
1513
+ }
1514
+ }
1515
+ }
1516
+ }
1517
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1518
+ finally {
1519
+ try {
1520
+ if (_e && !_e.done && (_c = _d.return)) _c.call(_d);
1521
+ }
1522
+ finally { if (e_1) throw e_1.error; }
1523
+ }
1524
+ return { added: added, removed: removed };
1525
+ };
1526
+ ModificationDetailComponent.prototype.getOrderLineAndItem = function (itemId) {
1527
+ var e_2, _c;
1528
+ try {
1529
+ for (var _d = __values(this.order.lines), _e = _d.next(); !_e.done; _e = _d.next()) {
1530
+ var line = _e.value;
1531
+ var item = line.items.find(function (i) { return i.id === itemId; });
1532
+ if (item) {
1533
+ return { line: line, item: item };
1534
+ }
1535
+ }
1536
+ }
1537
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
1538
+ finally {
1539
+ try {
1540
+ if (_e && !_e.done && (_c = _d.return)) _c.call(_d);
1541
+ }
1542
+ finally { if (e_2) throw e_2.error; }
1543
+ }
1544
+ };
1545
+ return ModificationDetailComponent;
1546
+ }());
1547
+ ModificationDetailComponent.decorators = [
1548
+ { type: i0.Component, args: [{
1549
+ selector: 'vdr-modification-detail',
1550
+ template: "<vdr-labeled-data [label]=\"'common.ID' | translate\">{{ modification.id }}</vdr-labeled-data>\r\n<vdr-labeled-data *ngIf=\"modification.note\" [label]=\"'order.note' | translate\">{{\r\n modification.note\r\n}}</vdr-labeled-data>\r\n<vdr-labeled-data *ngFor=\"let surcharge of modification.surcharges\" [label]=\"'order.surcharges' | translate\">\r\n {{ getSurcharge(surcharge.id)?.description }}\r\n {{ getSurcharge(surcharge.id)?.priceWithTax | localeCurrency: order.currencyCode }}</vdr-labeled-data\r\n>\r\n<vdr-labeled-data *ngIf=\"getAddedItems().length\" [label]=\"'order.added-items' | translate\">\r\n <vdr-simple-item-list [items]=\"getAddedItems()\"></vdr-simple-item-list>\r\n</vdr-labeled-data>\r\n<vdr-labeled-data *ngIf=\"getRemovedItems().length\" [label]=\"'order.removed-items' | translate\">\r\n <vdr-simple-item-list [items]=\"getRemovedItems()\"></vdr-simple-item-list>\r\n</vdr-labeled-data>\r\n",
1551
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1552
+ styles: [""]
1553
+ },] }
1554
+ ];
1555
+ ModificationDetailComponent.propDecorators = {
1556
+ order: [{ type: i0.Input }],
1557
+ modification: [{ type: i0.Input }]
1558
+ };
1559
+
1560
+ var OrderCustomFieldsCardComponent = /** @class */ (function () {
1561
+ function OrderCustomFieldsCardComponent(formBuilder, modalService) {
1562
+ this.formBuilder = formBuilder;
1563
+ this.modalService = modalService;
1564
+ this.customFieldsConfig = [];
1565
+ this.customFieldValues = {};
1566
+ this.updateClick = new i0.EventEmitter();
1567
+ this.editable = false;
1568
+ }
1569
+ OrderCustomFieldsCardComponent.prototype.ngOnInit = function () {
1570
+ var e_1, _a;
1571
+ this.customFieldForm = this.formBuilder.group({});
1572
+ try {
1573
+ for (var _b = __values(this.customFieldsConfig), _c = _b.next(); !_c.done; _c = _b.next()) {
1574
+ var field = _c.value;
1575
+ this.customFieldForm.addControl(field.name, this.formBuilder.control(this.customFieldValues[field.name]));
1576
+ }
1577
+ }
1578
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
1579
+ finally {
1580
+ try {
1581
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
1582
+ }
1583
+ finally { if (e_1) throw e_1.error; }
1584
+ }
1585
+ };
1586
+ OrderCustomFieldsCardComponent.prototype.onUpdateClick = function () {
1587
+ this.updateClick.emit(this.customFieldForm.value);
1588
+ this.customFieldForm.markAsPristine();
1589
+ this.editable = false;
1590
+ };
1591
+ OrderCustomFieldsCardComponent.prototype.onCancelClick = function () {
1592
+ var _this = this;
1593
+ if (this.customFieldForm.dirty) {
1594
+ this.modalService
1595
+ .dialog({
1596
+ title: ngxTranslateExtractMarker.marker('catalog.confirm-cancel'),
1597
+ buttons: [
1598
+ { type: 'secondary', label: ngxTranslateExtractMarker.marker('common.keep-editing') },
1599
+ { type: 'danger', label: ngxTranslateExtractMarker.marker('common.discard-changes'), returnValue: true },
1600
+ ],
1601
+ })
1602
+ .subscribe(function (result) {
1603
+ if (result) {
1604
+ _this.customFieldForm.reset();
1605
+ _this.customFieldForm.markAsPristine();
1606
+ _this.editable = false;
1607
+ }
1608
+ });
1609
+ }
1610
+ else {
1611
+ this.editable = false;
1612
+ }
1613
+ };
1614
+ return OrderCustomFieldsCardComponent;
1615
+ }());
1616
+ OrderCustomFieldsCardComponent.decorators = [
1617
+ { type: i0.Component, args: [{
1618
+ selector: 'vdr-order-custom-fields-card',
1619
+ template: "<div class=\"card\" *ngIf=\"customFieldsConfig.length\">\r\n <div class=\"card-header\">\r\n {{ 'common.custom-fields' | translate }}\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"card-text custom-field-form\" [class.editable]=\"editable\">\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Order\"\r\n [customFields]=\"customFieldsConfig\"\r\n [customFieldsFormGroup]=\"customFieldForm\"\r\n [readonly]=\"!editable\"\r\n [compact]=\"true\"\r\n ></vdr-tabbed-custom-fields>\r\n </div>\r\n </div>\r\n <div class=\"card-footer\">\r\n <button class=\"btn btn-sm btn-secondary\" (click)=\"editable = true\" *ngIf=\"!editable\">\r\n <clr-icon shape=\"pencil\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n <button\r\n class=\"btn btn-sm btn-primary\"\r\n (click)=\"onUpdateClick()\"\r\n *ngIf=\"editable\"\r\n [disabled]=\"customFieldForm.pristine || customFieldForm.invalid\"\r\n >\r\n <clr-icon shape=\"check\"></clr-icon>\r\n {{ 'common.update' | translate }}\r\n </button>\r\n <button\r\n class=\"btn btn-sm btn-secondary\"\r\n (click)=\"onCancelClick()\"\r\n *ngIf=\"editable\"\r\n >\r\n <clr-icon shape=\"times\"></clr-icon>\r\n {{ 'common.cancel' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n",
1620
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1621
+ styles: ["vdr-custom-field-control{margin-bottom:6px;display:block}.custom-field-form ::ng-deep .clr-control-label{color:var(--color-grey-400)}.custom-field-form.editable ::ng-deep .clr-control-label{color:inherit}\n"]
1622
+ },] }
1623
+ ];
1624
+ OrderCustomFieldsCardComponent.ctorParameters = function () { return [
1625
+ { type: forms.FormBuilder },
1626
+ { type: i1.ModalService }
1627
+ ]; };
1628
+ OrderCustomFieldsCardComponent.propDecorators = {
1629
+ customFieldsConfig: [{ type: i0.Input }],
1630
+ customFieldValues: [{ type: i0.Input }],
1631
+ updateClick: [{ type: i0.Output }]
1632
+ };
1633
+
1634
+ var OrderProcessGraphDialogComponent = /** @class */ (function () {
1635
+ function OrderProcessGraphDialogComponent(serverConfigService) {
1636
+ this.serverConfigService = serverConfigService;
1637
+ this.states = [];
1638
+ }
1639
+ OrderProcessGraphDialogComponent.prototype.ngOnInit = function () {
1640
+ this.states = this.serverConfigService.getOrderProcessStates();
1641
+ };
1642
+ return OrderProcessGraphDialogComponent;
1643
+ }());
1644
+ OrderProcessGraphDialogComponent.decorators = [
1645
+ { type: i0.Component, args: [{
1646
+ selector: 'vdr-order-process-graph-dialog',
1647
+ template: "<ng-template vdrDialogTitle>{{ 'order.order-state-diagram' | translate }}</ng-template>\r\n\r\n<vdr-order-process-graph [states]=\"states\" [initialState]=\"activeState\"></vdr-order-process-graph>\r\n",
1648
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1649
+ styles: [""]
1650
+ },] }
1651
+ ];
1652
+ OrderProcessGraphDialogComponent.ctorParameters = function () { return [
1653
+ { type: i1.ServerConfigService }
1654
+ ]; };
1655
+
1656
+ var RefundOrderDialogComponent = /** @class */ (function () {
1657
+ function RefundOrderDialogComponent(i18nService) {
1658
+ var _this = this;
1659
+ var _a;
1660
+ this.i18nService = i18nService;
1661
+ this.lineQuantities = {};
1662
+ this.refundShipping = false;
1663
+ this.adjustment = 0;
1664
+ this.reasons = (_a = i1.getAppConfig().cancellationReasons) !== null && _a !== void 0 ? _a : [
1665
+ ngxTranslateExtractMarker.marker('order.refund-reason-customer-request'),
1666
+ ngxTranslateExtractMarker.marker('order.refund-reason-not-available'),
1667
+ ];
1668
+ this.reasons = this.reasons.map(function (r) { return _this.i18nService.translate(r); });
1669
+ }
1670
+ Object.defineProperty(RefundOrderDialogComponent.prototype, "refundTotal", {
1671
+ get: function () {
1672
+ var _this = this;
1673
+ var itemTotal = this.order.lines.reduce(function (total, line) {
1674
+ var lineRef = _this.lineQuantities[line.id];
1675
+ var refundCount = (lineRef.refund && lineRef.quantity) || 0;
1676
+ return total + line.proratedUnitPriceWithTax * refundCount;
1677
+ }, 0);
1678
+ return itemTotal + (this.refundShipping ? this.order.shippingWithTax : 0) + this.adjustment;
1679
+ },
1680
+ enumerable: false,
1681
+ configurable: true
1682
+ });
1683
+ Object.defineProperty(RefundOrderDialogComponent.prototype, "settledPaymentsTotal", {
1684
+ get: function () {
1685
+ return this.settledPayments
1686
+ .map(function (payment) {
1687
+ var paymentTotal = payment.amount;
1688
+ var alreadyRefundedTotal = sharedUtils.summate(payment.refunds.filter(function (r) { return r.state !== 'Failed'; }), 'total');
1689
+ return paymentTotal - alreadyRefundedTotal;
1690
+ })
1691
+ .reduce(function (sum, amount) { return sum + amount; }, 0);
1692
+ },
1693
+ enumerable: false,
1694
+ configurable: true
1695
+ });
1696
+ RefundOrderDialogComponent.prototype.lineCanBeRefundedOrCancelled = function (line) {
1697
+ var _a, _b;
1698
+ var refunds = (_b = (_a = this.order.payments) === null || _a === void 0 ? void 0 : _a.reduce(function (all, payment) { return __spreadArray(__spreadArray([], __read(all)), __read(payment.refunds)); }, [])) !== null && _b !== void 0 ? _b : [];
1699
+ var refundable = line.items.filter(function (i) {
1700
+ if (i.cancelled) {
1701
+ return false;
1702
+ }
1703
+ if (i.refundId == null) {
1704
+ return true;
1705
+ }
1706
+ var refund = refunds.find(function (r) { return r.id === i.refundId; });
1707
+ return (refund === null || refund === void 0 ? void 0 : refund.state) === 'Failed';
1708
+ });
1709
+ return 0 < refundable.length;
1710
+ };
1711
+ RefundOrderDialogComponent.prototype.ngOnInit = function () {
1712
+ this.lineQuantities = this.order.lines.reduce(function (result, line) {
1713
+ var _c;
1714
+ return Object.assign(Object.assign({}, result), (_c = {}, _c[line.id] = {
1715
+ quantity: 0,
1716
+ refund: false,
1717
+ cancel: false,
1718
+ }, _c));
1719
+ }, {});
1720
+ this.settledPayments = (this.order.payments || []).filter(function (p) { return p.state === 'Settled'; });
1721
+ if (this.settledPayments.length) {
1722
+ this.selectedPayment = this.settledPayments[0];
1723
+ }
1724
+ };
1725
+ RefundOrderDialogComponent.prototype.handleZeroQuantity = function (line) {
1726
+ if ((line === null || line === void 0 ? void 0 : line.quantity) === 0) {
1727
+ line.cancel = false;
1728
+ line.refund = false;
1729
+ }
1730
+ };
1731
+ RefundOrderDialogComponent.prototype.isRefunding = function () {
1732
+ var result = Object.values(this.lineQuantities).reduce(function (isRefunding, line) {
1733
+ return isRefunding || (0 < line.quantity && line.refund);
1734
+ }, false);
1735
+ return result;
1736
+ };
1737
+ RefundOrderDialogComponent.prototype.isCancelling = function () {
1738
+ var result = Object.values(this.lineQuantities).reduce(function (isCancelling, line) {
1739
+ return isCancelling || (0 < line.quantity && line.cancel);
1740
+ }, false);
1741
+ return result;
1742
+ };
1743
+ RefundOrderDialogComponent.prototype.canSubmit = function () {
1744
+ if (this.isRefunding()) {
1745
+ return !!(this.selectedPayment &&
1746
+ this.reason &&
1747
+ 0 < this.refundTotal &&
1748
+ this.refundTotal <= this.settledPaymentsTotal);
1749
+ }
1750
+ else if (this.isCancelling()) {
1751
+ return !!this.reason;
1752
+ }
1753
+ return false;
1754
+ };
1755
+ RefundOrderDialogComponent.prototype.select = function () {
1756
+ var payment = this.selectedPayment;
1757
+ if (payment) {
1758
+ var refundLines = this.getOrderLineInput(function (line) { return line.refund; });
1759
+ var cancelLines = this.getOrderLineInput(function (line) { return line.cancel; });
1760
+ this.resolveWith({
1761
+ refund: {
1762
+ lines: refundLines,
1763
+ reason: this.reason,
1764
+ shipping: this.refundShipping ? this.order.shippingWithTax : 0,
1765
+ adjustment: this.adjustment,
1766
+ paymentId: payment.id,
1767
+ },
1768
+ cancel: {
1769
+ lines: cancelLines,
1770
+ orderId: this.order.id,
1771
+ reason: this.reason,
1772
+ cancelShipping: this.refundShipping,
1773
+ },
1774
+ });
1775
+ }
1776
+ };
1777
+ RefundOrderDialogComponent.prototype.cancel = function () {
1778
+ this.resolveWith();
1779
+ };
1780
+ RefundOrderDialogComponent.prototype.getOrderLineInput = function (filterFn) {
1781
+ return Object.entries(this.lineQuantities)
1782
+ .filter(function (_c) {
1783
+ var _d = __read(_c, 2), orderLineId = _d[0], line = _d[1];
1784
+ return 0 < line.quantity && filterFn(line);
1785
+ })
1786
+ .map(function (_c) {
1787
+ var _d = __read(_c, 2), orderLineId = _d[0], line = _d[1];
1788
+ return ({
1789
+ orderLineId: orderLineId,
1790
+ quantity: line.quantity,
1791
+ });
1792
+ });
1793
+ };
1794
+ return RefundOrderDialogComponent;
1795
+ }());
1796
+ RefundOrderDialogComponent.decorators = [
1797
+ { type: i0.Component, args: [{
1798
+ selector: 'vdr-refund-order-dialog',
1799
+ template: "<ng-template vdrDialogTitle>{{ 'order.refund-and-cancel-order' | translate }}</ng-template>\r\n\r\n<div class=\"refund-wrapper\">\r\n <div class=\"order-table\">\r\n <table class=\"table\">\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.quantity' | translate }}</th>\r\n <th>{{ 'order.unit-price' | translate }}</th>\r\n <th>{{ 'order.prorated-unit-price' | translate }}</th>\r\n <th>{{ 'order.quantity' | translate }}</th>\r\n <th>{{ 'order.refund' | translate }}</th>\r\n <th>{{ 'order.cancel' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tr *ngFor=\"let line of order.lines\" class=\"order-line\">\r\n <td class=\"align-middle thumb\">\r\n <img [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\r\n <td class=\"align-middle quantity\">\r\n {{ line.quantity }}\r\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\r\n </td>\r\n <td class=\"align-middle quantity\">\r\n {{ line.unitPriceWithTax | localeCurrency: order.currencyCode }}\r\n </td>\r\n <td class=\"align-middle quantity\">\r\n <div class=\"prorated-wrapper\">\r\n {{ line.proratedUnitPriceWithTax | localeCurrency: order.currencyCode }}\r\n <ng-container *ngIf=\"line.discounts as discounts\">\r\n <vdr-dropdown *ngIf=\"discounts.length\">\r\n <div class=\"promotions-label\" vdrDropdownTrigger>\r\n <button class=\"icon-button\"><clr-icon shape=\"info\"></clr-icon></button>\r\n </div>\r\n <vdr-dropdown-menu>\r\n <div class=\"line-promotion\" *ngFor=\"let discount of discounts\">\r\n {{ discount.description }}\r\n <div class=\"promotion-amount\">\r\n {{\r\n discount.amount / 100 / line.quantity\r\n | number: '1.0-2'\r\n | currency: order.currencyCode\r\n }}\r\n </div>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </ng-container>\r\n </div>\r\n </td>\r\n <td class=\"align-middle quantity-col\">\r\n <input\r\n *ngIf=\"lineCanBeRefundedOrCancelled(line)\"\r\n [(ngModel)]=\"lineQuantities[line.id].quantity\"\r\n type=\"number\"\r\n [max]=\"line.quantity\"\r\n min=\"0\"\r\n (input)=\"handleZeroQuantity(lineQuantities[line.id])\"\r\n />\r\n </td>\r\n <td class=\"align-middle\">\r\n <div class=\"cancel-checkbox-wrapper\">\r\n <input\r\n type=\"checkbox\"\r\n *ngIf=\"lineCanBeRefundedOrCancelled(line)\"\r\n clrCheckbox\r\n [disabled]=\"0 === lineQuantities[line.id].quantity\"\r\n [(ngModel)]=\"lineQuantities[line.id].refund\"\r\n />\r\n </div>\r\n </td>\r\n <td class=\"align-middle\">\r\n <div class=\"cancel-checkbox-wrapper\">\r\n <input\r\n type=\"checkbox\"\r\n *ngIf=\"lineCanBeRefundedOrCancelled(line)\"\r\n clrCheckbox\r\n [disabled]=\"0 === lineQuantities[line.id].quantity\"\r\n [(ngModel)]=\"lineQuantities[line.id].cancel\"\r\n />\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n <div class=\"refund-details mt4\" [class.faded]=\"!isRefunding() && !isCancelling()\">\r\n <div>\r\n <label class=\"clr-control-label\">{{ 'order.refund-cancellation-reason' | translate }}</label>\r\n <ng-select\r\n [disabled]=\"!isRefunding() && !isCancelling()\"\r\n [items]=\"reasons\"\r\n bindLabel=\"name\"\r\n autofocus\r\n [placeholder]=\"'order.refund-cancellation-reason-required' | translate\"\r\n bindValue=\"id\"\r\n [addTag]=\"true\"\r\n [(ngModel)]=\"reason\"\r\n ></ng-select>\r\n </div>\r\n\r\n <div>\r\n <clr-select-container>\r\n <label>{{ 'order.payment-to-refund' | translate }}</label>\r\n <select clrSelect name=\"options\" [(ngModel)]=\"selectedPayment\" [disabled]=\"!isRefunding()\">\r\n <option\r\n *ngFor=\"let payment of settledPayments\"\r\n [ngValue]=\"payment\"\r\n [disabled]=\"payment.state !== 'Settled'\"\r\n >\r\n #{{ payment.id }} {{ payment.method }}:\r\n {{ payment.amount | localeCurrency: order.currencyCode }}\r\n </option>\r\n </select>\r\n </clr-select-container>\r\n\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"refundShipping\" [disabled]=\"!isRefunding()\" />\r\n <label>\r\n {{ 'order.refund-shipping' | translate }} ({{\r\n order.shippingWithTax | localeCurrency: order.currencyCode\r\n }})\r\n </label>\r\n </clr-checkbox-wrapper>\r\n <clr-input-container>\r\n <label>{{ 'order.refund-adjustment' | translate }}</label>\r\n <vdr-currency-input\r\n clrInput\r\n [disabled]=\"!isRefunding()\"\r\n [currencyCode]=\"order.currencyCode\"\r\n [(ngModel)]=\"adjustment\"\r\n ></vdr-currency-input>\r\n </clr-input-container>\r\n <div class=\"totals\" [class.disabled]=\"!isRefunding()\">\r\n <div class=\"order-total\">\r\n {{ 'order.payment-amount' | translate }}:\r\n {{ selectedPayment.amount | localeCurrency: order.currencyCode }}\r\n </div>\r\n <div class=\"refund-total\">\r\n {{ 'order.refund-total' | translate }}:\r\n {{ refundTotal | localeCurrency: order.currencyCode }}\r\n </div>\r\n <div class=\"refund-total-error\" *ngIf=\"refundTotal < 0 || settledPaymentsTotal < refundTotal\">\r\n {{\r\n 'order.refund-total-error'\r\n | translate\r\n : {\r\n min: 0 | currency: order.currencyCode,\r\n max: settledPaymentsTotal | localeCurrency: order.currencyCode\r\n }\r\n }}\r\n </div>\r\n <div class=\"refund-total-warning\" *ngIf=\"selectedPayment.amount < refundTotal\">\r\n {{ 'order.refund-total-warning' | translate }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\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)=\"select()\" [disabled]=\"!canSubmit()\" class=\"btn btn-primary\">\r\n <ng-container *ngIf=\"isRefunding(); else cancelling\">\r\n {{\r\n 'order.refund-with-amount'\r\n | translate: { amount: refundTotal | localeCurrency: order.currencyCode }\r\n }}\r\n </ng-container>\r\n <ng-template #cancelling>\r\n {{ 'order.cancel-selected-items' | translate }}\r\n </ng-template>\r\n </button>\r\n</ng-template>\r\n",
1800
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1801
+ styles: [":host{height:100%;display:flex;min-height:64vh}.refund-wrapper{flex:1;flex-direction:column}.refund-wrapper .order-table{flex:1;overflow-y:auto}.refund-wrapper .order-table table{margin-top:0}.refund-wrapper tr.ignore{color:var(--color-grey-300)}.quantity-col{background-color:var(--color-warning-100)}.cancel-checkbox-wrapper{display:flex;align-items:center;justify-content:center}clr-checkbox-wrapper{margin-top:12px;margin-bottom:12px;display:block}.refund-details{display:flex;justify-content:space-between}.refund-details.faded{opacity:.5}.totals{margin-top:48px}.totals .refund-total{font-size:18px}.totals .refund-total-error{color:var(--color-error-500)}.totals .refund-total-warning{color:var(--color-warning-600);max-width:250px}.totals.disabled{color:var(--color-grey-300)}.prorated-wrapper{display:flex;justify-content:center}.line-promotion{display:flex;justify-content:space-between;font-size:12px;padding:3px 6px}.line-promotion .promotion-amount{margin-left:12px}\n"]
1802
+ },] }
1803
+ ];
1804
+ RefundOrderDialogComponent.ctorParameters = function () { return [
1805
+ { type: i1.I18nService }
1806
+ ]; };
1807
+
1808
+ var SettleRefundDialogComponent = /** @class */ (function () {
1809
+ function SettleRefundDialogComponent() {
1810
+ this.transactionId = '';
1811
+ }
1812
+ SettleRefundDialogComponent.prototype.submit = function () {
1813
+ this.resolveWith(this.transactionId);
1814
+ };
1815
+ SettleRefundDialogComponent.prototype.cancel = function () {
1816
+ this.resolveWith();
1817
+ };
1818
+ return SettleRefundDialogComponent;
1819
+ }());
1820
+ SettleRefundDialogComponent.decorators = [
1821
+ { type: i0.Component, args: [{
1822
+ selector: 'vdr-settle-refund-dialog',
1823
+ template: "<ng-template vdrDialogTitle>{{ 'order.settle-refund' | translate }}</ng-template>\r\n<p class=\"instruction\">\r\n {{ 'order.settle-refund-manual-instructions' | translate: { method: refund.method } }}\r\n</p>\r\n<clr-input-container>\r\n <label>{{ 'order.transaction-id' | translate }}</label>\r\n <input clrInput name=\"transactionId\" [(ngModel)]=\"transactionId\" />\r\n</clr-input-container>\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)=\"submit()\" [disabled]=\"!transactionId\" class=\"btn btn-primary\">\r\n {{ 'order.settle-refund' | translate }}\r\n </button>\r\n</ng-template>\r\n",
1824
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1825
+ styles: [":host{padding-bottom:32px}.instruction{margin-top:0;margin-bottom:24px}\n"]
1826
+ },] }
1827
+ ];
1828
+
1829
+ var OrderDetailComponent = /** @class */ (function (_super) {
1830
+ __extends(OrderDetailComponent, _super);
1831
+ function OrderDetailComponent(router, route, serverConfigService, changeDetector, dataService, notificationService, modalService, orderTransitionService) {
1832
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
1833
+ _this.changeDetector = changeDetector;
1834
+ _this.dataService = dataService;
1835
+ _this.notificationService = notificationService;
1836
+ _this.modalService = modalService;
1837
+ _this.orderTransitionService = orderTransitionService;
1838
+ _this.detailForm = new forms.FormGroup({});
1839
+ _this.fetchHistory = new rxjs.Subject();
1840
+ _this.defaultStates = [
1841
+ 'AddingItems',
1842
+ 'ArrangingPayment',
1843
+ 'PaymentAuthorized',
1844
+ 'PaymentSettled',
1845
+ 'PartiallyShipped',
1846
+ 'Shipped',
1847
+ 'PartiallyDelivered',
1848
+ 'Delivered',
1849
+ 'Cancelled',
1850
+ 'Modifying',
1851
+ 'ArrangingAdditionalPayment',
1852
+ ];
1853
+ return _this;
1854
+ }
1855
+ OrderDetailComponent.prototype.ngOnInit = function () {
1856
+ var _this = this;
1857
+ this.init();
1858
+ this.entity$.pipe(operators.take(1)).subscribe(function (order) {
1859
+ if (order.state === 'Modifying') {
1860
+ _this.router.navigate(['./', 'modify'], { relativeTo: _this.route });
1861
+ }
1862
+ });
1863
+ this.customFields = this.getCustomFieldConfig('Order');
1864
+ this.orderLineCustomFields = this.getCustomFieldConfig('OrderLine');
1865
+ this.history$ = this.fetchHistory.pipe(operators.startWith(null), operators.switchMap(function () {
1866
+ return _this.dataService.order
1867
+ .getOrderHistory(_this.id, {
1868
+ sort: {
1869
+ createdAt: i1.SortOrder.DESC,
1870
+ },
1871
+ })
1872
+ .mapStream(function (data) { var _a; return (_a = data.order) === null || _a === void 0 ? void 0 : _a.history.items; });
1873
+ }));
1874
+ this.nextStates$ = this.entity$.pipe(operators.map(function (order) {
1875
+ var isInCustomState = !_this.defaultStates.includes(order.state);
1876
+ return isInCustomState
1877
+ ? order.nextStates
1878
+ : order.nextStates.filter(function (s) { return !_this.defaultStates.includes(s); });
1879
+ }));
1880
+ };
1881
+ OrderDetailComponent.prototype.ngOnDestroy = function () {
1882
+ this.destroy();
1883
+ };
1884
+ OrderDetailComponent.prototype.openStateDiagram = function () {
1885
+ var _this = this;
1886
+ this.entity$
1887
+ .pipe(operators.take(1), operators.switchMap(function (order) { return _this.modalService.fromComponent(OrderProcessGraphDialogComponent, {
1888
+ closable: true,
1889
+ locals: {
1890
+ activeState: order.state,
1891
+ },
1892
+ }); }))
1893
+ .subscribe();
1894
+ };
1895
+ OrderDetailComponent.prototype.transitionToState = function (state) {
1896
+ var _this = this;
1897
+ this.dataService.order.transitionToState(this.id, state).subscribe(function (_d) {
1898
+ var transitionOrderToState = _d.transitionOrderToState;
1899
+ switch (transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.__typename) {
1900
+ case 'Order':
1901
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('order.transitioned-to-state-success'), { state: state });
1902
+ _this.fetchHistory.next();
1903
+ break;
1904
+ case 'OrderStateTransitionError':
1905
+ _this.notificationService.error(transitionOrderToState.transitionError);
1906
+ }
1907
+ });
1908
+ };
1909
+ OrderDetailComponent.prototype.manuallyTransitionToState = function (order) {
1910
+ this.orderTransitionService
1911
+ .manuallyTransitionToState({
1912
+ orderId: order.id,
1913
+ nextStates: order.nextStates,
1914
+ cancellable: true,
1915
+ message: ngxTranslateExtractMarker.marker('order.manually-transition-to-state-message'),
1916
+ retry: 0,
1917
+ })
1918
+ .subscribe();
1919
+ };
1920
+ OrderDetailComponent.prototype.transitionToModifying = function () {
1921
+ var _this = this;
1922
+ this.dataService.order
1923
+ .transitionToState(this.id, 'Modifying')
1924
+ .subscribe(function (_d) {
1925
+ var transitionOrderToState = _d.transitionOrderToState;
1926
+ switch (transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.__typename) {
1927
+ case 'Order':
1928
+ _this.router.navigate(['./modify'], { relativeTo: _this.route });
1929
+ break;
1930
+ case 'OrderStateTransitionError':
1931
+ _this.notificationService.error(transitionOrderToState.transitionError);
1932
+ }
1933
+ });
1934
+ };
1935
+ OrderDetailComponent.prototype.updateCustomFields = function (customFieldsValue) {
1936
+ var _this = this;
1937
+ this.dataService.order
1938
+ .updateOrderCustomFields({
1939
+ id: this.id,
1940
+ customFields: customFieldsValue,
1941
+ })
1942
+ .subscribe(function () {
1943
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), { entity: 'Order' });
1944
+ });
1945
+ };
1946
+ OrderDetailComponent.prototype.getOrderAddressLines = function (orderAddress) {
1947
+ if (!orderAddress) {
1948
+ return [];
1949
+ }
1950
+ return Object.values(orderAddress)
1951
+ .filter(function (val) { return val !== 'OrderAddress'; })
1952
+ .filter(function (line) { return !!line; });
1953
+ };
1954
+ OrderDetailComponent.prototype.settlePayment = function (payment) {
1955
+ var _this = this;
1956
+ this.dataService.order.settlePayment(payment.id).subscribe(function (_d) {
1957
+ var settlePayment = _d.settlePayment;
1958
+ switch (settlePayment.__typename) {
1959
+ case 'Payment':
1960
+ if (settlePayment.state === 'Settled') {
1961
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('order.settle-payment-success'));
1962
+ }
1963
+ else {
1964
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('order.settle-payment-error'));
1965
+ }
1966
+ _this.dataService.order.getOrder(_this.id).single$.subscribe();
1967
+ _this.fetchHistory.next();
1968
+ break;
1969
+ case 'OrderStateTransitionError':
1970
+ case 'PaymentStateTransitionError':
1971
+ case 'SettlePaymentError':
1972
+ _this.notificationService.error(settlePayment.message);
1973
+ }
1974
+ });
1975
+ };
1976
+ OrderDetailComponent.prototype.transitionPaymentState = function (_d) {
1977
+ var _this = this;
1978
+ var payment = _d.payment, state = _d.state;
1979
+ if (state === 'Cancelled') {
1980
+ this.dataService.order.cancelPayment(payment.id).subscribe(function (_d) {
1981
+ var cancelPayment = _d.cancelPayment;
1982
+ switch (cancelPayment.__typename) {
1983
+ case 'Payment':
1984
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('order.transitioned-payment-to-state-success'), {
1985
+ state: state,
1986
+ });
1987
+ _this.dataService.order.getOrder(_this.id).single$.subscribe();
1988
+ _this.fetchHistory.next();
1989
+ break;
1990
+ case 'PaymentStateTransitionError':
1991
+ _this.notificationService.error(cancelPayment.transitionError);
1992
+ break;
1993
+ case 'CancelPaymentError':
1994
+ _this.notificationService.error(cancelPayment.paymentErrorMessage);
1995
+ break;
1996
+ }
1997
+ });
1998
+ }
1999
+ else {
2000
+ this.dataService.order
2001
+ .transitionPaymentToState(payment.id, state)
2002
+ .subscribe(function (_d) {
2003
+ var transitionPaymentToState = _d.transitionPaymentToState;
2004
+ switch (transitionPaymentToState.__typename) {
2005
+ case 'Payment':
2006
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('order.transitioned-payment-to-state-success'), {
2007
+ state: state,
2008
+ });
2009
+ _this.dataService.order.getOrder(_this.id).single$.subscribe();
2010
+ _this.fetchHistory.next();
2011
+ break;
2012
+ case 'PaymentStateTransitionError':
2013
+ _this.notificationService.error(transitionPaymentToState.message);
2014
+ break;
2015
+ }
2016
+ });
2017
+ }
2018
+ };
2019
+ OrderDetailComponent.prototype.canAddFulfillment = function (order) {
2020
+ var e_1, _d;
2021
+ var _a;
2022
+ var allFulfillmentSummaryRows = ((_a = order.fulfillments) !== null && _a !== void 0 ? _a : []).reduce(function (all, fulfillment) { return __spreadArray(__spreadArray([], __read(all)), __read(fulfillment.summary)); }, []);
2023
+ var allItemsFulfilled = true;
2024
+ var _loop_1 = function (line) {
2025
+ var totalFulfilledCount = allFulfillmentSummaryRows
2026
+ .filter(function (row) { return row.orderLine.id === line.id; })
2027
+ .reduce(function (sum, row) { return sum + row.quantity; }, 0);
2028
+ if (totalFulfilledCount < line.quantity) {
2029
+ allItemsFulfilled = false;
2030
+ }
2031
+ };
2032
+ try {
2033
+ for (var _e = __values(order.lines), _f = _e.next(); !_f.done; _f = _e.next()) {
2034
+ var line = _f.value;
2035
+ _loop_1(line);
2036
+ }
2037
+ }
2038
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
2039
+ finally {
2040
+ try {
2041
+ if (_f && !_f.done && (_d = _e.return)) _d.call(_e);
2042
+ }
2043
+ finally { if (e_1) throw e_1.error; }
2044
+ }
2045
+ return (!allItemsFulfilled &&
2046
+ !this.hasUnsettledModifications(order) &&
2047
+ this.outstandingPaymentAmount(order) === 0 &&
2048
+ (order.nextStates.includes('Shipped') ||
2049
+ order.nextStates.includes('PartiallyShipped') ||
2050
+ order.nextStates.includes('Delivered')));
2051
+ };
2052
+ OrderDetailComponent.prototype.hasUnsettledModifications = function (order) {
2053
+ return 0 < order.modifications.filter(function (m) { return !m.isSettled; }).length;
2054
+ };
2055
+ OrderDetailComponent.prototype.getOutstandingModificationAmount = function (order) {
2056
+ return sharedUtils.summate(order.modifications.filter(function (m) { return !m.isSettled; }), 'priceChange');
2057
+ };
2058
+ OrderDetailComponent.prototype.outstandingPaymentAmount = function (order) {
2059
+ var e_2, _d;
2060
+ var _a, _b, _c;
2061
+ var paymentIsValid = function (p) { return p.state !== 'Cancelled' && p.state !== 'Declined' && p.state !== 'Error'; };
2062
+ var amountCovered = 0;
2063
+ try {
2064
+ for (var _e = __values((_b = (_a = order.payments) === null || _a === void 0 ? void 0 : _a.filter(paymentIsValid)) !== null && _b !== void 0 ? _b : []), _f = _e.next(); !_f.done; _f = _e.next()) {
2065
+ var payment = _f.value;
2066
+ var refunds = (_c = payment.refunds.filter(function (r) { return r.state !== 'Failed'; })) !== null && _c !== void 0 ? _c : [];
2067
+ var refundsTotal = sharedUtils.summate(refunds, 'total');
2068
+ amountCovered += payment.amount - refundsTotal;
2069
+ }
2070
+ }
2071
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
2072
+ finally {
2073
+ try {
2074
+ if (_f && !_f.done && (_d = _e.return)) _d.call(_e);
2075
+ }
2076
+ finally { if (e_2) throw e_2.error; }
2077
+ }
2078
+ return order.totalWithTax - amountCovered;
2079
+ };
2080
+ OrderDetailComponent.prototype.addManualPayment = function (order) {
2081
+ var _this = this;
2082
+ var priorState = order.state;
2083
+ this.modalService
2084
+ .fromComponent(AddManualPaymentDialogComponent, {
2085
+ closable: true,
2086
+ locals: {
2087
+ outstandingAmount: this.outstandingPaymentAmount(order),
2088
+ currencyCode: order.currencyCode,
2089
+ },
2090
+ })
2091
+ .pipe(operators.switchMap(function (result) {
2092
+ if (result) {
2093
+ return _this.dataService.order.addManualPaymentToOrder({
2094
+ orderId: _this.id,
2095
+ transactionId: result.transactionId,
2096
+ method: result.method,
2097
+ metadata: result.metadata || {},
2098
+ });
2099
+ }
2100
+ else {
2101
+ return rxjs.EMPTY;
2102
+ }
2103
+ }), operators.switchMap(function (_d) {
2104
+ var addManualPaymentToOrder = _d.addManualPaymentToOrder;
2105
+ switch (addManualPaymentToOrder.__typename) {
2106
+ case 'Order':
2107
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('order.add-payment-to-order-success'));
2108
+ if (priorState === 'ArrangingAdditionalPayment') {
2109
+ return _this.orderTransitionService.transitionToPreModifyingState(order.id, order.nextStates);
2110
+ }
2111
+ else {
2112
+ return _this.dataService.order
2113
+ .transitionToState(_this.id, 'PaymentSettled')
2114
+ .pipe(operators.mapTo('PaymentSettled'));
2115
+ }
2116
+ case 'ManualPaymentStateError':
2117
+ _this.notificationService.error(addManualPaymentToOrder.message);
2118
+ return rxjs.EMPTY;
2119
+ default:
2120
+ return rxjs.EMPTY;
2121
+ }
2122
+ }))
2123
+ .subscribe(function (result) {
2124
+ if (result) {
2125
+ _this.refetchOrder({ result: result });
2126
+ }
2127
+ });
2128
+ };
2129
+ OrderDetailComponent.prototype.fulfillOrder = function () {
2130
+ var _this = this;
2131
+ this.entity$
2132
+ .pipe(operators.take(1), operators.switchMap(function (order) {
2133
+ return _this.modalService.fromComponent(FulfillOrderDialogComponent, {
2134
+ size: 'xl',
2135
+ locals: {
2136
+ order: order,
2137
+ },
2138
+ });
2139
+ }), operators.switchMap(function (input) {
2140
+ if (input) {
2141
+ return _this.dataService.order.createFulfillment(input);
2142
+ }
2143
+ else {
2144
+ return rxjs.of(undefined);
2145
+ }
2146
+ }), operators.switchMap(function (result) { return _this.refetchOrder(result).pipe(operators.mapTo(result)); }))
2147
+ .subscribe(function (result) {
2148
+ if (result) {
2149
+ var addFulfillmentToOrder = result.addFulfillmentToOrder;
2150
+ switch (addFulfillmentToOrder.__typename) {
2151
+ case 'Fulfillment':
2152
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('order.create-fulfillment-success'));
2153
+ break;
2154
+ case 'EmptyOrderLineSelectionError':
2155
+ case 'InsufficientStockOnHandError':
2156
+ case 'ItemsAlreadyFulfilledError':
2157
+ case 'InvalidFulfillmentHandlerError':
2158
+ _this.notificationService.error(addFulfillmentToOrder.message);
2159
+ break;
2160
+ case 'FulfillmentStateTransitionError':
2161
+ _this.notificationService.error(addFulfillmentToOrder.transitionError);
2162
+ break;
2163
+ case 'CreateFulfillmentError':
2164
+ _this.notificationService.error(addFulfillmentToOrder.fulfillmentHandlerError);
2165
+ break;
2166
+ case undefined:
2167
+ _this.notificationService.error(JSON.stringify(addFulfillmentToOrder));
2168
+ break;
2169
+ default:
2170
+ sharedUtils.assertNever(addFulfillmentToOrder);
2171
+ }
2172
+ }
2173
+ });
2174
+ };
2175
+ OrderDetailComponent.prototype.transitionFulfillment = function (id, state) {
2176
+ var _this = this;
2177
+ this.dataService.order
2178
+ .transitionFulfillmentToState(id, state)
2179
+ .pipe(operators.switchMap(function (result) { return _this.refetchOrder(result); }))
2180
+ .subscribe(function () {
2181
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('order.successfully-updated-fulfillment'));
2182
+ });
2183
+ };
2184
+ OrderDetailComponent.prototype.cancelOrRefund = function (order) {
2185
+ var isRefundable = this.orderHasSettledPayments(order);
2186
+ if (order.state === 'PaymentAuthorized' || order.active === true || !isRefundable) {
2187
+ this.cancelOrder(order);
2188
+ }
2189
+ else {
2190
+ this.refundOrder(order);
2191
+ }
2192
+ };
2193
+ OrderDetailComponent.prototype.settleRefund = function (refund) {
2194
+ var _this = this;
2195
+ this.modalService
2196
+ .fromComponent(SettleRefundDialogComponent, {
2197
+ size: 'md',
2198
+ locals: {
2199
+ refund: refund,
2200
+ },
2201
+ })
2202
+ .pipe(operators.switchMap(function (transactionId) {
2203
+ if (transactionId) {
2204
+ return _this.dataService.order.settleRefund({
2205
+ transactionId: transactionId,
2206
+ id: refund.id,
2207
+ }, _this.id);
2208
+ }
2209
+ else {
2210
+ return rxjs.of(undefined);
2211
+ }
2212
+ }))
2213
+ .subscribe(function (result) {
2214
+ if (result) {
2215
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('order.settle-refund-success'));
2216
+ }
2217
+ });
2218
+ };
2219
+ OrderDetailComponent.prototype.addNote = function (event) {
2220
+ var _this = this;
2221
+ var note = event.note, isPublic = event.isPublic;
2222
+ this.dataService.order
2223
+ .addNoteToOrder({
2224
+ id: this.id,
2225
+ note: note,
2226
+ isPublic: isPublic,
2227
+ })
2228
+ .pipe(operators.switchMap(function (result) { return _this.refetchOrder(result); }))
2229
+ .subscribe(function (result) {
2230
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-create-success'), {
2231
+ entity: 'Note',
2232
+ });
2233
+ });
2234
+ };
2235
+ OrderDetailComponent.prototype.updateNote = function (entry) {
2236
+ var _this = this;
2237
+ this.modalService
2238
+ .fromComponent(i1.EditNoteDialogComponent, {
2239
+ closable: true,
2240
+ locals: {
2241
+ displayPrivacyControls: true,
2242
+ note: entry.data.note,
2243
+ noteIsPrivate: !entry.isPublic,
2244
+ },
2245
+ })
2246
+ .pipe(operators.switchMap(function (result) {
2247
+ if (result) {
2248
+ return _this.dataService.order.updateOrderNote({
2249
+ noteId: entry.id,
2250
+ isPublic: !result.isPrivate,
2251
+ note: result.note,
2252
+ });
2253
+ }
2254
+ else {
2255
+ return rxjs.EMPTY;
2256
+ }
2257
+ }))
2258
+ .subscribe(function (result) {
2259
+ _this.fetchHistory.next();
2260
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-update-success'), {
2261
+ entity: 'Note',
2262
+ });
2263
+ });
2264
+ };
2265
+ OrderDetailComponent.prototype.deleteNote = function (entry) {
2266
+ var _this = this;
2267
+ return this.modalService
2268
+ .dialog({
2269
+ title: ngxTranslateExtractMarker.marker('common.confirm-delete-note'),
2270
+ body: entry.data.note,
2271
+ buttons: [
2272
+ { type: 'secondary', label: ngxTranslateExtractMarker.marker('common.cancel') },
2273
+ { type: 'danger', label: ngxTranslateExtractMarker.marker('common.delete'), returnValue: true },
2274
+ ],
2275
+ })
2276
+ .pipe(operators.switchMap(function (res) { return (res ? _this.dataService.order.deleteOrderNote(entry.id) : rxjs.EMPTY); }))
2277
+ .subscribe(function () {
2278
+ _this.fetchHistory.next();
2279
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('common.notify-delete-success'), {
2280
+ entity: 'Note',
2281
+ });
2282
+ });
2283
+ };
2284
+ OrderDetailComponent.prototype.orderHasSettledPayments = function (order) {
2285
+ var _a;
2286
+ return !!((_a = order.payments) === null || _a === void 0 ? void 0 : _a.find(function (p) { return p.state === 'Settled'; }));
2287
+ };
2288
+ OrderDetailComponent.prototype.cancelOrder = function (order) {
2289
+ var _this = this;
2290
+ this.modalService
2291
+ .fromComponent(CancelOrderDialogComponent, {
2292
+ size: 'xl',
2293
+ locals: {
2294
+ order: order,
2295
+ },
2296
+ })
2297
+ .pipe(operators.switchMap(function (input) {
2298
+ if (input) {
2299
+ return _this.dataService.order.cancelOrder(input);
2300
+ }
2301
+ else {
2302
+ return rxjs.of(undefined);
2303
+ }
2304
+ }), operators.switchMap(function (result) { return _this.refetchOrder(result); }))
2305
+ .subscribe(function (result) {
2306
+ if (result) {
2307
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('order.cancelled-order-success'));
2308
+ }
2309
+ });
2310
+ };
2311
+ OrderDetailComponent.prototype.refundOrder = function (order) {
2312
+ var _this = this;
2313
+ this.modalService
2314
+ .fromComponent(RefundOrderDialogComponent, {
2315
+ size: 'xl',
2316
+ locals: {
2317
+ order: order,
2318
+ },
2319
+ })
2320
+ .pipe(operators.switchMap(function (input) {
2321
+ var _a;
2322
+ if (!input) {
2323
+ return rxjs.of(undefined);
2324
+ }
2325
+ if ((_a = input.cancel.lines) === null || _a === void 0 ? void 0 : _a.length) {
2326
+ return _this.dataService.order.cancelOrder(input.cancel).pipe(operators.map(function (res) {
2327
+ var result = res.cancelOrder;
2328
+ switch (result.__typename) {
2329
+ case 'Order':
2330
+ _this.refetchOrder(result).subscribe();
2331
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('order.cancelled-order-success'));
2332
+ return input;
2333
+ case 'CancelActiveOrderError':
2334
+ case 'QuantityTooGreatError':
2335
+ case 'MultipleOrderError':
2336
+ case 'OrderStateTransitionError':
2337
+ case 'EmptyOrderLineSelectionError':
2338
+ _this.notificationService.error(result.message);
2339
+ return undefined;
2340
+ }
2341
+ }));
2342
+ }
2343
+ else {
2344
+ return [input];
2345
+ }
2346
+ }), operators.switchMap(function (input) {
2347
+ if (!input) {
2348
+ return rxjs.of(undefined);
2349
+ }
2350
+ if (input.refund.lines.length) {
2351
+ return _this.dataService.order
2352
+ .refundOrder(input.refund)
2353
+ .pipe(operators.map(function (res) { return res.refundOrder; }));
2354
+ }
2355
+ else {
2356
+ return [undefined];
2357
+ }
2358
+ }))
2359
+ .subscribe(function (result) {
2360
+ if (result) {
2361
+ switch (result.__typename) {
2362
+ case 'Refund':
2363
+ _this.refetchOrder(result).subscribe();
2364
+ if (result.state === 'Failed') {
2365
+ _this.notificationService.error(ngxTranslateExtractMarker.marker('order.refund-order-failed'));
2366
+ }
2367
+ else {
2368
+ _this.notificationService.success(ngxTranslateExtractMarker.marker('order.refund-order-success'));
2369
+ }
2370
+ break;
2371
+ case 'AlreadyRefundedError':
2372
+ case 'NothingToRefundError':
2373
+ case 'PaymentOrderMismatchError':
2374
+ case 'RefundOrderStateError':
2375
+ case 'RefundStateTransitionError':
2376
+ _this.notificationService.error(result.message);
2377
+ break;
2378
+ }
2379
+ }
2380
+ });
2381
+ };
2382
+ OrderDetailComponent.prototype.refetchOrder = function (result) {
2383
+ this.fetchHistory.next();
2384
+ if (result) {
2385
+ return this.dataService.order.getOrder(this.id).single$;
2386
+ }
2387
+ else {
2388
+ return rxjs.of(undefined);
2389
+ }
2390
+ };
2391
+ OrderDetailComponent.prototype.setFormValues = function (entity) {
2392
+ // empty
2393
+ };
2394
+ return OrderDetailComponent;
2395
+ }(i1.BaseDetailComponent));
2396
+ OrderDetailComponent.decorators = [
2397
+ { type: i0.Component, args: [{
2398
+ selector: 'vdr-order-detail',
2399
+ template: "<vdr-action-bar *ngIf=\"entity$ | async as order\">\r\n <vdr-ab-left>\r\n <div class=\"flex clr-align-items-center\">\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n <vdr-order-state-label [state]=\"order.state\">\r\n <button\r\n class=\"icon-button\"\r\n (click)=\"openStateDiagram()\"\r\n [title]=\"'order.order-state-diagram' | translate\"\r\n >\r\n <clr-icon shape=\"list\"></clr-icon>\r\n </button>\r\n </vdr-order-state-label>\r\n </div>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"order-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"\r\n (order.state === 'ArrangingPayment' || order.state === 'ArrangingAdditionalPayment') &&\r\n (hasUnsettledModifications(order) || 0 < outstandingPaymentAmount(order))\r\n \"\r\n (click)=\"addManualPayment(order)\"\r\n >\r\n {{ 'order.add-payment-to-order' | translate }}\r\n ({{ outstandingPaymentAmount(order) | localeCurrency: order.currencyCode }})\r\n </button>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"\r\n order.active === false &&\r\n order.state !== 'ArrangingAdditionalPayment' &&\r\n order.state !== 'ArrangingPayment' &&\r\n 0 < outstandingPaymentAmount(order)\r\n \"\r\n (click)=\"transitionToState('ArrangingAdditionalPayment')\"\r\n >\r\n {{ 'order.arrange-additional-payment' | translate }}\r\n </button>\r\n <button class=\"btn btn-primary\" (click)=\"fulfillOrder()\" [disabled]=\"!canAddFulfillment(order)\">\r\n {{ 'order.fulfill-order' | translate }}\r\n </button>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <ng-container *ngIf=\"order.nextStates.includes('Modifying')\">\r\n <button type=\"button\" class=\"btn\" vdrDropdownItem (click)=\"transitionToModifying()\">\r\n <clr-icon shape=\"pencil\"></clr-icon>\r\n {{ 'order.modify-order' | translate }}\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n </ng-container>\r\n <button\r\n type=\"button\"\r\n class=\"btn\"\r\n vdrDropdownItem\r\n *ngIf=\"order.nextStates.includes('Cancelled')\"\r\n (click)=\"cancelOrRefund(order)\"\r\n >\r\n <clr-icon shape=\"error-standard\" class=\"is-error\"></clr-icon>\r\n <ng-container *ngIf=\"orderHasSettledPayments(order); else cancelOnly\">\r\n {{ 'order.refund-and-cancel-order' | translate }}\r\n </ng-container>\r\n <ng-template #cancelOnly>\r\n {{ 'order.cancel-order' | translate }}\r\n </ng-template>\r\n </button>\r\n\r\n <ng-container *ngIf=\"(nextStates$ | async)?.length\">\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n *ngFor=\"let nextState of nextStates$ | async\"\r\n type=\"button\"\r\n class=\"btn\"\r\n vdrDropdownItem\r\n (click)=\"transitionToState(nextState)\"\r\n >\r\n <clr-icon shape=\"step-forward-2\"></clr-icon>\r\n {{\r\n 'order.transition-to-state'\r\n | translate: { state: (nextState | stateI18nToken | translate) }\r\n }}\r\n </button>\r\n </ng-container>\r\n <div class=\"dropdown-divider\"></div>\r\n <button type=\"button\" class=\"btn\" vdrDropdownItem (click)=\"manuallyTransitionToState(order)\">\r\n <clr-icon shape=\"step-forward-2\" class=\"is-warning\"></clr-icon>\r\n {{ 'order.manually-transition-to-state' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<div *ngIf=\"entity$ | async as order\">\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-lg-8\">\r\n <vdr-order-table\r\n [order]=\"order\"\r\n [orderLineCustomFields]=\"orderLineCustomFields\"\r\n ></vdr-order-table>\r\n <h4>{{ 'order.tax-summary' | translate }}</h4>\r\n <table class=\"table\">\r\n <thead>\r\n <tr>\r\n <th>{{ 'common.description' | translate }}</th>\r\n <th>{{ 'order.tax-rate' | translate }}</th>\r\n <th>{{ 'order.tax-base' | translate }}</th>\r\n <th>{{ 'order.tax-total' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of order.taxSummary\">\r\n <td>{{ row.description }}</td>\r\n <td>{{ row.taxRate / 100 | percent }}</td>\r\n <td>{{ row.taxBase | localeCurrency: order.currencyCode }}</td>\r\n <td>{{ row.taxTotal | localeCurrency: order.currencyCode }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <vdr-custom-detail-component-host\r\n locationId=\"order-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n\r\n <vdr-order-history\r\n [order]=\"order\"\r\n [history]=\"history$ | async\"\r\n (addNote)=\"addNote($event)\"\r\n (updateNote)=\"updateNote($event)\"\r\n (deleteNote)=\"deleteNote($event)\"\r\n ></vdr-order-history>\r\n </div>\r\n <div class=\"clr-col-lg-4 order-cards\">\r\n <vdr-order-custom-fields-card\r\n [customFieldsConfig]=\"customFields\"\r\n [customFieldValues]=\"order.customFields\"\r\n (updateClick)=\"updateCustomFields($event)\"\r\n ></vdr-order-custom-fields-card>\r\n <div class=\"card\">\r\n <div class=\"card-header\">\r\n {{ 'order.customer' | translate }}\r\n </div>\r\n <div class=\"card-block\">\r\n <div class=\"card-text\">\r\n <vdr-customer-label [customer]=\"order.customer\"></vdr-customer-label>\r\n <h6 *ngIf=\"getOrderAddressLines(order.shippingAddress).length\">\r\n {{ 'order.shipping-address' | translate }}\r\n </h6>\r\n <vdr-formatted-address [address]=\"order.shippingAddress\"></vdr-formatted-address>\r\n <h6 *ngIf=\"getOrderAddressLines(order.billingAddress).length\">\r\n {{ 'order.billing-address' | translate }}\r\n </h6>\r\n <vdr-formatted-address [address]=\"order.billingAddress\"></vdr-formatted-address>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"order.payments && order.payments.length\">\r\n <vdr-order-payment-card\r\n *ngFor=\"let payment of order.payments\"\r\n [currencyCode]=\"order.currencyCode\"\r\n [payment]=\"payment\"\r\n (settlePayment)=\"settlePayment($event)\"\r\n (transitionPaymentState)=\"transitionPaymentState($event)\"\r\n (settleRefund)=\"settleRefund($event)\"\r\n ></vdr-order-payment-card>\r\n </ng-container>\r\n <ng-container *ngFor=\"let fulfillment of order.fulfillments\">\r\n <vdr-fulfillment-card\r\n [fulfillment]=\"fulfillment\"\r\n [order]=\"order\"\r\n (transitionState)=\"transitionFulfillment(fulfillment.id, $event)\"\r\n ></vdr-fulfillment-card>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n",
2400
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2401
+ styles: [".shipping-address{list-style-type:none;line-height:1.3em}.order-cards h6{margin-top:6px;color:var(--color-text-200)}\n"]
2402
+ },] }
2403
+ ];
2404
+ OrderDetailComponent.ctorParameters = function () { return [
2405
+ { type: i1$1.Router },
2406
+ { type: i1$1.ActivatedRoute },
2407
+ { type: i1.ServerConfigService },
2408
+ { type: i0.ChangeDetectorRef },
2409
+ { type: i1.DataService },
2410
+ { type: i1.NotificationService },
2411
+ { type: i1.ModalService },
2412
+ { type: OrderTransitionService }
2413
+ ]; };
2414
+
2415
+ exports.OrderEditResultType = void 0;
2416
+ (function (OrderEditResultType) {
2417
+ OrderEditResultType[OrderEditResultType["Refund"] = 0] = "Refund";
2418
+ OrderEditResultType[OrderEditResultType["Payment"] = 1] = "Payment";
2419
+ OrderEditResultType[OrderEditResultType["PriceUnchanged"] = 2] = "PriceUnchanged";
2420
+ OrderEditResultType[OrderEditResultType["Cancel"] = 3] = "Cancel";
2421
+ })(exports.OrderEditResultType || (exports.OrderEditResultType = {}));
2422
+ var OrderEditsPreviewDialogComponent = /** @class */ (function () {
2423
+ function OrderEditsPreviewDialogComponent() {
2424
+ }
2425
+ Object.defineProperty(OrderEditsPreviewDialogComponent.prototype, "priceDifference", {
2426
+ get: function () {
2427
+ return this.order.totalWithTax - this.originalTotalWithTax;
2428
+ },
2429
+ enumerable: false,
2430
+ configurable: true
2431
+ });
2432
+ OrderEditsPreviewDialogComponent.prototype.ngOnInit = function () {
2433
+ this.refundNote = this.modifyOrderInput.note || '';
2434
+ };
2435
+ OrderEditsPreviewDialogComponent.prototype.cancel = function () {
2436
+ this.resolveWith({
2437
+ result: exports.OrderEditResultType.Cancel,
2438
+ });
2439
+ };
2440
+ OrderEditsPreviewDialogComponent.prototype.submit = function () {
2441
+ if (0 < this.priceDifference) {
2442
+ this.resolveWith({
2443
+ result: exports.OrderEditResultType.Payment,
2444
+ });
2445
+ }
2446
+ else if (this.priceDifference < 0) {
2447
+ this.resolveWith({
2448
+ result: exports.OrderEditResultType.Refund,
2449
+ // tslint:disable-next-line:no-non-null-assertion
2450
+ refundPaymentId: this.selectedPayment.id,
2451
+ refundNote: this.refundNote,
2452
+ });
2453
+ }
2454
+ else {
2455
+ this.resolveWith({
2456
+ result: exports.OrderEditResultType.PriceUnchanged,
2457
+ });
2458
+ }
2459
+ };
2460
+ return OrderEditsPreviewDialogComponent;
2461
+ }());
2462
+ OrderEditsPreviewDialogComponent.decorators = [
2463
+ { type: i0.Component, args: [{
2464
+ selector: 'vdr-order-edits-preview-dialog',
2465
+ template: "<ng-template vdrDialogTitle>{{ 'order.confirm-modifications' | translate }}</ng-template>\r\n<vdr-order-table [order]=\"order\" [orderLineCustomFields]=\"orderLineCustomFields\"></vdr-order-table>\r\n\r\n<h4 class=\"h4\">\r\n {{ 'order.modify-order-price-difference' | translate }}:\r\n <strong>{{ priceDifference | localeCurrency: order.currencyCode }}</strong>\r\n</h4>\r\n<div *ngIf=\"priceDifference < 0\">\r\n<clr-select-container>\r\n <label>{{ 'order.payment-to-refund' | translate }}</label>\r\n <select clrSelect name=\"options\" [(ngModel)]=\"selectedPayment\">\r\n <option\r\n *ngFor=\"let payment of order.payments\"\r\n [ngValue]=\"payment\"\r\n >\r\n #{{ payment.id }} {{ payment.method }}:\r\n {{ payment.amount | localeCurrency: order.currencyCode }}\r\n </option>\r\n </select>\r\n</clr-select-container>\r\n <label class=\"clr-control-label\">{{ 'order.refund-cancellation-reason' | translate }}</label>\r\n <textarea [(ngModel)]=\"refundNote\" name=\"refundNote\" clrTextarea required></textarea>\r\n</div>\r\n<ng-template vdrDialogButtons>\r\n <button type=\"button\" class=\"btn\" (click)=\"cancel()\">{{ 'common.cancel' | translate }}</button>\r\n <button type=\"submit\" (click)=\"submit()\" [disabled]=\"priceDifference < 0 && !selectedPayment\" class=\"btn btn-primary\">\r\n {{ 'common.confirm' | translate }}\r\n </button>\r\n</ng-template>\r\n",
2466
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2467
+ styles: [""]
2468
+ },] }
2469
+ ];
2470
+
2471
+ var OrderEditorComponent = /** @class */ (function (_super) {
2472
+ __extends(OrderEditorComponent, _super);
2473
+ function OrderEditorComponent(router, route, serverConfigService, changeDetector, dataService, notificationService, modalService, orderTransitionService) {
2474
+ var _this = _super.call(this, route, router, serverConfigService, dataService) || this;
2475
+ _this.changeDetector = changeDetector;
2476
+ _this.dataService = dataService;
2477
+ _this.notificationService = notificationService;
2478
+ _this.modalService = modalService;
2479
+ _this.orderTransitionService = orderTransitionService;
2480
+ _this.detailForm = new forms.FormGroup({});
2481
+ _this.couponCodesControl = new forms.FormControl();
2482
+ _this.modifyOrderInput = {
2483
+ dryRun: true,
2484
+ orderId: '',
2485
+ addItems: [],
2486
+ adjustOrderLines: [],
2487
+ surcharges: [],
2488
+ note: '',
2489
+ updateShippingAddress: {},
2490
+ updateBillingAddress: {},
2491
+ };
2492
+ _this.note = '';
2493
+ _this.recalculateShipping = true;
2494
+ _this.addedVariants = new Map();
2495
+ return _this;
2496
+ }
2497
+ Object.defineProperty(OrderEditorComponent.prototype, "addedLines", {
2498
+ get: function () {
2499
+ var _this = this;
2500
+ var getSinglePriceValue = function (price) { return price.__typename === 'SinglePrice' ? price.value : 0; };
2501
+ return (this.modifyOrderInput.addItems || [])
2502
+ .map(function (row) {
2503
+ var variantInfo = _this.addedVariants.get(row.productVariantId);
2504
+ if (variantInfo) {
2505
+ return Object.assign(Object.assign({}, variantInfo), { price: getSinglePriceValue(variantInfo.price), priceWithTax: getSinglePriceValue(variantInfo.priceWithTax), quantity: row.quantity });
2506
+ }
2507
+ })
2508
+ .filter(sharedUtils.notNullOrUndefined);
2509
+ },
2510
+ enumerable: false,
2511
+ configurable: true
2512
+ });
2513
+ OrderEditorComponent.prototype.ngOnInit = function () {
2514
+ var e_1, _u;
2515
+ var _this = this;
2516
+ this.init();
2517
+ this.dataService.promotion.getPromotions();
2518
+ this.addressCustomFields = this.getCustomFieldConfig('Address');
2519
+ this.modifyOrderInput.orderId = this.route.snapshot.paramMap.get('id');
2520
+ this.orderLineCustomFields = this.getCustomFieldConfig('OrderLine');
2521
+ this.entity$.pipe(operators.takeUntil(this.destroy$)).subscribe(function (order) {
2522
+ var e_2, _u;
2523
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
2524
+ if (order.couponCodes.length) {
2525
+ _this.couponCodesControl.setValue(order.couponCodes);
2526
+ }
2527
+ _this.surchargeForm = new forms.FormGroup({
2528
+ description: new forms.FormControl('', forms.Validators.required),
2529
+ sku: new forms.FormControl(''),
2530
+ price: new forms.FormControl(0, forms.Validators.required),
2531
+ priceIncludesTax: new forms.FormControl(true),
2532
+ taxRate: new forms.FormControl(0),
2533
+ taxDescription: new forms.FormControl(''),
2534
+ });
2535
+ if (!_this.shippingAddressForm) {
2536
+ _this.shippingAddressForm = new forms.FormGroup({
2537
+ fullName: new forms.FormControl((_a = order.shippingAddress) === null || _a === void 0 ? void 0 : _a.fullName),
2538
+ company: new forms.FormControl((_b = order.shippingAddress) === null || _b === void 0 ? void 0 : _b.company),
2539
+ streetLine1: new forms.FormControl((_c = order.shippingAddress) === null || _c === void 0 ? void 0 : _c.streetLine1),
2540
+ streetLine2: new forms.FormControl((_d = order.shippingAddress) === null || _d === void 0 ? void 0 : _d.streetLine2),
2541
+ city: new forms.FormControl((_e = order.shippingAddress) === null || _e === void 0 ? void 0 : _e.city),
2542
+ province: new forms.FormControl((_f = order.shippingAddress) === null || _f === void 0 ? void 0 : _f.province),
2543
+ postalCode: new forms.FormControl((_g = order.shippingAddress) === null || _g === void 0 ? void 0 : _g.postalCode),
2544
+ countryCode: new forms.FormControl((_h = order.shippingAddress) === null || _h === void 0 ? void 0 : _h.countryCode),
2545
+ phoneNumber: new forms.FormControl((_j = order.shippingAddress) === null || _j === void 0 ? void 0 : _j.phoneNumber),
2546
+ });
2547
+ _this.addAddressCustomFieldsFormGroup(_this.shippingAddressForm, order.shippingAddress);
2548
+ }
2549
+ if (!_this.billingAddressForm) {
2550
+ _this.billingAddressForm = new forms.FormGroup({
2551
+ fullName: new forms.FormControl((_k = order.billingAddress) === null || _k === void 0 ? void 0 : _k.fullName),
2552
+ company: new forms.FormControl((_l = order.billingAddress) === null || _l === void 0 ? void 0 : _l.company),
2553
+ streetLine1: new forms.FormControl((_m = order.billingAddress) === null || _m === void 0 ? void 0 : _m.streetLine1),
2554
+ streetLine2: new forms.FormControl((_o = order.billingAddress) === null || _o === void 0 ? void 0 : _o.streetLine2),
2555
+ city: new forms.FormControl((_p = order.billingAddress) === null || _p === void 0 ? void 0 : _p.city),
2556
+ province: new forms.FormControl((_q = order.billingAddress) === null || _q === void 0 ? void 0 : _q.province),
2557
+ postalCode: new forms.FormControl((_r = order.billingAddress) === null || _r === void 0 ? void 0 : _r.postalCode),
2558
+ countryCode: new forms.FormControl((_s = order.billingAddress) === null || _s === void 0 ? void 0 : _s.countryCode),
2559
+ phoneNumber: new forms.FormControl((_t = order.billingAddress) === null || _t === void 0 ? void 0 : _t.phoneNumber),
2560
+ });
2561
+ _this.addAddressCustomFieldsFormGroup(_this.billingAddressForm, order.billingAddress);
2562
+ }
2563
+ _this.orderLineCustomFieldsFormArray = new forms.FormArray([]);
2564
+ var _loop_1 = function (line) {
2565
+ var e_3, _x;
2566
+ var formGroup = new forms.FormGroup({});
2567
+ try {
2568
+ for (var _y = (e_3 = void 0, __values(_this.orderLineCustomFields)), _z = _y.next(); !_z.done; _z = _y.next()) {
2569
+ var name = _z.value.name;
2570
+ formGroup.addControl(name, new forms.FormControl(line.customFields[name]));
2571
+ }
2572
+ }
2573
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
2574
+ finally {
2575
+ try {
2576
+ if (_z && !_z.done && (_x = _y.return)) _x.call(_y);
2577
+ }
2578
+ finally { if (e_3) throw e_3.error; }
2579
+ }
2580
+ formGroup.valueChanges.pipe(operators.takeUntil(_this.destroy$)).subscribe(function (value) {
2581
+ var modifyRow = _this.modifyOrderInput.adjustOrderLines.find(function (l) { return l.orderLineId === line.id; });
2582
+ if (!modifyRow) {
2583
+ modifyRow = {
2584
+ orderLineId: line.id,
2585
+ quantity: line.quantity,
2586
+ };
2587
+ _this.modifyOrderInput.adjustOrderLines.push(modifyRow);
2588
+ }
2589
+ if (_this.orderLineCustomFields.length) {
2590
+ modifyRow.customFields = value;
2591
+ }
2592
+ });
2593
+ _this.orderLineCustomFieldsFormArray.push(formGroup);
2594
+ };
2595
+ try {
2596
+ for (var _v = __values(order.lines), _w = _v.next(); !_w.done; _w = _v.next()) {
2597
+ var line = _w.value;
2598
+ _loop_1(line);
2599
+ }
2600
+ }
2601
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
2602
+ finally {
2603
+ try {
2604
+ if (_w && !_w.done && (_u = _v.return)) _u.call(_v);
2605
+ }
2606
+ finally { if (e_2) throw e_2.error; }
2607
+ }
2608
+ });
2609
+ this.addItemCustomFieldsFormArray = new forms.FormArray([]);
2610
+ this.addItemCustomFieldsForm = new forms.FormGroup({});
2611
+ try {
2612
+ for (var _v = __values(this.orderLineCustomFields), _w = _v.next(); !_w.done; _w = _v.next()) {
2613
+ var customField = _w.value;
2614
+ this.addItemCustomFieldsForm.addControl(customField.name, new forms.FormControl());
2615
+ }
2616
+ }
2617
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
2618
+ finally {
2619
+ try {
2620
+ if (_w && !_w.done && (_u = _v.return)) _u.call(_v);
2621
+ }
2622
+ finally { if (e_1) throw e_1.error; }
2623
+ }
2624
+ this.availableCountries$ = this.dataService.settings
2625
+ .getAvailableCountries()
2626
+ .mapSingle(function (result) { return result.countries.items; })
2627
+ .pipe(operators.shareReplay(1));
2628
+ this.dataService.order
2629
+ .getOrderHistory(this.id, {
2630
+ take: 1,
2631
+ sort: {
2632
+ createdAt: i1.SortOrder.DESC,
2633
+ },
2634
+ filter: { type: { eq: i1.HistoryEntryType.ORDER_STATE_TRANSITION } },
2635
+ })
2636
+ .single$.subscribe(function (_u) {
2637
+ var order = _u.order;
2638
+ _this.previousState = order === null || order === void 0 ? void 0 : order.history.items[0].data.from;
2639
+ });
2640
+ };
2641
+ OrderEditorComponent.prototype.ngOnDestroy = function () {
2642
+ this.destroy();
2643
+ };
2644
+ OrderEditorComponent.prototype.transitionToPriorState = function (order) {
2645
+ var _this = this;
2646
+ this.orderTransitionService
2647
+ .transitionToPreModifyingState(order.id, order.nextStates)
2648
+ .subscribe(function (result) {
2649
+ _this.router.navigate(['..'], { relativeTo: _this.route });
2650
+ });
2651
+ };
2652
+ OrderEditorComponent.prototype.canPreviewChanges = function () {
2653
+ var _u = this.modifyOrderInput, addItems = _u.addItems, adjustOrderLines = _u.adjustOrderLines, surcharges = _u.surcharges;
2654
+ return (!!(addItems === null || addItems === void 0 ? void 0 : addItems.length) ||
2655
+ !!(surcharges === null || surcharges === void 0 ? void 0 : surcharges.length) ||
2656
+ !!(adjustOrderLines === null || adjustOrderLines === void 0 ? void 0 : adjustOrderLines.length) ||
2657
+ (this.shippingAddressForm.dirty && this.shippingAddressForm.valid) ||
2658
+ (this.billingAddressForm.dirty && this.billingAddressForm.valid) ||
2659
+ this.couponCodesControl.dirty);
2660
+ };
2661
+ OrderEditorComponent.prototype.isLineModified = function (line) {
2662
+ var _a;
2663
+ return !!((_a = this.modifyOrderInput.adjustOrderLines) === null || _a === void 0 ? void 0 : _a.find(function (l) { return l.orderLineId === line.id && l.quantity !== line.quantity; }));
2664
+ };
2665
+ OrderEditorComponent.prototype.updateLineQuantity = function (line, quantity) {
2666
+ var adjustOrderLines = this.modifyOrderInput.adjustOrderLines;
2667
+ var row = adjustOrderLines === null || adjustOrderLines === void 0 ? void 0 : adjustOrderLines.find(function (l) { return l.orderLineId === line.id; });
2668
+ if (row && +quantity === line.quantity) {
2669
+ // Remove the modification if the quantity is the same as
2670
+ // the original order
2671
+ adjustOrderLines === null || adjustOrderLines === void 0 ? void 0 : adjustOrderLines.splice(adjustOrderLines === null || adjustOrderLines === void 0 ? void 0 : adjustOrderLines.indexOf(row), 1);
2672
+ }
2673
+ if (!row) {
2674
+ row = { orderLineId: line.id, quantity: +quantity };
2675
+ adjustOrderLines === null || adjustOrderLines === void 0 ? void 0 : adjustOrderLines.push(row);
2676
+ }
2677
+ row.quantity = +quantity;
2678
+ };
2679
+ OrderEditorComponent.prototype.updateAddedItemQuantity = function (item, quantity) {
2680
+ var _a;
2681
+ var row = (_a = this.modifyOrderInput.addItems) === null || _a === void 0 ? void 0 : _a.find(function (l) { return l.productVariantId === item.productVariantId; });
2682
+ if (row) {
2683
+ row.quantity = +quantity;
2684
+ }
2685
+ };
2686
+ OrderEditorComponent.prototype.trackByProductVariantId = function (index, item) {
2687
+ return item.productVariantId;
2688
+ };
2689
+ OrderEditorComponent.prototype.getSelectedItemPrice = function (result) {
2690
+ switch (result === null || result === void 0 ? void 0 : result.priceWithTax.__typename) {
2691
+ case 'SinglePrice':
2692
+ return result.priceWithTax.value;
2693
+ default:
2694
+ return 0;
2695
+ }
2696
+ };
2697
+ OrderEditorComponent.prototype.addItemToOrder = function (result) {
2698
+ var e_4, _u;
2699
+ var _this = this;
2700
+ var _a, _b;
2701
+ if (!result) {
2702
+ return;
2703
+ }
2704
+ var customFields = this.orderLineCustomFields.length
2705
+ ? this.addItemCustomFieldsForm.value
2706
+ : undefined;
2707
+ var row = (_a = this.modifyOrderInput.addItems) === null || _a === void 0 ? void 0 : _a.find(function (l) { return _this.isMatchingAddItemRow(l, result, customFields); });
2708
+ if (!row) {
2709
+ row = { productVariantId: result.productVariantId, quantity: 1 };
2710
+ if (customFields) {
2711
+ row.customFields = customFields;
2712
+ }
2713
+ (_b = this.modifyOrderInput.addItems) === null || _b === void 0 ? void 0 : _b.push(row);
2714
+ }
2715
+ else {
2716
+ row.quantity++;
2717
+ }
2718
+ if (customFields) {
2719
+ var formGroup = new forms.FormGroup({});
2720
+ try {
2721
+ for (var _v = __values(Object.entries(customFields)), _w = _v.next(); !_w.done; _w = _v.next()) {
2722
+ var _x = __read(_w.value, 2), key = _x[0], value = _x[1];
2723
+ formGroup.addControl(key, new forms.FormControl(value));
2724
+ }
2725
+ }
2726
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
2727
+ finally {
2728
+ try {
2729
+ if (_w && !_w.done && (_u = _v.return)) _u.call(_v);
2730
+ }
2731
+ finally { if (e_4) throw e_4.error; }
2732
+ }
2733
+ this.addItemCustomFieldsFormArray.push(formGroup);
2734
+ formGroup.valueChanges.pipe(operators.takeUntil(this.destroy$)).subscribe(function (value) {
2735
+ if (row) {
2736
+ row.customFields = value;
2737
+ }
2738
+ });
2739
+ }
2740
+ this.addItemCustomFieldsForm.reset({});
2741
+ this.addItemSelectedVariant = undefined;
2742
+ this.addedVariants.set(result.productVariantId, result);
2743
+ };
2744
+ OrderEditorComponent.prototype.isMatchingAddItemRow = function (row, result, customFields) {
2745
+ return (row.productVariantId === result.productVariantId &&
2746
+ JSON.stringify(row.customFields) === JSON.stringify(customFields));
2747
+ };
2748
+ OrderEditorComponent.prototype.removeAddedItem = function (index) {
2749
+ this.modifyOrderInput.addItems.splice(index, 1);
2750
+ if (-1 < index) {
2751
+ this.addItemCustomFieldsFormArray.removeAt(index);
2752
+ }
2753
+ };
2754
+ OrderEditorComponent.prototype.getSurchargePrices = function (surcharge) {
2755
+ var priceWithTax = surcharge.priceIncludesTax
2756
+ ? surcharge.price
2757
+ : Math.round(surcharge.price * ((100 + (surcharge.taxRate || 0)) / 100));
2758
+ var price = surcharge.priceIncludesTax
2759
+ ? Math.round(surcharge.price / ((100 + (surcharge.taxRate || 0)) / 100))
2760
+ : surcharge.price;
2761
+ return {
2762
+ price: price,
2763
+ priceWithTax: priceWithTax,
2764
+ };
2765
+ };
2766
+ OrderEditorComponent.prototype.addSurcharge = function (value) {
2767
+ var _a;
2768
+ (_a = this.modifyOrderInput.surcharges) === null || _a === void 0 ? void 0 : _a.push(value);
2769
+ this.surchargeForm.reset({
2770
+ price: 0,
2771
+ priceIncludesTax: true,
2772
+ taxRate: 0,
2773
+ });
2774
+ };
2775
+ OrderEditorComponent.prototype.removeSurcharge = function (index) {
2776
+ var _a;
2777
+ (_a = this.modifyOrderInput.surcharges) === null || _a === void 0 ? void 0 : _a.splice(index, 1);
2778
+ };
2779
+ OrderEditorComponent.prototype.previewAndModify = function (order) {
2780
+ var _this = this;
2781
+ var _a;
2782
+ var modifyOrderInput = Object.assign(Object.assign({}, this.modifyOrderInput), { adjustOrderLines: this.modifyOrderInput.adjustOrderLines.map(function (line) {
2783
+ return i1.transformRelationCustomFieldInputs(simpleDeepClone.simpleDeepClone(line), _this.orderLineCustomFields);
2784
+ }) });
2785
+ var input = Object.assign(Object.assign(Object.assign(Object.assign({}, modifyOrderInput), (this.billingAddressForm.dirty ? { updateBillingAddress: this.billingAddressForm.value } : {})), (this.shippingAddressForm.dirty
2786
+ ? { updateShippingAddress: this.shippingAddressForm.value }
2787
+ : {})), { dryRun: true, couponCodes: this.couponCodesControl.dirty ? this.couponCodesControl.value : undefined, note: (_a = this.note) !== null && _a !== void 0 ? _a : '', options: {
2788
+ recalculateShipping: this.recalculateShipping,
2789
+ } });
2790
+ var originalTotalWithTax = order.totalWithTax;
2791
+ this.dataService.order
2792
+ .modifyOrder(input)
2793
+ .pipe(operators.switchMap(function (_u) {
2794
+ var modifyOrder = _u.modifyOrder;
2795
+ switch (modifyOrder.__typename) {
2796
+ case 'Order':
2797
+ return _this.modalService.fromComponent(OrderEditsPreviewDialogComponent, {
2798
+ size: 'xl',
2799
+ closable: false,
2800
+ locals: {
2801
+ originalTotalWithTax: originalTotalWithTax,
2802
+ order: modifyOrder,
2803
+ orderLineCustomFields: _this.orderLineCustomFields,
2804
+ modifyOrderInput: input,
2805
+ },
2806
+ });
2807
+ case 'InsufficientStockError':
2808
+ case 'NegativeQuantityError':
2809
+ case 'NoChangesSpecifiedError':
2810
+ case 'OrderLimitError':
2811
+ case 'OrderModificationStateError':
2812
+ case 'PaymentMethodMissingError':
2813
+ case 'RefundPaymentIdMissingError':
2814
+ case 'CouponCodeLimitError':
2815
+ case 'CouponCodeExpiredError':
2816
+ case 'CouponCodeInvalidError': {
2817
+ _this.notificationService.error(modifyOrder.message);
2818
+ return rxjs.of(false);
2819
+ }
2820
+ case null:
2821
+ case undefined:
2822
+ return rxjs.of(false);
2823
+ default:
2824
+ sharedUtils.assertNever(modifyOrder);
2825
+ }
2826
+ }), operators.switchMap(function (result) {
2827
+ if (!result || result.result === exports.OrderEditResultType.Cancel) {
2828
+ // re-fetch so that the preview values get overwritten in the cache.
2829
+ return _this.dataService.order.getOrder(_this.id).mapSingle(function () { return false; });
2830
+ }
2831
+ else {
2832
+ // Do the modification
2833
+ var wetRunInput = Object.assign(Object.assign({}, input), { dryRun: false });
2834
+ if (result.result === exports.OrderEditResultType.Refund) {
2835
+ wetRunInput.refund = {
2836
+ paymentId: result.refundPaymentId,
2837
+ reason: result.refundNote,
2838
+ };
2839
+ }
2840
+ return _this.dataService.order.modifyOrder(wetRunInput).pipe(operators.switchMap(function (_u) {
2841
+ var modifyOrder = _u.modifyOrder;
2842
+ if (modifyOrder.__typename === 'Order') {
2843
+ var priceDelta = modifyOrder.totalWithTax - originalTotalWithTax;
2844
+ var nextState = 0 < priceDelta ? 'ArrangingAdditionalPayment' : _this.previousState;
2845
+ return _this.dataService.order
2846
+ .transitionToState(order.id, nextState)
2847
+ .pipe(operators.mapTo(true));
2848
+ }
2849
+ else {
2850
+ _this.notificationService.error(modifyOrder.message);
2851
+ return rxjs.EMPTY;
2852
+ }
2853
+ }));
2854
+ }
2855
+ }))
2856
+ .subscribe(function (result) {
2857
+ if (result) {
2858
+ _this.router.navigate(['../'], { relativeTo: _this.route });
2859
+ }
2860
+ });
2861
+ };
2862
+ OrderEditorComponent.prototype.addAddressCustomFieldsFormGroup = function (parentFormGroup, address) {
2863
+ var e_5, _u;
2864
+ var _a;
2865
+ if (address && this.addressCustomFields.length) {
2866
+ var addressCustomFieldsFormGroup = new forms.FormGroup({});
2867
+ try {
2868
+ for (var _v = __values(this.addressCustomFields), _w = _v.next(); !_w.done; _w = _v.next()) {
2869
+ var customFieldDef = _w.value;
2870
+ var name = customFieldDef.name;
2871
+ var value = (_a = address.customFields) === null || _a === void 0 ? void 0 : _a[name];
2872
+ addressCustomFieldsFormGroup.addControl(name, new forms.FormControl(value));
2873
+ }
2874
+ }
2875
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
2876
+ finally {
2877
+ try {
2878
+ if (_w && !_w.done && (_u = _v.return)) _u.call(_v);
2879
+ }
2880
+ finally { if (e_5) throw e_5.error; }
2881
+ }
2882
+ parentFormGroup.addControl('customFields', addressCustomFieldsFormGroup);
2883
+ }
2884
+ };
2885
+ OrderEditorComponent.prototype.setFormValues = function (entity, languageCode) {
2886
+ /* not used */
2887
+ };
2888
+ return OrderEditorComponent;
2889
+ }(i1.BaseDetailComponent));
2890
+ OrderEditorComponent.decorators = [
2891
+ { type: i0.Component, args: [{
2892
+ selector: 'vdr-order-editor',
2893
+ template: "<vdr-action-bar *ngIf=\"entity$ | async as order\">\r\n <vdr-ab-left>\r\n <div class=\"flex clr-align-items-center\">\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\r\n </div>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <button class=\"btn btn-secondary\" (click)=\"transitionToPriorState(order)\">\r\n {{ 'order.cancel-modification' | translate }}\r\n </button>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<div *ngIf=\"entity$ | async as order\">\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-lg-8\">\r\n <table class=\"order-table table\">\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 *ngIf=\"orderLineCustomFields.length\">{{ 'common.custom-fields' | translate }}</th>\r\n <th>{{ 'order.total' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n *ngFor=\"let line of order.lines; let i = index\"\r\n class=\"order-line\"\r\n [class.is-cancelled]=\"line.quantity === 0\"\r\n [class.modified]=\"isLineModified(line)\"\r\n >\r\n <td class=\"align-middle thumb\">\r\n <img\r\n *ngIf=\"line.featuredAsset\"\r\n [src]=\"line.featuredAsset | assetPreview: 'tiny'\"\r\n />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\r\n <td class=\"align-middle unit-price\">\r\n {{ line.unitPriceWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ line.unitPrice | localeCurrency: order.currencyCode }}\r\n </div>\r\n </td>\r\n <td class=\"align-middle quantity\">\r\n <input\r\n type=\"number\"\r\n min=\"0\"\r\n [value]=\"line.quantity\"\r\n (input)=\"updateLineQuantity(line, $event.target.value)\"\r\n />\r\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\r\n <vdr-line-fulfillment\r\n [line]=\"line\"\r\n [orderState]=\"order.state\"\r\n ></vdr-line-fulfillment>\r\n </td>\r\n <td *ngIf=\"orderLineCustomFields.length\" class=\"order-line-custom-field align-middle\">\r\n <vdr-tabbed-custom-fields\r\n entityName=\"OrderLine\"\r\n [customFields]=\"orderLineCustomFields\"\r\n [customFieldsFormGroup]=\"orderLineCustomFieldsFormArray.get([i])\"\r\n [compact]=\"true\"\r\n ></vdr-tabbed-custom-fields>\r\n </td>\r\n <td class=\"align-middle total\">\r\n {{ line.linePriceWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ line.linePrice | localeCurrency: order.currencyCode }}\r\n </div>\r\n </td>\r\n </tr>\r\n <tr\r\n *ngFor=\"let addedLine of addedLines; trackBy: trackByProductVariantId; let i = index\"\r\n class=\"modified\"\r\n >\r\n <td class=\"align-middle thumb\">\r\n <img\r\n *ngIf=\"addedLine.productAsset\"\r\n [src]=\"addedLine.productAsset | assetPreview: 'tiny'\"\r\n />\r\n </td>\r\n <td class=\"align-middle name\">{{ addedLine.productVariantName }}</td>\r\n <td class=\"align-middle sku\">{{ addedLine.sku }}</td>\r\n <td class=\"align-middle unit-price\">\r\n {{ addedLine.priceWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ addedLine.price | localeCurrency: order.currencyCode }}\r\n </div>\r\n </td>\r\n <td class=\"align-middle quantity\">\r\n <input\r\n type=\"number\"\r\n min=\"0\"\r\n [value]=\"addedLine.quantity\"\r\n (input)=\"updateAddedItemQuantity(addedLine, $event.target.value)\"\r\n />\r\n <button class=\"icon-button\" (click)=\"removeAddedItem(i)\">\r\n <clr-icon shape=\"trash\"></clr-icon>\r\n </button>\r\n </td>\r\n <td *ngIf=\"orderLineCustomFields.length\" class=\"order-line-custom-field align-middle\">\r\n <ng-container *ngFor=\"let customField of orderLineCustomFields\">\r\n <vdr-custom-field-control\r\n [customField]=\"customField\"\r\n [customFieldsFormGroup]=\"addItemCustomFieldsFormArray.get([i])\"\r\n entityName=\"OrderLine\"\r\n [compact]=\"true\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n </td>\r\n <td class=\"align-middle total\">\r\n {{\r\n (addedLine.priceWithTax * addedLine.quantity) / 100\r\n | currency: order.currencyCode\r\n }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{\r\n (addedLine.price * addedLine.quantity) / 100\r\n | currency: order.currencyCode\r\n }}\r\n </div>\r\n </td>\r\n </tr>\r\n <tr class=\"surcharge\" *ngFor=\"let surcharge of order.surcharges\">\r\n <td class=\"align-middle name left\" colspan=\"2\">{{ surcharge.description }}</td>\r\n <td class=\"align-middle sku\">{{ surcharge.sku }}</td>\r\n <td class=\"align-middle\"></td>\r\n <td></td>\r\n <td *ngIf=\"orderLineCustomFields.length\"></td>\r\n <td class=\"align-middle total\">\r\n {{ surcharge.priceWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ surcharge.price | localeCurrency: order.currencyCode }}\r\n </div>\r\n </td>\r\n </tr>\r\n <tr\r\n class=\"surcharge modified\"\r\n *ngFor=\"let surcharge of modifyOrderInput.surcharges; let i = index\"\r\n >\r\n <td class=\"align-middle name left\" colspan=\"2\">\r\n {{ surcharge.description }}\r\n <button class=\"icon-button\" (click)=\"removeSurcharge(i)\">\r\n <clr-icon shape=\"trash\"></clr-icon>\r\n </button>\r\n </td>\r\n <td class=\"align-middle sku\">{{ surcharge.sku }}</td>\r\n <td class=\"align-middle\"></td>\r\n <td></td>\r\n <td *ngIf=\"orderLineCustomFields.length\"></td>\r\n <td class=\"align-middle total\">\r\n <ng-container *ngIf=\"getSurchargePrices(surcharge) as surchargePrice\">\r\n {{ surchargePrice.priceWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ surchargePrice.price | localeCurrency: order.currencyCode }}\r\n </div>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n <tr class=\"shipping\">\r\n <td class=\"left clr-align-middle\">{{ 'order.shipping' | translate }}</td>\r\n <td class=\"clr-align-middle\">{{ order.shippingLines[0]?.shippingMethod?.name }}</td>\r\n <td colspan=\"3\"></td>\r\n <td *ngIf=\"orderLineCustomFields.length\"></td>\r\n <td class=\"clr-align-middle\">\r\n {{ order.shippingWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ order.shipping | localeCurrency: order.currencyCode }}\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n\r\n <h4 class=\"mb2\">{{ 'order.modifications' | translate }}</h4>\r\n <clr-accordion>\r\n <clr-accordion-panel>\r\n <clr-accordion-title>{{ 'order.add-item-to-order' | translate }}</clr-accordion-title>\r\n <clr-accordion-content *clrIfExpanded>\r\n <vdr-product-selector class=\"mb4\" (productSelected)=\"addItemSelectedVariant = $event\">\r\n </vdr-product-selector>\r\n <div *ngIf=\"addItemSelectedVariant\" class=\"flex mb4\">\r\n <img\r\n *ngIf=\"addItemSelectedVariant.productAsset as asset\"\r\n [src]=\"asset | assetPreview: 'tiny'\"\r\n class=\"mr4\"\r\n />\r\n <div>\r\n <strong class=\"mr4\">{{ addItemSelectedVariant.productVariantName }}</strong>\r\n <small>{{ addItemSelectedVariant.sku }}</small>\r\n <div>\r\n {{\r\n getSelectedItemPrice(addItemSelectedVariant)\r\n | localeCurrency: order.currencyCode\r\n }}\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngFor=\"let customField of orderLineCustomFields\">\r\n <vdr-custom-field-control\r\n [readonly]=\"!addItemSelectedVariant\"\r\n [customField]=\"customField\"\r\n [customFieldsFormGroup]=\"addItemCustomFieldsForm\"\r\n entityName=\"OrderLine\"\r\n [compact]=\"true\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\r\n <button\r\n class=\"btn btn-secondary\"\r\n [disabled]=\"!addItemSelectedVariant || addItemCustomFieldsForm.invalid\"\r\n (click)=\"addItemToOrder(addItemSelectedVariant)\"\r\n >\r\n {{ 'order.add-item-to-order' | translate }}\r\n </button>\r\n </clr-accordion-content>\r\n </clr-accordion-panel>\r\n <clr-accordion-panel>\r\n <clr-accordion-title>{{ 'order.set-coupon-codes' | translate }}</clr-accordion-title>\r\n <clr-accordion-content *clrIfExpanded>\r\n <vdr-coupon-code-selector\r\n [control]=\"couponCodesControl\"\r\n ></vdr-coupon-code-selector>\r\n </clr-accordion-content>\r\n </clr-accordion-panel>\r\n\r\n <clr-accordion-panel>\r\n <clr-accordion-title>{{ 'order.add-surcharge' | translate }}</clr-accordion-title>\r\n <clr-accordion-content *clrIfExpanded>\r\n <form [formGroup]=\"surchargeForm\" (submit)=\"addSurcharge(surchargeForm.value)\">\r\n <vdr-form-field [label]=\"'common.description' | translate\" for=\"description\"\r\n ><input id=\"description\" type=\"text\" formControlName=\"description\"\r\n /></vdr-form-field>\r\n <vdr-form-field [label]=\"'order.product-sku' | translate\" for=\"sku\"\r\n ><input id=\"sku\" type=\"text\" formControlName=\"sku\"\r\n /></vdr-form-field>\r\n <vdr-form-field [label]=\"'common.price' | translate\" for=\"price\">\r\n <vdr-currency-input\r\n [currencyCode]=\"order.currencyCode\"\r\n id=\"price\"\r\n formControlName=\"price\"\r\n ></vdr-currency-input>\r\n </vdr-form-field>\r\n <vdr-form-field\r\n [label]=\"\r\n 'catalog.price-includes-tax-at'\r\n | translate: { rate: surchargeForm.get('taxRate')?.value }\r\n \"\r\n for=\"priceIncludesTax\"\r\n ><input\r\n id=\"priceIncludesTax\"\r\n type=\"checkbox\"\r\n clrCheckbox\r\n formControlName=\"priceIncludesTax\"\r\n /></vdr-form-field>\r\n <vdr-form-field [label]=\"'order.tax-rate' | translate\" for=\"taxRate\">\r\n <vdr-affixed-input suffix=\"%\"\r\n ><input\r\n id=\"taxRate\"\r\n type=\"number\"\r\n min=\"0\"\r\n max=\"100\"\r\n formControlName=\"taxRate\"\r\n /></vdr-affixed-input>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'order.tax-description' | translate\" for=\"taxDescription\"\r\n ><input id=\"taxDescription\" type=\"text\" formControlName=\"taxDescription\"\r\n /></vdr-form-field>\r\n <button\r\n class=\"btn btn-secondary\"\r\n [disabled]=\"\r\n surchargeForm.invalid ||\r\n surchargeForm.pristine ||\r\n surchargeForm.get('price')?.value === 0\r\n \"\r\n >\r\n {{ 'order.add-surcharge' | translate }}\r\n </button>\r\n </form>\r\n </clr-accordion-content>\r\n </clr-accordion-panel>\r\n <clr-accordion-panel>\r\n <clr-accordion-title>{{ 'order.edit-shipping-address' | translate }}</clr-accordion-title>\r\n <clr-accordion-content *clrIfExpanded>\r\n <vdr-address-form\r\n [formGroup]=\"shippingAddressForm\"\r\n [availableCountries]=\"availableCountries$ | async\"\r\n [customFields]=\"addressCustomFields\"\r\n ></vdr-address-form>\r\n </clr-accordion-content>\r\n </clr-accordion-panel>\r\n <clr-accordion-panel>\r\n <clr-accordion-title>{{ 'order.edit-billing-address' | translate }}</clr-accordion-title>\r\n <clr-accordion-content *clrIfExpanded>\r\n <vdr-address-form\r\n [formGroup]=\"billingAddressForm\"\r\n [availableCountries]=\"availableCountries$ | async\"\r\n [customFields]=\"addressCustomFields\"\r\n ></vdr-address-form>\r\n </clr-accordion-content>\r\n </clr-accordion-panel>\r\n </clr-accordion>\r\n </div>\r\n <div class=\"clr-col-lg-4 order-cards\">\r\n <div class=\"card\">\r\n <div class=\"card-header\">\r\n {{ 'order.modification-summary' | translate }}\r\n </div>\r\n <div class=\"card-block\">\r\n <ul>\r\n <li *ngIf=\"modifyOrderInput.addItems?.length\">\r\n {{\r\n 'order.modification-adding-items'\r\n | translate: { count: modifyOrderInput.addItems?.length }\r\n }}\r\n </li>\r\n <li *ngIf=\"modifyOrderInput.adjustOrderLines?.length\">\r\n {{\r\n 'order.modification-adjusting-lines'\r\n | translate: { count: modifyOrderInput.adjustOrderLines?.length }\r\n }}\r\n </li>\r\n <li *ngIf=\"modifyOrderInput.surcharges?.length\">\r\n {{\r\n 'order.modification-adding-surcharges'\r\n | translate: { count: modifyOrderInput.surcharges?.length }\r\n }}\r\n </li>\r\n <li *ngIf=\"shippingAddressForm.dirty\">\r\n {{ 'order.modification-updating-shipping-address' | translate }}\r\n </li>\r\n <li *ngIf=\"billingAddressForm.dirty\">\r\n {{ 'order.modification-updating-billing-address' | translate }}\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"card-block\">\r\n <label class=\"clr-control-label\">{{ 'order.note' | translate }}</label>\r\n <textarea [(ngModel)]=\"note\" name=\"note\" clrTextarea required></textarea>\r\n <clr-checkbox-wrapper class=\"\">\r\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"recalculateShipping\" />\r\n <label>{{ 'order.modification-recalculate-shipping' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n </div>\r\n <div class=\"card-footer\">\r\n <button\r\n class=\"btn btn-primary\"\r\n [disabled]=\"!canPreviewChanges()\"\r\n (click)=\"previewAndModify(order)\"\r\n >\r\n {{ 'order.preview-changes' | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
2894
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
2895
+ styles: [".order-table .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}.order-table .sub-total td{border-top:1px dashed var(--color-component-border-200)}.order-table .total td{font-weight:bold;border-top:1px dashed var(--color-component-border-200)}.order-table td.custom-fields-row{border-top-style:dashed;border-top-color:var(--color-grey-200)}.order-table img{border-radius:var(--border-radius-img)}.order-table .order-line-custom-fields{display:flex;flex-wrap:wrap}.order-table .order-line-custom-fields .custom-field{text-align:start;max-width:200px;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px;margin-right:18px}.order-table .draft-qty{max-width:48px}.order-table .order-line-custom-field{background-color:var(--color-component-bg-100)}.order-table .order-line-custom-field .custom-field-ellipsis{color:var(--color-text-300)}.order-table .net-price{font-size:11px;color:var(--color-text-300)}.order-table .promotions-label{-webkit-text-decoration:underline dotted var(--color-text-200);text-decoration:underline dotted var(--color-text-200);font-size:11px;margin-top:6px;cursor:pointer;text-transform:lowercase}.order-table .thumb img{width:50px;height:50px}.order-table tr.modified td{background-color:var(--color-warning-100)}.order-table .order-line-custom-field{text-align:start}\n"]
2896
+ },] }
2897
+ ];
2898
+ OrderEditorComponent.ctorParameters = function () { return [
2899
+ { type: i1$1.Router },
2900
+ { type: i1$1.ActivatedRoute },
2901
+ { type: i1.ServerConfigService },
2902
+ { type: i0.ChangeDetectorRef },
2903
+ { type: i1.DataService },
2904
+ { type: i1.NotificationService },
2905
+ { type: i1.ModalService },
2906
+ { type: OrderTransitionService }
2907
+ ]; };
2908
+
2909
+ var OrderHistoryComponent = /** @class */ (function () {
2910
+ function OrderHistoryComponent() {
2911
+ this.addNote = new i0.EventEmitter();
2912
+ this.updateNote = new i0.EventEmitter();
2913
+ this.deleteNote = new i0.EventEmitter();
2914
+ this.note = '';
2915
+ this.noteIsPrivate = true;
2916
+ this.expanded = false;
2917
+ this.type = i1.HistoryEntryType;
2918
+ }
2919
+ OrderHistoryComponent.prototype.getDisplayType = function (entry) {
2920
+ if (entry.type === i1.HistoryEntryType.ORDER_STATE_TRANSITION) {
2921
+ if (entry.data.to === 'Delivered') {
2922
+ return 'success';
2923
+ }
2924
+ if (entry.data.to === 'Cancelled') {
2925
+ return 'error';
2926
+ }
2927
+ }
2928
+ if (entry.type === i1.HistoryEntryType.ORDER_FULFILLMENT_TRANSITION) {
2929
+ if (entry.data.to === 'Delivered') {
2930
+ return 'success';
2931
+ }
2932
+ }
2933
+ if (entry.type === i1.HistoryEntryType.ORDER_PAYMENT_TRANSITION) {
2934
+ if (entry.data.to === 'Declined' || entry.data.to === 'Cancelled') {
2935
+ return 'error';
2936
+ }
2937
+ }
2938
+ if (entry.type === i1.HistoryEntryType.ORDER_CANCELLATION) {
2939
+ return 'error';
2940
+ }
2941
+ if (entry.type === i1.HistoryEntryType.ORDER_REFUND_TRANSITION) {
2942
+ return 'warning';
2943
+ }
2944
+ return 'default';
2945
+ };
2946
+ OrderHistoryComponent.prototype.getTimelineIcon = function (entry) {
2947
+ if (entry.type === i1.HistoryEntryType.ORDER_STATE_TRANSITION) {
2948
+ if (entry.data.to === 'Delivered') {
2949
+ return ['success-standard', 'is-solid'];
2950
+ }
2951
+ if (entry.data.to === 'Cancelled') {
2952
+ return 'ban';
2953
+ }
2954
+ }
2955
+ if (entry.type === i1.HistoryEntryType.ORDER_PAYMENT_TRANSITION) {
2956
+ if (entry.data.to === 'Settled') {
2957
+ return 'credit-card';
2958
+ }
2959
+ }
2960
+ if (entry.type === i1.HistoryEntryType.ORDER_NOTE) {
2961
+ return 'note';
2962
+ }
2963
+ if (entry.type === i1.HistoryEntryType.ORDER_MODIFIED) {
2964
+ return 'pencil';
2965
+ }
2966
+ if (entry.type === i1.HistoryEntryType.ORDER_FULFILLMENT_TRANSITION) {
2967
+ if (entry.data.to === 'Shipped') {
2968
+ return 'truck';
2969
+ }
2970
+ if (entry.data.to === 'Delivered') {
2971
+ return 'truck';
2972
+ }
2973
+ }
2974
+ };
2975
+ OrderHistoryComponent.prototype.isFeatured = function (entry) {
2976
+ switch (entry.type) {
2977
+ case i1.HistoryEntryType.ORDER_STATE_TRANSITION: {
2978
+ return (entry.data.to === 'Delivered' ||
2979
+ entry.data.to === 'Cancelled' ||
2980
+ entry.data.to === 'Settled');
2981
+ }
2982
+ case i1.HistoryEntryType.ORDER_PAYMENT_TRANSITION:
2983
+ return entry.data.to === 'Settled' || entry.data.to === 'Cancelled';
2984
+ case i1.HistoryEntryType.ORDER_FULFILLMENT_TRANSITION:
2985
+ return entry.data.to === 'Delivered' || entry.data.to === 'Shipped';
2986
+ case i1.HistoryEntryType.ORDER_NOTE:
2987
+ case i1.HistoryEntryType.ORDER_MODIFIED:
2988
+ return true;
2989
+ default:
2990
+ return false;
2991
+ }
2992
+ };
2993
+ OrderHistoryComponent.prototype.getFulfillment = function (entry) {
2994
+ if ((entry.type === i1.HistoryEntryType.ORDER_FULFILLMENT ||
2995
+ entry.type === i1.HistoryEntryType.ORDER_FULFILLMENT_TRANSITION) &&
2996
+ this.order.fulfillments) {
2997
+ return this.order.fulfillments.find(function (f) { return f.id === entry.data.fulfillmentId; });
2998
+ }
2999
+ };
3000
+ OrderHistoryComponent.prototype.getPayment = function (entry) {
3001
+ if (entry.type === i1.HistoryEntryType.ORDER_PAYMENT_TRANSITION && this.order.payments) {
3002
+ return this.order.payments.find(function (p) { return p.id === entry.data.paymentId; });
3003
+ }
3004
+ };
3005
+ OrderHistoryComponent.prototype.getCancelledItems = function (entry) {
3006
+ var e_1, _a, e_2, _b;
3007
+ var itemMap = new Map();
3008
+ var cancelledItemIds = entry.data.orderItemIds;
3009
+ try {
3010
+ for (var _c = __values(this.order.lines), _d = _c.next(); !_d.done; _d = _c.next()) {
3011
+ var line = _d.value;
3012
+ try {
3013
+ for (var _e = (e_2 = void 0, __values(line.items)), _f = _e.next(); !_f.done; _f = _e.next()) {
3014
+ var item = _f.value;
3015
+ if (cancelledItemIds.includes(item.id)) {
3016
+ var count = itemMap.get(line.productVariant.name);
3017
+ if (count != null) {
3018
+ itemMap.set(line.productVariant.name, count + 1);
3019
+ }
3020
+ else {
3021
+ itemMap.set(line.productVariant.name, 1);
3022
+ }
3023
+ }
3024
+ }
3025
+ }
3026
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
3027
+ finally {
3028
+ try {
3029
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
3030
+ }
3031
+ finally { if (e_2) throw e_2.error; }
3032
+ }
3033
+ }
3034
+ }
3035
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
3036
+ finally {
3037
+ try {
3038
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
3039
+ }
3040
+ finally { if (e_1) throw e_1.error; }
3041
+ }
3042
+ return Array.from(itemMap.entries()).map(function (_a) {
3043
+ var _b = __read(_a, 2), name = _b[0], quantity = _b[1];
3044
+ return ({ name: name, quantity: quantity });
3045
+ });
3046
+ };
3047
+ OrderHistoryComponent.prototype.getModification = function (id) {
3048
+ return this.order.modifications.find(function (m) { return m.id === id; });
3049
+ };
3050
+ OrderHistoryComponent.prototype.getName = function (entry) {
3051
+ var administrator = entry.administrator;
3052
+ if (administrator) {
3053
+ return administrator.firstName + " " + administrator.lastName;
3054
+ }
3055
+ else {
3056
+ var customer = this.order.customer;
3057
+ if (customer) {
3058
+ return customer.firstName + " " + customer.lastName;
3059
+ }
3060
+ }
3061
+ return '';
3062
+ };
3063
+ OrderHistoryComponent.prototype.addNoteToOrder = function () {
3064
+ this.addNote.emit({ note: this.note, isPublic: !this.noteIsPrivate });
3065
+ this.note = '';
3066
+ this.noteIsPrivate = true;
3067
+ };
3068
+ return OrderHistoryComponent;
3069
+ }());
3070
+ OrderHistoryComponent.decorators = [
3071
+ { type: i0.Component, args: [{
3072
+ selector: 'vdr-order-history',
3073
+ template: "<h4>{{ 'order.order-history' | translate }}</h4>\r\n<div class=\"entry-list\" [class.expanded]=\"expanded\">\r\n <vdr-timeline-entry iconShape=\"note\" displayType=\"muted\" [featured]=\"true\">\r\n <div class=\"note-entry\">\r\n <textarea [(ngModel)]=\"note\" name=\"note\" class=\"note\"></textarea>\r\n <button class=\"btn btn-secondary\" [disabled]=\"!note\" (click)=\"addNoteToOrder()\">\r\n {{ 'common.add-note' | translate }}\r\n </button>\r\n </div>\r\n <div class=\"visibility-select\">\r\n <clr-checkbox-wrapper>\r\n <input type=\"checkbox\" clrCheckbox [(ngModel)]=\"noteIsPrivate\" />\r\n <label>{{ 'order.note-is-private' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <span *ngIf=\"noteIsPrivate\" class=\"private\">\r\n {{ 'order.note-only-visible-to-administrators' | translate }}\r\n </span>\r\n <span *ngIf=\"!noteIsPrivate\" class=\"public\">\r\n {{ 'order.note-visible-to-customer' | translate }}\r\n </span>\r\n </div>\r\n </vdr-timeline-entry>\r\n <vdr-timeline-entry\r\n *ngFor=\"let entry of history\"\r\n [displayType]=\"getDisplayType(entry)\"\r\n [iconShape]=\"getTimelineIcon(entry)\"\r\n [createdAt]=\"entry.createdAt\"\r\n [name]=\"getName(entry)\"\r\n [featured]=\"isFeatured(entry)\"\r\n [collapsed]=\"!expanded && !isFeatured(entry)\"\r\n (expandClick)=\"expanded = !expanded\"\r\n >\r\n <ng-container [ngSwitch]=\"entry.type\">\r\n <ng-container *ngSwitchCase=\"type.ORDER_STATE_TRANSITION\">\r\n <div class=\"title\" *ngIf=\"entry.data.to === 'Delivered'\">\r\n {{ 'order.history-order-fulfilled' | translate }}\r\n </div>\r\n <div class=\"title\" *ngIf=\"entry.data.to === 'Cancelled'\">\r\n {{ 'order.history-order-cancelled' | translate }}\r\n </div>\r\n <ng-template [ngIf]=\"entry.data.to !== 'Cancelled' && entry.data.to !== 'Delivered'\">\r\n {{\r\n 'order.history-order-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_MODIFIED\">\r\n <div class=\"title\">\r\n {{ 'order.history-order-modified' | translate }}\r\n </div>\r\n <ng-container *ngIf=\"getModification(entry.data.modificationId) as modification\">\r\n {{ 'order.modify-order-price-difference' | translate }}:\r\n <strong>{{ modification.priceChange | localeCurrency: order.currencyCode }}</strong>\r\n <vdr-chip colorType=\"success\" *ngIf=\"modification.isSettled\">{{\r\n 'order.modification-settled' | translate\r\n }}</vdr-chip>\r\n <vdr-chip colorType=\"error\" *ngIf=\"!modification.isSettled\">{{\r\n 'order.modification-not-settled' | translate\r\n }}</vdr-chip>\r\n <vdr-history-entry-detail>\r\n <vdr-modification-detail\r\n [order]=\"order\"\r\n [modification]=\"modification\"\r\n ></vdr-modification-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_PAYMENT_TRANSITION\">\r\n <ng-container *ngIf=\"entry.data.to === 'Settled'; else regularPaymentTransition\">\r\n <div class=\"title\">\r\n {{ 'order.history-payment-settled' | translate }}\r\n </div>\r\n {{ 'order.transaction-id' | translate }}: {{ getPayment(entry)?.transactionId }}\r\n <vdr-history-entry-detail *ngIf=\"getPayment(entry) as payment\">\r\n <vdr-payment-detail\r\n [payment]=\"payment\"\r\n [currencyCode]=\"order.currencyCode\"\r\n ></vdr-payment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-template #regularPaymentTransition>\r\n {{\r\n 'order.history-payment-transition'\r\n | translate\r\n : {\r\n from: entry.data.from,\r\n to: entry.data.to,\r\n id: getPayment(entry)?.transactionId\r\n }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_REFUND_TRANSITION\">\r\n {{\r\n 'order.history-refund-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to, id: entry.data.refundId }\r\n }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_CANCELLATION\">\r\n {{ 'order.history-items-cancelled' | translate: { count: entry.data.orderItemIds.length } }}\r\n <vdr-history-entry-detail *ngIf=\"getCancelledItems(entry) as items\">\r\n <vdr-labeled-data [label]=\"'order.cancellation-reason' | translate\">\r\n {{ entry.data.reason }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.contents' | translate\">\r\n <vdr-simple-item-list [items]=\"items\"></vdr-simple-item-list>\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.shipping-cancelled' | translate\">\r\n {{ entry.data.shippingCancelled }}\r\n </vdr-labeled-data>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT\">\r\n {{ 'order.history-fulfillment-created' | translate }}\r\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\r\n <vdr-fulfillment-detail\r\n [fulfillmentId]=\"fulfillment.id\"\r\n [order]=\"order\"\r\n ></vdr-fulfillment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_FULFILLMENT_TRANSITION\">\r\n <ng-container *ngIf=\"entry.data.to === 'Delivered'\">\r\n <div class=\"title\">\r\n {{ 'order.history-fulfillment-delivered' | translate }}\r\n </div>\r\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\r\n </ng-container>\r\n <ng-container *ngIf=\"entry.data.to === 'Shipped'\">\r\n <div class=\"title\">\r\n {{ 'order.history-fulfillment-shipped' | translate }}\r\n </div>\r\n {{ 'order.tracking-code' | translate }}: {{ getFulfillment(entry)?.trackingCode }}\r\n </ng-container>\r\n <ng-container *ngIf=\"entry.data.to !== 'Delivered' && entry.data.to !== 'Shipped'\">\r\n {{\r\n 'order.history-fulfillment-transition'\r\n | translate: { from: entry.data.from, to: entry.data.to }\r\n }}\r\n </ng-container>\r\n <vdr-history-entry-detail *ngIf=\"getFulfillment(entry) as fulfillment\">\r\n <vdr-fulfillment-detail\r\n [fulfillmentId]=\"fulfillment.id\"\r\n [order]=\"order\"\r\n ></vdr-fulfillment-detail>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_NOTE\">\r\n <div class=\"flex\">\r\n <div class=\"note-text\">\r\n <span *ngIf=\"entry.isPublic\" class=\"note-visibility public\">{{\r\n 'common.public' | translate\r\n }}</span>\r\n <span *ngIf=\"!entry.isPublic\" class=\"note-visibility private\">{{\r\n 'common.private' | translate\r\n }}</span>\r\n {{ entry.data.note }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></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)=\"updateNote.emit(entry)\"\r\n [disabled]=\"!('UpdateOrder' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"deleteNote.emit(entry)\"\r\n [disabled]=\"!('UpdateOrder' | 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 </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_APPLIED\">\r\n {{ 'order.history-coupon-code-applied' | translate }}:\r\n <vdr-chip>\r\n <a [routerLink]=\"['/marketing', 'promotions', entry.data.promotionId]\">{{\r\n entry.data.couponCode\r\n }}</a>\r\n </vdr-chip>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.ORDER_COUPON_REMOVED\">\r\n {{ 'order.history-coupon-code-removed' | translate }}:\r\n <vdr-chip\r\n ><span class=\"cancelled-coupon-code\">{{ entry.data.couponCode }}</span></vdr-chip\r\n >\r\n </ng-container>\r\n </ng-container>\r\n </vdr-timeline-entry>\r\n <vdr-timeline-entry [isLast]=\"true\" [createdAt]=\"order.createdAt\" [featured]=\"true\">\r\n <div class=\"title\">\r\n {{ 'order.history-order-created' | translate }}\r\n </div>\r\n </vdr-timeline-entry>\r\n</div>\r\n",
3074
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
3075
+ styles: [":host{margin-top:48px;display:block}.entry-list{margin-top:24px;margin-left:24px;margin-right:12px}.note-entry{display:flex;align-items:center}.note-entry .note{flex:1}.note-entry button{margin:0}.visibility-select{display:flex;justify-content:space-between;align-items:baseline}.visibility-select .public{color:var(--color-warning-500)}.visibility-select .private{color:var(--color-success-500)}textarea.note{flex:1;height:36px;border-radius:3px;margin-right:6px}.note-text{color:var(--color-grey-800);white-space:pre-wrap}.cancelled-coupon-code{text-decoration:line-through}.note-visibility{text-transform:lowercase}.note-visibility.public{color:var(--color-warning-500)}.note-visibility.private{color:var(--color-success-500)}\n"]
3076
+ },] }
3077
+ ];
3078
+ OrderHistoryComponent.propDecorators = {
3079
+ order: [{ type: i0.Input }],
3080
+ history: [{ type: i0.Input }],
3081
+ addNote: [{ type: i0.Output }],
3082
+ updateNote: [{ type: i0.Output }],
3083
+ deleteNote: [{ type: i0.Output }]
3084
+ };
3085
+
3086
+ var OrderListComponent = /** @class */ (function (_super) {
3087
+ __extends(OrderListComponent, _super);
3088
+ function OrderListComponent(serverConfigService, dataService, localStorageService, router, route) {
3089
+ var _this = this;
3090
+ var _a;
3091
+ _this = _super.call(this, router, route) || this;
3092
+ _this.serverConfigService = serverConfigService;
3093
+ _this.dataService = dataService;
3094
+ _this.localStorageService = localStorageService;
3095
+ _this.searchControl = new forms.FormControl('');
3096
+ _this.searchOrderCodeControl = new forms.FormControl('');
3097
+ _this.searchLastNameControl = new forms.FormControl('');
3098
+ _this.orderStates = _this.serverConfigService.getOrderProcessStates().map(function (item) { return item.name; });
3099
+ _this.filterPresets = [
3100
+ {
3101
+ name: 'open',
3102
+ label: ngxTranslateExtractMarker.marker('order.filter-preset-open'),
3103
+ config: {
3104
+ active: false,
3105
+ states: _this.orderStates.filter(function (s) { return s !== 'Delivered' && s !== 'Cancelled' && s !== 'Shipped' && s !== 'Draft'; }),
3106
+ },
3107
+ },
3108
+ {
3109
+ name: 'shipped',
3110
+ label: ngxTranslateExtractMarker.marker('order.filter-preset-shipped'),
3111
+ config: {
3112
+ active: false,
3113
+ states: ['Shipped'],
3114
+ },
3115
+ },
3116
+ {
3117
+ name: 'completed',
3118
+ label: ngxTranslateExtractMarker.marker('order.filter-preset-completed'),
3119
+ config: {
3120
+ active: false,
3121
+ states: ['Delivered', 'Cancelled'],
3122
+ },
3123
+ },
3124
+ {
3125
+ name: 'active',
3126
+ label: ngxTranslateExtractMarker.marker('order.filter-preset-active'),
3127
+ config: {
3128
+ active: true,
3129
+ },
3130
+ },
3131
+ {
3132
+ name: 'draft',
3133
+ label: ngxTranslateExtractMarker.marker('order.filter-preset-draft'),
3134
+ config: {
3135
+ active: false,
3136
+ states: ['Draft'],
3137
+ },
3138
+ },
3139
+ ];
3140
+ _this.canCreateDraftOrder = false;
3141
+ _super.prototype.setQueryFn.call(_this,
3142
+ // tslint:disable-next-line:no-shadowed-variable
3143
+ function (take, skip) { return _this.dataService.order.getOrders({ take: take, skip: skip }).refetchOnChannelChange(); }, function (data) { return data.orders; },
3144
+ // tslint:disable-next-line:no-shadowed-variable
3145
+ function (skip, take) { return _this.createQueryOptions(skip, take, _this.searchControl.value, _this.route.snapshot.queryParamMap.get('filter') || 'open'); });
3146
+ var lastFilters = _this.localStorageService.get('orderListLastCustomFilters');
3147
+ if (lastFilters) {
3148
+ _this.setQueryParam(lastFilters, { replaceUrl: true });
3149
+ }
3150
+ _this.canCreateDraftOrder = !!((_a = _this.serverConfigService
3151
+ .getOrderProcessStates()
3152
+ .find(function (state) { return state.name === 'Created'; })) === null || _a === void 0 ? void 0 : _a.to.includes('Draft'));
3153
+ if (!_this.canCreateDraftOrder) {
3154
+ _this.filterPresets = _this.filterPresets.filter(function (p) { return p.name !== 'draft'; });
3155
+ }
3156
+ return _this;
3157
+ }
3158
+ OrderListComponent.prototype.ngOnInit = function () {
3159
+ var _this = this;
3160
+ var _a;
3161
+ _super.prototype.ngOnInit.call(this);
3162
+ this.activePreset$ = this.route.queryParamMap.pipe(operators.map(function (qpm) { return qpm.get('filter') || 'open'; }), operators.distinctUntilChanged());
3163
+ var searchTerms$ = rxjs.merge(this.searchControl.valueChanges).pipe(operators.filter(function (value) { return 2 < value.length || value.length === 0; }), operators.debounceTime(250));
3164
+ rxjs.merge(searchTerms$, this.route.queryParamMap)
3165
+ .pipe(operators.takeUntil(this.destroy$))
3166
+ .subscribe(function (val) {
3167
+ _this.refresh();
3168
+ });
3169
+ var queryParamMap = this.route.snapshot.queryParamMap;
3170
+ this.customFilterForm = new forms.FormGroup({
3171
+ states: new forms.FormControl((_a = queryParamMap.getAll('states')) !== null && _a !== void 0 ? _a : []),
3172
+ placedAtStart: new forms.FormControl(queryParamMap.get('placedAtStart')),
3173
+ placedAtEnd: new forms.FormControl(queryParamMap.get('placedAtEnd')),
3174
+ });
3175
+ };
3176
+ OrderListComponent.prototype.selectFilterPreset = function (presetName) {
3177
+ var _a;
3178
+ var lastCustomFilters = (_a = this.localStorageService.get('orderListLastCustomFilters')) !== null && _a !== void 0 ? _a : {};
3179
+ var emptyCustomFilters = { states: undefined, placedAtStart: undefined, placedAtEnd: undefined };
3180
+ var filters = presetName === 'custom' ? lastCustomFilters : emptyCustomFilters;
3181
+ this.setQueryParam(Object.assign({ filter: presetName, page: 1 }, filters), { replaceUrl: true });
3182
+ };
3183
+ OrderListComponent.prototype.applyCustomFilters = function () {
3184
+ var formValue = this.customFilterForm.value;
3185
+ var customFilters = {
3186
+ states: formValue.states,
3187
+ placedAtStart: formValue.placedAtStart,
3188
+ placedAtEnd: formValue.placedAtEnd,
3189
+ };
3190
+ this.setQueryParam(Object.assign({ filter: 'custom' }, customFilters));
3191
+ this.customFilterForm.markAsPristine();
3192
+ this.localStorageService.set('orderListLastCustomFilters', customFilters);
3193
+ };
3194
+ OrderListComponent.prototype.createQueryOptions = function (
3195
+ // tslint:disable-next-line:no-shadowed-variable
3196
+ skip, take, searchTerm, activeFilterPreset) {
3197
+ var _a;
3198
+ var filterConfig = this.filterPresets.find(function (p) { return p.name === activeFilterPreset; });
3199
+ // tslint:disable-next-line:no-shadowed-variable
3200
+ var filter = {};
3201
+ var filterOperator = i1.LogicalOperator.AND;
3202
+ if (filterConfig) {
3203
+ if (filterConfig.config.active != null) {
3204
+ filter.active = {
3205
+ eq: filterConfig.config.active,
3206
+ };
3207
+ }
3208
+ if (filterConfig.config.states) {
3209
+ filter.state = {
3210
+ in: filterConfig.config.states,
3211
+ };
3212
+ }
3213
+ }
3214
+ else if (activeFilterPreset === 'custom') {
3215
+ var queryParams = this.route.snapshot.queryParamMap;
3216
+ var states = (_a = queryParams.getAll('states')) !== null && _a !== void 0 ? _a : [];
3217
+ var placedAtStart = queryParams.get('placedAtStart');
3218
+ var placedAtEnd = queryParams.get('placedAtEnd');
3219
+ if (states.length) {
3220
+ filter.state = {
3221
+ in: states,
3222
+ };
3223
+ }
3224
+ if (placedAtStart && placedAtEnd) {
3225
+ filter.orderPlacedAt = {
3226
+ between: {
3227
+ start: placedAtStart,
3228
+ end: placedAtEnd,
3229
+ },
3230
+ };
3231
+ }
3232
+ else if (placedAtStart) {
3233
+ filter.orderPlacedAt = {
3234
+ after: placedAtStart,
3235
+ };
3236
+ }
3237
+ else if (placedAtEnd) {
3238
+ filter.orderPlacedAt = {
3239
+ before: placedAtEnd,
3240
+ };
3241
+ }
3242
+ }
3243
+ if (searchTerm) {
3244
+ filter = {
3245
+ customerLastName: {
3246
+ contains: searchTerm,
3247
+ },
3248
+ transactionId: {
3249
+ contains: searchTerm,
3250
+ },
3251
+ code: {
3252
+ contains: searchTerm,
3253
+ },
3254
+ };
3255
+ filterOperator = i1.LogicalOperator.OR;
3256
+ }
3257
+ return {
3258
+ options: {
3259
+ skip: skip,
3260
+ take: take,
3261
+ filter: Object.assign({}, (filter !== null && filter !== void 0 ? filter : {})),
3262
+ sort: {
3263
+ updatedAt: i1.SortOrder.DESC,
3264
+ },
3265
+ filterOperator: filterOperator,
3266
+ },
3267
+ };
3268
+ };
3269
+ OrderListComponent.prototype.getShippingNames = function (order) {
3270
+ if (order.shippingLines.length) {
3271
+ return order.shippingLines.map(function (shippingLine) { return shippingLine.shippingMethod.name; }).join(', ');
3272
+ }
3273
+ else {
3274
+ return '';
3275
+ }
3276
+ };
3277
+ return OrderListComponent;
3278
+ }(i1.BaseListComponent));
3279
+ OrderListComponent.decorators = [
3280
+ { type: i0.Component, args: [{
3281
+ selector: 'vdr-order-list',
3282
+ template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <div class=\"search-form\">\r\n <div class=\"filter-presets btn-group btn-outline-primary\" *ngIf=\"activePreset$ | async as activePreset\">\r\n <button\r\n class=\"btn\"\r\n *ngFor=\"let preset of filterPresets\"\r\n [class.btn-primary]=\"activePreset === preset.name\"\r\n (click)=\"selectFilterPreset(preset.name)\"\r\n >\r\n {{ preset.label | translate }}\r\n </button>\r\n <button\r\n class=\"btn\"\r\n [class.btn-primary]=\"activePreset === 'custom'\"\r\n (click)=\"selectFilterPreset('custom')\"\r\n >\r\n {{ 'order.filter-custom' | translate }}\r\n <clr-icon shape=\"angle down\"></clr-icon>\r\n </button>\r\n </div>\r\n <input\r\n type=\"text\"\r\n name=\"searchTerm\"\r\n [formControl]=\"searchControl\"\r\n [placeholder]=\"'order.search-by-order-filters' | translate\"\r\n class=\"search-input\"\r\n />\r\n </div>\r\n <div class=\"custom-filters\" [class.expanded]=\"(activePreset$ | async) === 'custom'\">\r\n <form [formGroup]=\"customFilterForm\">\r\n <div class=\"flex align-center\">\r\n <ng-select\r\n [items]=\"orderStates\"\r\n appendTo=\"body\"\r\n [addTag]=\"false\"\r\n [multiple]=\"true\"\r\n formControlName=\"states\"\r\n [placeholder]=\"'state.all-orders' | translate\"\r\n [clearable]=\"true\"\r\n [searchable]=\"false\"\r\n >\r\n <ng-template ng-option-tmp let-item=\"item\">{{\r\n item | stateI18nToken | translate\r\n }}</ng-template>\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <span class=\"ng-value-label\"> {{ item | stateI18nToken | translate }}</span>\r\n <span class=\"ng-value-icon right\" (click)=\"clear(item)\" aria-hidden=\"true\"\r\n >\u00D7</span\r\n >\r\n </ng-template>\r\n </ng-select>\r\n <button\r\n class=\"btn btn-secondary\"\r\n [disabled]=\"customFilterForm.pristine\"\r\n (click)=\"applyCustomFilters()\"\r\n >\r\n {{ 'order.apply-filters' | translate }}\r\n <clr-icon shape=\"filter\"></clr-icon>\r\n </button>\r\n </div>\r\n <div class=\"flex\">\r\n <div>\r\n <label>{{ 'order.placed-at-start' | translate }}</label>\r\n <vdr-datetime-picker formControlName=\"placedAtStart\"></vdr-datetime-picker>\r\n </div>\r\n <div>\r\n <label>{{ 'order.placed-at-end' | translate }}</label>\r\n <vdr-datetime-picker formControlName=\"placedAtEnd\"></vdr-datetime-picker>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n </vdr-ab-left>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"order-list\"></vdr-action-bar-items>\r\n <ng-container *ngIf=\"canCreateDraftOrder\">\r\n <a class=\"btn btn-primary mt1\" *vdrIfPermissions=\"['CreateOrder']\" [routerLink]=\"['./draft/create']\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'catalog.create-draft-order' | translate }}\r\n </a>\r\n </ng-container>\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>{{ 'order.customer' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'order.state' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'order.total' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'common.updated-at' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'order.placed-at' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'order.shipping' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-order=\"item\">\r\n <td class=\"left align-middle\">{{ order.code }}</td>\r\n <td class=\"left align-middle\">\r\n <vdr-customer-label [customer]=\"order.customer\"></vdr-customer-label>\r\n </td>\r\n <td class=\"left align-middle\">\r\n <vdr-order-state-label [state]=\"order.state\"></vdr-order-state-label>\r\n </td>\r\n <td class=\"left align-middle\">{{ order.totalWithTax | localeCurrency: order.currencyCode }}</td>\r\n <td class=\"left align-middle\">{{ order.updatedAt | timeAgo }}</td>\r\n <td class=\"left align-middle\">{{ order.orderPlacedAt | localeDate: 'medium' }}</td>\r\n <td class=\"left align-middle\">{{ getShippingNames(order) }}</td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"shopping-cart\"\r\n [label]=\"'common.open' | translate\"\r\n [linkTo]=\"\r\n order.state === 'Modifying'\r\n ? ['./', order.id, 'modify']\r\n : order.state === 'Draft'\r\n ? ['./draft', order.id]\r\n : ['./', order.id]\r\n \"\r\n ></vdr-table-row-action>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n",
3283
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
3284
+ styles: [".search-form{display:flex;flex-direction:column;align-items:baseline;width:100%;max-width:100vw;margin-bottom:6px}.filter-presets{max-width:90vw;overflow-x:auto}.search-input{margin-top:6px;min-width:300px}.custom-filters{overflow:hidden;max-height:0;padding-bottom:6px}.custom-filters.expanded{max-height:initial}.custom-filters>form{display:flex;flex-direction:column;align-items:center}.custom-filters>form>div{width:100%}ng-select{flex:1;min-width:200px;height:36px}ng-select ::ng-deep .ng-select-container{height:36px}\n"]
3285
+ },] }
3286
+ ];
3287
+ OrderListComponent.ctorParameters = function () { return [
3288
+ { type: i1.ServerConfigService },
3289
+ { type: i1.DataService },
3290
+ { type: i1.LocalStorageService },
3291
+ { type: i1$1.Router },
3292
+ { type: i1$1.ActivatedRoute }
3293
+ ]; };
3294
+
3295
+ var OrderPaymentCardComponent = /** @class */ (function () {
3296
+ function OrderPaymentCardComponent() {
3297
+ this.settlePayment = new i0.EventEmitter();
3298
+ this.transitionPaymentState = new i0.EventEmitter();
3299
+ this.settleRefund = new i0.EventEmitter();
3300
+ }
3301
+ OrderPaymentCardComponent.prototype.refundHasMetadata = function (refund) {
3302
+ return !!refund && Object.keys(refund.metadata).length > 0;
3303
+ };
3304
+ OrderPaymentCardComponent.prototype.nextOtherStates = function () {
3305
+ if (!this.payment) {
3306
+ return [];
3307
+ }
3308
+ return this.payment.nextStates.filter(function (s) { return s !== 'Settled' && s !== 'Error'; });
3309
+ };
3310
+ return OrderPaymentCardComponent;
3311
+ }());
3312
+ OrderPaymentCardComponent.decorators = [
3313
+ { type: i0.Component, args: [{
3314
+ selector: 'vdr-order-payment-card',
3315
+ template: "<div class=\"card\">\r\n <div class=\"card-header payment-header\">\r\n <div>\r\n {{ 'order.payment' | translate }}\r\n <ng-container *ngIf=\"payment.transactionId\">#{{ payment.transactionId }}</ng-container>\r\n </div>\r\n <div class=\"payment-state\">\r\n <vdr-payment-state-label [state]=\"payment.state\"></vdr-payment-state-label>\r\n </div>\r\n </div>\r\n <div class=\"card-block\">\r\n <vdr-payment-detail [payment]=\"payment\" [currencyCode]=\"currencyCode\"></vdr-payment-detail>\r\n </div>\r\n <ng-container *ngFor=\"let refund of payment.refunds\">\r\n <div class=\"card-header payment-header\">\r\n <clr-icon shape=\"redo\" class=\"refund-icon\" dir=\"down\"></clr-icon>\r\n {{ 'order.refund' | translate }} #{{ refund.id }}\r\n <div class=\"clr-flex-fill\"></div>\r\n <vdr-refund-state-label [state]=\"refund.state\"></vdr-refund-state-label>\r\n </div>\r\n <div class=\"card-block\">\r\n <vdr-labeled-data [label]=\"'common.created-at' | translate\">\r\n {{ refund.createdAt | localeDate: 'medium' }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.refund-total' | translate\">\r\n {{ refund.total | localeCurrency: currencyCode }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.transaction-id' | translate\" *ngIf=\"refund.transactionId\">\r\n {{ refund.transactionId }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.refund-reason' | translate\" *ngIf=\"refund.reason\">\r\n {{ refund.reason }}\r\n </vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'order.refund-metadata' | translate\" *ngIf=\"refundHasMetadata(refund)\">\r\n <vdr-object-tree [value]=\"refund.metadata\"></vdr-object-tree>\r\n </vdr-labeled-data>\r\n </div>\r\n <div class=\"card-footer\" *ngIf=\"refund.state === 'Pending'\">\r\n <button class=\"btn btn-sm btn-primary\" (click)=\"settleRefund.emit(refund)\">\r\n {{ 'order.settle-refund' | translate }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n <div class=\"card-footer\" *ngIf=\"payment.nextStates.length\">\r\n <button\r\n class=\"btn btn-sm btn-primary\"\r\n *ngIf=\"payment.nextStates.includes('Settled')\"\r\n (click)=\"settlePayment.emit(payment)\"\r\n >\r\n {{ 'order.settle-payment' | translate }}\r\n </button>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <ng-container *ngFor=\"let nextState of nextOtherStates()\">\r\n <button\r\n type=\"button\"\r\n class=\"btn\"\r\n vdrDropdownItem\r\n (click)=\"transitionPaymentState.emit({ payment: payment, state: nextState })\"\r\n >\r\n <ng-container *ngIf=\"nextState !== 'Cancelled'; else cancel\">\r\n <clr-icon shape=\"step-forward-2\"></clr-icon>\r\n {{\r\n 'order.transition-to-state'\r\n | translate: { state: (nextState | stateI18nToken | translate) }\r\n }}\r\n </ng-container>\r\n <ng-template #cancel>\r\n <clr-icon shape=\"error-standard\" class=\"is-error\"></clr-icon>\r\n {{ 'order.cancel-payment' | translate }}\r\n </ng-template>\r\n </button>\r\n </ng-container>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n</div>\r\n",
3316
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
3317
+ styles: [".payment-header{display:flex;justify-content:space-between;align-items:center}.refund-icon{margin-right:6px;color:var(--color-grey-400)}.card-footer{display:flex;align-items:center;justify-content:flex-end}\n"]
3318
+ },] }
3319
+ ];
3320
+ OrderPaymentCardComponent.propDecorators = {
3321
+ payment: [{ type: i0.Input }],
3322
+ currencyCode: [{ type: i0.Input }],
3323
+ settlePayment: [{ type: i0.Output }],
3324
+ transitionPaymentState: [{ type: i0.Output }],
3325
+ settleRefund: [{ type: i0.Output }]
3326
+ };
3327
+
3328
+ var NODE_HEIGHT = 72;
3329
+
3330
+ var OrderProcessEdgeComponent = /** @class */ (function () {
3331
+ function OrderProcessEdgeComponent() {
3332
+ }
3333
+ OrderProcessEdgeComponent.prototype.ngOnInit = function () {
3334
+ var _this = this;
3335
+ this.active$ = this.from.active$
3336
+ .asObservable()
3337
+ .pipe(operators.tap(function (active) { return _this.to.activeTarget$.next(active); }));
3338
+ };
3339
+ OrderProcessEdgeComponent.prototype.getStyle = function () {
3340
+ var direction = this.from.index < this.to.index ? 'down' : 'up';
3341
+ var startPos = this.from.getPos(direction === 'down' ? 'bottom' : 'top');
3342
+ var endPos = this.to.getPos(direction === 'down' ? 'top' : 'bottom');
3343
+ var dX = Math.abs(startPos.x - endPos.x);
3344
+ var dY = Math.abs(startPos.y - endPos.y);
3345
+ var length = Math.sqrt(Math.pow(dX, 2) + Math.pow(dY, 2));
3346
+ return Object.assign({ 'top.px': startPos.y, 'left.px': startPos.x + (direction === 'down' ? 10 : 40) + this.index * 12, 'height.px': length, 'width.px': 1 }, (direction === 'up'
3347
+ ? {
3348
+ transform: 'rotateZ(180deg)',
3349
+ 'transform-origin': 'top',
3350
+ }
3351
+ : {}));
3352
+ };
3353
+ return OrderProcessEdgeComponent;
3354
+ }());
3355
+ OrderProcessEdgeComponent.decorators = [
3356
+ { type: i0.Component, args: [{
3357
+ selector: 'vdr-order-process-edge',
3358
+ template: "<div\r\n [attr.data-from]=\"from.node.name\"\r\n [attr.data-to]=\"to.node.name\"\r\n [ngStyle]=\"getStyle()\"\r\n [class.active]=\"active$ | async\"\r\n class=\"edge\">\r\n <clr-icon shape=\"arrow\" flip=\"vertical\" class=\"arrow\"></clr-icon>\r\n</div>\r\n",
3359
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
3360
+ styles: [".edge{position:absolute;border:1px solid var(--color-component-border-200);background-color:var(--color-component-bg-300);opacity:.3;transition:border .2s,opacity .2s,background-color .2s}.edge.active{border-color:var(--color-primary-500);background-color:var(--color-primary-500);opacity:1}.edge.active .arrow{color:var(--color-primary-500)}.edge .arrow{position:absolute;bottom:-4px;left:-8px;color:var(--color-grey-300)}\n"]
3361
+ },] }
3362
+ ];
3363
+ OrderProcessEdgeComponent.propDecorators = {
3364
+ from: [{ type: i0.Input }],
3365
+ to: [{ type: i0.Input }],
3366
+ index: [{ type: i0.Input }]
3367
+ };
3368
+
3369
+ var OrderProcessNodeComponent = /** @class */ (function () {
3370
+ function OrderProcessNodeComponent(elementRef) {
3371
+ this.elementRef = elementRef;
3372
+ this.active$ = new rxjs.BehaviorSubject(false);
3373
+ this.activeTarget$ = new rxjs.BehaviorSubject(false);
3374
+ this.isCancellable = false;
3375
+ // We use a class field here to prevent the
3376
+ // i18n extractor from extracting a "Cancelled" key
3377
+ this.cancelledState = 'Cancelled';
3378
+ }
3379
+ OrderProcessNodeComponent.prototype.ngOnChanges = function (changes) {
3380
+ this.isCancellable = !!this.node.to.find(function (s) { return s.name === 'Cancelled'; });
3381
+ if (changes.active) {
3382
+ this.active$.next(this.active);
3383
+ }
3384
+ };
3385
+ OrderProcessNodeComponent.prototype.getPos = function (origin) {
3386
+ if (origin === void 0) { origin = 'top'; }
3387
+ var _a, _b;
3388
+ var rect = this.elementRef.nativeElement.getBoundingClientRect();
3389
+ var nodeHeight = (_b = (_a = this.elementRef.nativeElement.querySelector('.node')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().height) !== null && _b !== void 0 ? _b : 0;
3390
+ return {
3391
+ x: 10,
3392
+ y: this.index * NODE_HEIGHT + (origin === 'bottom' ? nodeHeight : 0),
3393
+ };
3394
+ };
3395
+ OrderProcessNodeComponent.prototype.getStyle = function () {
3396
+ var pos = this.getPos();
3397
+ return {
3398
+ 'top.px': pos.y,
3399
+ 'left.px': pos.x,
3400
+ };
3401
+ };
3402
+ return OrderProcessNodeComponent;
3403
+ }());
3404
+ OrderProcessNodeComponent.decorators = [
3405
+ { type: i0.Component, args: [{
3406
+ selector: 'vdr-order-process-node',
3407
+ template: "<div class=\"node-wrapper\" [ngStyle]=\"getStyle()\" [class.active]=\"active$ | async\">\r\n <div\r\n class=\"node\"\r\n [class.active-target]=\"activeTarget$ | async\"\r\n >\r\n {{ node.name | stateI18nToken | translate }}\r\n </div>\r\n <div class=\"cancelled-wrapper\" *ngIf=\"isCancellable\">\r\n <div class=\"cancelled-edge\">\r\n </div>\r\n <clr-icon shape=\"dot-circle\"></clr-icon>\r\n <div class=\"cancelled-node\">\r\n {{ cancelledState | stateI18nToken | translate }}\r\n </div>\r\n </div>\r\n</div>\r\n",
3408
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
3409
+ styles: [":host{display:block}.node-wrapper{position:absolute;z-index:1;display:flex;align-items:center}.node{display:inline-block;border:2px solid var(--color-component-border-200);border-radius:3px;padding:3px 6px;z-index:1;background-color:var(--color-component-bg-100);opacity:.7;transition:opacity .2s,background-color .2s,color .2s;cursor:default}.node.active-target{border-color:var(--color-primary-500);opacity:.9}.cancelled-wrapper{display:flex;align-items:center;color:var(--color-grey-300);transition:color .2s,opacity .2s;opacity:.7}.cancelled-edge{width:48px;height:2px;background-color:var(--color-component-bg-300);transition:background-color .2s}clr-icon{margin-left:-1px}.cancelled-node{margin-left:6px}.active .cancelled-wrapper{opacity:1}.active .node{opacity:1;background-color:var(--color-primary-600);border-color:var(--color-primary-600);color:var(--color-primary-100)}.active .cancelled-wrapper{color:var(--color-error-500)}.active .cancelled-edge{background-color:var(--color-error-500)}\n"]
3410
+ },] }
3411
+ ];
3412
+ OrderProcessNodeComponent.ctorParameters = function () { return [
3413
+ { type: i0.ElementRef }
3414
+ ]; };
3415
+ OrderProcessNodeComponent.propDecorators = {
3416
+ node: [{ type: i0.Input }],
3417
+ index: [{ type: i0.Input }],
3418
+ active: [{ type: i0.Input }]
3419
+ };
3420
+
3421
+ var OrderProcessGraphComponent = /** @class */ (function () {
3422
+ function OrderProcessGraphComponent(changeDetector) {
3423
+ this.changeDetector = changeDetector;
3424
+ this.setActiveState$ = new rxjs.BehaviorSubject(undefined);
3425
+ this.nodes = [];
3426
+ this.edges = [];
3427
+ }
3428
+ Object.defineProperty(OrderProcessGraphComponent.prototype, "outerHeight", {
3429
+ get: function () {
3430
+ return this.nodes.length * NODE_HEIGHT;
3431
+ },
3432
+ enumerable: false,
3433
+ configurable: true
3434
+ });
3435
+ OrderProcessGraphComponent.prototype.ngOnInit = function () {
3436
+ this.setActiveState$.next(this.initialState);
3437
+ this.activeState$ = this.setActiveState$.pipe(operators.debounceTime(150));
3438
+ };
3439
+ OrderProcessGraphComponent.prototype.ngOnChanges = function (changes) {
3440
+ this.populateNodes();
3441
+ };
3442
+ OrderProcessGraphComponent.prototype.ngAfterViewInit = function () {
3443
+ var _this = this;
3444
+ setTimeout(function () { return _this.populateEdges(); });
3445
+ };
3446
+ OrderProcessGraphComponent.prototype.onMouseOver = function (stateName) {
3447
+ this.setActiveState$.next(stateName);
3448
+ };
3449
+ OrderProcessGraphComponent.prototype.onMouseOut = function () {
3450
+ this.setActiveState$.next(this.initialState);
3451
+ };
3452
+ OrderProcessGraphComponent.prototype.getNodeFor = function (state) {
3453
+ if (this.nodeComponents) {
3454
+ return this.nodeComponents.find(function (n) { return n.node.name === state; });
3455
+ }
3456
+ };
3457
+ OrderProcessGraphComponent.prototype.populateNodes = function () {
3458
+ var e_1, _c, e_2, _d;
3459
+ var _a, _b;
3460
+ var stateNodeMap = new Map();
3461
+ try {
3462
+ for (var _e = __values(this.states), _f = _e.next(); !_f.done; _f = _e.next()) {
3463
+ var state = _f.value;
3464
+ stateNodeMap.set(state.name, {
3465
+ name: state.name,
3466
+ to: [],
3467
+ });
3468
+ }
3469
+ }
3470
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
3471
+ finally {
3472
+ try {
3473
+ if (_f && !_f.done && (_c = _e.return)) _c.call(_e);
3474
+ }
3475
+ finally { if (e_1) throw e_1.error; }
3476
+ }
3477
+ var _loop_1 = function (name, stateNode) {
3478
+ var e_3, _k;
3479
+ var targets = (_b = (_a = this_1.states.find(function (s) { return s.name === name; })) === null || _a === void 0 ? void 0 : _a.to) !== null && _b !== void 0 ? _b : [];
3480
+ try {
3481
+ for (var targets_1 = (e_3 = void 0, __values(targets)), targets_1_1 = targets_1.next(); !targets_1_1.done; targets_1_1 = targets_1.next()) {
3482
+ var target = targets_1_1.value;
3483
+ var targetNode = stateNodeMap.get(target);
3484
+ if (targetNode) {
3485
+ stateNode.to.push(targetNode);
3486
+ }
3487
+ }
3488
+ }
3489
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
3490
+ finally {
3491
+ try {
3492
+ if (targets_1_1 && !targets_1_1.done && (_k = targets_1.return)) _k.call(targets_1);
3493
+ }
3494
+ finally { if (e_3) throw e_3.error; }
3495
+ }
3496
+ };
3497
+ var this_1 = this;
3498
+ try {
3499
+ for (var _g = __values(stateNodeMap.entries()), _h = _g.next(); !_h.done; _h = _g.next()) {
3500
+ var _j = __read(_h.value, 2), name = _j[0], stateNode = _j[1];
3501
+ _loop_1(name, stateNode);
3502
+ }
3503
+ }
3504
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
3505
+ finally {
3506
+ try {
3507
+ if (_h && !_h.done && (_d = _g.return)) _d.call(_g);
3508
+ }
3509
+ finally { if (e_2) throw e_2.error; }
3510
+ }
3511
+ this.nodes = __spreadArray([], __read(stateNodeMap.values())).filter(function (n) { return n.name !== 'Cancelled'; });
3512
+ };
3513
+ OrderProcessGraphComponent.prototype.populateEdges = function () {
3514
+ var e_4, _c, e_5, _d;
3515
+ try {
3516
+ for (var _e = __values(this.nodes), _f = _e.next(); !_f.done; _f = _e.next()) {
3517
+ var node = _f.value;
3518
+ var nodeCmp = this.getNodeFor(node.name);
3519
+ var index = 0;
3520
+ try {
3521
+ for (var _g = (e_5 = void 0, __values(node.to)), _h = _g.next(); !_h.done; _h = _g.next()) {
3522
+ var to = _h.value;
3523
+ var toCmp = this.getNodeFor(to.name);
3524
+ if (nodeCmp && toCmp && nodeCmp !== toCmp) {
3525
+ this.edges.push({
3526
+ to: toCmp,
3527
+ from: nodeCmp,
3528
+ index: index,
3529
+ });
3530
+ index++;
3531
+ }
3532
+ }
3533
+ }
3534
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
3535
+ finally {
3536
+ try {
3537
+ if (_h && !_h.done && (_d = _g.return)) _d.call(_g);
3538
+ }
3539
+ finally { if (e_5) throw e_5.error; }
3540
+ }
3541
+ }
3542
+ }
3543
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
3544
+ finally {
3545
+ try {
3546
+ if (_f && !_f.done && (_c = _e.return)) _c.call(_e);
3547
+ }
3548
+ finally { if (e_4) throw e_4.error; }
3549
+ }
3550
+ this.edges = __spreadArray([], __read(this.edges));
3551
+ this.changeDetector.markForCheck();
3552
+ };
3553
+ return OrderProcessGraphComponent;
3554
+ }());
3555
+ OrderProcessGraphComponent.decorators = [
3556
+ { type: i0.Component, args: [{
3557
+ selector: 'vdr-order-process-graph',
3558
+ template: "<ng-container *ngFor=\"let state of nodes; let i = index\">\r\n <vdr-order-process-node\r\n [node]=\"state\"\r\n [index]=\"i\"\r\n [active]=\"(activeState$ | async) === state.name\"\r\n (mouseenter)=\"onMouseOver(state.name)\"\r\n (mouseleave)=\"onMouseOut()\"\r\n ></vdr-order-process-node>\r\n</ng-container>\r\n<ng-container *ngFor=\"let edge of edges\">\r\n <vdr-order-process-edge [from]=\"edge.from\" [to]=\"edge.to\" [index]=\"edge.index\"></vdr-order-process-edge>\r\n</ng-container>\r\n",
3559
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
3560
+ styles: [":host{display:block;border:1px hotpink;margin:20px;padding:12px;position:relative}.state-row{display:flex}\n"]
3561
+ },] }
3562
+ ];
3563
+ OrderProcessGraphComponent.ctorParameters = function () { return [
3564
+ { type: i0.ChangeDetectorRef }
3565
+ ]; };
3566
+ OrderProcessGraphComponent.propDecorators = {
3567
+ states: [{ type: i0.Input }],
3568
+ initialState: [{ type: i0.Input }],
3569
+ nodeComponents: [{ type: i0.ViewChildren, args: [OrderProcessNodeComponent,] }],
3570
+ outerHeight: [{ type: i0.HostBinding, args: ['style.height.px',] }]
3571
+ };
3572
+
3573
+ var OrderTableComponent = /** @class */ (function () {
3574
+ function OrderTableComponent() {
3575
+ this.isDraft = false;
3576
+ this.adjust = new i0.EventEmitter();
3577
+ this.remove = new i0.EventEmitter();
3578
+ this.orderLineCustomFieldsVisible = false;
3579
+ this.customFieldsForLine = {};
3580
+ }
3581
+ Object.defineProperty(OrderTableComponent.prototype, "visibleOrderLineCustomFields", {
3582
+ get: function () {
3583
+ return this.orderLineCustomFieldsVisible ? this.orderLineCustomFields : [];
3584
+ },
3585
+ enumerable: false,
3586
+ configurable: true
3587
+ });
3588
+ Object.defineProperty(OrderTableComponent.prototype, "showElided", {
3589
+ get: function () {
3590
+ return !this.orderLineCustomFieldsVisible && 0 < this.orderLineCustomFields.length;
3591
+ },
3592
+ enumerable: false,
3593
+ configurable: true
3594
+ });
3595
+ OrderTableComponent.prototype.ngOnInit = function () {
3596
+ this.orderLineCustomFieldsVisible = this.orderLineCustomFields.length < 2;
3597
+ this.getLineCustomFields();
3598
+ };
3599
+ OrderTableComponent.prototype.draftInputBlur = function (line, quantity) {
3600
+ if (line.quantity !== quantity) {
3601
+ this.adjust.emit({ lineId: line.id, quantity: quantity });
3602
+ }
3603
+ };
3604
+ OrderTableComponent.prototype.toggleOrderLineCustomFields = function () {
3605
+ this.orderLineCustomFieldsVisible = !this.orderLineCustomFieldsVisible;
3606
+ };
3607
+ OrderTableComponent.prototype.getLineDiscounts = function (line) {
3608
+ return line.discounts.filter(function (a) { return a.type === i1.AdjustmentType.PROMOTION; });
3609
+ };
3610
+ OrderTableComponent.prototype.getLineCustomFields = function () {
3611
+ var e_1, _a;
3612
+ var _this = this;
3613
+ var _loop_1 = function (line) {
3614
+ var formGroup = new forms.FormGroup({});
3615
+ var result = this_1.orderLineCustomFields
3616
+ .map(function (config) {
3617
+ var value = line.customFields[config.name];
3618
+ formGroup.addControl(config.name, new forms.FormControl(value));
3619
+ return {
3620
+ config: config,
3621
+ formGroup: formGroup,
3622
+ value: value,
3623
+ };
3624
+ })
3625
+ .filter(function (field) {
3626
+ return _this.orderLineCustomFieldsVisible ? true : field.value != null;
3627
+ });
3628
+ this_1.customFieldsForLine[line.id] = result;
3629
+ };
3630
+ var this_1 = this;
3631
+ try {
3632
+ for (var _b = __values(this.order.lines), _c = _b.next(); !_c.done; _c = _b.next()) {
3633
+ var line = _c.value;
3634
+ _loop_1(line);
3635
+ }
3636
+ }
3637
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
3638
+ finally {
3639
+ try {
3640
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
3641
+ }
3642
+ finally { if (e_1) throw e_1.error; }
3643
+ }
3644
+ };
3645
+ OrderTableComponent.prototype.getPromotionLink = function (promotion) {
3646
+ var id = promotion.adjustmentSource.split(':')[1];
3647
+ return ['/marketing', 'promotions', id];
3648
+ };
3649
+ OrderTableComponent.prototype.getCouponCodeForAdjustment = function (order, promotionAdjustment) {
3650
+ var id = promotionAdjustment.adjustmentSource.split(':')[1];
3651
+ var promotion = order.promotions.find(function (p) { return p.id === id; });
3652
+ if (promotion) {
3653
+ return promotion.couponCode || undefined;
3654
+ }
3655
+ };
3656
+ OrderTableComponent.prototype.getShippingNames = function (order) {
3657
+ if (order.shippingLines.length) {
3658
+ return order.shippingLines.map(function (shippingLine) { return shippingLine.shippingMethod.name; }).join(', ');
3659
+ }
3660
+ else {
3661
+ return '';
3662
+ }
3663
+ };
3664
+ return OrderTableComponent;
3665
+ }());
3666
+ OrderTableComponent.decorators = [
3667
+ { type: i0.Component, args: [{
3668
+ selector: 'vdr-order-table',
3669
+ template: "<table class=\"order-table table\">\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 <tbody>\r\n <ng-container *ngFor=\"let line of order.lines\">\r\n <tr class=\"order-line\" [class.is-cancelled]=\"line.quantity === 0\">\r\n <td class=\"align-middle thumb\">\r\n <img *ngIf=\"line.featuredAsset\" [src]=\"line.featuredAsset | assetPreview: 'tiny'\" />\r\n </td>\r\n <td class=\"align-middle name\">{{ line.productVariant.name }}</td>\r\n <td class=\"align-middle sku\">{{ line.productVariant.sku }}</td>\r\n <td class=\"align-middle unit-price\">\r\n {{ line.unitPriceWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ line.unitPrice | localeCurrency: order.currencyCode }}\r\n </div>\r\n </td>\r\n <td class=\"align-middle quantity\">\r\n <ng-container *ngIf=\"!isDraft; else draft\">\r\n {{ line.quantity }}\r\n </ng-container>\r\n <ng-template #draft>\r\n <div class=\"flex\">\r\n <input\r\n class=\"draft-qty\"\r\n type=\"number\"\r\n min=\"0\"\r\n #qtyInput\r\n [value]=\"line.quantity\"\r\n (blur)=\"draftInputBlur(line, qtyInput.valueAsNumber)\"\r\n />\r\n <button class=\"icon-button\" (click)=\"remove.emit({ lineId: line.id })\">\r\n <clr-icon shape=\"trash\"></clr-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\r\n <vdr-line-fulfillment [line]=\"line\" [orderState]=\"order.state\"></vdr-line-fulfillment>\r\n </td>\r\n <td class=\"align-middle total\">\r\n {{ line.linePriceWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ line.linePrice | localeCurrency: order.currencyCode }}\r\n </div>\r\n\r\n <ng-container *ngIf=\"getLineDiscounts(line) as discounts\">\r\n <vdr-dropdown *ngIf=\"discounts.length\">\r\n <div class=\"promotions-label\" vdrDropdownTrigger>\r\n {{ 'order.promotions-applied' | translate }}\r\n </div>\r\n <vdr-dropdown-menu>\r\n <div class=\"line-promotion\" *ngFor=\"let discount of discounts\">\r\n <a class=\"promotion-name\" [routerLink]=\"getPromotionLink(discount)\">{{\r\n discount.description\r\n }}</a>\r\n <div class=\"promotion-amount\">\r\n {{ discount.amountWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ discount.amount | localeCurrency: order.currencyCode }}\r\n </div>\r\n </div>\r\n </div>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </ng-container>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"customFieldsForLine[line.id] as customFields\">\r\n <tr *ngIf=\"customFields.length\">\r\n <td colspan=\"6\" class=\"custom-fields-row\">\r\n <div class=\"order-line-custom-fields\">\r\n <div class=\"custom-field\" *ngFor=\"let field of customFields\">\r\n <vdr-custom-field-control\r\n [compact]=\"true\"\r\n [readonly]=\"true\"\r\n [customField]=\"field.config\"\r\n [customFieldsFormGroup]=\"field.formGroup\"\r\n ></vdr-custom-field-control>\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n <tr class=\"surcharge\" *ngFor=\"let surcharge of order.surcharges\">\r\n <td class=\"align-middle name left\" colspan=\"2\">{{ surcharge.description }}</td>\r\n <td class=\"align-middle sku\">{{ surcharge.sku }}</td>\r\n <td class=\"align-middle\" colspan=\"2\"></td>\r\n <td class=\"align-middle total\">\r\n {{ surcharge.priceWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ surcharge.price | localeCurrency: order.currencyCode }}\r\n </div>\r\n </td>\r\n </tr>\r\n <ng-container *ngFor=\"let discount of order.discounts\">\r\n <tr class=\"order-adjustment\" *ngIf=\"discount.type !== 'OTHER'\">\r\n <td colspan=\"5\" class=\"left clr-align-middle\">\r\n <a [routerLink]=\"getPromotionLink(discount)\">{{ discount.description }}</a>\r\n <vdr-chip *ngIf=\"getCouponCodeForAdjustment(order, discount) as couponCode\">{{\r\n couponCode\r\n }}</vdr-chip>\r\n </td>\r\n <td class=\"clr-align-middle\">\r\n {{ discount.amountWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ discount.amount | localeCurrency: order.currencyCode }}\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <tr class=\"sub-total\">\r\n <td class=\"left clr-align-middle\">{{ 'order.sub-total' | translate }}</td>\r\n <td colspan=\"4\"></td>\r\n <td class=\"clr-align-middle\">\r\n {{ order.subTotalWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ order.subTotal | localeCurrency: order.currencyCode }}\r\n </div>\r\n </td>\r\n </tr>\r\n <tr class=\"shipping\">\r\n <td class=\"left clr-align-middle\">{{ 'order.shipping' | translate }}</td>\r\n <td class=\"clr-align-middle\">{{ getShippingNames(order) }}</td>\r\n <td colspan=\"3\"></td>\r\n <td class=\"clr-align-middle\">\r\n {{ order.shippingWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ order.shipping | localeCurrency: order.currencyCode }}\r\n </div>\r\n </td>\r\n </tr>\r\n <tr class=\"total\">\r\n <td class=\"left clr-align-middle\">{{ 'order.total' | translate }}</td>\r\n <td colspan=\"4\"></td>\r\n <td class=\"clr-align-middle\">\r\n {{ order.totalWithTax | localeCurrency: order.currencyCode }}\r\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\r\n {{ order.total | localeCurrency: order.currencyCode }}\r\n </div>\r\n </td>\r\n </tr>\r\n </tbody>\r\n</table>\r\n",
3670
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
3671
+ styles: [".order-table .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}.order-table .sub-total td{border-top:1px dashed var(--color-component-border-200)}.order-table .total td{font-weight:bold;border-top:1px dashed var(--color-component-border-200)}.order-table td.custom-fields-row{border-top-style:dashed;border-top-color:var(--color-grey-200)}.order-table img{border-radius:var(--border-radius-img)}.order-table .order-line-custom-fields{display:flex;flex-wrap:wrap}.order-table .order-line-custom-fields .custom-field{text-align:start;max-width:200px;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px;margin-right:18px}.order-table .draft-qty{max-width:48px}.order-table .order-line-custom-field{background-color:var(--color-component-bg-100)}.order-table .order-line-custom-field .custom-field-ellipsis{color:var(--color-text-300)}.order-table .net-price{font-size:11px;color:var(--color-text-300)}.order-table .promotions-label{-webkit-text-decoration:underline dotted var(--color-text-200);text-decoration:underline dotted var(--color-text-200);font-size:11px;margin-top:6px;cursor:pointer;text-transform:lowercase}.order-table .thumb img{width:50px;height:50px}::ng-deep .line-promotion{display:flex;justify-content:space-between;padding:6px 12px}::ng-deep .line-promotion .promotion-amount{margin-left:12px}::ng-deep .line-promotion .net-price{font-size:11px;color:var(--color-text-300)}\n"]
3672
+ },] }
3673
+ ];
3674
+ OrderTableComponent.propDecorators = {
3675
+ order: [{ type: i0.Input }],
3676
+ orderLineCustomFields: [{ type: i0.Input }],
3677
+ isDraft: [{ type: i0.Input }],
3678
+ adjust: [{ type: i0.Output }],
3679
+ remove: [{ type: i0.Output }]
3680
+ };
3681
+
3682
+ var PaymentDetailComponent = /** @class */ (function () {
3683
+ function PaymentDetailComponent() {
3684
+ }
3685
+ return PaymentDetailComponent;
3686
+ }());
3687
+ PaymentDetailComponent.decorators = [
3688
+ { type: i0.Component, args: [{
3689
+ selector: 'vdr-payment-detail',
3690
+ template: "<vdr-labeled-data [label]=\"'order.payment-method' | translate\">\r\n {{ payment.method }}\r\n</vdr-labeled-data>\r\n<vdr-labeled-data [label]=\"'order.amount' | translate\">\r\n {{ payment.amount | localeCurrency: currencyCode }}\r\n</vdr-labeled-data>\r\n<vdr-labeled-data *ngIf=\"payment.errorMessage\" [label]=\"'order.error-message' | translate\">\r\n {{ payment.errorMessage }}\r\n</vdr-labeled-data>\r\n<vdr-labeled-data *ngIf=\"payment.transactionId\" [label]=\"'order.transaction-id' | translate\">\r\n {{ payment.transactionId }}\r\n</vdr-labeled-data>\r\n<vdr-labeled-data [label]=\"'order.payment-metadata' | translate\">\r\n <vdr-object-tree [value]=\"payment.metadata\"></vdr-object-tree>\r\n</vdr-labeled-data>\r\n",
3691
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
3692
+ styles: [""]
3693
+ },] }
3694
+ ];
3695
+ PaymentDetailComponent.propDecorators = {
3696
+ payment: [{ type: i0.Input }],
3697
+ currencyCode: [{ type: i0.Input }]
3698
+ };
3699
+
3700
+ var PaymentStateLabelComponent = /** @class */ (function () {
3701
+ function PaymentStateLabelComponent() {
3702
+ }
3703
+ Object.defineProperty(PaymentStateLabelComponent.prototype, "chipColorType", {
3704
+ get: function () {
3705
+ switch (this.state) {
3706
+ case 'Authorized':
3707
+ return 'warning';
3708
+ case 'Settled':
3709
+ return 'success';
3710
+ case 'Declined':
3711
+ case 'Cancelled':
3712
+ return 'error';
3713
+ }
3714
+ },
3715
+ enumerable: false,
3716
+ configurable: true
3717
+ });
3718
+ return PaymentStateLabelComponent;
3719
+ }());
3720
+ PaymentStateLabelComponent.decorators = [
3721
+ { type: i0.Component, args: [{
3722
+ selector: 'vdr-payment-state-label',
3723
+ template: "<vdr-chip [title]=\"'order.payment-state' | translate\" [colorType]=\"chipColorType\">\r\n <clr-icon shape=\"check-circle\" *ngIf=\"state === 'Settled'\"></clr-icon>\r\n {{ state | stateI18nToken | translate }}\r\n</vdr-chip>\r\n",
3724
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
3725
+ styles: [":host{font-size:14px}\n"]
3726
+ },] }
3727
+ ];
3728
+ PaymentStateLabelComponent.propDecorators = {
3729
+ state: [{ type: i0.Input }]
3730
+ };
3731
+
3732
+ var RefundStateLabelComponent = /** @class */ (function () {
3733
+ function RefundStateLabelComponent() {
3734
+ }
3735
+ Object.defineProperty(RefundStateLabelComponent.prototype, "chipColorType", {
3736
+ get: function () {
3737
+ switch (this.state) {
3738
+ case 'Pending':
3739
+ return 'warning';
3740
+ case 'Settled':
3741
+ return 'success';
3742
+ case 'Failed':
3743
+ return 'error';
3744
+ }
3745
+ },
3746
+ enumerable: false,
3747
+ configurable: true
3748
+ });
3749
+ return RefundStateLabelComponent;
3750
+ }());
3751
+ RefundStateLabelComponent.decorators = [
3752
+ { type: i0.Component, args: [{
3753
+ selector: 'vdr-refund-state-label',
3754
+ template: "<vdr-chip [title]=\"'order.payment-state' | translate\" [colorType]=\"chipColorType\">\r\n <clr-icon shape=\"check-circle\" *ngIf=\"state === 'Settled'\"></clr-icon>\r\n {{ state | stateI18nToken | translate }}\r\n</vdr-chip>\r\n",
3755
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
3756
+ styles: [":host{font-size:14px}\n"]
3757
+ },] }
3758
+ ];
3759
+ RefundStateLabelComponent.propDecorators = {
3760
+ state: [{ type: i0.Input }]
3761
+ };
3762
+
3763
+ var SimpleItemListComponent = /** @class */ (function () {
3764
+ function SimpleItemListComponent() {
3765
+ }
3766
+ return SimpleItemListComponent;
3767
+ }());
3768
+ SimpleItemListComponent.decorators = [
3769
+ { type: i0.Component, args: [{
3770
+ selector: 'vdr-simple-item-list',
3771
+ template: "<div class=\"items-list\">\r\n <ul>\r\n <li *ngFor=\"let item of items\" [title]=\"item.name\">\r\n <div class=\"quantity\">{{ item.quantity }}</div>\r\n <clr-icon shape=\"times\" size=\"12\"></clr-icon>\r\n {{ item.name }}\r\n </li>\r\n </ul>\r\n</div>\r\n",
3772
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
3773
+ styles: [".items-list{font-size:12px}.items-list ul{margin-top:6px;list-style-type:none;margin-left:2px}.items-list ul li{line-height:14px;text-overflow:ellipsis;overflow:hidden}.items-list .quantity{min-width:16px;display:inline-block}\n"]
3774
+ },] }
3775
+ ];
3776
+ SimpleItemListComponent.propDecorators = {
3777
+ items: [{ type: i0.Input }]
3778
+ };
3779
+
3780
+ /**
3781
+ * Resolves the id from the path into a Customer entity.
3782
+ */
3783
+ var OrderResolver = /** @class */ (function () {
3784
+ function OrderResolver(router, dataService) {
3785
+ this.router = router;
3786
+ this.dataService = dataService;
3787
+ }
3788
+ /** @internal */
3789
+ OrderResolver.prototype.resolve = function (route, state) {
3790
+ var _this = this;
3791
+ var id = route.paramMap.get('id');
3792
+ // Complete the entity stream upon navigating away
3793
+ var navigateAway$ = this.router.events.pipe(operators.filter(function (event) { return event instanceof i1$1.ActivationStart; }));
3794
+ var stream = this.dataService.order
3795
+ .getOrder(id)
3796
+ .mapStream(function (data) { return data.order; })
3797
+ .pipe(operators.switchMap(function (order) {
3798
+ if ((order === null || order === void 0 ? void 0 : order.state) === 'Draft' && route.component !== DraftOrderDetailComponent) {
3799
+ // Make sure Draft orders only get displayed with the DraftOrderDetailComponent
3800
+ _this.router.navigate(['/orders/draft', id]);
3801
+ return rxjs.EMPTY;
3802
+ }
3803
+ else {
3804
+ return [order];
3805
+ }
3806
+ }), operators.takeUntil(navigateAway$), operators.filter(sharedUtils.notNullOrUndefined), operators.shareReplay(1));
3807
+ return stream.pipe(operators.take(1), operators.map(function () { return stream; }));
3808
+ };
3809
+ return OrderResolver;
3810
+ }());
3811
+ OrderResolver.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function OrderResolver_Factory() { return new OrderResolver(i0__namespace.ɵɵinject(i1__namespace$1.Router), i0__namespace.ɵɵinject(i1__namespace.DataService)); }, token: OrderResolver, providedIn: "root" });
3812
+ OrderResolver.decorators = [
3813
+ { type: i0.Injectable, args: [{
3814
+ providedIn: 'root',
3815
+ },] }
3816
+ ];
3817
+ OrderResolver.ctorParameters = function () { return [
3818
+ { type: i1$1.Router },
3819
+ { type: i1.DataService }
3820
+ ]; };
3821
+
3822
+ var OrderGuard = /** @class */ (function () {
3823
+ function OrderGuard(dataService, router) {
3824
+ this.dataService = dataService;
3825
+ this.router = router;
3826
+ }
3827
+ OrderGuard.prototype.canActivate = function (route, state) {
3828
+ var _this = this;
3829
+ var isDraft = state.url.includes('orders/draft');
3830
+ var id = route.paramMap.get('id');
3831
+ if (isDraft) {
3832
+ if (id === 'create') {
3833
+ return this.dataService.order
3834
+ .createDraftOrder()
3835
+ .pipe(operators.map(function (_a) {
3836
+ var createDraftOrder = _a.createDraftOrder;
3837
+ return _this.router.parseUrl("/orders/draft/" + createDraftOrder.id);
3838
+ }));
3839
+ }
3840
+ else {
3841
+ return true;
3842
+ }
3843
+ }
3844
+ else {
3845
+ return true;
3846
+ }
3847
+ };
3848
+ return OrderGuard;
3849
+ }());
3850
+ OrderGuard.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function OrderGuard_Factory() { return new OrderGuard(i0__namespace.ɵɵinject(i1__namespace.DataService), i0__namespace.ɵɵinject(i1__namespace$1.Router)); }, token: OrderGuard, providedIn: "root" });
3851
+ OrderGuard.decorators = [
3852
+ { type: i0.Injectable, args: [{
3853
+ providedIn: 'root',
3854
+ },] }
3855
+ ];
3856
+ OrderGuard.ctorParameters = function () { return [
3857
+ { type: i1.DataService },
3858
+ { type: i1$1.Router }
3859
+ ]; };
3860
+
3861
+ var ɵ0 = {
3862
+ breadcrumb: ngxTranslateExtractMarker.marker('breadcrumb.orders'),
3863
+ }, ɵ1 = {
3864
+ breadcrumb: orderBreadcrumb,
3865
+ }, ɵ2 = {
3866
+ breadcrumb: orderBreadcrumb,
3867
+ }, ɵ3 = {
3868
+ breadcrumb: modifyingOrderBreadcrumb,
3869
+ };
3870
+ var orderRoutes = [
3871
+ {
3872
+ path: '',
3873
+ component: OrderListComponent,
3874
+ data: ɵ0,
3875
+ },
3876
+ {
3877
+ path: 'draft/:id',
3878
+ component: DraftOrderDetailComponent,
3879
+ resolve: {
3880
+ entity: OrderResolver,
3881
+ },
3882
+ canActivate: [OrderGuard],
3883
+ canDeactivate: [i1.CanDeactivateDetailGuard],
3884
+ data: ɵ1,
3885
+ },
3886
+ {
3887
+ path: ':id',
3888
+ component: OrderDetailComponent,
3889
+ resolve: {
3890
+ entity: OrderResolver,
3891
+ },
3892
+ canActivate: [OrderGuard],
3893
+ canDeactivate: [i1.CanDeactivateDetailGuard],
3894
+ data: ɵ2,
3895
+ },
3896
+ {
3897
+ path: ':id/modify',
3898
+ component: OrderEditorComponent,
3899
+ resolve: {
3900
+ entity: OrderResolver,
3901
+ },
3902
+ // canDeactivate: [CanDeactivateDetailGuard],
3903
+ data: ɵ3,
3904
+ },
3905
+ ];
3906
+ function orderBreadcrumb(data, params) {
3907
+ return i1.detailBreadcrumb({
3908
+ entity: data.entity,
3909
+ id: params.id,
3910
+ breadcrumbKey: 'breadcrumb.orders',
3911
+ getName: function (order) { return order.code; },
3912
+ route: '',
3913
+ });
3914
+ }
3915
+ function modifyingOrderBreadcrumb(data, params) {
3916
+ return orderBreadcrumb(data, params).pipe(operators.map(function (breadcrumbs) {
3917
+ var modifiedBreadcrumbs = breadcrumbs.slice();
3918
+ modifiedBreadcrumbs[0].link[0] = '../';
3919
+ modifiedBreadcrumbs[1].link[0] = '../orders';
3920
+ return modifiedBreadcrumbs.concat({ label: ngxTranslateExtractMarker.marker('breadcrumb.modifying'), link: [''] });
3921
+ }));
3922
+ }
3923
+
3924
+ var OrderModule = /** @class */ (function () {
3925
+ function OrderModule() {
3926
+ }
3927
+ return OrderModule;
3928
+ }());
3929
+ OrderModule.decorators = [
3930
+ { type: i0.NgModule, args: [{
3931
+ imports: [i1.SharedModule, i1$1.RouterModule.forChild(orderRoutes)],
3932
+ declarations: [
3933
+ OrderListComponent,
3934
+ OrderDetailComponent,
3935
+ FulfillOrderDialogComponent,
3936
+ LineFulfillmentComponent,
3937
+ RefundOrderDialogComponent,
3938
+ CancelOrderDialogComponent,
3939
+ PaymentStateLabelComponent,
3940
+ LineRefundsComponent,
3941
+ OrderPaymentCardComponent,
3942
+ RefundStateLabelComponent,
3943
+ SettleRefundDialogComponent,
3944
+ OrderHistoryComponent,
3945
+ FulfillmentDetailComponent,
3946
+ PaymentDetailComponent,
3947
+ SimpleItemListComponent,
3948
+ OrderCustomFieldsCardComponent,
3949
+ OrderProcessGraphComponent,
3950
+ OrderProcessNodeComponent,
3951
+ OrderProcessEdgeComponent,
3952
+ OrderProcessGraphDialogComponent,
3953
+ FulfillmentStateLabelComponent,
3954
+ FulfillmentCardComponent,
3955
+ OrderEditorComponent,
3956
+ OrderTableComponent,
3957
+ OrderEditsPreviewDialogComponent,
3958
+ ModificationDetailComponent,
3959
+ AddManualPaymentDialogComponent,
3960
+ OrderStateSelectDialogComponent,
3961
+ DraftOrderDetailComponent,
3962
+ DraftOrderVariantSelectorComponent,
3963
+ SelectCustomerDialogComponent,
3964
+ SelectAddressDialogComponent,
3965
+ CouponCodeSelectorComponent,
3966
+ SelectShippingMethodDialogComponent,
3967
+ ],
3968
+ },] }
3969
+ ];
3970
+
3971
+ // This file was generated by the build-public-api.ts script
3972
+
3973
+ /**
3974
+ * Generated bundle index. Do not edit.
3975
+ */
3976
+
3977
+ exports.AddManualPaymentDialogComponent = AddManualPaymentDialogComponent;
3978
+ exports.CancelOrderDialogComponent = CancelOrderDialogComponent;
3979
+ exports.CouponCodeSelectorComponent = CouponCodeSelectorComponent;
3980
+ exports.DraftOrderDetailComponent = DraftOrderDetailComponent;
3981
+ exports.DraftOrderVariantSelectorComponent = DraftOrderVariantSelectorComponent;
3982
+ exports.FulfillOrderDialogComponent = FulfillOrderDialogComponent;
3983
+ exports.FulfillmentCardComponent = FulfillmentCardComponent;
3984
+ exports.FulfillmentDetailComponent = FulfillmentDetailComponent;
3985
+ exports.FulfillmentStateLabelComponent = FulfillmentStateLabelComponent;
3986
+ exports.GET_CUSTOMER_ADDRESSES = GET_CUSTOMER_ADDRESSES;
3987
+ exports.LineFulfillmentComponent = LineFulfillmentComponent;
3988
+ exports.LineRefundsComponent = LineRefundsComponent;
3989
+ exports.ModificationDetailComponent = ModificationDetailComponent;
3990
+ exports.NODE_HEIGHT = NODE_HEIGHT;
3991
+ exports.OrderCustomFieldsCardComponent = OrderCustomFieldsCardComponent;
3992
+ exports.OrderDetailComponent = OrderDetailComponent;
3993
+ exports.OrderEditorComponent = OrderEditorComponent;
3994
+ exports.OrderEditsPreviewDialogComponent = OrderEditsPreviewDialogComponent;
3995
+ exports.OrderGuard = OrderGuard;
3996
+ exports.OrderHistoryComponent = OrderHistoryComponent;
3997
+ exports.OrderListComponent = OrderListComponent;
3998
+ exports.OrderModule = OrderModule;
3999
+ exports.OrderPaymentCardComponent = OrderPaymentCardComponent;
4000
+ exports.OrderProcessEdgeComponent = OrderProcessEdgeComponent;
4001
+ exports.OrderProcessGraphComponent = OrderProcessGraphComponent;
4002
+ exports.OrderProcessGraphDialogComponent = OrderProcessGraphDialogComponent;
4003
+ exports.OrderProcessNodeComponent = OrderProcessNodeComponent;
4004
+ exports.OrderResolver = OrderResolver;
4005
+ exports.OrderStateSelectDialogComponent = OrderStateSelectDialogComponent;
4006
+ exports.OrderTableComponent = OrderTableComponent;
4007
+ exports.OrderTransitionService = OrderTransitionService;
4008
+ exports.PaymentDetailComponent = PaymentDetailComponent;
4009
+ exports.PaymentStateLabelComponent = PaymentStateLabelComponent;
4010
+ exports.RefundOrderDialogComponent = RefundOrderDialogComponent;
4011
+ exports.RefundStateLabelComponent = RefundStateLabelComponent;
4012
+ exports.SelectAddressDialogComponent = SelectAddressDialogComponent;
4013
+ exports.SelectCustomerDialogComponent = SelectCustomerDialogComponent;
4014
+ exports.SelectShippingMethodDialogComponent = SelectShippingMethodDialogComponent;
4015
+ exports.SettleRefundDialogComponent = SettleRefundDialogComponent;
4016
+ exports.SimpleItemListComponent = SimpleItemListComponent;
4017
+ exports.modifyingOrderBreadcrumb = modifyingOrderBreadcrumb;
4018
+ exports.orderBreadcrumb = orderBreadcrumb;
4019
+ exports.orderRoutes = orderRoutes;
4020
+ exports.ɵ0 = ɵ0;
4021
+ exports.ɵ1 = ɵ1;
4022
+ exports.ɵ2 = ɵ2;
4023
+ exports.ɵ3 = ɵ3;
4024
+
4025
+ Object.defineProperty(exports, '__esModule', { value: true });
4026
+
4027
+ })));
4028
+ //# sourceMappingURL=vendure-admin-ui-order.umd.js.map