@vendure/admin-ui 1.4.7 → 2.0.0-next.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 (1140) hide show
  1. package/catalog/catalog.module.d.ts +30 -0
  2. package/catalog/components/apply-facet-dialog/apply-facet-dialog.component.d.ts +5 -2
  3. package/catalog/components/asset-detail/asset-detail.component.d.ts +6 -4
  4. package/catalog/components/asset-list/asset-list.component.d.ts +5 -2
  5. package/catalog/components/{product-assets/product-assets.component.d.ts → assets/assets.component.d.ts} +7 -10
  6. package/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.d.ts +9 -7
  7. package/catalog/components/collection-contents/collection-contents.component.d.ts +5 -3
  8. package/catalog/components/collection-detail/collection-detail.component.d.ts +6 -3
  9. package/catalog/components/collection-list/collection-list.component.d.ts +6 -3
  10. package/catalog/components/collection-tree/collection-tree-node.component.d.ts +7 -3
  11. package/catalog/components/collection-tree/collection-tree.component.d.ts +10 -25
  12. package/catalog/components/collection-tree/collection-tree.service.d.ts +33 -0
  13. package/catalog/components/collection-tree/collection-tree.types.d.ts +7 -0
  14. package/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.d.ts +5 -2
  15. package/catalog/components/facet-detail/facet-detail.component.d.ts +7 -4
  16. package/catalog/components/facet-list/facet-list.component.d.ts +6 -3
  17. package/catalog/components/generate-product-variants/generate-product-variants.component.d.ts +3 -0
  18. package/catalog/components/option-value-input/option-value-input.component.d.ts +3 -0
  19. package/catalog/components/product-detail/product-detail.component.d.ts +17 -37
  20. package/catalog/components/product-detail/product-detail.types.d.ts +26 -0
  21. package/catalog/components/product-list/product-list.component.d.ts +6 -3
  22. package/catalog/components/product-options-editor/product-options-editor.component.d.ts +9 -4
  23. package/catalog/components/product-search-input/product-search-input.component.d.ts +9 -4
  24. package/catalog/components/product-variants-editor/product-variants-editor.component.d.ts +5 -2
  25. package/catalog/components/product-variants-list/product-variants-list.component.d.ts +24 -17
  26. package/catalog/components/product-variants-table/product-variants-table.component.d.ts +24 -11
  27. package/catalog/components/update-product-option-dialog/update-product-option-dialog.component.d.ts +5 -2
  28. package/catalog/components/variant-price-detail/variant-price-detail.component.d.ts +3 -0
  29. package/catalog/package.json +5 -6
  30. package/catalog/providers/product-detail/product-detail.service.d.ts +214 -93
  31. package/catalog/providers/routing/asset-resolver.d.ts +5 -3
  32. package/catalog/providers/routing/collection-resolver.d.ts +5 -2
  33. package/catalog/providers/routing/facet-resolver.d.ts +5 -4
  34. package/catalog/providers/routing/product-resolver.d.ts +5 -2
  35. package/catalog/providers/routing/product-variants-resolver.d.ts +5 -2
  36. package/catalog/public_api.d.ts +4 -1
  37. package/catalog/vendure-admin-ui-catalog.d.ts +1 -0
  38. package/core/app.component.d.ts +3 -0
  39. package/core/app.component.module.d.ts +7 -0
  40. package/core/common/base-detail.component.d.ts +2 -2
  41. package/core/common/base-entity-resolver.d.ts +1 -1
  42. package/core/common/base-list.component.d.ts +10 -0
  43. package/core/common/generated-types.d.ts +12045 -4197
  44. package/core/common/utilities/flatten-facet-values.d.ts +2 -2
  45. package/core/common/version.d.ts +1 -1
  46. package/core/components/app-shell/app-shell.component.d.ts +3 -0
  47. package/core/components/breadcrumb/breadcrumb.component.d.ts +3 -0
  48. package/core/components/channel-switcher/channel-switcher.component.d.ts +3 -0
  49. package/core/components/main-nav/main-nav.component.d.ts +3 -0
  50. package/core/components/notification/notification.component.d.ts +3 -0
  51. package/core/components/overlay-host/overlay-host.component.d.ts +3 -0
  52. package/core/components/theme-switcher/theme-switcher.component.d.ts +3 -0
  53. package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +4 -1
  54. package/core/components/user-menu/user-menu.component.d.ts +3 -0
  55. package/core/core.module.d.ts +18 -0
  56. package/core/data/client-state/client-defaults.d.ts +19 -7
  57. package/core/data/data.module.d.ts +6 -0
  58. package/core/data/definitions/administrator-definitions.d.ts +15 -15
  59. package/core/data/definitions/auth-definitions.d.ts +4 -4
  60. package/core/data/definitions/client-definitions.d.ts +16 -16
  61. package/core/data/definitions/collection-definitions.d.ts +9 -9
  62. package/core/data/definitions/customer-definitions.d.ts +22 -21
  63. package/core/data/definitions/facet-definitions.d.ts +10 -10
  64. package/core/data/definitions/order-definitions.d.ts +25 -25
  65. package/core/data/definitions/product-definitions.d.ts +44 -44
  66. package/core/data/definitions/promotion-definitions.d.ts +7 -7
  67. package/core/data/definitions/settings-definitions.d.ts +65 -65
  68. package/core/data/definitions/shared-definitions.d.ts +3 -3
  69. package/core/data/definitions/shipping-definitions.d.ts +9 -9
  70. package/core/data/providers/administrator-data.service.d.ts +15 -15
  71. package/core/data/providers/auth-data.service.d.ts +4 -3
  72. package/core/data/providers/base-data.service.d.ts +3 -0
  73. package/core/data/providers/client-data.service.d.ts +15 -14
  74. package/core/data/providers/collection-data.service.d.ts +11 -11
  75. package/core/data/providers/customer-data.service.d.ts +25 -24
  76. package/core/data/providers/data.service.d.ts +5 -2
  77. package/core/data/providers/facet-data.service.d.ts +12 -12
  78. package/core/data/providers/fetch-adapter.d.ts +3 -0
  79. package/core/data/providers/interceptor.d.ts +3 -0
  80. package/core/data/providers/order-data.service.d.ts +21 -21
  81. package/core/data/providers/product-data.service.d.ts +51 -51
  82. package/core/data/providers/promotion-data.service.d.ts +8 -8
  83. package/core/data/providers/settings-data.service.d.ts +52 -51
  84. package/core/data/providers/shipping-method-data.service.d.ts +12 -12
  85. package/core/data/query-result.d.ts +1 -1
  86. package/core/data/server-config.d.ts +5 -2
  87. package/core/package.json +5 -6
  88. package/core/providers/auth/auth.service.d.ts +5 -2
  89. package/core/providers/component-registry/component-registry.service.d.ts +3 -0
  90. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +3 -0
  91. package/core/providers/custom-field-component/custom-field-component.service.d.ts +3 -0
  92. package/core/providers/dashboard-widget/dashboard-widget.service.d.ts +3 -0
  93. package/core/providers/guard/auth.guard.d.ts +3 -0
  94. package/core/providers/health-check/health-check.service.d.ts +3 -0
  95. package/core/providers/i18n/custom-message-format-compiler.d.ts +3 -0
  96. package/core/providers/i18n/i18n.service.d.ts +3 -0
  97. package/core/providers/job-queue/job-queue.service.d.ts +3 -0
  98. package/core/providers/local-storage/local-storage.service.d.ts +3 -0
  99. package/core/providers/modal/modal.service.d.ts +4 -67
  100. package/core/providers/modal/modal.types.d.ts +67 -0
  101. package/core/providers/nav-builder/nav-builder.service.d.ts +3 -0
  102. package/core/providers/notification/notification.service.d.ts +3 -0
  103. package/core/providers/overlay-host/overlay-host.service.d.ts +3 -0
  104. package/core/public_api.d.ts +3 -0
  105. package/core/shared/components/action-bar/action-bar.component.d.ts +7 -0
  106. package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +3 -0
  107. package/core/shared/components/address-form/address-form.component.d.ts +5 -2
  108. package/core/shared/components/affixed-input/affixed-input.component.d.ts +3 -0
  109. package/core/shared/components/affixed-input/percentage-suffix-input.component.d.ts +3 -0
  110. package/core/shared/components/asset-file-input/asset-file-input.component.d.ts +3 -0
  111. package/core/shared/components/asset-gallery/asset-gallery.component.d.ts +46 -26
  112. package/core/shared/components/asset-gallery/asset-gallery.types.d.ts +3 -0
  113. package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +7 -3
  114. package/core/shared/components/asset-preview/asset-preview.component.d.ts +5 -3
  115. package/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.d.ts +7 -5
  116. package/core/shared/components/asset-preview-links/asset-preview-links.component.d.ts +8 -0
  117. package/core/shared/components/asset-search-input/asset-search-input.component.d.ts +5 -2
  118. package/core/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +3 -0
  119. package/core/shared/components/channel-badge/channel-badge.component.d.ts +3 -0
  120. package/core/shared/components/chip/chip.component.d.ts +3 -0
  121. package/core/shared/components/configurable-input/configurable-input.component.d.ts +3 -0
  122. package/core/shared/components/currency-input/currency-input.component.d.ts +3 -0
  123. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +3 -0
  124. package/core/shared/components/custom-field-control/custom-field-control.component.d.ts +3 -0
  125. package/core/shared/components/customer-label/customer-label.component.d.ts +5 -2
  126. package/core/shared/components/data-table/data-table-column.component.d.ts +3 -0
  127. package/core/shared/components/data-table/data-table.component.d.ts +3 -0
  128. package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +3 -0
  129. package/core/shared/components/datetime-picker/datetime-picker.service.d.ts +3 -0
  130. package/core/shared/components/dropdown/dropdown-item.directive.d.ts +3 -0
  131. package/core/shared/components/dropdown/dropdown-menu.component.d.ts +3 -0
  132. package/core/shared/components/dropdown/dropdown-trigger.directive.d.ts +3 -0
  133. package/core/shared/components/dropdown/dropdown.component.d.ts +3 -0
  134. package/core/shared/components/edit-note-dialog/edit-note-dialog.component.d.ts +4 -1
  135. package/core/shared/components/empty-placeholder/empty-placeholder.component.d.ts +3 -0
  136. package/core/shared/components/entity-info/entity-info.component.d.ts +3 -0
  137. package/core/shared/components/extension-host/extension-host.component.d.ts +3 -0
  138. package/core/shared/components/extension-host/extension-host.service.d.ts +3 -0
  139. package/core/shared/components/facet-value-chip/facet-value-chip.component.d.ts +5 -2
  140. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +8 -5
  141. package/core/shared/components/focal-point-control/focal-point-control.component.d.ts +3 -0
  142. package/core/shared/components/form-field/form-field-control.directive.d.ts +3 -0
  143. package/core/shared/components/form-field/form-field.component.d.ts +3 -0
  144. package/core/shared/components/form-item/form-item.component.d.ts +3 -0
  145. package/core/shared/components/formatted-address/formatted-address.component.d.ts +3 -0
  146. package/core/shared/components/help-tooltip/help-tooltip.component.d.ts +3 -0
  147. package/core/shared/components/history-entry-detail/history-entry-detail.component.d.ts +3 -0
  148. package/core/shared/components/items-per-page-controls/items-per-page-controls.component.d.ts +3 -0
  149. package/core/shared/components/labeled-data/labeled-data.component.d.ts +3 -0
  150. package/core/shared/components/language-selector/language-selector.component.d.ts +3 -0
  151. package/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.d.ts +6 -3
  152. package/core/shared/components/modal-dialog/dialog-buttons.directive.d.ts +3 -0
  153. package/core/shared/components/modal-dialog/dialog-component-outlet.component.d.ts +3 -0
  154. package/core/shared/components/modal-dialog/dialog-title.directive.d.ts +3 -0
  155. package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +4 -1
  156. package/core/shared/components/object-tree/object-tree.component.d.ts +3 -0
  157. package/core/shared/components/order-state-label/order-state-label.component.d.ts +4 -1
  158. package/core/shared/components/pagination-controls/pagination-controls.component.d.ts +3 -0
  159. package/core/shared/components/product-selector/product-selector.component.d.ts +23 -13
  160. package/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.d.ts +4 -1
  161. package/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.d.ts +4 -1
  162. package/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.d.ts +3 -0
  163. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +3 -0
  164. package/core/shared/components/select-toggle/select-toggle.component.d.ts +3 -0
  165. package/core/shared/components/simple-dialog/simple-dialog.component.d.ts +4 -1
  166. package/core/shared/components/status-badge/status-badge.component.d.ts +3 -0
  167. package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +3 -0
  168. package/core/shared/components/table-row-action/table-row-action.component.d.ts +3 -0
  169. package/core/shared/components/tag-selector/tag-selector.component.d.ts +3 -0
  170. package/core/shared/components/timeline-entry/timeline-entry.component.d.ts +3 -0
  171. package/core/shared/components/title-input/title-input.component.d.ts +3 -0
  172. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +3 -0
  173. package/core/shared/directives/disabled.directive.d.ts +3 -0
  174. package/core/shared/directives/if-default-channel-active.directive.d.ts +3 -0
  175. package/core/shared/directives/if-directive-base.d.ts +3 -0
  176. package/core/shared/directives/if-multichannel.directive.d.ts +3 -0
  177. package/core/shared/directives/if-permissions.directive.d.ts +3 -0
  178. package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +3 -0
  179. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +3 -0
  180. package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +3 -0
  181. package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +7 -3
  182. package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +3 -0
  183. package/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.d.ts +3 -0
  184. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +5 -2
  185. package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +3 -0
  186. package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +3 -0
  187. package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +6 -3
  188. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +1 -1
  189. package/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.d.ts +6 -3
  190. package/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.d.ts +6 -2
  191. package/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.d.ts +7 -3
  192. package/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.d.ts +7 -3
  193. package/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.d.ts +7 -0
  194. package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +3 -0
  195. package/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.d.ts +4 -1
  196. package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +3 -0
  197. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +3 -0
  198. package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +3 -0
  199. package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +3 -0
  200. package/core/shared/pipes/asset-preview.pipe.d.ts +3 -0
  201. package/core/shared/pipes/channel-label.pipe.d.ts +3 -0
  202. package/core/shared/pipes/custom-field-label.pipe.d.ts +3 -0
  203. package/core/shared/pipes/duration.pipe.d.ts +3 -0
  204. package/core/shared/pipes/file-size.pipe.d.ts +3 -0
  205. package/core/shared/pipes/has-permission.pipe.d.ts +3 -0
  206. package/core/shared/pipes/locale-base.pipe.d.ts +3 -0
  207. package/core/shared/pipes/locale-currency-name.pipe.d.ts +3 -0
  208. package/core/shared/pipes/locale-currency.pipe.d.ts +3 -0
  209. package/core/shared/pipes/locale-date.pipe.d.ts +3 -0
  210. package/core/shared/pipes/locale-language-name.pipe.d.ts +3 -0
  211. package/core/shared/pipes/locale-region-name.pipe.d.ts +3 -0
  212. package/core/shared/pipes/sentence-case.pipe.d.ts +3 -0
  213. package/core/shared/pipes/sort.pipe.d.ts +3 -0
  214. package/core/shared/pipes/state-i18n-token.pipe.d.ts +3 -0
  215. package/core/shared/pipes/string-to-color.pipe.d.ts +3 -0
  216. package/core/shared/pipes/time-ago.pipe.d.ts +3 -0
  217. package/core/shared/providers/routing/can-deactivate-detail-guard.d.ts +3 -0
  218. package/core/shared/shared.module.d.ts +118 -0
  219. package/core/vendure-admin-ui-core.d.ts +1 -0
  220. package/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.d.ts +6 -3
  221. package/customer/components/address-card/address-card.component.d.ts +7 -2
  222. package/customer/components/address-detail-dialog/address-detail-dialog.component.d.ts +5 -2
  223. package/customer/components/customer-detail/customer-detail.component.d.ts +10 -5
  224. package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +3 -0
  225. package/customer/components/customer-group-list/customer-group-list.component.d.ts +10 -7
  226. package/customer/components/customer-group-member-list/customer-group-member-list.component.d.ts +3 -0
  227. package/customer/components/customer-history/customer-history.component.d.ts +12 -7
  228. package/customer/components/customer-list/customer-list.component.d.ts +7 -5
  229. package/customer/components/customer-status-label/customer-status-label.component.d.ts +5 -2
  230. package/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.d.ts +5 -2
  231. package/customer/customer.module.d.ts +17 -0
  232. package/customer/package.json +5 -6
  233. package/customer/providers/routing/customer-resolver.d.ts +5 -4
  234. package/customer/vendure-admin-ui-customer.d.ts +1 -0
  235. package/dashboard/components/dashboard/dashboard.component.d.ts +3 -0
  236. package/dashboard/components/dashboard-widget/dashboard-widget.component.d.ts +3 -0
  237. package/dashboard/dashboard.module.d.ts +8 -0
  238. package/dashboard/package.json +5 -6
  239. package/dashboard/vendure-admin-ui-dashboard.d.ts +1 -0
  240. package/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.d.ts +9 -2
  241. package/dashboard/widgets/order-summary-widget/order-summary-widget.component.d.ts +7 -0
  242. package/dashboard/widgets/test-widget/test-widget.component.d.ts +6 -0
  243. package/dashboard/widgets/welcome-widget/welcome-widget.component.d.ts +9 -2
  244. package/esm2020/catalog/catalog.module.mjs +116 -0
  245. package/esm2020/catalog/catalog.routes.mjs +174 -0
  246. package/esm2020/catalog/components/apply-facet-dialog/apply-facet-dialog.component.mjs +30 -0
  247. package/esm2020/catalog/components/asset-detail/asset-detail.component.mjs +66 -0
  248. package/esm2020/catalog/components/asset-list/asset-list.component.mjs +120 -0
  249. package/esm2020/catalog/components/assets/assets.component.mjs +100 -0
  250. package/esm2020/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.mjs +104 -0
  251. package/esm2020/catalog/components/collection-contents/collection-contents.component.mjs +76 -0
  252. package/esm2020/catalog/components/collection-detail/collection-detail.component.mjs +210 -0
  253. package/esm2020/catalog/components/collection-list/collection-list.component.mjs +120 -0
  254. package/esm2020/catalog/components/collection-tree/array-to-tree.mjs +56 -0
  255. package/esm2020/catalog/components/collection-tree/collection-tree-node.component.mjs +99 -0
  256. package/esm2020/catalog/components/collection-tree/collection-tree.component.mjs +44 -0
  257. package/esm2020/catalog/components/collection-tree/collection-tree.service.mjs +68 -0
  258. package/esm2020/catalog/components/collection-tree/collection-tree.types.mjs +2 -0
  259. package/esm2020/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.mjs +23 -0
  260. package/esm2020/catalog/components/facet-detail/facet-detail.component.mjs +321 -0
  261. package/esm2020/catalog/components/facet-list/facet-list.component.mjs +104 -0
  262. package/esm2020/catalog/components/generate-product-variants/generate-product-variants.component.mjs +79 -0
  263. package/esm2020/catalog/components/option-value-input/option-value-input.component.mjs +97 -0
  264. package/esm2020/catalog/components/product-detail/product-detail.component.mjs +520 -0
  265. package/esm2020/catalog/components/product-detail/product-detail.types.mjs +2 -0
  266. package/esm2020/catalog/components/product-list/product-list.component.mjs +150 -0
  267. package/esm2020/catalog/components/product-options-editor/product-options-editor.component.mjs +151 -0
  268. package/esm2020/catalog/components/product-search-input/product-search-input.component.mjs +107 -0
  269. package/esm2020/catalog/components/product-variants-editor/product-variants-editor.component.mjs +313 -0
  270. package/esm2020/catalog/components/product-variants-list/product-variants-list.component.mjs +226 -0
  271. package/esm2020/catalog/components/product-variants-table/product-variants-table.component.mjs +72 -0
  272. package/esm2020/catalog/components/update-product-option-dialog/update-product-option-dialog.component.mjs +64 -0
  273. package/esm2020/catalog/components/variant-price-detail/variant-price-detail.component.mjs +61 -0
  274. package/esm2020/catalog/providers/product-detail/product-detail.service.mjs +224 -0
  275. package/{esm2015/catalog/providers/product-detail/replace-last.js → esm2020/catalog/providers/product-detail/replace-last.mjs} +0 -0
  276. package/esm2020/catalog/providers/routing/asset-resolver.mjs +33 -0
  277. package/esm2020/catalog/providers/routing/collection-resolver.mjs +35 -0
  278. package/esm2020/catalog/providers/routing/facet-resolver.mjs +30 -0
  279. package/esm2020/catalog/providers/routing/product-resolver.mjs +39 -0
  280. package/esm2020/catalog/providers/routing/product-variants-resolver.mjs +27 -0
  281. package/esm2020/catalog/public_api.mjs +39 -0
  282. package/{esm2015/catalog/vendure-admin-ui-catalog.js → esm2020/catalog/vendure-admin-ui-catalog.mjs} +0 -0
  283. package/esm2020/core/app.component.mjs +79 -0
  284. package/esm2020/core/app.component.module.mjs +19 -0
  285. package/{esm2015/core/app.config.js → esm2020/core/app.config.mjs} +0 -0
  286. package/esm2020/core/common/base-detail.component.mjs +108 -0
  287. package/{esm2015/core/common/base-entity-resolver.js → esm2020/core/common/base-entity-resolver.mjs} +2 -2
  288. package/esm2020/core/common/base-list.component.mjs +159 -0
  289. package/{esm2015/core/common/component-registry-types.js → esm2020/core/common/component-registry-types.mjs} +0 -0
  290. package/{esm2015/core/common/deactivate-aware.js → esm2020/core/common/deactivate-aware.mjs} +0 -0
  291. package/{esm2015/core/common/detail-breadcrumb.js → esm2020/core/common/detail-breadcrumb.mjs} +0 -0
  292. package/esm2020/core/common/generated-types.mjs +954 -0
  293. package/{esm2015/core/common/introspection-result-wrapper.js → esm2020/core/common/introspection-result-wrapper.mjs} +0 -0
  294. package/esm2020/core/common/introspection-result.mjs +187 -0
  295. package/{esm2015/core/common/single-search-selection-model.js → esm2020/core/common/single-search-selection-model.mjs} +0 -0
  296. package/esm2020/core/common/utilities/configurable-operation-utils.mjs +83 -0
  297. package/esm2020/core/common/utilities/create-updated-translatable.mjs +75 -0
  298. package/esm2020/core/common/utilities/find-translation.mjs +9 -0
  299. package/esm2020/core/common/utilities/flatten-facet-values.mjs +4 -0
  300. package/esm2020/core/common/utilities/get-default-ui-language.mjs +12 -0
  301. package/{esm2015/core/common/utilities/interpolate-description.js → esm2020/core/common/utilities/interpolate-description.mjs} +0 -0
  302. package/{esm2015/core/common/utilities/string-to-color.js → esm2020/core/common/utilities/string-to-color.mjs} +0 -0
  303. package/{esm2015/core/common/version.js → esm2020/core/common/version.mjs} +2 -2
  304. package/esm2020/core/components/app-shell/app-shell.component.mjs +76 -0
  305. package/esm2020/core/components/breadcrumb/breadcrumb.component.mjs +124 -0
  306. package/esm2020/core/components/channel-switcher/channel-switcher.component.mjs +58 -0
  307. package/esm2020/core/components/main-nav/main-nav.component.mjs +270 -0
  308. package/esm2020/core/components/notification/notification.component.mjs +76 -0
  309. package/esm2020/core/components/overlay-host/overlay-host.component.mjs +22 -0
  310. package/esm2020/core/components/theme-switcher/theme-switcher.component.mjs +29 -0
  311. package/esm2020/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.mjs +305 -0
  312. package/esm2020/core/components/user-menu/user-menu.component.mjs +37 -0
  313. package/esm2020/core/core.module.mjs +145 -0
  314. package/{esm2015/core/data/check-jobs-link.js → esm2020/core/data/check-jobs-link.mjs} +0 -0
  315. package/{esm2015/core/data/client-state/client-defaults.js → esm2020/core/data/client-state/client-defaults.mjs} +1 -1
  316. package/esm2020/core/data/client-state/client-resolvers.mjs +131 -0
  317. package/esm2020/core/data/data.module.mjs +126 -0
  318. package/{esm2015/core/data/definitions/administrator-definitions.js → esm2020/core/data/definitions/administrator-definitions.mjs} +0 -0
  319. package/{esm2015/core/data/definitions/auth-definitions.js → esm2020/core/data/definitions/auth-definitions.mjs} +0 -0
  320. package/{esm2015/core/data/definitions/client-definitions.js → esm2020/core/data/definitions/client-definitions.mjs} +0 -0
  321. package/{esm2015/core/data/definitions/collection-definitions.js → esm2020/core/data/definitions/collection-definitions.mjs} +0 -0
  322. package/esm2020/core/data/definitions/customer-definitions.mjs +265 -0
  323. package/{esm2015/core/data/definitions/facet-definitions.js → esm2020/core/data/definitions/facet-definitions.mjs} +0 -0
  324. package/{esm2015/core/data/definitions/order-definitions.js → esm2020/core/data/definitions/order-definitions.mjs} +0 -0
  325. package/{esm2015/core/data/definitions/product-definitions.js → esm2020/core/data/definitions/product-definitions.mjs} +0 -0
  326. package/{esm2015/core/data/definitions/promotion-definitions.js → esm2020/core/data/definitions/promotion-definitions.mjs} +0 -0
  327. package/{esm2015/core/data/definitions/settings-definitions.js → esm2020/core/data/definitions/settings-definitions.mjs} +0 -0
  328. package/{esm2015/core/data/definitions/shared-definitions.js → esm2020/core/data/definitions/shared-definitions.mjs} +0 -0
  329. package/{esm2015/core/data/definitions/shipping-definitions.js → esm2020/core/data/definitions/shipping-definitions.mjs} +0 -0
  330. package/{esm2015/core/data/omit-typename-link.js → esm2020/core/data/omit-typename-link.mjs} +0 -0
  331. package/esm2020/core/data/providers/administrator-data.service.mjs +63 -0
  332. package/esm2020/core/data/providers/auth-data.service.mjs +20 -0
  333. package/esm2020/core/data/providers/base-data.service.mjs +69 -0
  334. package/esm2020/core/data/providers/client-data.service.mjs +75 -0
  335. package/esm2020/core/data/providers/collection-data.service.mjs +72 -0
  336. package/esm2020/core/data/providers/customer-data.service.mjs +120 -0
  337. package/esm2020/core/data/providers/data.service.mjs +90 -0
  338. package/esm2020/core/data/providers/facet-data.service.mjs +60 -0
  339. package/esm2020/core/data/providers/fetch-adapter.mjs +36 -0
  340. package/esm2020/core/data/providers/interceptor.mjs +136 -0
  341. package/esm2020/core/data/providers/order-data.service.mjs +100 -0
  342. package/esm2020/core/data/providers/product-data.service.mjs +240 -0
  343. package/esm2020/core/data/providers/promotion-data.service.mjs +36 -0
  344. package/esm2020/core/data/providers/settings-data.service.mjs +235 -0
  345. package/esm2020/core/data/providers/shipping-method-data.service.mjs +66 -0
  346. package/{esm2015/core/data/query-result.js → esm2020/core/data/query-result.mjs} +1 -1
  347. package/esm2020/core/data/server-config.mjs +74 -0
  348. package/esm2020/core/data/utils/add-custom-fields.mjs +84 -0
  349. package/{esm2015/core/data/utils/get-server-location.js → esm2020/core/data/utils/get-server-location.mjs} +0 -0
  350. package/{esm2015/core/data/utils/remove-readonly-custom-fields.js → esm2020/core/data/utils/remove-readonly-custom-fields.mjs} +1 -1
  351. package/esm2020/core/data/utils/transform-relation-custom-field-inputs.mjs +46 -0
  352. package/esm2020/core/providers/auth/auth.service.mjs +104 -0
  353. package/esm2020/core/providers/component-registry/component-registry.service.mjs +25 -0
  354. package/{esm2015/core/providers/custom-detail-component/custom-detail-component-types.js → esm2020/core/providers/custom-detail-component/custom-detail-component-types.mjs} +0 -0
  355. package/esm2020/core/providers/custom-detail-component/custom-detail-component.service.mjs +44 -0
  356. package/esm2020/core/providers/custom-field-component/custom-field-component.service.mjs +45 -0
  357. package/{esm2015/core/providers/dashboard-widget/dashboard-widget-types.js → esm2020/core/providers/dashboard-widget/dashboard-widget-types.mjs} +0 -0
  358. package/esm2020/core/providers/dashboard-widget/dashboard-widget.service.mjs +98 -0
  359. package/{esm2015/core/providers/dashboard-widget/register-dashboard-widget.js → esm2020/core/providers/dashboard-widget/register-dashboard-widget.mjs} +0 -0
  360. package/esm2020/core/providers/guard/auth.guard.mjs +38 -0
  361. package/esm2020/core/providers/health-check/health-check.service.mjs +36 -0
  362. package/{esm2015/core/providers/i18n/custom-http-loader.js → esm2020/core/providers/i18n/custom-http-loader.mjs} +0 -0
  363. package/esm2020/core/providers/i18n/custom-message-format-compiler.mjs +31 -0
  364. package/esm2020/core/providers/i18n/i18n.service.mjs +54 -0
  365. package/esm2020/core/providers/job-queue/job-queue.service.mjs +91 -0
  366. package/esm2020/core/providers/local-storage/local-storage.service.mjs +77 -0
  367. package/esm2020/core/providers/modal/modal.service.mjs +97 -0
  368. package/esm2020/core/providers/modal/modal.types.mjs +2 -0
  369. package/{esm2015/core/providers/nav-builder/nav-builder-types.js → esm2020/core/providers/nav-builder/nav-builder-types.mjs} +0 -0
  370. package/esm2020/core/providers/nav-builder/nav-builder.service.mjs +268 -0
  371. package/esm2020/core/providers/notification/notification.service.mjs +157 -0
  372. package/esm2020/core/providers/overlay-host/overlay-host.service.mjs +48 -0
  373. package/esm2020/core/public_api.mjs +220 -0
  374. package/esm2020/core/shared/components/action-bar/action-bar.component.mjs +57 -0
  375. package/esm2020/core/shared/components/action-bar-items/action-bar-items.component.mjs +78 -0
  376. package/esm2020/core/shared/components/address-form/address-form.component.mjs +23 -0
  377. package/esm2020/core/shared/components/affixed-input/affixed-input.component.mjs +19 -0
  378. package/esm2020/core/shared/components/affixed-input/percentage-suffix-input.component.mjs +97 -0
  379. package/esm2020/core/shared/components/asset-file-input/asset-file-input.component.mjs +97 -0
  380. package/esm2020/core/shared/components/asset-gallery/asset-gallery.component.mjs +110 -0
  381. package/esm2020/core/shared/components/asset-gallery/asset-gallery.types.mjs +2 -0
  382. package/esm2020/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +144 -0
  383. package/esm2020/core/shared/components/asset-preview/asset-preview.component.mjs +189 -0
  384. package/esm2020/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.mjs +34 -0
  385. package/esm2020/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +26 -0
  386. package/esm2020/core/shared/components/asset-search-input/asset-search-input.component.mjs +106 -0
  387. package/esm2020/core/shared/components/channel-assignment-control/channel-assignment-control.component.mjs +116 -0
  388. package/esm2020/core/shared/components/channel-badge/channel-badge.component.mjs +19 -0
  389. package/esm2020/core/shared/components/chip/chip.component.mjs +47 -0
  390. package/esm2020/core/shared/components/configurable-input/configurable-input.component.mjs +144 -0
  391. package/esm2020/core/shared/components/currency-input/currency-input.component.mjs +152 -0
  392. package/esm2020/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.mjs +40 -0
  393. package/esm2020/core/shared/components/custom-field-control/custom-field-control.component.mjs +83 -0
  394. package/esm2020/core/shared/components/customer-label/customer-label.component.mjs +17 -0
  395. package/esm2020/core/shared/components/data-table/data-table-column.component.mjs +29 -0
  396. package/esm2020/core/shared/components/data-table/data-table.component.mjs +124 -0
  397. package/{esm2015/core/shared/components/datetime-picker/constants.js → esm2020/core/shared/components/datetime-picker/constants.mjs} +0 -0
  398. package/esm2020/core/shared/components/datetime-picker/datetime-picker.component.mjs +226 -0
  399. package/esm2020/core/shared/components/datetime-picker/datetime-picker.service.mjs +201 -0
  400. package/{esm2015/core/shared/components/datetime-picker/types.js → esm2020/core/shared/components/datetime-picker/types.mjs} +0 -0
  401. package/esm2020/core/shared/components/dropdown/dropdown-item.directive.mjs +25 -0
  402. package/esm2020/core/shared/components/dropdown/dropdown-menu.component.mjs +127 -0
  403. package/esm2020/core/shared/components/dropdown/dropdown-trigger.directive.mjs +25 -0
  404. package/esm2020/core/shared/components/dropdown/dropdown.component.mjs +58 -0
  405. package/esm2020/core/shared/components/edit-note-dialog/edit-note-dialog.component.mjs +32 -0
  406. package/esm2020/core/shared/components/empty-placeholder/empty-placeholder.component.mjs +16 -0
  407. package/esm2020/core/shared/components/entity-info/entity-info.component.mjs +26 -0
  408. package/{esm2015/core/shared/components/extension-host/extension-host-config.js → esm2020/core/shared/components/extension-host/extension-host-config.mjs} +0 -0
  409. package/esm2020/core/shared/components/extension-host/extension-host.component.mjs +80 -0
  410. package/esm2020/core/shared/components/extension-host/extension-host.service.mjs +99 -0
  411. package/{esm2015/core/shared/components/extension-host/host-external-frame.js → esm2020/core/shared/components/extension-host/host-external-frame.mjs} +0 -0
  412. package/esm2020/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +26 -0
  413. package/esm2020/core/shared/components/facet-value-selector/facet-value-selector.component.mjs +121 -0
  414. package/esm2020/core/shared/components/focal-point-control/focal-point-control.component.mjs +71 -0
  415. package/esm2020/core/shared/components/form-field/form-field-control.directive.mjs +37 -0
  416. package/esm2020/core/shared/components/form-field/form-field.component.mjs +70 -0
  417. package/esm2020/core/shared/components/form-item/form-item.component.mjs +18 -0
  418. package/esm2020/core/shared/components/formatted-address/formatted-address.component.mjs +38 -0
  419. package/esm2020/core/shared/components/help-tooltip/help-tooltip.component.mjs +16 -0
  420. package/esm2020/core/shared/components/history-entry-detail/history-entry-detail.component.mjs +16 -0
  421. package/esm2020/core/shared/components/items-per-page-controls/items-per-page-controls.component.mjs +25 -0
  422. package/esm2020/core/shared/components/labeled-data/labeled-data.component.mjs +13 -0
  423. package/esm2020/core/shared/components/language-selector/language-selector.component.mjs +31 -0
  424. package/esm2020/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.mjs +61 -0
  425. package/esm2020/core/shared/components/modal-dialog/dialog-buttons.directive.mjs +23 -0
  426. package/esm2020/core/shared/components/modal-dialog/dialog-component-outlet.component.mjs +31 -0
  427. package/esm2020/core/shared/components/modal-dialog/dialog-title.directive.mjs +23 -0
  428. package/esm2020/core/shared/components/modal-dialog/modal-dialog.component.mjs +60 -0
  429. package/esm2020/core/shared/components/object-tree/object-tree.component.mjs +56 -0
  430. package/esm2020/core/shared/components/order-state-label/order-state-label.component.mjs +46 -0
  431. package/esm2020/core/shared/components/pagination-controls/pagination-controls.component.mjs +26 -0
  432. package/esm2020/core/shared/components/product-selector/product-selector.component.mjs +62 -0
  433. package/esm2020/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +37 -0
  434. package/esm2020/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.mjs +34 -0
  435. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/inputrules.js → esm2020/core/shared/components/rich-text-editor/prosemirror/inputrules.mjs} +0 -0
  436. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/keymap.js → esm2020/core/shared/components/rich-text-editor/prosemirror/keymap.mjs} +0 -0
  437. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/menu/images.js → esm2020/core/shared/components/rich-text-editor/prosemirror/menu/images.mjs} +0 -0
  438. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/menu/links.js → esm2020/core/shared/components/rich-text-editor/prosemirror/menu/links.mjs} +0 -0
  439. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.js → esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu-common.mjs} +0 -0
  440. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/menu/menu.js → esm2020/core/shared/components/rich-text-editor/prosemirror/menu/menu.mjs} +0 -0
  441. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.js → esm2020/core/shared/components/rich-text-editor/prosemirror/plugins/link-select-plugin.mjs} +0 -0
  442. package/esm2020/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +112 -0
  443. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/types.js → esm2020/core/shared/components/rich-text-editor/prosemirror/types.mjs} +0 -0
  444. package/{esm2015/core/shared/components/rich-text-editor/prosemirror/utils.js → esm2020/core/shared/components/rich-text-editor/prosemirror/utils.mjs} +0 -0
  445. package/esm2020/core/shared/components/rich-text-editor/rich-text-editor.component.mjs +93 -0
  446. package/esm2020/core/shared/components/select-toggle/select-toggle.component.mjs +32 -0
  447. package/esm2020/core/shared/components/simple-dialog/simple-dialog.component.mjs +24 -0
  448. package/esm2020/core/shared/components/status-badge/status-badge.component.mjs +16 -0
  449. package/esm2020/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +54 -0
  450. package/esm2020/core/shared/components/table-row-action/table-row-action.component.mjs +28 -0
  451. package/esm2020/core/shared/components/tag-selector/tag-selector.component.mjs +60 -0
  452. package/esm2020/core/shared/components/timeline-entry/timeline-entry.component.mjs +52 -0
  453. package/esm2020/core/shared/components/title-input/title-input.component.mjs +21 -0
  454. package/esm2020/core/shared/components/ui-extension-point/ui-extension-point.component.mjs +34 -0
  455. package/esm2020/core/shared/directives/disabled.directive.mjs +41 -0
  456. package/esm2020/core/shared/directives/if-default-channel-active.directive.mjs +39 -0
  457. package/esm2020/core/shared/directives/if-directive-base.mjs +73 -0
  458. package/esm2020/core/shared/directives/if-multichannel.directive.mjs +45 -0
  459. package/esm2020/core/shared/directives/if-permissions.directive.mjs +76 -0
  460. package/esm2020/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.mjs +23 -0
  461. package/esm2020/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.mjs +120 -0
  462. package/esm2020/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.mjs +31 -0
  463. package/esm2020/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.mjs +42 -0
  464. package/esm2020/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.mjs +32 -0
  465. package/esm2020/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +265 -0
  466. package/esm2020/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.mjs +35 -0
  467. package/esm2020/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.mjs +39 -0
  468. package/esm2020/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.mjs +21 -0
  469. package/esm2020/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.mjs +61 -0
  470. package/{esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js → esm2020/core/shared/dynamic-form-inputs/register-dynamic-input-components.mjs} +0 -0
  471. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.mjs +69 -0
  472. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.mjs +70 -0
  473. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.mjs +89 -0
  474. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.mjs +89 -0
  475. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.mjs +60 -0
  476. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.mjs +28 -0
  477. package/esm2020/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.mjs +14 -0
  478. package/esm2020/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.mjs +21 -0
  479. package/esm2020/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.mjs +31 -0
  480. package/esm2020/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.mjs +28 -0
  481. package/esm2020/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.mjs +24 -0
  482. package/esm2020/core/shared/pipes/asset-preview.pipe.mjs +42 -0
  483. package/esm2020/core/shared/pipes/channel-label.pipe.mjs +23 -0
  484. package/esm2020/core/shared/pipes/custom-field-label.pipe.mjs +47 -0
  485. package/esm2020/core/shared/pipes/duration.pipe.mjs +49 -0
  486. package/esm2020/core/shared/pipes/file-size.pipe.mjs +47 -0
  487. package/esm2020/core/shared/pipes/has-permission.pipe.mjs +65 -0
  488. package/esm2020/core/shared/pipes/locale-base.pipe.mjs +55 -0
  489. package/esm2020/core/shared/pipes/locale-currency-name.pipe.mjs +61 -0
  490. package/esm2020/core/shared/pipes/locale-currency.pipe.mjs +44 -0
  491. package/esm2020/core/shared/pipes/locale-date.pipe.mjs +84 -0
  492. package/esm2020/core/shared/pipes/locale-language-name.pipe.mjs +51 -0
  493. package/esm2020/core/shared/pipes/locale-region-name.pipe.mjs +51 -0
  494. package/esm2020/core/shared/pipes/sentence-case.pipe.mjs +30 -0
  495. package/esm2020/core/shared/pipes/sort.pipe.mjs +34 -0
  496. package/esm2020/core/shared/pipes/state-i18n-token.pipe.mjs +50 -0
  497. package/esm2020/core/shared/pipes/string-to-color.pipe.mjs +18 -0
  498. package/esm2020/core/shared/pipes/time-ago.pipe.mjs +52 -0
  499. package/esm2020/core/shared/providers/routing/can-deactivate-detail-guard.mjs +35 -0
  500. package/esm2020/core/shared/shared.module.mjs +520 -0
  501. package/{esm2015/core/validators/unicode-pattern.validator.js → esm2020/core/validators/unicode-pattern.validator.mjs} +0 -0
  502. package/{esm2015/core/vendure-admin-ui-core.js → esm2020/core/vendure-admin-ui-core.mjs} +0 -0
  503. package/esm2020/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.mjs +41 -0
  504. package/esm2020/customer/components/address-card/address-card.component.mjs +97 -0
  505. package/esm2020/customer/components/address-detail-dialog/address-detail-dialog.component.mjs +28 -0
  506. package/esm2020/customer/components/customer-detail/customer-detail.component.mjs +414 -0
  507. package/esm2020/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.mjs +45 -0
  508. package/esm2020/customer/components/customer-group-list/customer-group-list.component.mjs +181 -0
  509. package/esm2020/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +103 -0
  510. package/esm2020/customer/components/customer-history/customer-history.component.mjs +83 -0
  511. package/esm2020/customer/components/customer-list/customer-list.component.mjs +80 -0
  512. package/esm2020/customer/components/customer-status-label/customer-status-label.component.mjs +17 -0
  513. package/esm2020/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.mjs +31 -0
  514. package/esm2020/customer/customer.module.mjs +53 -0
  515. package/esm2020/customer/customer.routes.mjs +42 -0
  516. package/esm2020/customer/providers/routing/customer-resolver.mjs +31 -0
  517. package/{esm2015/customer/public_api.js → esm2020/customer/public_api.mjs} +0 -0
  518. package/{esm2015/customer/vendure-admin-ui-customer.js → esm2020/customer/vendure-admin-ui-customer.mjs} +0 -0
  519. package/esm2020/dashboard/components/dashboard/dashboard.component.mjs +121 -0
  520. package/esm2020/dashboard/components/dashboard-widget/dashboard-widget.component.mjs +35 -0
  521. package/esm2020/dashboard/dashboard.module.mjs +29 -0
  522. package/{esm2015/dashboard/dashboard.routes.js → esm2020/dashboard/dashboard.routes.mjs} +0 -0
  523. package/esm2020/dashboard/default-widgets.mjs +32 -0
  524. package/{esm2015/dashboard/public_api.js → esm2020/dashboard/public_api.mjs} +0 -0
  525. package/{esm2015/dashboard/vendure-admin-ui-dashboard.js → esm2020/dashboard/vendure-admin-ui-dashboard.mjs} +0 -0
  526. package/esm2020/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +45 -0
  527. package/esm2020/dashboard/widgets/order-summary-widget/order-summary-widget.component.mjs +59 -0
  528. package/esm2020/dashboard/widgets/test-widget/test-widget.component.mjs +22 -0
  529. package/esm2020/dashboard/widgets/welcome-widget/welcome-widget.component.mjs +39 -0
  530. package/esm2020/login/components/login/login.component.mjs +62 -0
  531. package/esm2020/login/login.module.mjs +21 -0
  532. package/{esm2015/login/login.routes.js → esm2020/login/login.routes.mjs} +0 -0
  533. package/esm2020/login/providers/login.guard.mjs +31 -0
  534. package/{esm2015/login/public_api.js → esm2020/login/public_api.mjs} +0 -0
  535. package/{esm2015/login/vendure-admin-ui-login.js → esm2020/login/vendure-admin-ui-login.mjs} +0 -0
  536. package/esm2020/marketing/components/promotion-detail/promotion-detail.component.mjs +242 -0
  537. package/esm2020/marketing/components/promotion-list/promotion-list.component.mjs +81 -0
  538. package/esm2020/marketing/marketing.module.mjs +21 -0
  539. package/esm2020/marketing/marketing.routes.mjs +33 -0
  540. package/esm2020/marketing/providers/routing/promotion-resolver.mjs +31 -0
  541. package/{esm2015/marketing/public_api.js → esm2020/marketing/public_api.mjs} +0 -0
  542. package/{esm2015/marketing/vendure-admin-ui-marketing.js → esm2020/marketing/vendure-admin-ui-marketing.mjs} +0 -0
  543. package/esm2020/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.mjs +39 -0
  544. package/esm2020/order/components/cancel-order-dialog/cancel-order-dialog.component.mjs +78 -0
  545. package/esm2020/order/components/fulfill-order-dialog/fulfill-order-dialog.component.mjs +73 -0
  546. package/esm2020/order/components/fulfillment-card/fulfillment-card.component.mjs +48 -0
  547. package/esm2020/order/components/fulfillment-detail/fulfillment-detail.component.mjs +62 -0
  548. package/esm2020/order/components/fulfillment-state-label/fulfillment-state-label.component.mjs +28 -0
  549. package/esm2020/order/components/line-fulfillment/line-fulfillment.component.mjs +68 -0
  550. package/esm2020/order/components/line-refunds/line-refunds.component.mjs +37 -0
  551. package/esm2020/order/components/modification-detail/modification-detail.component.mjs +68 -0
  552. package/esm2020/order/components/order-custom-fields-card/order-custom-fields-card.component.mjs +40 -0
  553. package/esm2020/order/components/order-detail/order-detail.component.mjs +504 -0
  554. package/esm2020/order/components/order-editor/order-editor.component.mjs +365 -0
  555. package/esm2020/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.mjs +55 -0
  556. package/esm2020/order/components/order-history/order-history.component.mjs +166 -0
  557. package/esm2020/order/components/order-list/order-list.component.mjs +192 -0
  558. package/esm2020/order/components/order-payment-card/order-payment-card.component.mjs +43 -0
  559. package/{esm2015/order/components/order-process-graph/constants.js → esm2020/order/components/order-process-graph/constants.mjs} +0 -0
  560. package/esm2020/order/components/order-process-graph/order-process-edge.component.mjs +45 -0
  561. package/esm2020/order/components/order-process-graph/order-process-graph.component.mjs +96 -0
  562. package/esm2020/order/components/order-process-graph/order-process-node.component.mjs +53 -0
  563. package/{esm2015/order/components/order-process-graph/types.js → esm2020/order/components/order-process-graph/types.mjs} +0 -0
  564. package/esm2020/order/components/order-process-graph-dialog/order-process-graph-dialog.component.mjs +21 -0
  565. package/esm2020/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +29 -0
  566. package/esm2020/order/components/order-table/order-table.component.mjs +73 -0
  567. package/esm2020/order/components/payment-detail/payment-detail.component.mjs +18 -0
  568. package/esm2020/order/components/payment-state-label/payment-state-label.component.mjs +28 -0
  569. package/esm2020/order/components/refund-order-dialog/refund-order-dialog.component.mjs +138 -0
  570. package/esm2020/order/components/refund-state-label/refund-state-label.component.mjs +27 -0
  571. package/esm2020/order/components/settle-refund-dialog/settle-refund-dialog.component.mjs +24 -0
  572. package/esm2020/order/components/simple-item-list/simple-item-list.component.mjs +15 -0
  573. package/esm2020/order/order.module.mjs +103 -0
  574. package/esm2020/order/order.routes.mjs +52 -0
  575. package/esm2020/order/providers/order-transition.service.mjs +112 -0
  576. package/esm2020/order/providers/routing/order-resolver.mjs +29 -0
  577. package/{esm2015/order/public_api.js → esm2020/order/public_api.mjs} +0 -0
  578. package/{esm2015/order/vendure-admin-ui-order.js → esm2020/order/vendure-admin-ui-order.mjs} +0 -0
  579. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  580. package/esm2020/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +34 -0
  581. package/esm2020/settings/components/admin-detail/admin-detail.component.mjs +192 -0
  582. package/esm2020/settings/components/administrator-list/administrator-list.component.mjs +49 -0
  583. package/esm2020/settings/components/channel-detail/channel-detail.component.mjs +154 -0
  584. package/esm2020/settings/components/channel-list/channel-list.component.mjs +53 -0
  585. package/esm2020/settings/components/country-detail/country-detail.component.mjs +115 -0
  586. package/esm2020/settings/components/country-list/country-list.component.mjs +84 -0
  587. package/esm2020/settings/components/global-settings/global-settings.component.mjs +85 -0
  588. package/esm2020/settings/components/payment-method-detail/payment-method-detail.component.mjs +199 -0
  589. package/esm2020/settings/components/payment-method-list/payment-method-list.component.mjs +62 -0
  590. package/esm2020/settings/components/permission-grid/permission-grid.component.mjs +83 -0
  591. package/esm2020/settings/components/profile/profile.component.mjs +77 -0
  592. package/esm2020/settings/components/role-detail/role-detail.component.mjs +105 -0
  593. package/esm2020/settings/components/role-list/role-list.component.mjs +66 -0
  594. package/esm2020/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.mjs +30 -0
  595. package/esm2020/settings/components/shipping-method-detail/shipping-method-detail.component.mjs +240 -0
  596. package/esm2020/settings/components/shipping-method-list/shipping-method-list.component.mjs +92 -0
  597. package/esm2020/settings/components/shipping-method-test-result/shipping-method-test-result.component.mjs +30 -0
  598. package/esm2020/settings/components/tax-category-detail/tax-category-detail.component.mjs +107 -0
  599. package/esm2020/settings/components/tax-category-list/tax-category-list.component.mjs +56 -0
  600. package/esm2020/settings/components/tax-rate-detail/tax-rate-detail.component.mjs +126 -0
  601. package/esm2020/settings/components/tax-rate-list/tax-rate-list.component.mjs +56 -0
  602. package/esm2020/settings/components/test-address-form/test-address-form.component.mjs +49 -0
  603. package/esm2020/settings/components/test-order-builder/test-order-builder.component.mjs +71 -0
  604. package/esm2020/settings/components/zone-detail-dialog/zone-detail-dialog.component.mjs +44 -0
  605. package/esm2020/settings/components/zone-list/zone-list.component.mjs +158 -0
  606. package/esm2020/settings/components/zone-member-list/zone-member-controls.directive.mjs +16 -0
  607. package/esm2020/settings/components/zone-member-list/zone-member-list-header.directive.mjs +16 -0
  608. package/esm2020/settings/components/zone-member-list/zone-member-list.component.mjs +72 -0
  609. package/esm2020/settings/providers/routing/administrator-resolver.mjs +28 -0
  610. package/esm2020/settings/providers/routing/channel-resolver.mjs +34 -0
  611. package/esm2020/settings/providers/routing/country-resolver.mjs +31 -0
  612. package/esm2020/settings/providers/routing/global-settings-resolver.mjs +24 -0
  613. package/esm2020/settings/providers/routing/payment-method-resolver.mjs +33 -0
  614. package/esm2020/settings/providers/routing/profile-resolver.mjs +30 -0
  615. package/esm2020/settings/providers/routing/role-resolver.mjs +28 -0
  616. package/esm2020/settings/providers/routing/shipping-method-resolver.mjs +34 -0
  617. package/esm2020/settings/providers/routing/tax-category-resolver.mjs +29 -0
  618. package/esm2020/settings/providers/routing/tax-rate-resolver.mjs +33 -0
  619. package/{esm2015/settings/public_api.js → esm2020/settings/public_api.mjs} +0 -0
  620. package/esm2020/settings/settings.module.mjs +106 -0
  621. package/esm2020/settings/settings.routes.mjs +253 -0
  622. package/{esm2015/settings/vendure-admin-ui-settings.js → esm2020/settings/vendure-admin-ui-settings.mjs} +0 -0
  623. package/esm2020/system/components/health-check/health-check.component.mjs +18 -0
  624. package/esm2020/system/components/job-list/job-list.component.mjs +76 -0
  625. package/esm2020/system/components/job-state-label/job-state-label.component.mjs +46 -0
  626. package/{esm2015/system/public_api.js → esm2020/system/public_api.mjs} +0 -0
  627. package/esm2020/system/system.module.mjs +22 -0
  628. package/esm2020/system/system.routes.mjs +20 -0
  629. package/{esm2015/system/vendure-admin-ui-system.js → esm2020/system/vendure-admin-ui-system.mjs} +0 -0
  630. package/{esm2015/vendure-admin-ui.js → esm2020/vendure-admin-ui.mjs} +0 -0
  631. package/fesm2015/vendure-admin-ui-catalog.mjs +3732 -0
  632. package/fesm2015/vendure-admin-ui-catalog.mjs.map +1 -0
  633. package/fesm2015/vendure-admin-ui-core.mjs +15998 -0
  634. package/fesm2015/vendure-admin-ui-core.mjs.map +1 -0
  635. package/fesm2015/vendure-admin-ui-customer.mjs +1134 -0
  636. package/fesm2015/vendure-admin-ui-customer.mjs.map +1 -0
  637. package/fesm2015/vendure-admin-ui-dashboard.mjs +365 -0
  638. package/fesm2015/vendure-admin-ui-dashboard.mjs.map +1 -0
  639. package/fesm2015/vendure-admin-ui-login.mjs +122 -0
  640. package/fesm2015/vendure-admin-ui-login.mjs.map +1 -0
  641. package/fesm2015/vendure-admin-ui-marketing.mjs +388 -0
  642. package/fesm2015/vendure-admin-ui-marketing.mjs.map +1 -0
  643. package/fesm2015/vendure-admin-ui-order.mjs +2448 -0
  644. package/fesm2015/vendure-admin-ui-order.mjs.map +1 -0
  645. package/fesm2015/vendure-admin-ui-settings.mjs +2784 -0
  646. package/fesm2015/vendure-admin-ui-settings.mjs.map +1 -0
  647. package/fesm2015/vendure-admin-ui-system.mjs +165 -0
  648. package/fesm2015/vendure-admin-ui-system.mjs.map +1 -0
  649. package/fesm2015/{vendure-admin-ui.js → vendure-admin-ui.mjs} +1 -1
  650. package/fesm2015/vendure-admin-ui.mjs.map +1 -0
  651. package/fesm2020/vendure-admin-ui-catalog.mjs +3747 -0
  652. package/fesm2020/vendure-admin-ui-catalog.mjs.map +1 -0
  653. package/fesm2020/vendure-admin-ui-core.mjs +15994 -0
  654. package/fesm2020/vendure-admin-ui-core.mjs.map +1 -0
  655. package/fesm2020/vendure-admin-ui-customer.mjs +1135 -0
  656. package/fesm2020/vendure-admin-ui-customer.mjs.map +1 -0
  657. package/fesm2020/vendure-admin-ui-dashboard.mjs +361 -0
  658. package/fesm2020/vendure-admin-ui-dashboard.mjs.map +1 -0
  659. package/fesm2020/vendure-admin-ui-login.mjs +122 -0
  660. package/fesm2020/vendure-admin-ui-login.mjs.map +1 -0
  661. package/fesm2020/vendure-admin-ui-marketing.mjs +388 -0
  662. package/fesm2020/vendure-admin-ui-marketing.mjs.map +1 -0
  663. package/fesm2020/vendure-admin-ui-order.mjs +2462 -0
  664. package/fesm2020/vendure-admin-ui-order.mjs.map +1 -0
  665. package/fesm2020/vendure-admin-ui-settings.mjs +2791 -0
  666. package/fesm2020/vendure-admin-ui-settings.mjs.map +1 -0
  667. package/fesm2020/vendure-admin-ui-system.mjs +168 -0
  668. package/fesm2020/vendure-admin-ui-system.mjs.map +1 -0
  669. package/fesm2020/vendure-admin-ui.mjs +11 -0
  670. package/fesm2020/vendure-admin-ui.mjs.map +1 -0
  671. package/login/components/login/login.component.d.ts +3 -0
  672. package/login/login.module.d.ts +7 -0
  673. package/login/package.json +5 -6
  674. package/login/providers/login.guard.d.ts +3 -0
  675. package/login/vendure-admin-ui-login.d.ts +1 -0
  676. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +7 -4
  677. package/marketing/components/promotion-list/promotion-list.component.d.ts +5 -6
  678. package/marketing/marketing.module.d.ts +8 -0
  679. package/marketing/package.json +5 -6
  680. package/marketing/providers/routing/promotion-resolver.d.ts +5 -2
  681. package/marketing/vendure-admin-ui-marketing.d.ts +1 -0
  682. package/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.d.ts +5 -2
  683. package/order/components/cancel-order-dialog/cancel-order-dialog.component.d.ts +6 -0
  684. package/order/components/fulfill-order-dialog/fulfill-order-dialog.component.d.ts +6 -3
  685. package/order/components/fulfillment-card/fulfillment-card.component.d.ts +6 -3
  686. package/order/components/fulfillment-detail/fulfillment-detail.component.d.ts +6 -3
  687. package/order/components/fulfillment-state-label/fulfillment-state-label.component.d.ts +3 -0
  688. package/order/components/line-fulfillment/line-fulfillment.component.d.ts +8 -3
  689. package/order/components/line-refunds/line-refunds.component.d.ts +6 -3
  690. package/order/components/modification-detail/modification-detail.component.d.ts +13 -4
  691. package/order/components/order-custom-fields-card/order-custom-fields-card.component.d.ts +3 -0
  692. package/order/components/order-detail/order-detail.component.d.ts +15 -10
  693. package/order/components/order-editor/order-editor.component.d.ts +16 -12
  694. package/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.d.ts +6 -3
  695. package/order/components/order-history/order-history.component.d.ts +36 -20
  696. package/order/components/order-list/order-list.component.d.ts +5 -2
  697. package/order/components/order-payment-card/order-payment-card.component.d.ts +48 -14
  698. package/order/components/order-process-graph/order-process-edge.component.d.ts +3 -0
  699. package/order/components/order-process-graph/order-process-graph.component.d.ts +3 -0
  700. package/order/components/order-process-graph/order-process-node.component.d.ts +3 -0
  701. package/order/components/order-process-graph-dialog/order-process-graph-dialog.component.d.ts +3 -0
  702. package/order/components/order-state-select-dialog/order-state-select-dialog.component.d.ts +3 -0
  703. package/order/components/order-table/order-table.component.d.ts +14 -8
  704. package/order/components/payment-detail/payment-detail.component.d.ts +5 -2
  705. package/order/components/payment-state-label/payment-state-label.component.d.ts +3 -0
  706. package/order/components/refund-order-dialog/refund-order-dialog.component.d.ts +8 -4
  707. package/order/components/refund-state-label/refund-state-label.component.d.ts +3 -0
  708. package/order/components/settle-refund-dialog/settle-refund-dialog.component.d.ts +5 -3
  709. package/order/components/simple-item-list/simple-item-list.component.d.ts +3 -0
  710. package/order/order.module.d.ts +34 -0
  711. package/order/package.json +5 -6
  712. package/order/providers/order-transition.service.d.ts +3 -0
  713. package/order/providers/routing/order-resolver.d.ts +5 -4
  714. package/order/vendure-admin-ui-order.d.ts +1 -0
  715. package/package.json +120 -36
  716. package/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.d.ts +6 -3
  717. package/settings/components/admin-detail/admin-detail.component.d.ts +9 -10
  718. package/settings/components/administrator-list/administrator-list.component.d.ts +6 -3
  719. package/settings/components/channel-detail/channel-detail.component.d.ts +7 -8
  720. package/settings/components/channel-list/channel-list.component.d.ts +5 -5
  721. package/settings/components/country-detail/country-detail.component.d.ts +7 -4
  722. package/settings/components/country-list/country-list.component.d.ts +7 -4
  723. package/settings/components/global-settings/global-settings.component.d.ts +3 -0
  724. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +6 -3
  725. package/settings/components/payment-method-list/payment-method-list.component.d.ts +5 -2
  726. package/settings/components/permission-grid/permission-grid.component.d.ts +3 -0
  727. package/settings/components/profile/profile.component.d.ts +5 -2
  728. package/settings/components/role-detail/role-detail.component.d.ts +3 -0
  729. package/settings/components/role-list/role-list.component.d.ts +8 -5
  730. package/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.d.ts +3 -0
  731. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +7 -4
  732. package/settings/components/shipping-method-list/shipping-method-list.component.d.ts +6 -3
  733. package/settings/components/shipping-method-test-result/shipping-method-test-result.component.d.ts +3 -0
  734. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +7 -8
  735. package/settings/components/tax-category-list/tax-category-list.component.d.ts +6 -6
  736. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +8 -5
  737. package/settings/components/tax-rate-list/tax-rate-list.component.d.ts +6 -7
  738. package/settings/components/test-address-form/test-address-form.component.d.ts +5 -2
  739. package/settings/components/test-order-builder/test-order-builder.component.d.ts +7 -2
  740. package/settings/components/zone-detail-dialog/zone-detail-dialog.component.d.ts +3 -0
  741. package/settings/components/zone-list/zone-list.component.d.ts +10 -7
  742. package/settings/components/zone-member-list/zone-member-controls.directive.d.ts +3 -0
  743. package/settings/components/zone-member-list/zone-member-list-header.directive.d.ts +3 -0
  744. package/settings/components/zone-member-list/zone-member-list.component.d.ts +3 -0
  745. package/settings/package.json +5 -6
  746. package/settings/providers/routing/administrator-resolver.d.ts +5 -4
  747. package/settings/providers/routing/channel-resolver.d.ts +5 -4
  748. package/settings/providers/routing/country-resolver.d.ts +5 -4
  749. package/settings/providers/routing/global-settings-resolver.d.ts +5 -4
  750. package/settings/providers/routing/payment-method-resolver.d.ts +5 -4
  751. package/settings/providers/routing/profile-resolver.d.ts +5 -4
  752. package/settings/providers/routing/role-resolver.d.ts +5 -4
  753. package/settings/providers/routing/shipping-method-resolver.d.ts +5 -4
  754. package/settings/providers/routing/tax-category-resolver.d.ts +5 -2
  755. package/settings/providers/routing/tax-rate-resolver.d.ts +5 -2
  756. package/settings/settings.module.d.ts +35 -0
  757. package/settings/vendure-admin-ui-settings.d.ts +1 -0
  758. package/static/i18n-messages/cs.json +5 -1
  759. package/static/i18n-messages/de.json +5 -1
  760. package/static/i18n-messages/en.json +6 -2
  761. package/static/i18n-messages/es.json +5 -1
  762. package/static/i18n-messages/fr.json +5 -1
  763. package/static/i18n-messages/it.json +5 -1
  764. package/static/i18n-messages/pl.json +5 -1
  765. package/static/i18n-messages/pt_BR.json +5 -1
  766. package/static/i18n-messages/pt_PT.json +5 -1
  767. package/static/i18n-messages/ru.json +5 -1
  768. package/static/i18n-messages/uk.json +5 -1
  769. package/static/i18n-messages/zh_Hans.json +5 -1
  770. package/static/i18n-messages/zh_Hant.json +5 -1
  771. package/static/polyfills.ts +0 -10
  772. package/static/styles/styles.scss +1 -1
  773. package/static/theme.min.css +1 -1
  774. package/system/components/health-check/health-check.component.d.ts +3 -0
  775. package/system/components/job-list/job-list.component.d.ts +7 -4
  776. package/system/components/job-state-label/job-state-label.component.d.ts +3 -0
  777. package/system/package.json +5 -6
  778. package/system/system.module.d.ts +9 -0
  779. package/system/vendure-admin-ui-system.d.ts +1 -0
  780. package/vendure-admin-ui.d.ts +1 -0
  781. package/bundles/vendure-admin-ui-catalog.umd.js +0 -4638
  782. package/bundles/vendure-admin-ui-catalog.umd.js.map +0 -1
  783. package/bundles/vendure-admin-ui-core.umd.js +0 -14759
  784. package/bundles/vendure-admin-ui-core.umd.js.map +0 -1
  785. package/bundles/vendure-admin-ui-customer.umd.js +0 -1626
  786. package/bundles/vendure-admin-ui-customer.umd.js.map +0 -1
  787. package/bundles/vendure-admin-ui-dashboard.umd.js +0 -757
  788. package/bundles/vendure-admin-ui-dashboard.umd.js.map +0 -1
  789. package/bundles/vendure-admin-ui-login.umd.js +0 -157
  790. package/bundles/vendure-admin-ui-login.umd.js.map +0 -1
  791. package/bundles/vendure-admin-ui-marketing.umd.js +0 -783
  792. package/bundles/vendure-admin-ui-marketing.umd.js.map +0 -1
  793. package/bundles/vendure-admin-ui-order.umd.js +0 -3287
  794. package/bundles/vendure-admin-ui-order.umd.js.map +0 -1
  795. package/bundles/vendure-admin-ui-settings.umd.js +0 -3697
  796. package/bundles/vendure-admin-ui-settings.umd.js.map +0 -1
  797. package/bundles/vendure-admin-ui-system.umd.js +0 -524
  798. package/bundles/vendure-admin-ui-system.umd.js.map +0 -1
  799. package/bundles/vendure-admin-ui.umd.js +0 -21
  800. package/bundles/vendure-admin-ui.umd.js.map +0 -1
  801. package/catalog/vendure-admin-ui-catalog.metadata.json +0 -1
  802. package/core/vendure-admin-ui-core.metadata.json +0 -1
  803. package/customer/vendure-admin-ui-customer.metadata.json +0 -1
  804. package/dashboard/vendure-admin-ui-dashboard.metadata.json +0 -1
  805. package/esm2015/catalog/catalog.module.js +0 -64
  806. package/esm2015/catalog/catalog.routes.js +0 -176
  807. package/esm2015/catalog/components/apply-facet-dialog/apply-facet-dialog.component.js +0 -32
  808. package/esm2015/catalog/components/asset-detail/asset-detail.component.js +0 -74
  809. package/esm2015/catalog/components/asset-list/asset-list.component.js +0 -119
  810. package/esm2015/catalog/components/assign-products-to-channel-dialog/assign-products-to-channel-dialog.component.js +0 -109
  811. package/esm2015/catalog/components/collection-contents/collection-contents.component.js +0 -78
  812. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +0 -206
  813. package/esm2015/catalog/components/collection-list/collection-list.component.js +0 -119
  814. package/esm2015/catalog/components/collection-tree/array-to-tree.js +0 -57
  815. package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +0 -94
  816. package/esm2015/catalog/components/collection-tree/collection-tree.component.js +0 -74
  817. package/esm2015/catalog/components/confirm-variant-deletion-dialog/confirm-variant-deletion-dialog.component.js +0 -21
  818. package/esm2015/catalog/components/facet-detail/facet-detail.component.js +0 -326
  819. package/esm2015/catalog/components/facet-list/facet-list.component.js +0 -107
  820. package/esm2015/catalog/components/generate-product-variants/generate-product-variants.component.js +0 -78
  821. package/esm2015/catalog/components/option-value-input/option-value-input.component.js +0 -98
  822. package/esm2015/catalog/components/product-assets/product-assets.component.js +0 -108
  823. package/esm2015/catalog/components/product-detail/product-detail.component.js +0 -514
  824. package/esm2015/catalog/components/product-list/product-list.component.js +0 -153
  825. package/esm2015/catalog/components/product-options-editor/product-options-editor.component.js +0 -157
  826. package/esm2015/catalog/components/product-search-input/product-search-input.component.js +0 -104
  827. package/esm2015/catalog/components/product-variants-editor/product-variants-editor.component.js +0 -316
  828. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +0 -207
  829. package/esm2015/catalog/components/product-variants-table/product-variants-table.component.js +0 -66
  830. package/esm2015/catalog/components/update-product-option-dialog/update-product-option-dialog.component.js +0 -61
  831. package/esm2015/catalog/components/variant-price-detail/variant-price-detail.component.js +0 -60
  832. package/esm2015/catalog/providers/product-detail/product-detail.service.js +0 -224
  833. package/esm2015/catalog/providers/routing/asset-resolver.js +0 -37
  834. package/esm2015/catalog/providers/routing/collection-resolver.js +0 -38
  835. package/esm2015/catalog/providers/routing/facet-resolver.js +0 -35
  836. package/esm2015/catalog/providers/routing/product-resolver.js +0 -42
  837. package/esm2015/catalog/providers/routing/product-variants-resolver.js +0 -31
  838. package/esm2015/catalog/public_api.js +0 -36
  839. package/esm2015/core/app.component.js +0 -80
  840. package/esm2015/core/app.component.module.js +0 -14
  841. package/esm2015/core/common/base-detail.component.js +0 -106
  842. package/esm2015/core/common/base-list.component.js +0 -156
  843. package/esm2015/core/common/generated-types.js +0 -953
  844. package/esm2015/core/common/introspection-result.js +0 -253
  845. package/esm2015/core/common/utilities/configurable-operation-utils.js +0 -78
  846. package/esm2015/core/common/utilities/create-updated-translatable.js +0 -72
  847. package/esm2015/core/common/utilities/find-translation.js +0 -9
  848. package/esm2015/core/common/utilities/flatten-facet-values.js +0 -4
  849. package/esm2015/core/common/utilities/get-default-ui-language.js +0 -13
  850. package/esm2015/core/components/app-shell/app-shell.component.js +0 -78
  851. package/esm2015/core/components/breadcrumb/breadcrumb.component.js +0 -126
  852. package/esm2015/core/components/channel-switcher/channel-switcher.component.js +0 -52
  853. package/esm2015/core/components/main-nav/main-nav.component.js +0 -272
  854. package/esm2015/core/components/notification/notification.component.js +0 -71
  855. package/esm2015/core/components/overlay-host/overlay-host.component.js +0 -22
  856. package/esm2015/core/components/theme-switcher/theme-switcher.component.js +0 -31
  857. package/esm2015/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.js +0 -294
  858. package/esm2015/core/components/user-menu/user-menu.component.js +0 -24
  859. package/esm2015/core/core.module.js +0 -115
  860. package/esm2015/core/data/client-state/client-resolvers.js +0 -123
  861. package/esm2015/core/data/data.module.js +0 -106
  862. package/esm2015/core/data/definitions/customer-definitions.js +0 -258
  863. package/esm2015/core/data/providers/administrator-data.service.js +0 -55
  864. package/esm2015/core/data/providers/auth-data.service.js +0 -20
  865. package/esm2015/core/data/providers/base-data.service.js +0 -72
  866. package/esm2015/core/data/providers/client-data.service.js +0 -75
  867. package/esm2015/core/data/providers/collection-data.service.js +0 -72
  868. package/esm2015/core/data/providers/customer-data.service.js +0 -114
  869. package/esm2015/core/data/providers/data.service.js +0 -90
  870. package/esm2015/core/data/providers/facet-data.service.js +0 -60
  871. package/esm2015/core/data/providers/fetch-adapter.js +0 -38
  872. package/esm2015/core/data/providers/interceptor.js +0 -142
  873. package/esm2015/core/data/providers/order-data.service.js +0 -98
  874. package/esm2015/core/data/providers/product-data.service.js +0 -232
  875. package/esm2015/core/data/providers/promotion-data.service.js +0 -36
  876. package/esm2015/core/data/providers/settings-data.service.js +0 -231
  877. package/esm2015/core/data/providers/shipping-method-data.service.js +0 -66
  878. package/esm2015/core/data/server-config.js +0 -76
  879. package/esm2015/core/data/utils/add-custom-fields.js +0 -78
  880. package/esm2015/core/data/utils/transform-relation-custom-field-inputs.js +0 -46
  881. package/esm2015/core/providers/auth/auth.service.js +0 -110
  882. package/esm2015/core/providers/component-registry/component-registry.service.js +0 -23
  883. package/esm2015/core/providers/custom-detail-component/custom-detail-component.service.js +0 -44
  884. package/esm2015/core/providers/custom-field-component/custom-field-component.service.js +0 -47
  885. package/esm2015/core/providers/dashboard-widget/dashboard-widget.service.js +0 -97
  886. package/esm2015/core/providers/guard/auth.guard.js +0 -42
  887. package/esm2015/core/providers/health-check/health-check.service.js +0 -38
  888. package/esm2015/core/providers/i18n/custom-message-format-compiler.js +0 -30
  889. package/esm2015/core/providers/i18n/i18n.service.js +0 -56
  890. package/esm2015/core/providers/job-queue/job-queue.service.js +0 -93
  891. package/esm2015/core/providers/local-storage/local-storage.service.js +0 -79
  892. package/esm2015/core/providers/modal/modal.service.js +0 -100
  893. package/esm2015/core/providers/nav-builder/nav-builder.service.js +0 -264
  894. package/esm2015/core/providers/notification/notification.service.js +0 -165
  895. package/esm2015/core/providers/overlay-host/overlay-host.service.js +0 -46
  896. package/esm2015/core/public_api.js +0 -217
  897. package/esm2015/core/shared/components/action-bar/action-bar.component.js +0 -47
  898. package/esm2015/core/shared/components/action-bar-items/action-bar-items.component.js +0 -78
  899. package/esm2015/core/shared/components/address-form/address-form.component.js +0 -17
  900. package/esm2015/core/shared/components/affixed-input/affixed-input.component.js +0 -19
  901. package/esm2015/core/shared/components/affixed-input/percentage-suffix-input.component.js +0 -70
  902. package/esm2015/core/shared/components/asset-file-input/asset-file-input.component.js +0 -92
  903. package/esm2015/core/shared/components/asset-gallery/asset-gallery.component.js +0 -102
  904. package/esm2015/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.js +0 -138
  905. package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +0 -176
  906. package/esm2015/core/shared/components/asset-preview-dialog/asset-preview-dialog.component.js +0 -35
  907. package/esm2015/core/shared/components/asset-search-input/asset-search-input.component.js +0 -102
  908. package/esm2015/core/shared/components/channel-assignment-control/channel-assignment-control.component.js +0 -109
  909. package/esm2015/core/shared/components/channel-badge/channel-badge.component.js +0 -19
  910. package/esm2015/core/shared/components/chip/chip.component.js +0 -42
  911. package/esm2015/core/shared/components/configurable-input/configurable-input.component.js +0 -128
  912. package/esm2015/core/shared/components/currency-input/currency-input.component.js +0 -145
  913. package/esm2015/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.js +0 -44
  914. package/esm2015/core/shared/components/custom-field-control/custom-field-control.component.js +0 -55
  915. package/esm2015/core/shared/components/customer-label/customer-label.component.js +0 -15
  916. package/esm2015/core/shared/components/data-table/data-table-column.component.js +0 -22
  917. package/esm2015/core/shared/components/data-table/data-table.component.js +0 -106
  918. package/esm2015/core/shared/components/datetime-picker/datetime-picker.component.js +0 -205
  919. package/esm2015/core/shared/components/datetime-picker/datetime-picker.service.js +0 -199
  920. package/esm2015/core/shared/components/dropdown/dropdown-item.directive.js +0 -24
  921. package/esm2015/core/shared/components/dropdown/dropdown-menu.component.js +0 -121
  922. package/esm2015/core/shared/components/dropdown/dropdown-trigger.directive.js +0 -25
  923. package/esm2015/core/shared/components/dropdown/dropdown.component.js +0 -60
  924. package/esm2015/core/shared/components/edit-note-dialog/edit-note-dialog.component.js +0 -26
  925. package/esm2015/core/shared/components/empty-placeholder/empty-placeholder.component.js +0 -15
  926. package/esm2015/core/shared/components/entity-info/entity-info.component.js +0 -19
  927. package/esm2015/core/shared/components/extension-host/extension-host.component.js +0 -83
  928. package/esm2015/core/shared/components/extension-host/extension-host.service.js +0 -100
  929. package/esm2015/core/shared/components/facet-value-chip/facet-value-chip.component.js +0 -23
  930. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +0 -114
  931. package/esm2015/core/shared/components/focal-point-control/focal-point-control.component.js +0 -56
  932. package/esm2015/core/shared/components/form-field/form-field-control.directive.js +0 -35
  933. package/esm2015/core/shared/components/form-field/form-field.component.js +0 -61
  934. package/esm2015/core/shared/components/form-item/form-item.component.js +0 -19
  935. package/esm2015/core/shared/components/formatted-address/formatted-address.component.js +0 -37
  936. package/esm2015/core/shared/components/help-tooltip/help-tooltip.component.js +0 -16
  937. package/esm2015/core/shared/components/history-entry-detail/history-entry-detail.component.js +0 -12
  938. package/esm2015/core/shared/components/items-per-page-controls/items-per-page-controls.component.js +0 -23
  939. package/esm2015/core/shared/components/labeled-data/labeled-data.component.js +0 -15
  940. package/esm2015/core/shared/components/language-selector/language-selector.component.js +0 -21
  941. package/esm2015/core/shared/components/manage-tags-dialog/manage-tags-dialog.component.js +0 -58
  942. package/esm2015/core/shared/components/modal-dialog/dialog-buttons.directive.js +0 -23
  943. package/esm2015/core/shared/components/modal-dialog/dialog-component-outlet.component.js +0 -31
  944. package/esm2015/core/shared/components/modal-dialog/dialog-title.directive.js +0 -23
  945. package/esm2015/core/shared/components/modal-dialog/modal-dialog.component.js +0 -57
  946. package/esm2015/core/shared/components/object-tree/object-tree.component.js +0 -53
  947. package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +0 -43
  948. package/esm2015/core/shared/components/pagination-controls/pagination-controls.component.js +0 -22
  949. package/esm2015/core/shared/components/product-selector/product-selector.component.js +0 -61
  950. package/esm2015/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.js +0 -32
  951. package/esm2015/core/shared/components/rich-text-editor/link-dialog/link-dialog.component.js +0 -28
  952. package/esm2015/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.js +0 -112
  953. package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +0 -86
  954. package/esm2015/core/shared/components/select-toggle/select-toggle.component.js +0 -28
  955. package/esm2015/core/shared/components/simple-dialog/simple-dialog.component.js +0 -21
  956. package/esm2015/core/shared/components/status-badge/status-badge.component.js +0 -18
  957. package/esm2015/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.js +0 -49
  958. package/esm2015/core/shared/components/table-row-action/table-row-action.component.js +0 -23
  959. package/esm2015/core/shared/components/tag-selector/tag-selector.component.js +0 -55
  960. package/esm2015/core/shared/components/timeline-entry/timeline-entry.component.js +0 -40
  961. package/esm2015/core/shared/components/title-input/title-input.component.js +0 -18
  962. package/esm2015/core/shared/components/ui-extension-point/ui-extension-point.component.js +0 -31
  963. package/esm2015/core/shared/directives/disabled.directive.js +0 -38
  964. package/esm2015/core/shared/directives/if-default-channel-active.directive.js +0 -42
  965. package/esm2015/core/shared/directives/if-directive-base.js +0 -75
  966. package/esm2015/core/shared/directives/if-multichannel.directive.js +0 -47
  967. package/esm2015/core/shared/directives/if-permissions.directive.js +0 -78
  968. package/esm2015/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.js +0 -20
  969. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +0 -125
  970. package/esm2015/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.js +0 -33
  971. package/esm2015/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.js +0 -43
  972. package/esm2015/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.js +0 -35
  973. package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +0 -266
  974. package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +0 -36
  975. package/esm2015/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.js +0 -43
  976. package/esm2015/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.js +0 -20
  977. package/esm2015/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.js +0 -60
  978. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/asset/relation-asset-input.component.js +0 -69
  979. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/customer/relation-customer-input.component.js +0 -66
  980. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/product/relation-product-input.component.js +0 -81
  981. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/product-variant/relation-product-variant-input.component.js +0 -81
  982. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-card/relation-card.component.js +0 -43
  983. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +0 -25
  984. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component.js +0 -12
  985. package/esm2015/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.js +0 -20
  986. package/esm2015/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +0 -28
  987. package/esm2015/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.js +0 -28
  988. package/esm2015/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.js +0 -23
  989. package/esm2015/core/shared/pipes/asset-preview.pipe.js +0 -38
  990. package/esm2015/core/shared/pipes/channel-label.pipe.js +0 -19
  991. package/esm2015/core/shared/pipes/custom-field-label.pipe.js +0 -46
  992. package/esm2015/core/shared/pipes/duration.pipe.js +0 -48
  993. package/esm2015/core/shared/pipes/file-size.pipe.js +0 -43
  994. package/esm2015/core/shared/pipes/has-permission.pipe.js +0 -65
  995. package/esm2015/core/shared/pipes/locale-base.pipe.js +0 -57
  996. package/esm2015/core/shared/pipes/locale-currency-name.pipe.js +0 -58
  997. package/esm2015/core/shared/pipes/locale-currency.pipe.js +0 -40
  998. package/esm2015/core/shared/pipes/locale-date.pipe.js +0 -80
  999. package/esm2015/core/shared/pipes/locale-language-name.pipe.js +0 -47
  1000. package/esm2015/core/shared/pipes/locale-region-name.pipe.js +0 -47
  1001. package/esm2015/core/shared/pipes/sentence-case.pipe.js +0 -26
  1002. package/esm2015/core/shared/pipes/sort.pipe.js +0 -30
  1003. package/esm2015/core/shared/pipes/state-i18n-token.pipe.js +0 -46
  1004. package/esm2015/core/shared/pipes/string-to-color.pipe.js +0 -14
  1005. package/esm2015/core/shared/pipes/time-ago.pipe.js +0 -51
  1006. package/esm2015/core/shared/providers/routing/can-deactivate-detail-guard.js +0 -36
  1007. package/esm2015/core/shared/shared.module.js +0 -263
  1008. package/esm2015/customer/components/add-customer-to-group-dialog/add-customer-to-group-dialog.component.js +0 -42
  1009. package/esm2015/customer/components/address-card/address-card.component.js +0 -86
  1010. package/esm2015/customer/components/address-detail-dialog/address-detail-dialog.component.js +0 -28
  1011. package/esm2015/customer/components/customer-detail/customer-detail.component.js +0 -393
  1012. package/esm2015/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.js +0 -47
  1013. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +0 -184
  1014. package/esm2015/customer/components/customer-group-member-list/customer-group-member-list.component.js +0 -101
  1015. package/esm2015/customer/components/customer-history/customer-history.component.js +0 -76
  1016. package/esm2015/customer/components/customer-list/customer-list.component.js +0 -78
  1017. package/esm2015/customer/components/customer-status-label/customer-status-label.component.js +0 -15
  1018. package/esm2015/customer/components/select-customer-group-dialog/select-customer-group-dialog.component.js +0 -31
  1019. package/esm2015/customer/customer.module.js +0 -37
  1020. package/esm2015/customer/customer.routes.js +0 -44
  1021. package/esm2015/customer/providers/routing/customer-resolver.js +0 -35
  1022. package/esm2015/dashboard/components/dashboard/dashboard.component.js +0 -124
  1023. package/esm2015/dashboard/components/dashboard-widget/dashboard-widget.component.js +0 -39
  1024. package/esm2015/dashboard/dashboard.module.js +0 -25
  1025. package/esm2015/dashboard/default-widgets.js +0 -34
  1026. package/esm2015/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.js +0 -42
  1027. package/esm2015/dashboard/widgets/order-summary-widget/order-summary-widget.component.js +0 -56
  1028. package/esm2015/dashboard/widgets/test-widget/test-widget.component.js +0 -19
  1029. package/esm2015/dashboard/widgets/welcome-widget/welcome-widget.component.js +0 -36
  1030. package/esm2015/login/components/login/login.component.js +0 -61
  1031. package/esm2015/login/login.module.js +0 -15
  1032. package/esm2015/login/providers/login.guard.js +0 -35
  1033. package/esm2015/marketing/components/promotion-detail/promotion-detail.component.js +0 -247
  1034. package/esm2015/marketing/components/promotion-list/promotion-list.component.js +0 -87
  1035. package/esm2015/marketing/marketing.module.js +0 -15
  1036. package/esm2015/marketing/marketing.routes.js +0 -35
  1037. package/esm2015/marketing/providers/routing/promotion-resolver.js +0 -34
  1038. package/esm2015/order/components/add-manual-payment-dialog/add-manual-payment-dialog.component.js +0 -39
  1039. package/esm2015/order/components/cancel-order-dialog/cancel-order-dialog.component.js +0 -52
  1040. package/esm2015/order/components/fulfill-order-dialog/fulfill-order-dialog.component.js +0 -71
  1041. package/esm2015/order/components/fulfillment-card/fulfillment-card.component.js +0 -43
  1042. package/esm2015/order/components/fulfillment-detail/fulfillment-detail.component.js +0 -64
  1043. package/esm2015/order/components/fulfillment-state-label/fulfillment-state-label.component.js +0 -26
  1044. package/esm2015/order/components/line-fulfillment/line-fulfillment.component.js +0 -65
  1045. package/esm2015/order/components/line-refunds/line-refunds.component.js +0 -35
  1046. package/esm2015/order/components/modification-detail/modification-detail.component.js +0 -66
  1047. package/esm2015/order/components/order-custom-fields-card/order-custom-fields-card.component.js +0 -39
  1048. package/esm2015/order/components/order-detail/order-detail.component.js +0 -509
  1049. package/esm2015/order/components/order-editor/order-editor.component.js +0 -362
  1050. package/esm2015/order/components/order-edits-preview-dialog/order-edits-preview-dialog.component.js +0 -50
  1051. package/esm2015/order/components/order-history/order-history.component.js +0 -154
  1052. package/esm2015/order/components/order-list/order-list.component.js +0 -188
  1053. package/esm2015/order/components/order-payment-card/order-payment-card.component.js +0 -33
  1054. package/esm2015/order/components/order-process-graph/order-process-edge.component.js +0 -37
  1055. package/esm2015/order/components/order-process-graph/order-process-graph.component.js +0 -94
  1056. package/esm2015/order/components/order-process-graph/order-process-node.component.js +0 -53
  1057. package/esm2015/order/components/order-process-graph-dialog/order-process-graph-dialog.component.js +0 -23
  1058. package/esm2015/order/components/order-state-select-dialog/order-state-select-dialog.component.js +0 -25
  1059. package/esm2015/order/components/order-table/order-table.component.js +0 -68
  1060. package/esm2015/order/components/payment-detail/payment-detail.component.js +0 -16
  1061. package/esm2015/order/components/payment-state-label/payment-state-label.component.js +0 -26
  1062. package/esm2015/order/components/refund-order-dialog/refund-order-dialog.component.js +0 -133
  1063. package/esm2015/order/components/refund-state-label/refund-state-label.component.js +0 -25
  1064. package/esm2015/order/components/settle-refund-dialog/settle-refund-dialog.component.js +0 -21
  1065. package/esm2015/order/components/simple-item-list/simple-item-list.component.js +0 -15
  1066. package/esm2015/order/order.module.js +0 -70
  1067. package/esm2015/order/order.routes.js +0 -54
  1068. package/esm2015/order/providers/order-transition.service.js +0 -116
  1069. package/esm2015/order/providers/routing/order-resolver.js +0 -33
  1070. package/esm2015/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.js +0 -35
  1071. package/esm2015/settings/components/admin-detail/admin-detail.component.js +0 -199
  1072. package/esm2015/settings/components/administrator-list/administrator-list.component.js +0 -52
  1073. package/esm2015/settings/components/channel-detail/channel-detail.component.js +0 -163
  1074. package/esm2015/settings/components/channel-list/channel-list.component.js +0 -57
  1075. package/esm2015/settings/components/country-detail/country-detail.component.js +0 -120
  1076. package/esm2015/settings/components/country-list/country-list.component.js +0 -82
  1077. package/esm2015/settings/components/global-settings/global-settings.component.js +0 -89
  1078. package/esm2015/settings/components/payment-method-detail/payment-method-detail.component.js +0 -204
  1079. package/esm2015/settings/components/payment-method-list/payment-method-list.component.js +0 -66
  1080. package/esm2015/settings/components/permission-grid/permission-grid.component.js +0 -80
  1081. package/esm2015/settings/components/profile/profile.component.js +0 -82
  1082. package/esm2015/settings/components/role-detail/role-detail.component.js +0 -109
  1083. package/esm2015/settings/components/role-list/role-list.component.js +0 -73
  1084. package/esm2015/settings/components/shipping-eligibility-test-result/shipping-eligibility-test-result.component.js +0 -24
  1085. package/esm2015/settings/components/shipping-method-detail/shipping-method-detail.component.js +0 -235
  1086. package/esm2015/settings/components/shipping-method-list/shipping-method-list.component.js +0 -94
  1087. package/esm2015/settings/components/shipping-method-test-result/shipping-method-test-result.component.js +0 -24
  1088. package/esm2015/settings/components/tax-category-detail/tax-category-detail.component.js +0 -115
  1089. package/esm2015/settings/components/tax-category-list/tax-category-list.component.js +0 -60
  1090. package/esm2015/settings/components/tax-rate-detail/tax-rate-detail.component.js +0 -131
  1091. package/esm2015/settings/components/tax-rate-list/tax-rate-list.component.js +0 -64
  1092. package/esm2015/settings/components/test-address-form/test-address-form.component.js +0 -53
  1093. package/esm2015/settings/components/test-order-builder/test-order-builder.component.js +0 -73
  1094. package/esm2015/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +0 -47
  1095. package/esm2015/settings/components/zone-list/zone-list.component.js +0 -160
  1096. package/esm2015/settings/components/zone-member-list/zone-member-controls.directive.js +0 -15
  1097. package/esm2015/settings/components/zone-member-list/zone-member-list-header.directive.js +0 -15
  1098. package/esm2015/settings/components/zone-member-list/zone-member-list.component.js +0 -63
  1099. package/esm2015/settings/providers/routing/administrator-resolver.js +0 -32
  1100. package/esm2015/settings/providers/routing/channel-resolver.js +0 -40
  1101. package/esm2015/settings/providers/routing/country-resolver.js +0 -35
  1102. package/esm2015/settings/providers/routing/global-settings-resolver.js +0 -28
  1103. package/esm2015/settings/providers/routing/payment-method-resolver.js +0 -37
  1104. package/esm2015/settings/providers/routing/profile-resolver.js +0 -34
  1105. package/esm2015/settings/providers/routing/role-resolver.js +0 -32
  1106. package/esm2015/settings/providers/routing/shipping-method-resolver.js +0 -38
  1107. package/esm2015/settings/providers/routing/tax-category-resolver.js +0 -32
  1108. package/esm2015/settings/providers/routing/tax-rate-resolver.js +0 -36
  1109. package/esm2015/settings/settings.module.js +0 -72
  1110. package/esm2015/settings/settings.routes.js +0 -255
  1111. package/esm2015/system/components/health-check/health-check.component.js +0 -19
  1112. package/esm2015/system/components/job-list/job-list.component.js +0 -74
  1113. package/esm2015/system/components/job-state-label/job-state-label.component.js +0 -45
  1114. package/esm2015/system/system.module.js +0 -16
  1115. package/esm2015/system/system.routes.js +0 -22
  1116. package/fesm2015/vendure-admin-ui-catalog.js +0 -3800
  1117. package/fesm2015/vendure-admin-ui-catalog.js.map +0 -1
  1118. package/fesm2015/vendure-admin-ui-core.js +0 -15757
  1119. package/fesm2015/vendure-admin-ui-core.js.map +0 -1
  1120. package/fesm2015/vendure-admin-ui-customer.js +0 -1140
  1121. package/fesm2015/vendure-admin-ui-customer.js.map +0 -1
  1122. package/fesm2015/vendure-admin-ui-dashboard.js +0 -371
  1123. package/fesm2015/vendure-admin-ui-dashboard.js.map +0 -1
  1124. package/fesm2015/vendure-admin-ui-login.js +0 -121
  1125. package/fesm2015/vendure-admin-ui-login.js.map +0 -1
  1126. package/fesm2015/vendure-admin-ui-marketing.js +0 -403
  1127. package/fesm2015/vendure-admin-ui-marketing.js.map +0 -1
  1128. package/fesm2015/vendure-admin-ui-order.js +0 -2492
  1129. package/fesm2015/vendure-admin-ui-order.js.map +0 -1
  1130. package/fesm2015/vendure-admin-ui-settings.js +0 -2975
  1131. package/fesm2015/vendure-admin-ui-settings.js.map +0 -1
  1132. package/fesm2015/vendure-admin-ui-system.js +0 -171
  1133. package/fesm2015/vendure-admin-ui-system.js.map +0 -1
  1134. package/fesm2015/vendure-admin-ui.js.map +0 -1
  1135. package/login/vendure-admin-ui-login.metadata.json +0 -1
  1136. package/marketing/vendure-admin-ui-marketing.metadata.json +0 -1
  1137. package/order/vendure-admin-ui-order.metadata.json +0 -1
  1138. package/settings/vendure-admin-ui-settings.metadata.json +0 -1
  1139. package/system/vendure-admin-ui-system.metadata.json +0 -1
  1140. package/vendure-admin-ui.metadata.json +0 -1
@@ -1,2492 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Component, ChangeDetectionStrategy, ChangeDetectorRef, EventEmitter, Input, Output, Injectable, ElementRef, ViewChildren, HostBinding, NgModule } from '@angular/core';
3
- import { FormGroup, FormControl, Validators, FormBuilder, FormArray } from '@angular/forms';
4
- import * as i1 from '@vendure/admin-ui/core';
5
- import { DataService, I18nService, configurableDefinitionToInstance, GlobalFlag, configurableOperationValueIsValid, toConfigurableOperationInput, ServerConfigService, HistoryEntryType, SortOrder, ModalService, NotificationService, BaseDetailComponent, EditNoteDialogComponent, BaseListComponent, LocalStorageService, AdjustmentType, BaseEntityResolver, createResolveData, CanDeactivateDetailGuard, detailBreadcrumb, SharedModule } from '@vendure/admin-ui/core';
6
- import { marker } from '@biesbjerg/ngx-translate-extract-marker';
7
- import { isObject, summate, assertNever, notNullOrUndefined } from '@vendure/common/lib/shared-utils';
8
- import * as i1$1 from '@angular/router';
9
- import { Router, ActivatedRoute, RouterModule } from '@angular/router';
10
- import { EMPTY, Subject, of, merge, BehaviorSubject } from 'rxjs';
11
- import { switchMap, catchError, retryWhen, delay, take, map, startWith, mapTo, takeUntil, shareReplay, distinctUntilChanged, filter, debounceTime, tap } from 'rxjs/operators';
12
-
13
- class AddManualPaymentDialogComponent {
14
- constructor(dataService) {
15
- this.dataService = dataService;
16
- this.form = new FormGroup({
17
- method: new FormControl('', Validators.required),
18
- transactionId: new FormControl('', Validators.required),
19
- });
20
- }
21
- ngOnInit() {
22
- this.paymentMethods$ = this.dataService.settings
23
- .getPaymentMethods(999)
24
- .mapSingle(data => data.paymentMethods.items);
25
- }
26
- submit() {
27
- const formValue = this.form.value;
28
- this.resolveWith({
29
- method: formValue.method,
30
- transactionId: formValue.transactionId,
31
- });
32
- }
33
- cancel() {
34
- this.resolveWith();
35
- }
36
- }
37
- AddManualPaymentDialogComponent.decorators = [
38
- { type: Component, args: [{
39
- selector: 'vdr-add-manual-payment-dialog',
40
- 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",
41
- changeDetection: ChangeDetectionStrategy.OnPush,
42
- styles: [".ng-select{min-width:100%}\n"]
43
- },] }
44
- ];
45
- AddManualPaymentDialogComponent.ctorParameters = () => [
46
- { type: DataService }
47
- ];
48
-
49
- class CancelOrderDialogComponent {
50
- constructor(i18nService) {
51
- this.i18nService = i18nService;
52
- this.lineQuantities = {};
53
- this.reasons = [marker('order.cancel-reason-customer-request'), marker('order.cancel-reason-not-available')];
54
- this.reasons = this.reasons.map(r => this.i18nService.translate(r));
55
- }
56
- get selectionCount() {
57
- return Object.values(this.lineQuantities).reduce((sum, n) => sum + n, 0);
58
- }
59
- ngOnInit() {
60
- this.lineQuantities = this.order.lines.reduce((result, line) => {
61
- return Object.assign(Object.assign({}, result), { [line.id]: 0 });
62
- }, {});
63
- }
64
- select() {
65
- this.resolveWith({
66
- orderId: this.order.id,
67
- lines: this.getLineInputs(),
68
- reason: this.reason,
69
- });
70
- }
71
- cancel() {
72
- this.resolveWith();
73
- }
74
- getLineInputs() {
75
- if (this.order.active) {
76
- return;
77
- }
78
- return Object.entries(this.lineQuantities)
79
- .map(([orderLineId, quantity]) => ({
80
- orderLineId,
81
- quantity,
82
- }))
83
- .filter(l => 0 < l.quantity);
84
- }
85
- }
86
- CancelOrderDialogComponent.decorators = [
87
- { type: Component, args: [{
88
- selector: 'vdr-cancel-order-dialog',
89
- 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-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 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 <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",
90
- changeDetection: ChangeDetectionStrategy.OnPush,
91
- 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)}\n"]
92
- },] }
93
- ];
94
- CancelOrderDialogComponent.ctorParameters = () => [
95
- { type: I18nService }
96
- ];
97
-
98
- class FulfillOrderDialogComponent {
99
- constructor(dataService, changeDetector) {
100
- this.dataService = dataService;
101
- this.changeDetector = changeDetector;
102
- this.fulfillmentHandlerControl = new FormControl();
103
- this.fulfillmentQuantities = {};
104
- }
105
- ngOnInit() {
106
- this.dataService.settings.getGlobalSettings().single$.subscribe(({ globalSettings }) => {
107
- this.fulfillmentQuantities = this.order.lines.reduce((result, line) => {
108
- const fulfillCount = this.getFulfillableCount(line, globalSettings.trackInventory);
109
- return Object.assign(Object.assign({}, result), { [line.id]: { fulfillCount, max: fulfillCount } });
110
- }, {});
111
- this.changeDetector.markForCheck();
112
- });
113
- this.dataService.shippingMethod
114
- .getShippingMethodOperations()
115
- .mapSingle(data => data.fulfillmentHandlers)
116
- .subscribe(handlers => {
117
- this.fulfillmentHandlerDef =
118
- handlers.find(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];
119
- this.fulfillmentHandler = configurableDefinitionToInstance(this.fulfillmentHandlerDef);
120
- this.fulfillmentHandlerControl.patchValue(this.fulfillmentHandler);
121
- this.changeDetector.markForCheck();
122
- });
123
- }
124
- getFulfillableCount(line, globalTrackInventory) {
125
- const { trackInventory, stockOnHand } = line.productVariant;
126
- const effectiveTracInventory = trackInventory === GlobalFlag.INHERIT ? globalTrackInventory : trackInventory === GlobalFlag.TRUE;
127
- const unfulfilledCount = this.getUnfulfilledCount(line);
128
- return effectiveTracInventory ? Math.min(unfulfilledCount, stockOnHand) : unfulfilledCount;
129
- }
130
- getUnfulfilledCount(line) {
131
- const fulfilled = line.items.reduce((sum, item) => sum + (item.fulfillment ? 1 : 0), 0);
132
- return line.quantity - fulfilled;
133
- }
134
- canSubmit() {
135
- const totalCount = Object.values(this.fulfillmentQuantities).reduce((total, { fulfillCount }) => total + fulfillCount, 0);
136
- const formIsValid = configurableOperationValueIsValid(this.fulfillmentHandlerDef, this.fulfillmentHandlerControl.value) && this.fulfillmentHandlerControl.valid;
137
- return formIsValid && 0 < totalCount;
138
- }
139
- select() {
140
- const lines = Object.entries(this.fulfillmentQuantities).map(([orderLineId, { fulfillCount }]) => ({
141
- orderLineId,
142
- quantity: fulfillCount,
143
- }));
144
- this.resolveWith({
145
- lines,
146
- handler: toConfigurableOperationInput(this.fulfillmentHandler, this.fulfillmentHandlerControl.value),
147
- });
148
- }
149
- cancel() {
150
- this.resolveWith();
151
- }
152
- }
153
- FulfillOrderDialogComponent.decorators = [
154
- { type: Component, args: [{
155
- selector: 'vdr-fulfill-order-dialog',
156
- 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",
157
- changeDetection: ChangeDetectionStrategy.OnPush,
158
- 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"]
159
- },] }
160
- ];
161
- FulfillOrderDialogComponent.ctorParameters = () => [
162
- { type: DataService },
163
- { type: ChangeDetectorRef }
164
- ];
165
-
166
- class FulfillmentCardComponent {
167
- constructor() {
168
- this.transitionState = new EventEmitter();
169
- }
170
- nextSuggestedState() {
171
- var _a;
172
- if (!this.fulfillment) {
173
- return;
174
- }
175
- const { nextStates } = this.fulfillment;
176
- const namedStateOrDefault = (targetState) => nextStates.includes(targetState) ? targetState : nextStates[0];
177
- switch ((_a = this.fulfillment) === null || _a === void 0 ? void 0 : _a.state) {
178
- case 'Pending':
179
- return namedStateOrDefault('Shipped');
180
- case 'Shipped':
181
- return namedStateOrDefault('Delivered');
182
- default:
183
- return nextStates.find(s => s !== 'Cancelled');
184
- }
185
- }
186
- nextOtherStates() {
187
- if (!this.fulfillment) {
188
- return [];
189
- }
190
- const suggested = this.nextSuggestedState();
191
- return this.fulfillment.nextStates.filter(s => s !== suggested);
192
- }
193
- }
194
- FulfillmentCardComponent.decorators = [
195
- { type: Component, args: [{
196
- selector: 'vdr-fulfillment-card',
197
- 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",
198
- changeDetection: ChangeDetectionStrategy.OnPush,
199
- styles: [".fulfillment-header{display:flex;justify-content:space-between;align-items:center}.card-footer{display:flex;align-items:center;justify-content:flex-end}\n"]
200
- },] }
201
- ];
202
- FulfillmentCardComponent.propDecorators = {
203
- fulfillment: [{ type: Input }],
204
- order: [{ type: Input }],
205
- transitionState: [{ type: Output }]
206
- };
207
-
208
- class FulfillmentDetailComponent {
209
- constructor(serverConfigService) {
210
- this.serverConfigService = serverConfigService;
211
- this.customFieldConfig = [];
212
- this.customFieldFormGroup = new FormGroup({});
213
- }
214
- ngOnInit() {
215
- this.customFieldConfig = this.serverConfigService.getCustomFieldsFor('Fulfillment');
216
- }
217
- ngOnChanges(changes) {
218
- this.buildCustomFieldsFormGroup();
219
- }
220
- get fulfillment() {
221
- return this.order.fulfillments && this.order.fulfillments.find(f => f.id === this.fulfillmentId);
222
- }
223
- get items() {
224
- var _a;
225
- const itemMap = new Map();
226
- const fulfillmentItemIds = (_a = this.fulfillment) === null || _a === void 0 ? void 0 : _a.orderItems.map(i => i.id);
227
- for (const line of this.order.lines) {
228
- for (const item of line.items) {
229
- if (fulfillmentItemIds === null || fulfillmentItemIds === void 0 ? void 0 : fulfillmentItemIds.includes(item.id)) {
230
- const count = itemMap.get(line.productVariant.name);
231
- if (count != null) {
232
- itemMap.set(line.productVariant.name, count + 1);
233
- }
234
- else {
235
- itemMap.set(line.productVariant.name, 1);
236
- }
237
- }
238
- }
239
- }
240
- return Array.from(itemMap.entries()).map(([name, quantity]) => ({ name, quantity }));
241
- }
242
- buildCustomFieldsFormGroup() {
243
- const customFields = this.fulfillment.customFields;
244
- for (const fieldDef of this.serverConfigService.getCustomFieldsFor('Fulfillment')) {
245
- this.customFieldFormGroup.addControl(fieldDef.name, new FormControl(customFields[fieldDef.name]));
246
- }
247
- }
248
- customFieldIsObject(customField) {
249
- return Array.isArray(customField) || isObject(customField);
250
- }
251
- }
252
- FulfillmentDetailComponent.decorators = [
253
- { type: Component, args: [{
254
- selector: 'vdr-fulfillment-detail',
255
- 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",
256
- changeDetection: ChangeDetectionStrategy.OnPush,
257
- styles: [""]
258
- },] }
259
- ];
260
- FulfillmentDetailComponent.ctorParameters = () => [
261
- { type: ServerConfigService }
262
- ];
263
- FulfillmentDetailComponent.propDecorators = {
264
- fulfillmentId: [{ type: Input }],
265
- order: [{ type: Input }]
266
- };
267
-
268
- class FulfillmentStateLabelComponent {
269
- get chipColorType() {
270
- switch (this.state) {
271
- case 'Pending':
272
- case 'Shipped':
273
- return 'warning';
274
- case 'Delivered':
275
- return 'success';
276
- case 'Cancelled':
277
- return 'error';
278
- }
279
- }
280
- }
281
- FulfillmentStateLabelComponent.decorators = [
282
- { type: Component, args: [{
283
- selector: 'vdr-fulfillment-state-label',
284
- 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",
285
- changeDetection: ChangeDetectionStrategy.OnPush,
286
- styles: [":host{font-size:14px}\n"]
287
- },] }
288
- ];
289
- FulfillmentStateLabelComponent.propDecorators = {
290
- state: [{ type: Input }]
291
- };
292
-
293
- class LineFulfillmentComponent {
294
- constructor() {
295
- this.fulfilledCount = 0;
296
- this.fulfillments = [];
297
- }
298
- ngOnChanges(changes) {
299
- if (this.line) {
300
- this.fulfilledCount = this.getDeliveredCount(this.line);
301
- this.fulfillmentStatus = this.getFulfillmentStatus(this.fulfilledCount, this.line.items.length);
302
- this.fulfillments = this.getFulfillments(this.line);
303
- }
304
- }
305
- /**
306
- * Returns the number of items in an OrderLine which are fulfilled.
307
- */
308
- getDeliveredCount(line) {
309
- return line.items.reduce((sum, item) => sum + (item.fulfillment ? 1 : 0), 0);
310
- }
311
- getFulfillmentStatus(fulfilledCount, lineQuantity) {
312
- if (fulfilledCount === lineQuantity) {
313
- return 'full';
314
- }
315
- if (0 < fulfilledCount && fulfilledCount < lineQuantity) {
316
- return 'partial';
317
- }
318
- return 'none';
319
- }
320
- getFulfillments(line) {
321
- const counts = {};
322
- for (const item of line.items) {
323
- if (item.fulfillment) {
324
- if (counts[item.fulfillment.id] === undefined) {
325
- counts[item.fulfillment.id] = 1;
326
- }
327
- else {
328
- counts[item.fulfillment.id]++;
329
- }
330
- }
331
- }
332
- const all = line.items.reduce((fulfillments, item) => {
333
- return item.fulfillment ? [...fulfillments, item.fulfillment] : fulfillments;
334
- }, []);
335
- return Object.entries(counts).map(([id, count]) => {
336
- return {
337
- count,
338
- // tslint:disable-next-line:no-non-null-assertion
339
- fulfillment: all.find(f => f.id === id),
340
- };
341
- });
342
- }
343
- }
344
- LineFulfillmentComponent.decorators = [
345
- { type: Component, args: [{
346
- selector: 'vdr-line-fulfillment',
347
- 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",
348
- changeDetection: ChangeDetectionStrategy.OnPush,
349
- 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"]
350
- },] }
351
- ];
352
- LineFulfillmentComponent.propDecorators = {
353
- line: [{ type: Input }],
354
- orderState: [{ type: Input }]
355
- };
356
-
357
- class LineRefundsComponent {
358
- getRefundedCount() {
359
- var _a, _b;
360
- const refunds = (_b = (_a = this.payments) === null || _a === void 0 ? void 0 : _a.reduce((all, payment) => [...all, ...payment.refunds], [])) !== null && _b !== void 0 ? _b : [];
361
- return this.line.items.filter(i => {
362
- if (i.refundId === null && !i.cancelled) {
363
- return false;
364
- }
365
- if (i.refundId) {
366
- const refund = refunds.find(r => r.id === i.refundId);
367
- if ((refund === null || refund === void 0 ? void 0 : refund.state) === 'Failed') {
368
- return false;
369
- }
370
- else {
371
- return true;
372
- }
373
- }
374
- return false;
375
- }).length;
376
- }
377
- }
378
- LineRefundsComponent.decorators = [
379
- { type: Component, args: [{
380
- selector: 'vdr-line-refunds',
381
- 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",
382
- changeDetection: ChangeDetectionStrategy.OnPush,
383
- styles: [":host{color:var(--color-error-500)}\n"]
384
- },] }
385
- ];
386
- LineRefundsComponent.propDecorators = {
387
- line: [{ type: Input }],
388
- payments: [{ type: Input }]
389
- };
390
-
391
- class ModificationDetailComponent {
392
- constructor() {
393
- this.addedItems = new Map();
394
- this.removedItems = new Map();
395
- }
396
- ngOnChanges() {
397
- const { added, removed } = this.getModifiedLines();
398
- this.addedItems = added;
399
- this.removedItems = removed;
400
- }
401
- getSurcharge(id) {
402
- return this.order.surcharges.find(m => m.id === id);
403
- }
404
- getAddedItems() {
405
- return [...this.addedItems.entries()].map(([line, count]) => {
406
- return { name: line.productVariant.name, quantity: count };
407
- });
408
- }
409
- getRemovedItems() {
410
- return [...this.removedItems.entries()].map(([line, count]) => {
411
- return { name: line.productVariant.name, quantity: count };
412
- });
413
- }
414
- getModifiedLines() {
415
- var _a, _b;
416
- const added = new Map();
417
- const removed = new Map();
418
- for (const _item of this.modification.orderItems || []) {
419
- const result = this.getOrderLineAndItem(_item.id);
420
- if (result) {
421
- const { line, item } = result;
422
- if (item.cancelled) {
423
- const count = (_a = removed.get(line)) !== null && _a !== void 0 ? _a : 0;
424
- removed.set(line, count + 1);
425
- }
426
- else {
427
- const count = (_b = added.get(line)) !== null && _b !== void 0 ? _b : 0;
428
- added.set(line, count + 1);
429
- }
430
- }
431
- }
432
- return { added, removed };
433
- }
434
- getOrderLineAndItem(itemId) {
435
- for (const line of this.order.lines) {
436
- const item = line.items.find(i => i.id === itemId);
437
- if (item) {
438
- return { line, item };
439
- }
440
- }
441
- }
442
- }
443
- ModificationDetailComponent.decorators = [
444
- { type: Component, args: [{
445
- selector: 'vdr-modification-detail',
446
- 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",
447
- changeDetection: ChangeDetectionStrategy.OnPush,
448
- styles: [""]
449
- },] }
450
- ];
451
- ModificationDetailComponent.propDecorators = {
452
- order: [{ type: Input }],
453
- modification: [{ type: Input }]
454
- };
455
-
456
- class OrderCustomFieldsCardComponent {
457
- constructor(formBuilder) {
458
- this.formBuilder = formBuilder;
459
- this.customFieldsConfig = [];
460
- this.customFieldValues = {};
461
- this.updateClick = new EventEmitter();
462
- this.editable = false;
463
- }
464
- ngOnInit() {
465
- this.customFieldForm = this.formBuilder.group({});
466
- for (const field of this.customFieldsConfig) {
467
- this.customFieldForm.addControl(field.name, this.formBuilder.control(this.customFieldValues[field.name]));
468
- }
469
- }
470
- onUpdateClick() {
471
- this.updateClick.emit(this.customFieldForm.value);
472
- this.customFieldForm.markAsPristine();
473
- this.editable = false;
474
- }
475
- }
476
- OrderCustomFieldsCardComponent.decorators = [
477
- { type: Component, args: [{
478
- selector: 'vdr-order-custom-fields-card',
479
- 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 <ng-container *ngFor=\"let customField of customFieldsConfig\">\r\n <vdr-custom-field-control\r\n entityName=\"Order\"\r\n [customFieldsFormGroup]=\"customFieldForm\"\r\n [compact]=\"true\"\r\n [readonly]=\"customField.readonly || !editable\"\r\n [customField]=\"customField\"\r\n ></vdr-custom-field-control>\r\n </ng-container>\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 </div>\r\n</div>\r\n",
480
- changeDetection: ChangeDetectionStrategy.OnPush,
481
- 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"]
482
- },] }
483
- ];
484
- OrderCustomFieldsCardComponent.ctorParameters = () => [
485
- { type: FormBuilder }
486
- ];
487
- OrderCustomFieldsCardComponent.propDecorators = {
488
- customFieldsConfig: [{ type: Input }],
489
- customFieldValues: [{ type: Input }],
490
- updateClick: [{ type: Output }]
491
- };
492
-
493
- class OrderStateSelectDialogComponent {
494
- constructor() {
495
- this.nextStates = [];
496
- this.message = '';
497
- this.selectedState = '';
498
- }
499
- select() {
500
- if (this.selectedState) {
501
- this.resolveWith(this.selectedState);
502
- }
503
- }
504
- cancel() {
505
- this.resolveWith();
506
- }
507
- }
508
- OrderStateSelectDialogComponent.decorators = [
509
- { type: Component, args: [{
510
- selector: 'vdr-order-state-select-dialog',
511
- 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",
512
- changeDetection: ChangeDetectionStrategy.OnPush,
513
- styles: [""]
514
- },] }
515
- ];
516
-
517
- class OrderTransitionService {
518
- constructor(dataService, modalService, notificationService, i18nService) {
519
- this.dataService = dataService;
520
- this.modalService = modalService;
521
- this.notificationService = notificationService;
522
- this.i18nService = i18nService;
523
- }
524
- /**
525
- * Attempts to transition the Order to the last state it was in before it was transitioned
526
- * to the "Modifying" state. If this fails, a manual prompt is used.
527
- */
528
- transitionToPreModifyingState(orderId, nextStates) {
529
- return this.getPreModifyingState(orderId).pipe(switchMap(state => {
530
- const manualTransitionOptions = {
531
- orderId,
532
- nextStates,
533
- message: this.i18nService.translate(marker('order.unable-to-transition-to-state-try-another'), { state }),
534
- cancellable: false,
535
- retry: 10,
536
- };
537
- if (state) {
538
- return this.transitionToStateOrThrow(orderId, state).pipe(catchError(err => this.manuallyTransitionToState(manualTransitionOptions)));
539
- }
540
- else {
541
- return this.manuallyTransitionToState(manualTransitionOptions);
542
- }
543
- }));
544
- }
545
- /**
546
- * Displays a modal for manually selecting the next state.
547
- */
548
- manuallyTransitionToState(options) {
549
- return this.modalService
550
- .fromComponent(OrderStateSelectDialogComponent, {
551
- locals: {
552
- nextStates: options.nextStates,
553
- cancellable: options.cancellable,
554
- message: options.message,
555
- },
556
- closable: false,
557
- size: 'md',
558
- })
559
- .pipe(switchMap(result => {
560
- if (result) {
561
- return this.transitionToStateOrThrow(options.orderId, result);
562
- }
563
- else {
564
- if (!options.cancellable) {
565
- throw new Error(`An order state must be selected`);
566
- }
567
- else {
568
- return EMPTY;
569
- }
570
- }
571
- }), retryWhen(errors => errors.pipe(delay(2000), take(options.retry))));
572
- }
573
- /**
574
- * Attempts to get the last state the Order was in before it was transitioned
575
- * to the "Modifying" state.
576
- */
577
- getPreModifyingState(orderId) {
578
- return this.dataService.order
579
- .getOrderHistory(orderId, {
580
- filter: {
581
- type: {
582
- eq: HistoryEntryType.ORDER_STATE_TRANSITION,
583
- },
584
- },
585
- sort: {
586
- createdAt: SortOrder.DESC,
587
- },
588
- })
589
- .mapSingle(result => result.order)
590
- .pipe(map(result => {
591
- const item = result === null || result === void 0 ? void 0 : result.history.items.find(i => i.data.to === 'Modifying');
592
- if (item) {
593
- return item.data.from;
594
- }
595
- else {
596
- return;
597
- }
598
- }));
599
- }
600
- transitionToStateOrThrow(orderId, state) {
601
- return this.dataService.order.transitionToState(orderId, state).pipe(map(({ transitionOrderToState }) => {
602
- switch (transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.__typename) {
603
- case 'Order':
604
- return transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.state;
605
- case 'OrderStateTransitionError':
606
- this.notificationService.error(transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.transitionError);
607
- throw new Error(transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.transitionError);
608
- }
609
- }));
610
- }
611
- }
612
- OrderTransitionService.ɵprov = i0.ɵɵdefineInjectable({ factory: function OrderTransitionService_Factory() { return new OrderTransitionService(i0.ɵɵinject(i1.DataService), i0.ɵɵinject(i1.ModalService), i0.ɵɵinject(i1.NotificationService), i0.ɵɵinject(i1.I18nService)); }, token: OrderTransitionService, providedIn: "root" });
613
- OrderTransitionService.decorators = [
614
- { type: Injectable, args: [{
615
- providedIn: 'root',
616
- },] }
617
- ];
618
- OrderTransitionService.ctorParameters = () => [
619
- { type: DataService },
620
- { type: ModalService },
621
- { type: NotificationService },
622
- { type: I18nService }
623
- ];
624
-
625
- class OrderProcessGraphDialogComponent {
626
- constructor(serverConfigService) {
627
- this.serverConfigService = serverConfigService;
628
- this.states = [];
629
- }
630
- ngOnInit() {
631
- this.states = this.serverConfigService.getOrderProcessStates();
632
- }
633
- }
634
- OrderProcessGraphDialogComponent.decorators = [
635
- { type: Component, args: [{
636
- selector: 'vdr-order-process-graph-dialog',
637
- 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",
638
- changeDetection: ChangeDetectionStrategy.OnPush,
639
- styles: [""]
640
- },] }
641
- ];
642
- OrderProcessGraphDialogComponent.ctorParameters = () => [
643
- { type: ServerConfigService }
644
- ];
645
-
646
- class RefundOrderDialogComponent {
647
- constructor(i18nService) {
648
- this.i18nService = i18nService;
649
- this.lineQuantities = {};
650
- this.refundShipping = false;
651
- this.adjustment = 0;
652
- this.reasons = [marker('order.refund-reason-customer-request'), marker('order.refund-reason-not-available')];
653
- this.reasons = this.reasons.map(r => this.i18nService.translate(r));
654
- }
655
- get refundTotal() {
656
- const itemTotal = this.order.lines.reduce((total, line) => {
657
- const lineRef = this.lineQuantities[line.id];
658
- const refundCount = (lineRef.refund && lineRef.quantity) || 0;
659
- return total + line.proratedUnitPriceWithTax * refundCount;
660
- }, 0);
661
- return itemTotal + (this.refundShipping ? this.order.shippingWithTax : 0) + this.adjustment;
662
- }
663
- get settledPaymentsTotal() {
664
- return this.settledPayments
665
- .map(payment => {
666
- const paymentTotal = payment.amount;
667
- const alreadyRefundedTotal = summate(payment.refunds.filter(r => r.state !== 'Failed'), 'total');
668
- return paymentTotal - alreadyRefundedTotal;
669
- })
670
- .reduce((sum, amount) => sum + amount, 0);
671
- }
672
- lineCanBeRefundedOrCancelled(line) {
673
- var _a, _b;
674
- const refunds = (_b = (_a = this.order.payments) === null || _a === void 0 ? void 0 : _a.reduce((all, payment) => [...all, ...payment.refunds], [])) !== null && _b !== void 0 ? _b : [];
675
- const refundable = line.items.filter(i => {
676
- if (i.cancelled) {
677
- return false;
678
- }
679
- if (i.refundId == null) {
680
- return true;
681
- }
682
- const refund = refunds.find(r => r.id === i.refundId);
683
- return (refund === null || refund === void 0 ? void 0 : refund.state) === 'Failed';
684
- });
685
- return 0 < refundable.length;
686
- }
687
- ngOnInit() {
688
- this.lineQuantities = this.order.lines.reduce((result, line) => {
689
- return Object.assign(Object.assign({}, result), { [line.id]: {
690
- quantity: 0,
691
- refund: false,
692
- cancel: false,
693
- } });
694
- }, {});
695
- this.settledPayments = (this.order.payments || []).filter(p => p.state === 'Settled');
696
- if (this.settledPayments.length) {
697
- this.selectedPayment = this.settledPayments[0];
698
- }
699
- }
700
- handleZeroQuantity(line) {
701
- if ((line === null || line === void 0 ? void 0 : line.quantity) === 0) {
702
- line.cancel = false;
703
- line.refund = false;
704
- }
705
- }
706
- isRefunding() {
707
- const result = Object.values(this.lineQuantities).reduce((isRefunding, line) => {
708
- return isRefunding || (0 < line.quantity && line.refund);
709
- }, false);
710
- return result;
711
- }
712
- isCancelling() {
713
- const result = Object.values(this.lineQuantities).reduce((isCancelling, line) => {
714
- return isCancelling || (0 < line.quantity && line.cancel);
715
- }, false);
716
- return result;
717
- }
718
- canSubmit() {
719
- if (this.isRefunding()) {
720
- return !!(this.selectedPayment &&
721
- this.reason &&
722
- 0 < this.refundTotal &&
723
- this.refundTotal <= this.settledPaymentsTotal);
724
- }
725
- else if (this.isCancelling()) {
726
- return !!this.reason;
727
- }
728
- return false;
729
- }
730
- select() {
731
- const payment = this.selectedPayment;
732
- if (payment) {
733
- const refundLines = this.getOrderLineInput(line => line.refund);
734
- const cancelLines = this.getOrderLineInput(line => line.cancel);
735
- this.resolveWith({
736
- refund: {
737
- lines: refundLines,
738
- reason: this.reason,
739
- shipping: this.refundShipping ? this.order.shippingWithTax : 0,
740
- adjustment: this.adjustment,
741
- paymentId: payment.id,
742
- },
743
- cancel: {
744
- lines: cancelLines,
745
- orderId: this.order.id,
746
- reason: this.reason,
747
- },
748
- });
749
- }
750
- }
751
- cancel() {
752
- this.resolveWith();
753
- }
754
- getOrderLineInput(filterFn) {
755
- return Object.entries(this.lineQuantities)
756
- .filter(([orderLineId, line]) => 0 < line.quantity && filterFn(line))
757
- .map(([orderLineId, line]) => ({
758
- orderLineId,
759
- quantity: line.quantity,
760
- }));
761
- }
762
- }
763
- RefundOrderDialogComponent.decorators = [
764
- { type: Component, args: [{
765
- selector: 'vdr-refund-order-dialog',
766
- 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 fulfil\">\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\">\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",
767
- changeDetection: ChangeDetectionStrategy.OnPush,
768
- 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)}.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}.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"]
769
- },] }
770
- ];
771
- RefundOrderDialogComponent.ctorParameters = () => [
772
- { type: I18nService }
773
- ];
774
-
775
- class SettleRefundDialogComponent {
776
- constructor() {
777
- this.transactionId = '';
778
- }
779
- submit() {
780
- this.resolveWith(this.transactionId);
781
- }
782
- cancel() {
783
- this.resolveWith();
784
- }
785
- }
786
- SettleRefundDialogComponent.decorators = [
787
- { type: Component, args: [{
788
- selector: 'vdr-settle-refund-dialog',
789
- 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",
790
- changeDetection: ChangeDetectionStrategy.OnPush,
791
- styles: [":host{padding-bottom:32px}.instruction{margin-top:0;margin-bottom:24px}\n"]
792
- },] }
793
- ];
794
-
795
- class OrderDetailComponent extends BaseDetailComponent {
796
- constructor(router, route, serverConfigService, changeDetector, dataService, notificationService, modalService, orderTransitionService) {
797
- super(route, router, serverConfigService, dataService);
798
- this.changeDetector = changeDetector;
799
- this.dataService = dataService;
800
- this.notificationService = notificationService;
801
- this.modalService = modalService;
802
- this.orderTransitionService = orderTransitionService;
803
- this.detailForm = new FormGroup({});
804
- this.fetchHistory = new Subject();
805
- this.defaultStates = [
806
- 'AddingItems',
807
- 'ArrangingPayment',
808
- 'PaymentAuthorized',
809
- 'PaymentSettled',
810
- 'PartiallyShipped',
811
- 'Shipped',
812
- 'PartiallyDelivered',
813
- 'Delivered',
814
- 'Cancelled',
815
- 'Modifying',
816
- 'ArrangingAdditionalPayment',
817
- ];
818
- }
819
- ngOnInit() {
820
- this.init();
821
- this.entity$.pipe(take(1)).subscribe(order => {
822
- if (order.state === 'Modifying') {
823
- this.router.navigate(['./', 'modify'], { relativeTo: this.route });
824
- }
825
- });
826
- this.customFields = this.getCustomFieldConfig('Order');
827
- this.orderLineCustomFields = this.getCustomFieldConfig('OrderLine');
828
- this.history$ = this.fetchHistory.pipe(startWith(null), switchMap(() => {
829
- return this.dataService.order
830
- .getOrderHistory(this.id, {
831
- sort: {
832
- createdAt: SortOrder.DESC,
833
- },
834
- })
835
- .mapStream(data => { var _a; return (_a = data.order) === null || _a === void 0 ? void 0 : _a.history.items; });
836
- }));
837
- this.nextStates$ = this.entity$.pipe(map(order => {
838
- const isInCustomState = !this.defaultStates.includes(order.state);
839
- return isInCustomState
840
- ? order.nextStates
841
- : order.nextStates.filter(s => !this.defaultStates.includes(s));
842
- }));
843
- }
844
- ngOnDestroy() {
845
- this.destroy();
846
- }
847
- openStateDiagram() {
848
- this.entity$
849
- .pipe(take(1), switchMap(order => this.modalService.fromComponent(OrderProcessGraphDialogComponent, {
850
- closable: true,
851
- locals: {
852
- activeState: order.state,
853
- },
854
- })))
855
- .subscribe();
856
- }
857
- transitionToState(state) {
858
- this.dataService.order.transitionToState(this.id, state).subscribe(({ transitionOrderToState }) => {
859
- switch (transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.__typename) {
860
- case 'Order':
861
- this.notificationService.success(marker('order.transitioned-to-state-success'), { state });
862
- this.fetchHistory.next();
863
- break;
864
- case 'OrderStateTransitionError':
865
- this.notificationService.error(transitionOrderToState.transitionError);
866
- }
867
- });
868
- }
869
- manuallyTransitionToState(order) {
870
- this.orderTransitionService
871
- .manuallyTransitionToState({
872
- orderId: order.id,
873
- nextStates: order.nextStates,
874
- cancellable: true,
875
- message: marker('order.manually-transition-to-state-message'),
876
- retry: 0,
877
- })
878
- .subscribe();
879
- }
880
- transitionToModifying() {
881
- this.dataService.order
882
- .transitionToState(this.id, 'Modifying')
883
- .subscribe(({ transitionOrderToState }) => {
884
- switch (transitionOrderToState === null || transitionOrderToState === void 0 ? void 0 : transitionOrderToState.__typename) {
885
- case 'Order':
886
- this.router.navigate(['./modify'], { relativeTo: this.route });
887
- break;
888
- case 'OrderStateTransitionError':
889
- this.notificationService.error(transitionOrderToState.transitionError);
890
- }
891
- });
892
- }
893
- updateCustomFields(customFieldsValue) {
894
- this.dataService.order
895
- .updateOrderCustomFields({
896
- id: this.id,
897
- customFields: customFieldsValue,
898
- })
899
- .subscribe(() => {
900
- this.notificationService.success(marker('common.notify-update-success'), { entity: 'Order' });
901
- });
902
- }
903
- getOrderAddressLines(orderAddress) {
904
- if (!orderAddress) {
905
- return [];
906
- }
907
- return Object.values(orderAddress)
908
- .filter(val => val !== 'OrderAddress')
909
- .filter(line => !!line);
910
- }
911
- settlePayment(payment) {
912
- this.dataService.order.settlePayment(payment.id).subscribe(({ settlePayment }) => {
913
- switch (settlePayment.__typename) {
914
- case 'Payment':
915
- if (settlePayment.state === 'Settled') {
916
- this.notificationService.success(marker('order.settle-payment-success'));
917
- }
918
- else {
919
- this.notificationService.error(marker('order.settle-payment-error'));
920
- }
921
- this.dataService.order.getOrder(this.id).single$.subscribe();
922
- this.fetchHistory.next();
923
- break;
924
- case 'OrderStateTransitionError':
925
- case 'PaymentStateTransitionError':
926
- case 'SettlePaymentError':
927
- this.notificationService.error(settlePayment.message);
928
- }
929
- });
930
- }
931
- transitionPaymentState({ payment, state }) {
932
- this.dataService.order
933
- .transitionPaymentToState(payment.id, state)
934
- .subscribe(({ transitionPaymentToState }) => {
935
- switch (transitionPaymentToState.__typename) {
936
- case 'Payment':
937
- this.notificationService.success(marker('order.transitioned-payment-to-state-success'), {
938
- state,
939
- });
940
- this.dataService.order.getOrder(this.id).single$.subscribe();
941
- this.fetchHistory.next();
942
- break;
943
- case 'PaymentStateTransitionError':
944
- this.notificationService.error(transitionPaymentToState.message);
945
- break;
946
- }
947
- });
948
- }
949
- canAddFulfillment(order) {
950
- const allItemsFulfilled = order.lines
951
- .reduce((items, line) => [...items, ...line.items], [])
952
- .every(item => !!item.fulfillment);
953
- return (!allItemsFulfilled &&
954
- !this.hasUnsettledModifications(order) &&
955
- this.outstandingPaymentAmount(order) === 0 &&
956
- (order.nextStates.includes('Shipped') ||
957
- order.nextStates.includes('PartiallyShipped') ||
958
- order.nextStates.includes('Delivered')));
959
- }
960
- hasUnsettledModifications(order) {
961
- return 0 < order.modifications.filter(m => !m.isSettled).length;
962
- }
963
- getOutstandingModificationAmount(order) {
964
- return summate(order.modifications.filter(m => !m.isSettled), 'priceChange');
965
- }
966
- outstandingPaymentAmount(order) {
967
- var _a, _b, _c;
968
- const paymentIsValid = (p) => p.state !== 'Cancelled' && p.state !== 'Declined' && p.state !== 'Error';
969
- let amountCovered = 0;
970
- for (const payment of (_b = (_a = order.payments) === null || _a === void 0 ? void 0 : _a.filter(paymentIsValid)) !== null && _b !== void 0 ? _b : []) {
971
- const refunds = (_c = payment.refunds.filter(r => r.state !== 'Failed')) !== null && _c !== void 0 ? _c : [];
972
- const refundsTotal = summate(refunds, 'total');
973
- amountCovered += payment.amount - refundsTotal;
974
- }
975
- return order.totalWithTax - amountCovered;
976
- }
977
- addManualPayment(order) {
978
- const priorState = order.state;
979
- this.modalService
980
- .fromComponent(AddManualPaymentDialogComponent, {
981
- closable: true,
982
- locals: {
983
- outstandingAmount: this.outstandingPaymentAmount(order),
984
- currencyCode: order.currencyCode,
985
- },
986
- })
987
- .pipe(switchMap(result => {
988
- if (result) {
989
- return this.dataService.order.addManualPaymentToOrder({
990
- orderId: this.id,
991
- transactionId: result.transactionId,
992
- method: result.method,
993
- metadata: result.metadata || {},
994
- });
995
- }
996
- else {
997
- return EMPTY;
998
- }
999
- }), switchMap(({ addManualPaymentToOrder }) => {
1000
- switch (addManualPaymentToOrder.__typename) {
1001
- case 'Order':
1002
- this.notificationService.success(marker('order.add-payment-to-order-success'));
1003
- if (priorState === 'ArrangingAdditionalPayment') {
1004
- return this.orderTransitionService.transitionToPreModifyingState(order.id, order.nextStates);
1005
- }
1006
- else {
1007
- return this.dataService.order
1008
- .transitionToState(this.id, 'PaymentSettled')
1009
- .pipe(mapTo('PaymentSettled'));
1010
- }
1011
- case 'ManualPaymentStateError':
1012
- this.notificationService.error(addManualPaymentToOrder.message);
1013
- return EMPTY;
1014
- default:
1015
- return EMPTY;
1016
- }
1017
- }))
1018
- .subscribe(result => {
1019
- if (result) {
1020
- this.refetchOrder({ result });
1021
- }
1022
- });
1023
- }
1024
- fulfillOrder() {
1025
- this.entity$
1026
- .pipe(take(1), switchMap(order => {
1027
- return this.modalService.fromComponent(FulfillOrderDialogComponent, {
1028
- size: 'xl',
1029
- locals: {
1030
- order,
1031
- },
1032
- });
1033
- }), switchMap(input => {
1034
- if (input) {
1035
- return this.dataService.order.createFulfillment(input);
1036
- }
1037
- else {
1038
- return of(undefined);
1039
- }
1040
- }), switchMap(result => this.refetchOrder(result).pipe(mapTo(result))))
1041
- .subscribe(result => {
1042
- if (result) {
1043
- const { addFulfillmentToOrder } = result;
1044
- switch (addFulfillmentToOrder.__typename) {
1045
- case 'Fulfillment':
1046
- this.notificationService.success(marker('order.create-fulfillment-success'));
1047
- break;
1048
- case 'EmptyOrderLineSelectionError':
1049
- case 'InsufficientStockOnHandError':
1050
- case 'ItemsAlreadyFulfilledError':
1051
- case 'InvalidFulfillmentHandlerError':
1052
- this.notificationService.error(addFulfillmentToOrder.message);
1053
- break;
1054
- case 'FulfillmentStateTransitionError':
1055
- this.notificationService.error(addFulfillmentToOrder.transitionError);
1056
- break;
1057
- case 'CreateFulfillmentError':
1058
- this.notificationService.error(addFulfillmentToOrder.fulfillmentHandlerError);
1059
- break;
1060
- case undefined:
1061
- this.notificationService.error(JSON.stringify(addFulfillmentToOrder));
1062
- break;
1063
- default:
1064
- assertNever(addFulfillmentToOrder);
1065
- }
1066
- }
1067
- });
1068
- }
1069
- transitionFulfillment(id, state) {
1070
- this.dataService.order
1071
- .transitionFulfillmentToState(id, state)
1072
- .pipe(switchMap(result => this.refetchOrder(result)))
1073
- .subscribe(() => {
1074
- this.notificationService.success(marker('order.successfully-updated-fulfillment'));
1075
- });
1076
- }
1077
- cancelOrRefund(order) {
1078
- const isRefundable = this.orderHasSettledPayments(order);
1079
- if (order.state === 'PaymentAuthorized' || order.active === true || !isRefundable) {
1080
- this.cancelOrder(order);
1081
- }
1082
- else {
1083
- this.refundOrder(order);
1084
- }
1085
- }
1086
- settleRefund(refund) {
1087
- this.modalService
1088
- .fromComponent(SettleRefundDialogComponent, {
1089
- size: 'md',
1090
- locals: {
1091
- refund,
1092
- },
1093
- })
1094
- .pipe(switchMap(transactionId => {
1095
- if (transactionId) {
1096
- return this.dataService.order.settleRefund({
1097
- transactionId,
1098
- id: refund.id,
1099
- }, this.id);
1100
- }
1101
- else {
1102
- return of(undefined);
1103
- }
1104
- }))
1105
- .subscribe(result => {
1106
- if (result) {
1107
- this.notificationService.success(marker('order.settle-refund-success'));
1108
- }
1109
- });
1110
- }
1111
- addNote(event) {
1112
- const { note, isPublic } = event;
1113
- this.dataService.order
1114
- .addNoteToOrder({
1115
- id: this.id,
1116
- note,
1117
- isPublic,
1118
- })
1119
- .pipe(switchMap(result => this.refetchOrder(result)))
1120
- .subscribe(result => {
1121
- this.notificationService.success(marker('common.notify-create-success'), {
1122
- entity: 'Note',
1123
- });
1124
- });
1125
- }
1126
- updateNote(entry) {
1127
- this.modalService
1128
- .fromComponent(EditNoteDialogComponent, {
1129
- closable: true,
1130
- locals: {
1131
- displayPrivacyControls: true,
1132
- note: entry.data.note,
1133
- noteIsPrivate: !entry.isPublic,
1134
- },
1135
- })
1136
- .pipe(switchMap(result => {
1137
- if (result) {
1138
- return this.dataService.order.updateOrderNote({
1139
- noteId: entry.id,
1140
- isPublic: !result.isPrivate,
1141
- note: result.note,
1142
- });
1143
- }
1144
- else {
1145
- return EMPTY;
1146
- }
1147
- }))
1148
- .subscribe(result => {
1149
- this.fetchHistory.next();
1150
- this.notificationService.success(marker('common.notify-update-success'), {
1151
- entity: 'Note',
1152
- });
1153
- });
1154
- }
1155
- deleteNote(entry) {
1156
- return this.modalService
1157
- .dialog({
1158
- title: marker('common.confirm-delete-note'),
1159
- body: entry.data.note,
1160
- buttons: [
1161
- { type: 'secondary', label: marker('common.cancel') },
1162
- { type: 'danger', label: marker('common.delete'), returnValue: true },
1163
- ],
1164
- })
1165
- .pipe(switchMap(res => (res ? this.dataService.order.deleteOrderNote(entry.id) : EMPTY)))
1166
- .subscribe(() => {
1167
- this.fetchHistory.next();
1168
- this.notificationService.success(marker('common.notify-delete-success'), {
1169
- entity: 'Note',
1170
- });
1171
- });
1172
- }
1173
- orderHasSettledPayments(order) {
1174
- var _a;
1175
- return !!((_a = order.payments) === null || _a === void 0 ? void 0 : _a.find(p => p.state === 'Settled'));
1176
- }
1177
- cancelOrder(order) {
1178
- this.modalService
1179
- .fromComponent(CancelOrderDialogComponent, {
1180
- size: 'xl',
1181
- locals: {
1182
- order,
1183
- },
1184
- })
1185
- .pipe(switchMap(input => {
1186
- if (input) {
1187
- return this.dataService.order.cancelOrder(input);
1188
- }
1189
- else {
1190
- return of(undefined);
1191
- }
1192
- }), switchMap(result => this.refetchOrder(result)))
1193
- .subscribe(result => {
1194
- if (result) {
1195
- this.notificationService.success(marker('order.cancelled-order-success'));
1196
- }
1197
- });
1198
- }
1199
- refundOrder(order) {
1200
- this.modalService
1201
- .fromComponent(RefundOrderDialogComponent, {
1202
- size: 'xl',
1203
- locals: {
1204
- order,
1205
- },
1206
- })
1207
- .pipe(switchMap(input => {
1208
- var _a;
1209
- if (!input) {
1210
- return of(undefined);
1211
- }
1212
- const operations = [];
1213
- if (input.refund.lines.length) {
1214
- operations.push(this.dataService.order
1215
- .refundOrder(input.refund)
1216
- .pipe(map(res => res.refundOrder)));
1217
- }
1218
- if ((_a = input.cancel.lines) === null || _a === void 0 ? void 0 : _a.length) {
1219
- operations.push(this.dataService.order
1220
- .cancelOrder(input.cancel)
1221
- .pipe(map(res => res.cancelOrder)));
1222
- }
1223
- return merge(...operations);
1224
- }))
1225
- .subscribe(result => {
1226
- if (result) {
1227
- switch (result.__typename) {
1228
- case 'Order':
1229
- this.refetchOrder(result).subscribe();
1230
- this.notificationService.success(marker('order.cancelled-order-success'));
1231
- break;
1232
- case 'Refund':
1233
- this.refetchOrder(result).subscribe();
1234
- if (result.state === 'Failed') {
1235
- this.notificationService.error(marker('order.refund-order-failed'));
1236
- }
1237
- else {
1238
- this.notificationService.success(marker('order.refund-order-success'));
1239
- }
1240
- break;
1241
- case 'QuantityTooGreatError':
1242
- case 'MultipleOrderError':
1243
- case 'OrderStateTransitionError':
1244
- case 'CancelActiveOrderError':
1245
- case 'EmptyOrderLineSelectionError':
1246
- case 'AlreadyRefundedError':
1247
- case 'NothingToRefundError':
1248
- case 'PaymentOrderMismatchError':
1249
- case 'RefundOrderStateError':
1250
- case 'RefundStateTransitionError':
1251
- this.notificationService.error(result.message);
1252
- break;
1253
- }
1254
- }
1255
- });
1256
- }
1257
- refetchOrder(result) {
1258
- this.fetchHistory.next();
1259
- if (result) {
1260
- return this.dataService.order.getOrder(this.id).single$;
1261
- }
1262
- else {
1263
- return of(undefined);
1264
- }
1265
- }
1266
- setFormValues(entity) {
1267
- // empty
1268
- }
1269
- }
1270
- OrderDetailComponent.decorators = [
1271
- { type: Component, args: [{
1272
- selector: 'vdr-order-detail',
1273
- 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 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",
1274
- changeDetection: ChangeDetectionStrategy.OnPush,
1275
- styles: [".shipping-address{list-style-type:none;line-height:1.3em}.order-cards h6{margin-top:6px;color:var(--color-text-200)}\n"]
1276
- },] }
1277
- ];
1278
- OrderDetailComponent.ctorParameters = () => [
1279
- { type: Router },
1280
- { type: ActivatedRoute },
1281
- { type: ServerConfigService },
1282
- { type: ChangeDetectorRef },
1283
- { type: DataService },
1284
- { type: NotificationService },
1285
- { type: ModalService },
1286
- { type: OrderTransitionService }
1287
- ];
1288
-
1289
- var OrderEditResultType;
1290
- (function (OrderEditResultType) {
1291
- OrderEditResultType[OrderEditResultType["Refund"] = 0] = "Refund";
1292
- OrderEditResultType[OrderEditResultType["Payment"] = 1] = "Payment";
1293
- OrderEditResultType[OrderEditResultType["PriceUnchanged"] = 2] = "PriceUnchanged";
1294
- OrderEditResultType[OrderEditResultType["Cancel"] = 3] = "Cancel";
1295
- })(OrderEditResultType || (OrderEditResultType = {}));
1296
- class OrderEditsPreviewDialogComponent {
1297
- get priceDifference() {
1298
- return this.order.totalWithTax - this.originalTotalWithTax;
1299
- }
1300
- ngOnInit() {
1301
- this.refundNote = this.modifyOrderInput.note || '';
1302
- }
1303
- cancel() {
1304
- this.resolveWith({
1305
- result: OrderEditResultType.Cancel,
1306
- });
1307
- }
1308
- submit() {
1309
- if (0 < this.priceDifference) {
1310
- this.resolveWith({
1311
- result: OrderEditResultType.Payment,
1312
- });
1313
- }
1314
- else if (this.priceDifference < 0) {
1315
- this.resolveWith({
1316
- result: OrderEditResultType.Refund,
1317
- // tslint:disable-next-line:no-non-null-assertion
1318
- refundPaymentId: this.selectedPayment.id,
1319
- refundNote: this.refundNote,
1320
- });
1321
- }
1322
- else {
1323
- this.resolveWith({
1324
- result: OrderEditResultType.PriceUnchanged,
1325
- });
1326
- }
1327
- }
1328
- }
1329
- OrderEditsPreviewDialogComponent.decorators = [
1330
- { type: Component, args: [{
1331
- selector: 'vdr-order-edits-preview-dialog',
1332
- 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",
1333
- changeDetection: ChangeDetectionStrategy.OnPush,
1334
- styles: [""]
1335
- },] }
1336
- ];
1337
-
1338
- class OrderEditorComponent extends BaseDetailComponent {
1339
- constructor(router, route, serverConfigService, changeDetector, dataService, notificationService, modalService, orderTransitionService) {
1340
- super(route, router, serverConfigService, dataService);
1341
- this.changeDetector = changeDetector;
1342
- this.dataService = dataService;
1343
- this.notificationService = notificationService;
1344
- this.modalService = modalService;
1345
- this.orderTransitionService = orderTransitionService;
1346
- this.detailForm = new FormGroup({});
1347
- this.modifyOrderInput = {
1348
- dryRun: true,
1349
- orderId: '',
1350
- addItems: [],
1351
- adjustOrderLines: [],
1352
- surcharges: [],
1353
- note: '',
1354
- updateShippingAddress: {},
1355
- updateBillingAddress: {},
1356
- };
1357
- this.note = '';
1358
- this.recalculateShipping = true;
1359
- this.addedVariants = new Map();
1360
- }
1361
- get addedLines() {
1362
- const getSinglePriceValue = (price) => price.__typename === 'SinglePrice' ? price.value : 0;
1363
- return (this.modifyOrderInput.addItems || [])
1364
- .map(row => {
1365
- const variantInfo = this.addedVariants.get(row.productVariantId);
1366
- if (variantInfo) {
1367
- return Object.assign(Object.assign({}, variantInfo), { price: getSinglePriceValue(variantInfo.price), priceWithTax: getSinglePriceValue(variantInfo.priceWithTax), quantity: row.quantity });
1368
- }
1369
- })
1370
- .filter(notNullOrUndefined);
1371
- }
1372
- ngOnInit() {
1373
- this.init();
1374
- this.addressCustomFields = this.getCustomFieldConfig('Address');
1375
- this.modifyOrderInput.orderId = this.route.snapshot.paramMap.get('id');
1376
- this.orderLineCustomFields = this.getCustomFieldConfig('OrderLine');
1377
- this.entity$.pipe(takeUntil(this.destroy$)).subscribe(order => {
1378
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
1379
- this.surchargeForm = new FormGroup({
1380
- description: new FormControl('', Validators.required),
1381
- sku: new FormControl(''),
1382
- price: new FormControl(0, Validators.required),
1383
- priceIncludesTax: new FormControl(true),
1384
- taxRate: new FormControl(0),
1385
- taxDescription: new FormControl(''),
1386
- });
1387
- if (!this.shippingAddressForm) {
1388
- this.shippingAddressForm = new FormGroup({
1389
- fullName: new FormControl((_a = order.shippingAddress) === null || _a === void 0 ? void 0 : _a.fullName),
1390
- company: new FormControl((_b = order.shippingAddress) === null || _b === void 0 ? void 0 : _b.company),
1391
- streetLine1: new FormControl((_c = order.shippingAddress) === null || _c === void 0 ? void 0 : _c.streetLine1),
1392
- streetLine2: new FormControl((_d = order.shippingAddress) === null || _d === void 0 ? void 0 : _d.streetLine2),
1393
- city: new FormControl((_e = order.shippingAddress) === null || _e === void 0 ? void 0 : _e.city),
1394
- province: new FormControl((_f = order.shippingAddress) === null || _f === void 0 ? void 0 : _f.province),
1395
- postalCode: new FormControl((_g = order.shippingAddress) === null || _g === void 0 ? void 0 : _g.postalCode),
1396
- countryCode: new FormControl((_h = order.shippingAddress) === null || _h === void 0 ? void 0 : _h.countryCode),
1397
- phoneNumber: new FormControl((_j = order.shippingAddress) === null || _j === void 0 ? void 0 : _j.phoneNumber),
1398
- });
1399
- this.addAddressCustomFieldsFormGroup(this.shippingAddressForm, order.shippingAddress);
1400
- }
1401
- if (!this.billingAddressForm) {
1402
- this.billingAddressForm = new FormGroup({
1403
- fullName: new FormControl((_k = order.billingAddress) === null || _k === void 0 ? void 0 : _k.fullName),
1404
- company: new FormControl((_l = order.billingAddress) === null || _l === void 0 ? void 0 : _l.company),
1405
- streetLine1: new FormControl((_m = order.billingAddress) === null || _m === void 0 ? void 0 : _m.streetLine1),
1406
- streetLine2: new FormControl((_o = order.billingAddress) === null || _o === void 0 ? void 0 : _o.streetLine2),
1407
- city: new FormControl((_p = order.billingAddress) === null || _p === void 0 ? void 0 : _p.city),
1408
- province: new FormControl((_q = order.billingAddress) === null || _q === void 0 ? void 0 : _q.province),
1409
- postalCode: new FormControl((_r = order.billingAddress) === null || _r === void 0 ? void 0 : _r.postalCode),
1410
- countryCode: new FormControl((_s = order.billingAddress) === null || _s === void 0 ? void 0 : _s.countryCode),
1411
- phoneNumber: new FormControl((_t = order.billingAddress) === null || _t === void 0 ? void 0 : _t.phoneNumber),
1412
- });
1413
- this.addAddressCustomFieldsFormGroup(this.billingAddressForm, order.billingAddress);
1414
- }
1415
- this.orderLineCustomFieldsFormArray = new FormArray([]);
1416
- for (const line of order.lines) {
1417
- const formGroup = new FormGroup({});
1418
- for (const { name } of this.orderLineCustomFields) {
1419
- formGroup.addControl(name, new FormControl(line.customFields[name]));
1420
- }
1421
- formGroup.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {
1422
- let modifyRow = this.modifyOrderInput.adjustOrderLines.find(l => l.orderLineId === line.id);
1423
- if (!modifyRow) {
1424
- modifyRow = {
1425
- orderLineId: line.id,
1426
- quantity: line.quantity,
1427
- };
1428
- this.modifyOrderInput.adjustOrderLines.push(modifyRow);
1429
- }
1430
- if (this.orderLineCustomFields.length) {
1431
- modifyRow.customFields = value;
1432
- }
1433
- });
1434
- this.orderLineCustomFieldsFormArray.push(formGroup);
1435
- }
1436
- });
1437
- this.addItemCustomFieldsFormArray = new FormArray([]);
1438
- this.addItemCustomFieldsForm = new FormGroup({});
1439
- for (const customField of this.orderLineCustomFields) {
1440
- this.addItemCustomFieldsForm.addControl(customField.name, new FormControl());
1441
- }
1442
- this.availableCountries$ = this.dataService.settings
1443
- .getAvailableCountries()
1444
- .mapSingle(result => result.countries.items)
1445
- .pipe(shareReplay(1));
1446
- this.dataService.order
1447
- .getOrderHistory(this.id, {
1448
- take: 1,
1449
- sort: {
1450
- createdAt: SortOrder.DESC,
1451
- },
1452
- filter: { type: { eq: HistoryEntryType.ORDER_STATE_TRANSITION } },
1453
- })
1454
- .single$.subscribe(({ order }) => {
1455
- this.previousState = order === null || order === void 0 ? void 0 : order.history.items[0].data.from;
1456
- });
1457
- }
1458
- ngOnDestroy() {
1459
- this.destroy();
1460
- }
1461
- transitionToPriorState(order) {
1462
- this.orderTransitionService
1463
- .transitionToPreModifyingState(order.id, order.nextStates)
1464
- .subscribe(result => {
1465
- this.router.navigate(['..'], { relativeTo: this.route });
1466
- });
1467
- }
1468
- canPreviewChanges() {
1469
- const { addItems, adjustOrderLines, surcharges } = this.modifyOrderInput;
1470
- return (!!(addItems === null || addItems === void 0 ? void 0 : addItems.length) ||
1471
- !!(surcharges === null || surcharges === void 0 ? void 0 : surcharges.length) ||
1472
- !!(adjustOrderLines === null || adjustOrderLines === void 0 ? void 0 : adjustOrderLines.length) ||
1473
- (this.shippingAddressForm.dirty && this.shippingAddressForm.valid) ||
1474
- (this.billingAddressForm.dirty && this.billingAddressForm.valid));
1475
- }
1476
- isLineModified(line) {
1477
- var _a;
1478
- return !!((_a = this.modifyOrderInput.adjustOrderLines) === null || _a === void 0 ? void 0 : _a.find(l => l.orderLineId === line.id && l.quantity !== line.quantity));
1479
- }
1480
- updateLineQuantity(line, quantity) {
1481
- const { adjustOrderLines } = this.modifyOrderInput;
1482
- let row = adjustOrderLines === null || adjustOrderLines === void 0 ? void 0 : adjustOrderLines.find(l => l.orderLineId === line.id);
1483
- if (row && +quantity === line.quantity) {
1484
- // Remove the modification if the quantity is the same as
1485
- // the original order
1486
- adjustOrderLines === null || adjustOrderLines === void 0 ? void 0 : adjustOrderLines.splice(adjustOrderLines === null || adjustOrderLines === void 0 ? void 0 : adjustOrderLines.indexOf(row), 1);
1487
- }
1488
- if (!row) {
1489
- row = { orderLineId: line.id, quantity: +quantity };
1490
- adjustOrderLines === null || adjustOrderLines === void 0 ? void 0 : adjustOrderLines.push(row);
1491
- }
1492
- row.quantity = +quantity;
1493
- }
1494
- updateAddedItemQuantity(item, quantity) {
1495
- var _a;
1496
- const row = (_a = this.modifyOrderInput.addItems) === null || _a === void 0 ? void 0 : _a.find(l => l.productVariantId === item.productVariantId);
1497
- if (row) {
1498
- row.quantity = +quantity;
1499
- }
1500
- }
1501
- trackByProductVariantId(index, item) {
1502
- return item.productVariantId;
1503
- }
1504
- getSelectedItemPrice(result) {
1505
- switch (result === null || result === void 0 ? void 0 : result.priceWithTax.__typename) {
1506
- case 'SinglePrice':
1507
- return result.priceWithTax.value;
1508
- default:
1509
- return 0;
1510
- }
1511
- }
1512
- addItemToOrder(result) {
1513
- var _a, _b;
1514
- if (!result) {
1515
- return;
1516
- }
1517
- const customFields = this.orderLineCustomFields.length
1518
- ? this.addItemCustomFieldsForm.value
1519
- : undefined;
1520
- let row = (_a = this.modifyOrderInput.addItems) === null || _a === void 0 ? void 0 : _a.find(l => this.isMatchingAddItemRow(l, result, customFields));
1521
- if (!row) {
1522
- row = { productVariantId: result.productVariantId, quantity: 1 };
1523
- if (customFields) {
1524
- row.customFields = customFields;
1525
- }
1526
- (_b = this.modifyOrderInput.addItems) === null || _b === void 0 ? void 0 : _b.push(row);
1527
- }
1528
- else {
1529
- row.quantity++;
1530
- }
1531
- if (customFields) {
1532
- const formGroup = new FormGroup({});
1533
- for (const [key, value] of Object.entries(customFields)) {
1534
- formGroup.addControl(key, new FormControl(value));
1535
- }
1536
- this.addItemCustomFieldsFormArray.push(formGroup);
1537
- formGroup.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {
1538
- if (row) {
1539
- row.customFields = value;
1540
- }
1541
- });
1542
- }
1543
- this.addItemCustomFieldsForm.reset({});
1544
- this.addItemSelectedVariant = undefined;
1545
- this.addedVariants.set(result.productVariantId, result);
1546
- }
1547
- isMatchingAddItemRow(row, result, customFields) {
1548
- return (row.productVariantId === result.productVariantId &&
1549
- JSON.stringify(row.customFields) === JSON.stringify(customFields));
1550
- }
1551
- removeAddedItem(index) {
1552
- this.modifyOrderInput.addItems.splice(index, 1);
1553
- if (-1 < index) {
1554
- this.addItemCustomFieldsFormArray.removeAt(index);
1555
- }
1556
- }
1557
- getSurchargePrices(surcharge) {
1558
- const priceWithTax = surcharge.priceIncludesTax
1559
- ? surcharge.price
1560
- : Math.round(surcharge.price * ((100 + (surcharge.taxRate || 0)) / 100));
1561
- const price = surcharge.priceIncludesTax
1562
- ? Math.round(surcharge.price / ((100 + (surcharge.taxRate || 0)) / 100))
1563
- : surcharge.price;
1564
- return {
1565
- price,
1566
- priceWithTax,
1567
- };
1568
- }
1569
- addSurcharge(value) {
1570
- var _a;
1571
- (_a = this.modifyOrderInput.surcharges) === null || _a === void 0 ? void 0 : _a.push(value);
1572
- this.surchargeForm.reset({
1573
- price: 0,
1574
- priceIncludesTax: true,
1575
- taxRate: 0,
1576
- });
1577
- }
1578
- removeSurcharge(index) {
1579
- var _a;
1580
- (_a = this.modifyOrderInput.surcharges) === null || _a === void 0 ? void 0 : _a.splice(index, 1);
1581
- }
1582
- previewAndModify(order) {
1583
- var _a;
1584
- const input = Object.assign(Object.assign(Object.assign(Object.assign({}, this.modifyOrderInput), (this.billingAddressForm.dirty ? { updateBillingAddress: this.billingAddressForm.value } : {})), (this.shippingAddressForm.dirty
1585
- ? { updateShippingAddress: this.shippingAddressForm.value }
1586
- : {})), { dryRun: true, note: (_a = this.note) !== null && _a !== void 0 ? _a : '', options: {
1587
- recalculateShipping: this.recalculateShipping,
1588
- } });
1589
- const originalTotalWithTax = order.totalWithTax;
1590
- this.dataService.order
1591
- .modifyOrder(input)
1592
- .pipe(switchMap(({ modifyOrder }) => {
1593
- switch (modifyOrder.__typename) {
1594
- case 'Order':
1595
- return this.modalService.fromComponent(OrderEditsPreviewDialogComponent, {
1596
- size: 'xl',
1597
- closable: false,
1598
- locals: {
1599
- originalTotalWithTax,
1600
- order: modifyOrder,
1601
- orderLineCustomFields: this.orderLineCustomFields,
1602
- modifyOrderInput: input,
1603
- },
1604
- });
1605
- case 'InsufficientStockError':
1606
- case 'NegativeQuantityError':
1607
- case 'NoChangesSpecifiedError':
1608
- case 'OrderLimitError':
1609
- case 'OrderModificationStateError':
1610
- case 'PaymentMethodMissingError':
1611
- case 'RefundPaymentIdMissingError': {
1612
- this.notificationService.error(modifyOrder.message);
1613
- return of(false);
1614
- }
1615
- case null:
1616
- case undefined:
1617
- return of(false);
1618
- default:
1619
- assertNever(modifyOrder);
1620
- }
1621
- }), switchMap(result => {
1622
- if (!result || result.result === OrderEditResultType.Cancel) {
1623
- // re-fetch so that the preview values get overwritten in the cache.
1624
- return this.dataService.order.getOrder(this.id).mapSingle(() => false);
1625
- }
1626
- else {
1627
- // Do the modification
1628
- const wetRunInput = Object.assign(Object.assign({}, input), { dryRun: false });
1629
- if (result.result === OrderEditResultType.Refund) {
1630
- wetRunInput.refund = {
1631
- paymentId: result.refundPaymentId,
1632
- reason: result.refundNote,
1633
- };
1634
- }
1635
- return this.dataService.order.modifyOrder(wetRunInput).pipe(switchMap(({ modifyOrder }) => {
1636
- if (modifyOrder.__typename === 'Order') {
1637
- const priceDelta = modifyOrder.totalWithTax - originalTotalWithTax;
1638
- const nextState = 0 < priceDelta ? 'ArrangingAdditionalPayment' : this.previousState;
1639
- return this.dataService.order
1640
- .transitionToState(order.id, nextState)
1641
- .pipe(mapTo(true));
1642
- }
1643
- else {
1644
- this.notificationService.error(modifyOrder.message);
1645
- return EMPTY;
1646
- }
1647
- }));
1648
- }
1649
- }))
1650
- .subscribe(result => {
1651
- if (result) {
1652
- this.router.navigate(['../'], { relativeTo: this.route });
1653
- }
1654
- });
1655
- }
1656
- addAddressCustomFieldsFormGroup(parentFormGroup, address) {
1657
- var _a;
1658
- if (address && this.addressCustomFields.length) {
1659
- const addressCustomFieldsFormGroup = new FormGroup({});
1660
- for (const customFieldDef of this.addressCustomFields) {
1661
- const name = customFieldDef.name;
1662
- const value = (_a = address.customFields) === null || _a === void 0 ? void 0 : _a[name];
1663
- addressCustomFieldsFormGroup.addControl(name, new FormControl(value));
1664
- }
1665
- parentFormGroup.addControl('customFields', addressCustomFieldsFormGroup);
1666
- }
1667
- }
1668
- setFormValues(entity, languageCode) {
1669
- /* not used */
1670
- }
1671
- }
1672
- OrderEditorComponent.decorators = [
1673
- { type: Component, args: [{
1674
- selector: 'vdr-order-editor',
1675
- 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 <ng-container *ngFor=\"let customField of orderLineCustomFields\">\r\n <vdr-custom-field-control\r\n [customField]=\"customField\"\r\n [customFieldsFormGroup]=\"orderLineCustomFieldsFormArray.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 {{ 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\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\" /></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",
1676
- changeDetection: ChangeDetectionStrategy.OnPush,
1677
- 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 .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 .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 tr.modified td{background-color:var(--color-warning-100)}\n"]
1678
- },] }
1679
- ];
1680
- OrderEditorComponent.ctorParameters = () => [
1681
- { type: Router },
1682
- { type: ActivatedRoute },
1683
- { type: ServerConfigService },
1684
- { type: ChangeDetectorRef },
1685
- { type: DataService },
1686
- { type: NotificationService },
1687
- { type: ModalService },
1688
- { type: OrderTransitionService }
1689
- ];
1690
-
1691
- class OrderHistoryComponent {
1692
- constructor() {
1693
- this.addNote = new EventEmitter();
1694
- this.updateNote = new EventEmitter();
1695
- this.deleteNote = new EventEmitter();
1696
- this.note = '';
1697
- this.noteIsPrivate = true;
1698
- this.expanded = false;
1699
- this.type = HistoryEntryType;
1700
- }
1701
- getDisplayType(entry) {
1702
- if (entry.type === HistoryEntryType.ORDER_STATE_TRANSITION) {
1703
- if (entry.data.to === 'Delivered') {
1704
- return 'success';
1705
- }
1706
- if (entry.data.to === 'Cancelled') {
1707
- return 'error';
1708
- }
1709
- }
1710
- if (entry.type === HistoryEntryType.ORDER_FULFILLMENT_TRANSITION) {
1711
- if (entry.data.to === 'Delivered') {
1712
- return 'success';
1713
- }
1714
- }
1715
- if (entry.type === HistoryEntryType.ORDER_PAYMENT_TRANSITION) {
1716
- if (entry.data.to === 'Declined' || entry.data.to === 'Cancelled') {
1717
- return 'error';
1718
- }
1719
- }
1720
- if (entry.type === HistoryEntryType.ORDER_CANCELLATION) {
1721
- return 'error';
1722
- }
1723
- if (entry.type === HistoryEntryType.ORDER_REFUND_TRANSITION) {
1724
- return 'warning';
1725
- }
1726
- return 'default';
1727
- }
1728
- getTimelineIcon(entry) {
1729
- if (entry.type === HistoryEntryType.ORDER_STATE_TRANSITION) {
1730
- if (entry.data.to === 'Delivered') {
1731
- return ['success-standard', 'is-solid'];
1732
- }
1733
- if (entry.data.to === 'Cancelled') {
1734
- return 'ban';
1735
- }
1736
- }
1737
- if (entry.type === HistoryEntryType.ORDER_PAYMENT_TRANSITION) {
1738
- if (entry.data.to === 'Settled') {
1739
- return 'credit-card';
1740
- }
1741
- }
1742
- if (entry.type === HistoryEntryType.ORDER_NOTE) {
1743
- return 'note';
1744
- }
1745
- if (entry.type === HistoryEntryType.ORDER_MODIFIED) {
1746
- return 'pencil';
1747
- }
1748
- if (entry.type === HistoryEntryType.ORDER_FULFILLMENT_TRANSITION) {
1749
- if (entry.data.to === 'Shipped') {
1750
- return 'truck';
1751
- }
1752
- if (entry.data.to === 'Delivered') {
1753
- return 'truck';
1754
- }
1755
- }
1756
- }
1757
- isFeatured(entry) {
1758
- switch (entry.type) {
1759
- case HistoryEntryType.ORDER_STATE_TRANSITION: {
1760
- return (entry.data.to === 'Delivered' ||
1761
- entry.data.to === 'Cancelled' ||
1762
- entry.data.to === 'Settled');
1763
- }
1764
- case HistoryEntryType.ORDER_PAYMENT_TRANSITION:
1765
- return entry.data.to === 'Settled' || entry.data.to === 'Cancelled';
1766
- case HistoryEntryType.ORDER_FULFILLMENT_TRANSITION:
1767
- return entry.data.to === 'Delivered' || entry.data.to === 'Shipped';
1768
- case HistoryEntryType.ORDER_NOTE:
1769
- case HistoryEntryType.ORDER_MODIFIED:
1770
- return true;
1771
- default:
1772
- return false;
1773
- }
1774
- }
1775
- getFulfillment(entry) {
1776
- if ((entry.type === HistoryEntryType.ORDER_FULFILLMENT ||
1777
- entry.type === HistoryEntryType.ORDER_FULFILLMENT_TRANSITION) &&
1778
- this.order.fulfillments) {
1779
- return this.order.fulfillments.find(f => f.id === entry.data.fulfillmentId);
1780
- }
1781
- }
1782
- getPayment(entry) {
1783
- if (entry.type === HistoryEntryType.ORDER_PAYMENT_TRANSITION && this.order.payments) {
1784
- return this.order.payments.find(p => p.id === entry.data.paymentId);
1785
- }
1786
- }
1787
- getCancelledItems(entry) {
1788
- const itemMap = new Map();
1789
- const cancelledItemIds = entry.data.orderItemIds;
1790
- for (const line of this.order.lines) {
1791
- for (const item of line.items) {
1792
- if (cancelledItemIds.includes(item.id)) {
1793
- const count = itemMap.get(line.productVariant.name);
1794
- if (count != null) {
1795
- itemMap.set(line.productVariant.name, count + 1);
1796
- }
1797
- else {
1798
- itemMap.set(line.productVariant.name, 1);
1799
- }
1800
- }
1801
- }
1802
- }
1803
- return Array.from(itemMap.entries()).map(([name, quantity]) => ({ name, quantity }));
1804
- }
1805
- getModification(id) {
1806
- return this.order.modifications.find(m => m.id === id);
1807
- }
1808
- getName(entry) {
1809
- const { administrator } = entry;
1810
- if (administrator) {
1811
- return `${administrator.firstName} ${administrator.lastName}`;
1812
- }
1813
- else {
1814
- const customer = this.order.customer;
1815
- if (customer) {
1816
- return `${customer.firstName} ${customer.lastName}`;
1817
- }
1818
- }
1819
- return '';
1820
- }
1821
- addNoteToOrder() {
1822
- this.addNote.emit({ note: this.note, isPublic: !this.noteIsPrivate });
1823
- this.note = '';
1824
- this.noteIsPrivate = true;
1825
- }
1826
- }
1827
- OrderHistoryComponent.decorators = [
1828
- { type: Component, args: [{
1829
- selector: 'vdr-order-history',
1830
- 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-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",
1831
- changeDetection: ChangeDetectionStrategy.OnPush,
1832
- 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"]
1833
- },] }
1834
- ];
1835
- OrderHistoryComponent.propDecorators = {
1836
- order: [{ type: Input }],
1837
- history: [{ type: Input }],
1838
- addNote: [{ type: Output }],
1839
- updateNote: [{ type: Output }],
1840
- deleteNote: [{ type: Output }]
1841
- };
1842
-
1843
- class OrderListComponent extends BaseListComponent {
1844
- constructor(serverConfigService, dataService, localStorageService, router, route) {
1845
- super(router, route);
1846
- this.serverConfigService = serverConfigService;
1847
- this.dataService = dataService;
1848
- this.localStorageService = localStorageService;
1849
- this.searchOrderCodeControl = new FormControl('');
1850
- this.searchLastNameControl = new FormControl('');
1851
- this.orderStates = this.serverConfigService.getOrderProcessStates().map(item => item.name);
1852
- this.filterPresets = [
1853
- {
1854
- name: 'open',
1855
- label: marker('order.filter-preset-open'),
1856
- config: {
1857
- active: false,
1858
- states: this.orderStates.filter(s => s !== 'Delivered' && s !== 'Cancelled' && s !== 'Shipped'),
1859
- },
1860
- },
1861
- {
1862
- name: 'shipped',
1863
- label: marker('order.filter-preset-shipped'),
1864
- config: {
1865
- active: false,
1866
- states: ['Shipped'],
1867
- },
1868
- },
1869
- {
1870
- name: 'completed',
1871
- label: marker('order.filter-preset-completed'),
1872
- config: {
1873
- active: false,
1874
- states: ['Delivered', 'Cancelled'],
1875
- },
1876
- },
1877
- {
1878
- name: 'active',
1879
- label: marker('order.filter-preset-active'),
1880
- config: {
1881
- active: true,
1882
- },
1883
- },
1884
- ];
1885
- super.setQueryFn(
1886
- // tslint:disable-next-line:no-shadowed-variable
1887
- (take, skip) => this.dataService.order.getOrders({ take, skip }).refetchOnChannelChange(), data => data.orders,
1888
- // tslint:disable-next-line:no-shadowed-variable
1889
- (skip, take) => this.createQueryOptions(skip, take, this.searchOrderCodeControl.value, this.searchLastNameControl.value, this.route.snapshot.queryParamMap.get('filter') || 'open'));
1890
- const lastFilters = this.localStorageService.get('orderListLastCustomFilters');
1891
- if (lastFilters) {
1892
- this.setQueryParam(lastFilters, { replaceUrl: true });
1893
- }
1894
- }
1895
- ngOnInit() {
1896
- var _a;
1897
- super.ngOnInit();
1898
- this.activePreset$ = this.route.queryParamMap.pipe(map(qpm => qpm.get('filter') || 'open'), distinctUntilChanged());
1899
- const searchTerms$ = merge(this.searchOrderCodeControl.valueChanges, this.searchLastNameControl.valueChanges).pipe(filter(value => 2 < value.length || value.length === 0), debounceTime(250));
1900
- merge(searchTerms$, this.route.queryParamMap)
1901
- .pipe(takeUntil(this.destroy$))
1902
- .subscribe(val => {
1903
- this.refresh();
1904
- });
1905
- const queryParamMap = this.route.snapshot.queryParamMap;
1906
- this.customFilterForm = new FormGroup({
1907
- states: new FormControl((_a = queryParamMap.getAll('states')) !== null && _a !== void 0 ? _a : []),
1908
- placedAtStart: new FormControl(queryParamMap.get('placedAtStart')),
1909
- placedAtEnd: new FormControl(queryParamMap.get('placedAtEnd')),
1910
- });
1911
- }
1912
- selectFilterPreset(presetName) {
1913
- var _a;
1914
- const lastCustomFilters = (_a = this.localStorageService.get('orderListLastCustomFilters')) !== null && _a !== void 0 ? _a : {};
1915
- const emptyCustomFilters = { states: undefined, placedAtStart: undefined, placedAtEnd: undefined };
1916
- const filters = presetName === 'custom' ? lastCustomFilters : emptyCustomFilters;
1917
- this.setQueryParam(Object.assign({ filter: presetName, page: 1 }, filters), { replaceUrl: true });
1918
- }
1919
- applyCustomFilters() {
1920
- const formValue = this.customFilterForm.value;
1921
- const customFilters = {
1922
- states: formValue.states,
1923
- placedAtStart: formValue.placedAtStart,
1924
- placedAtEnd: formValue.placedAtEnd,
1925
- };
1926
- this.setQueryParam(Object.assign({ filter: 'custom' }, customFilters));
1927
- this.customFilterForm.markAsPristine();
1928
- this.localStorageService.set('orderListLastCustomFilters', customFilters);
1929
- }
1930
- createQueryOptions(
1931
- // tslint:disable-next-line:no-shadowed-variable
1932
- skip, take, orderCodeSearchTerm, customerNameSearchTerm, activeFilterPreset) {
1933
- var _a;
1934
- const filterConfig = this.filterPresets.find(p => p.name === activeFilterPreset);
1935
- // tslint:disable-next-line:no-shadowed-variable
1936
- const filter = {};
1937
- if (filterConfig) {
1938
- if (filterConfig.config.active != null) {
1939
- filter.active = {
1940
- eq: filterConfig.config.active,
1941
- };
1942
- }
1943
- if (filterConfig.config.states) {
1944
- filter.state = {
1945
- in: filterConfig.config.states,
1946
- };
1947
- }
1948
- }
1949
- else if (activeFilterPreset === 'custom') {
1950
- const queryParams = this.route.snapshot.queryParamMap;
1951
- const states = (_a = queryParams.getAll('states')) !== null && _a !== void 0 ? _a : [];
1952
- const placedAtStart = queryParams.get('placedAtStart');
1953
- const placedAtEnd = queryParams.get('placedAtEnd');
1954
- if (states.length) {
1955
- filter.state = {
1956
- in: states,
1957
- };
1958
- }
1959
- if (placedAtStart && placedAtEnd) {
1960
- filter.orderPlacedAt = {
1961
- between: {
1962
- start: placedAtStart,
1963
- end: placedAtEnd,
1964
- },
1965
- };
1966
- }
1967
- else if (placedAtStart) {
1968
- filter.orderPlacedAt = {
1969
- after: placedAtStart,
1970
- };
1971
- }
1972
- else if (placedAtEnd) {
1973
- filter.orderPlacedAt = {
1974
- before: placedAtEnd,
1975
- };
1976
- }
1977
- }
1978
- if (customerNameSearchTerm) {
1979
- filter.customerLastName = {
1980
- contains: customerNameSearchTerm,
1981
- };
1982
- }
1983
- if (orderCodeSearchTerm) {
1984
- filter.code = {
1985
- contains: orderCodeSearchTerm,
1986
- };
1987
- }
1988
- return {
1989
- options: {
1990
- skip,
1991
- take,
1992
- filter: Object.assign({}, (filter !== null && filter !== void 0 ? filter : {})),
1993
- sort: {
1994
- updatedAt: SortOrder.DESC,
1995
- },
1996
- },
1997
- };
1998
- }
1999
- getShippingNames(order) {
2000
- if (order.shippingLines.length) {
2001
- return order.shippingLines.map(shippingLine => shippingLine.shippingMethod.name).join(', ');
2002
- }
2003
- else {
2004
- return '';
2005
- }
2006
- }
2007
- }
2008
- OrderListComponent.decorators = [
2009
- { type: Component, args: [{
2010
- selector: 'vdr-order-list',
2011
- template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <div class=\"search-form\">\r\n <div class=\"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\r\n <input\r\n type=\"text\"\r\n name=\"searchTerm\"\r\n [formControl]=\"searchOrderCodeControl\"\r\n [placeholder]=\"'order.search-by-order-code' | translate\"\r\n class=\"search-input\"\r\n />\r\n <input\r\n type=\"text\"\r\n name=\"searchTerm\"\r\n [formControl]=\"searchLastNameControl\"\r\n [placeholder]=\"'order.search-by-customer-last-name' | 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\">{{ item | stateI18nToken | translate }}</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\">\u00D7</span>\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 </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.total | 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]=\"order.state === 'Modifying' ? ['./', order.id, 'modify'] : ['./', order.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n",
2012
- changeDetection: ChangeDetectionStrategy.OnPush,
2013
- styles: [".search-form{display:flex;flex-direction:column;align-items:baseline;width:100%;margin-bottom:6px}@media screen and (min-width: 768px){.search-form{flex-direction:row}}.search-input{margin-left:6px;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"]
2014
- },] }
2015
- ];
2016
- OrderListComponent.ctorParameters = () => [
2017
- { type: ServerConfigService },
2018
- { type: DataService },
2019
- { type: LocalStorageService },
2020
- { type: Router },
2021
- { type: ActivatedRoute }
2022
- ];
2023
-
2024
- class OrderPaymentCardComponent {
2025
- constructor() {
2026
- this.settlePayment = new EventEmitter();
2027
- this.transitionPaymentState = new EventEmitter();
2028
- this.settleRefund = new EventEmitter();
2029
- }
2030
- refundHasMetadata(refund) {
2031
- return !!refund && Object.keys(refund.metadata).length > 0;
2032
- }
2033
- nextOtherStates() {
2034
- if (!this.payment) {
2035
- return [];
2036
- }
2037
- return this.payment.nextStates.filter(s => s !== 'Settled');
2038
- }
2039
- }
2040
- OrderPaymentCardComponent.decorators = [
2041
- { type: Component, args: [{
2042
- selector: 'vdr-order-payment-card',
2043
- 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",
2044
- changeDetection: ChangeDetectionStrategy.OnPush,
2045
- 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"]
2046
- },] }
2047
- ];
2048
- OrderPaymentCardComponent.propDecorators = {
2049
- payment: [{ type: Input }],
2050
- currencyCode: [{ type: Input }],
2051
- settlePayment: [{ type: Output }],
2052
- transitionPaymentState: [{ type: Output }],
2053
- settleRefund: [{ type: Output }]
2054
- };
2055
-
2056
- const NODE_HEIGHT = 72;
2057
-
2058
- class OrderProcessEdgeComponent {
2059
- ngOnInit() {
2060
- this.active$ = this.from.active$
2061
- .asObservable()
2062
- .pipe(tap((active) => this.to.activeTarget$.next(active)));
2063
- }
2064
- getStyle() {
2065
- const direction = this.from.index < this.to.index ? 'down' : 'up';
2066
- const startPos = this.from.getPos(direction === 'down' ? 'bottom' : 'top');
2067
- const endPos = this.to.getPos(direction === 'down' ? 'top' : 'bottom');
2068
- const dX = Math.abs(startPos.x - endPos.x);
2069
- const dY = Math.abs(startPos.y - endPos.y);
2070
- const length = Math.sqrt(Math.pow(dX, 2) + Math.pow(dY, 2));
2071
- 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'
2072
- ? {
2073
- transform: 'rotateZ(180deg)',
2074
- 'transform-origin': 'top',
2075
- }
2076
- : {}));
2077
- }
2078
- }
2079
- OrderProcessEdgeComponent.decorators = [
2080
- { type: Component, args: [{
2081
- selector: 'vdr-order-process-edge',
2082
- 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",
2083
- changeDetection: ChangeDetectionStrategy.OnPush,
2084
- 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"]
2085
- },] }
2086
- ];
2087
- OrderProcessEdgeComponent.propDecorators = {
2088
- from: [{ type: Input }],
2089
- to: [{ type: Input }],
2090
- index: [{ type: Input }]
2091
- };
2092
-
2093
- class OrderProcessNodeComponent {
2094
- constructor(elementRef) {
2095
- this.elementRef = elementRef;
2096
- this.active$ = new BehaviorSubject(false);
2097
- this.activeTarget$ = new BehaviorSubject(false);
2098
- this.isCancellable = false;
2099
- // We use a class field here to prevent the
2100
- // i18n extractor from extracting a "Cancelled" key
2101
- this.cancelledState = 'Cancelled';
2102
- }
2103
- ngOnChanges(changes) {
2104
- this.isCancellable = !!this.node.to.find((s) => s.name === 'Cancelled');
2105
- if (changes.active) {
2106
- this.active$.next(this.active);
2107
- }
2108
- }
2109
- getPos(origin = 'top') {
2110
- var _a, _b;
2111
- const rect = this.elementRef.nativeElement.getBoundingClientRect();
2112
- const nodeHeight = (_b = (_a = this.elementRef.nativeElement.querySelector('.node')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().height) !== null && _b !== void 0 ? _b : 0;
2113
- return {
2114
- x: 10,
2115
- y: this.index * NODE_HEIGHT + (origin === 'bottom' ? nodeHeight : 0),
2116
- };
2117
- }
2118
- getStyle() {
2119
- const pos = this.getPos();
2120
- return {
2121
- 'top.px': pos.y,
2122
- 'left.px': pos.x,
2123
- };
2124
- }
2125
- }
2126
- OrderProcessNodeComponent.decorators = [
2127
- { type: Component, args: [{
2128
- selector: 'vdr-order-process-node',
2129
- 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",
2130
- changeDetection: ChangeDetectionStrategy.OnPush,
2131
- 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"]
2132
- },] }
2133
- ];
2134
- OrderProcessNodeComponent.ctorParameters = () => [
2135
- { type: ElementRef }
2136
- ];
2137
- OrderProcessNodeComponent.propDecorators = {
2138
- node: [{ type: Input }],
2139
- index: [{ type: Input }],
2140
- active: [{ type: Input }]
2141
- };
2142
-
2143
- class OrderProcessGraphComponent {
2144
- constructor(changeDetector) {
2145
- this.changeDetector = changeDetector;
2146
- this.setActiveState$ = new BehaviorSubject(undefined);
2147
- this.nodes = [];
2148
- this.edges = [];
2149
- }
2150
- get outerHeight() {
2151
- return this.nodes.length * NODE_HEIGHT;
2152
- }
2153
- ngOnInit() {
2154
- this.setActiveState$.next(this.initialState);
2155
- this.activeState$ = this.setActiveState$.pipe(debounceTime(150));
2156
- }
2157
- ngOnChanges(changes) {
2158
- this.populateNodes();
2159
- }
2160
- ngAfterViewInit() {
2161
- setTimeout(() => this.populateEdges());
2162
- }
2163
- onMouseOver(stateName) {
2164
- this.setActiveState$.next(stateName);
2165
- }
2166
- onMouseOut() {
2167
- this.setActiveState$.next(this.initialState);
2168
- }
2169
- getNodeFor(state) {
2170
- if (this.nodeComponents) {
2171
- return this.nodeComponents.find((n) => n.node.name === state);
2172
- }
2173
- }
2174
- populateNodes() {
2175
- var _a, _b;
2176
- const stateNodeMap = new Map();
2177
- for (const state of this.states) {
2178
- stateNodeMap.set(state.name, {
2179
- name: state.name,
2180
- to: [],
2181
- });
2182
- }
2183
- for (const [name, stateNode] of stateNodeMap.entries()) {
2184
- const targets = (_b = (_a = this.states.find((s) => s.name === name)) === null || _a === void 0 ? void 0 : _a.to) !== null && _b !== void 0 ? _b : [];
2185
- for (const target of targets) {
2186
- const targetNode = stateNodeMap.get(target);
2187
- if (targetNode) {
2188
- stateNode.to.push(targetNode);
2189
- }
2190
- }
2191
- }
2192
- this.nodes = [...stateNodeMap.values()].filter((n) => n.name !== 'Cancelled');
2193
- }
2194
- populateEdges() {
2195
- for (const node of this.nodes) {
2196
- const nodeCmp = this.getNodeFor(node.name);
2197
- let index = 0;
2198
- for (const to of node.to) {
2199
- const toCmp = this.getNodeFor(to.name);
2200
- if (nodeCmp && toCmp && nodeCmp !== toCmp) {
2201
- this.edges.push({
2202
- to: toCmp,
2203
- from: nodeCmp,
2204
- index,
2205
- });
2206
- index++;
2207
- }
2208
- }
2209
- }
2210
- this.edges = [...this.edges];
2211
- this.changeDetector.markForCheck();
2212
- }
2213
- }
2214
- OrderProcessGraphComponent.decorators = [
2215
- { type: Component, args: [{
2216
- selector: 'vdr-order-process-graph',
2217
- 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",
2218
- changeDetection: ChangeDetectionStrategy.OnPush,
2219
- styles: [":host{display:block;border:1px hotpink;margin:20px;padding:12px;position:relative}.state-row{display:flex}\n"]
2220
- },] }
2221
- ];
2222
- OrderProcessGraphComponent.ctorParameters = () => [
2223
- { type: ChangeDetectorRef }
2224
- ];
2225
- OrderProcessGraphComponent.propDecorators = {
2226
- states: [{ type: Input }],
2227
- initialState: [{ type: Input }],
2228
- nodeComponents: [{ type: ViewChildren, args: [OrderProcessNodeComponent,] }],
2229
- outerHeight: [{ type: HostBinding, args: ['style.height.px',] }]
2230
- };
2231
-
2232
- class OrderTableComponent {
2233
- constructor() {
2234
- this.orderLineCustomFieldsVisible = false;
2235
- this.customFieldsForLine = {};
2236
- }
2237
- get visibleOrderLineCustomFields() {
2238
- return this.orderLineCustomFieldsVisible ? this.orderLineCustomFields : [];
2239
- }
2240
- get showElided() {
2241
- return !this.orderLineCustomFieldsVisible && 0 < this.orderLineCustomFields.length;
2242
- }
2243
- ngOnInit() {
2244
- this.orderLineCustomFieldsVisible = this.orderLineCustomFields.length < 2;
2245
- this.getLineCustomFields();
2246
- }
2247
- toggleOrderLineCustomFields() {
2248
- this.orderLineCustomFieldsVisible = !this.orderLineCustomFieldsVisible;
2249
- }
2250
- getLineDiscounts(line) {
2251
- return line.discounts.filter(a => a.type === AdjustmentType.PROMOTION);
2252
- }
2253
- getLineCustomFields() {
2254
- for (const line of this.order.lines) {
2255
- const formGroup = new FormGroup({});
2256
- const result = this.orderLineCustomFields
2257
- .map(config => {
2258
- const value = line.customFields[config.name];
2259
- formGroup.addControl(config.name, new FormControl(value));
2260
- return {
2261
- config,
2262
- formGroup,
2263
- value,
2264
- };
2265
- })
2266
- .filter(field => {
2267
- return this.orderLineCustomFieldsVisible ? true : field.value != null;
2268
- });
2269
- this.customFieldsForLine[line.id] = result;
2270
- }
2271
- }
2272
- getPromotionLink(promotion) {
2273
- const id = promotion.adjustmentSource.split(':')[1];
2274
- return ['/marketing', 'promotions', id];
2275
- }
2276
- getCouponCodeForAdjustment(order, promotionAdjustment) {
2277
- const id = promotionAdjustment.adjustmentSource.split(':')[1];
2278
- const promotion = order.promotions.find(p => p.id === id);
2279
- if (promotion) {
2280
- return promotion.couponCode || undefined;
2281
- }
2282
- }
2283
- }
2284
- OrderTableComponent.decorators = [
2285
- { type: Component, args: [{
2286
- selector: 'vdr-order-table',
2287
- 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 {{ line.quantity }}\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 <tr class=\"order-adjustment\" *ngFor=\"let discount of order.discounts\">\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 <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\">{{ order.shippingLines[0]?.shippingMethod?.name }}</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",
2288
- changeDetection: ChangeDetectionStrategy.OnPush,
2289
- 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 .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 .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}::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"]
2290
- },] }
2291
- ];
2292
- OrderTableComponent.propDecorators = {
2293
- order: [{ type: Input }],
2294
- orderLineCustomFields: [{ type: Input }]
2295
- };
2296
-
2297
- class PaymentDetailComponent {
2298
- }
2299
- PaymentDetailComponent.decorators = [
2300
- { type: Component, args: [{
2301
- selector: 'vdr-payment-detail',
2302
- 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",
2303
- changeDetection: ChangeDetectionStrategy.OnPush,
2304
- styles: [""]
2305
- },] }
2306
- ];
2307
- PaymentDetailComponent.propDecorators = {
2308
- payment: [{ type: Input }],
2309
- currencyCode: [{ type: Input }]
2310
- };
2311
-
2312
- class PaymentStateLabelComponent {
2313
- get chipColorType() {
2314
- switch (this.state) {
2315
- case 'Authorized':
2316
- return 'warning';
2317
- case 'Settled':
2318
- return 'success';
2319
- case 'Declined':
2320
- case 'Cancelled':
2321
- return 'error';
2322
- }
2323
- }
2324
- }
2325
- PaymentStateLabelComponent.decorators = [
2326
- { type: Component, args: [{
2327
- selector: 'vdr-payment-state-label',
2328
- 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",
2329
- changeDetection: ChangeDetectionStrategy.OnPush,
2330
- styles: [":host{font-size:14px}\n"]
2331
- },] }
2332
- ];
2333
- PaymentStateLabelComponent.propDecorators = {
2334
- state: [{ type: Input }]
2335
- };
2336
-
2337
- class RefundStateLabelComponent {
2338
- get chipColorType() {
2339
- switch (this.state) {
2340
- case 'Pending':
2341
- return 'warning';
2342
- case 'Settled':
2343
- return 'success';
2344
- case 'Failed':
2345
- return 'error';
2346
- }
2347
- }
2348
- }
2349
- RefundStateLabelComponent.decorators = [
2350
- { type: Component, args: [{
2351
- selector: 'vdr-refund-state-label',
2352
- 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",
2353
- changeDetection: ChangeDetectionStrategy.OnPush,
2354
- styles: [":host{font-size:14px}\n"]
2355
- },] }
2356
- ];
2357
- RefundStateLabelComponent.propDecorators = {
2358
- state: [{ type: Input }]
2359
- };
2360
-
2361
- class SimpleItemListComponent {
2362
- }
2363
- SimpleItemListComponent.decorators = [
2364
- { type: Component, args: [{
2365
- selector: 'vdr-simple-item-list',
2366
- 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",
2367
- changeDetection: ChangeDetectionStrategy.OnPush,
2368
- 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"]
2369
- },] }
2370
- ];
2371
- SimpleItemListComponent.propDecorators = {
2372
- items: [{ type: Input }]
2373
- };
2374
-
2375
- /**
2376
- * Resolves the id from the path into a Customer entity.
2377
- */
2378
- class OrderResolver extends BaseEntityResolver {
2379
- constructor(router, dataService) {
2380
- super(router, {
2381
- __typename: 'Order',
2382
- id: '',
2383
- code: '',
2384
- createdAt: '',
2385
- updatedAt: '',
2386
- total: 0,
2387
- }, id => dataService.order.getOrder(id).mapStream(data => data.order));
2388
- }
2389
- }
2390
- OrderResolver.ɵprov = i0.ɵɵdefineInjectable({ factory: function OrderResolver_Factory() { return new OrderResolver(i0.ɵɵinject(i1$1.Router), i0.ɵɵinject(i1.DataService)); }, token: OrderResolver, providedIn: "root" });
2391
- OrderResolver.decorators = [
2392
- { type: Injectable, args: [{
2393
- providedIn: 'root',
2394
- },] }
2395
- ];
2396
- OrderResolver.ctorParameters = () => [
2397
- { type: Router },
2398
- { type: DataService }
2399
- ];
2400
-
2401
- const ɵ0 = {
2402
- breadcrumb: marker('breadcrumb.orders'),
2403
- }, ɵ1 = {
2404
- breadcrumb: orderBreadcrumb,
2405
- }, ɵ2 = {
2406
- breadcrumb: modifyingOrderBreadcrumb,
2407
- };
2408
- const orderRoutes = [
2409
- {
2410
- path: '',
2411
- component: OrderListComponent,
2412
- data: ɵ0,
2413
- },
2414
- {
2415
- path: ':id',
2416
- component: OrderDetailComponent,
2417
- resolve: createResolveData(OrderResolver),
2418
- canDeactivate: [CanDeactivateDetailGuard],
2419
- data: ɵ1,
2420
- },
2421
- {
2422
- path: ':id/modify',
2423
- component: OrderEditorComponent,
2424
- resolve: createResolveData(OrderResolver),
2425
- // canDeactivate: [CanDeactivateDetailGuard],
2426
- data: ɵ2,
2427
- },
2428
- ];
2429
- function orderBreadcrumb(data, params) {
2430
- return detailBreadcrumb({
2431
- entity: data.entity,
2432
- id: params.id,
2433
- breadcrumbKey: 'breadcrumb.orders',
2434
- getName: order => order.code,
2435
- route: '',
2436
- });
2437
- }
2438
- function modifyingOrderBreadcrumb(data, params) {
2439
- return orderBreadcrumb(data, params).pipe(map((breadcrumbs) => {
2440
- const modifiedBreadcrumbs = breadcrumbs.slice();
2441
- modifiedBreadcrumbs[0].link[0] = '../';
2442
- modifiedBreadcrumbs[1].link[0] = '../orders';
2443
- return modifiedBreadcrumbs.concat({ label: marker('breadcrumb.modifying'), link: [''] });
2444
- }));
2445
- }
2446
-
2447
- class OrderModule {
2448
- }
2449
- OrderModule.decorators = [
2450
- { type: NgModule, args: [{
2451
- imports: [SharedModule, RouterModule.forChild(orderRoutes)],
2452
- declarations: [
2453
- OrderListComponent,
2454
- OrderDetailComponent,
2455
- FulfillOrderDialogComponent,
2456
- LineFulfillmentComponent,
2457
- RefundOrderDialogComponent,
2458
- CancelOrderDialogComponent,
2459
- PaymentStateLabelComponent,
2460
- LineRefundsComponent,
2461
- OrderPaymentCardComponent,
2462
- RefundStateLabelComponent,
2463
- SettleRefundDialogComponent,
2464
- OrderHistoryComponent,
2465
- FulfillmentDetailComponent,
2466
- PaymentDetailComponent,
2467
- SimpleItemListComponent,
2468
- OrderCustomFieldsCardComponent,
2469
- OrderProcessGraphComponent,
2470
- OrderProcessNodeComponent,
2471
- OrderProcessEdgeComponent,
2472
- OrderProcessGraphDialogComponent,
2473
- FulfillmentStateLabelComponent,
2474
- FulfillmentCardComponent,
2475
- OrderEditorComponent,
2476
- OrderTableComponent,
2477
- OrderEditsPreviewDialogComponent,
2478
- ModificationDetailComponent,
2479
- AddManualPaymentDialogComponent,
2480
- OrderStateSelectDialogComponent,
2481
- ],
2482
- },] }
2483
- ];
2484
-
2485
- // This file was generated by the build-public-api.ts script
2486
-
2487
- /**
2488
- * Generated bundle index. Do not edit.
2489
- */
2490
-
2491
- export { AddManualPaymentDialogComponent, CancelOrderDialogComponent, FulfillOrderDialogComponent, FulfillmentCardComponent, FulfillmentDetailComponent, FulfillmentStateLabelComponent, LineFulfillmentComponent, LineRefundsComponent, ModificationDetailComponent, NODE_HEIGHT, OrderCustomFieldsCardComponent, OrderDetailComponent, OrderEditResultType, OrderEditorComponent, OrderEditsPreviewDialogComponent, OrderHistoryComponent, OrderListComponent, OrderModule, OrderPaymentCardComponent, OrderProcessEdgeComponent, OrderProcessGraphComponent, OrderProcessGraphDialogComponent, OrderProcessNodeComponent, OrderResolver, OrderStateSelectDialogComponent, OrderTableComponent, OrderTransitionService, PaymentDetailComponent, PaymentStateLabelComponent, RefundOrderDialogComponent, RefundStateLabelComponent, SettleRefundDialogComponent, SimpleItemListComponent, modifyingOrderBreadcrumb, orderBreadcrumb, orderRoutes, ɵ0, ɵ1, ɵ2 };
2492
- //# sourceMappingURL=vendure-admin-ui-order.js.map