@vendure/admin-ui 1.3.2 → 1.4.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 (255) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +87 -162
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +2058 -426
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-customer.umd.js +79 -57
  6. package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
  7. package/bundles/vendure-admin-ui-marketing.umd.js +11 -1
  8. package/bundles/vendure-admin-ui-marketing.umd.js.map +1 -1
  9. package/bundles/vendure-admin-ui-order.umd.js +10 -2
  10. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  11. package/bundles/vendure-admin-ui-settings.umd.js +156 -153
  12. package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
  13. package/catalog/components/collection-detail/collection-detail.component.d.ts +0 -1
  14. package/catalog/components/collection-list/collection-list.component.d.ts +3 -0
  15. package/catalog/components/facet-detail/facet-detail.component.d.ts +0 -1
  16. package/catalog/components/facet-list/facet-list.component.d.ts +3 -5
  17. package/catalog/components/product-detail/product-detail.component.d.ts +0 -1
  18. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  19. package/core/app.component.d.ts +1 -0
  20. package/core/common/base-detail.component.d.ts +42 -1
  21. package/core/common/base-entity-resolver.d.ts +28 -1
  22. package/core/common/base-list.component.d.ts +75 -1
  23. package/core/common/component-registry-types.d.ts +46 -0
  24. package/core/common/generated-types.d.ts +286 -27
  25. package/core/common/utilities/get-default-ui-language.d.ts +1 -0
  26. package/core/common/version.d.ts +1 -1
  27. package/core/components/app-shell/app-shell.component.d.ts +1 -1
  28. package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +17 -4
  29. package/core/components/user-menu/user-menu.component.d.ts +1 -1
  30. package/core/data/client-state/client-defaults.d.ts +1 -1
  31. package/core/data/definitions/client-definitions.d.ts +3 -1
  32. package/core/data/definitions/customer-definitions.d.ts +1 -0
  33. package/core/data/definitions/settings-definitions.d.ts +1 -0
  34. package/core/data/providers/client-data.service.d.ts +3 -1
  35. package/core/data/providers/data.service.d.ts +54 -12
  36. package/core/data/providers/settings-data.service.d.ts +3 -0
  37. package/core/data/query-result.d.ts +11 -2
  38. package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +25 -0
  39. package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +15 -0
  40. package/core/providers/custom-field-component/custom-field-component.service.d.ts +3 -3
  41. package/core/providers/local-storage/local-storage.service.d.ts +1 -0
  42. package/core/providers/modal/modal.service.d.ts +41 -12
  43. package/core/providers/nav-builder/nav-builder-types.d.ts +19 -1
  44. package/core/providers/nav-builder/nav-builder.service.d.ts +14 -10
  45. package/core/providers/notification/notification.service.d.ts +37 -0
  46. package/core/public_api.d.ts +8 -0
  47. package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +2 -1
  48. package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +18 -0
  49. package/core/shared/components/asset-preview/asset-preview.component.d.ts +0 -1
  50. package/core/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +2 -0
  51. package/core/shared/components/chip/chip.component.d.ts +20 -0
  52. package/core/shared/components/currency-input/currency-input.component.d.ts +11 -0
  53. package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +17 -0
  54. package/core/shared/components/data-table/data-table.component.d.ts +59 -0
  55. package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +17 -0
  56. package/core/shared/components/dropdown/dropdown.component.d.ts +25 -0
  57. package/core/shared/components/extension-host/extension-host.service.d.ts +3 -1
  58. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +22 -0
  59. package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +1 -1
  60. package/core/shared/components/object-tree/object-tree.component.d.ts +8 -0
  61. package/core/shared/components/order-state-label/order-state-label.component.d.ts +10 -0
  62. package/core/shared/components/product-selector/product-selector.component.d.ts +12 -0
  63. package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +12 -1
  64. package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +21 -0
  65. package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +15 -0
  66. package/core/shared/directives/if-multichannel.directive.d.ts +14 -0
  67. package/core/shared/directives/if-permissions.directive.d.ts +3 -0
  68. package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +7 -0
  69. package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +32 -0
  70. package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +7 -0
  71. package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +8 -0
  72. package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +10 -0
  73. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +8 -0
  74. package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +12 -0
  75. package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +7 -0
  76. package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +8 -0
  77. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +40 -3
  78. package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +9 -0
  79. package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +16 -0
  80. package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +9 -0
  81. package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +12 -3
  82. package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +7 -0
  83. package/core/shared/pipes/asset-preview.pipe.d.ts +14 -0
  84. package/core/shared/pipes/duration.pipe.d.ts +8 -0
  85. package/core/shared/pipes/file-size.pipe.d.ts +8 -0
  86. package/core/shared/pipes/has-permission.pipe.d.ts +3 -1
  87. package/core/shared/pipes/locale-currency-name.pipe.d.ts +8 -0
  88. package/core/shared/pipes/locale-currency.pipe.d.ts +12 -0
  89. package/core/shared/pipes/locale-date.pipe.d.ts +7 -0
  90. package/core/shared/pipes/locale-language-name.pipe.d.ts +9 -1
  91. package/core/shared/pipes/locale-region-name.pipe.d.ts +18 -0
  92. package/core/shared/pipes/time-ago.pipe.d.ts +8 -0
  93. package/core/vendure-admin-ui-core.metadata.json +1 -1
  94. package/customer/components/customer-detail/customer-detail.component.d.ts +2 -3
  95. package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +14 -3
  96. package/customer/vendure-admin-ui-customer.metadata.json +1 -1
  97. package/esm2015/catalog/catalog.module.js +29 -28
  98. package/esm2015/catalog/components/asset-detail/asset-detail.component.js +2 -10
  99. package/esm2015/catalog/components/collection-detail/collection-detail.component.js +3 -16
  100. package/esm2015/catalog/components/collection-list/collection-list.component.js +23 -5
  101. package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +1 -1
  102. package/esm2015/catalog/components/collection-tree/collection-tree.component.js +1 -1
  103. package/esm2015/catalog/components/facet-detail/facet-detail.component.js +3 -15
  104. package/esm2015/catalog/components/facet-list/facet-list.component.js +24 -9
  105. package/esm2015/catalog/components/product-assets/product-assets.component.js +2 -2
  106. package/esm2015/catalog/components/product-detail/product-detail.component.js +5 -27
  107. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +3 -3
  108. package/esm2015/catalog/components/update-product-option-dialog/update-product-option-dialog.component.js +2 -2
  109. package/esm2015/catalog/components/variant-price-detail/variant-price-detail.component.js +2 -2
  110. package/esm2015/core/app.component.js +20 -2
  111. package/esm2015/core/common/base-detail.component.js +53 -1
  112. package/esm2015/core/common/base-entity-resolver.js +29 -2
  113. package/esm2015/core/common/base-list.component.js +76 -2
  114. package/esm2015/core/common/component-registry-types.js +1 -1
  115. package/esm2015/core/common/generated-types.js +1 -1
  116. package/esm2015/core/common/introspection-result.js +249 -183
  117. package/esm2015/core/common/utilities/get-default-ui-language.js +9 -1
  118. package/esm2015/core/common/version.js +2 -2
  119. package/esm2015/core/components/app-shell/app-shell.component.js +12 -7
  120. package/esm2015/core/components/main-nav/main-nav.component.js +2 -2
  121. package/esm2015/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.js +281 -5
  122. package/esm2015/core/components/user-menu/user-menu.component.js +3 -3
  123. package/esm2015/core/data/client-state/client-defaults.js +5 -2
  124. package/esm2015/core/data/client-state/client-resolvers.js +32 -33
  125. package/esm2015/core/data/definitions/client-definitions.js +18 -3
  126. package/esm2015/core/data/definitions/customer-definitions.js +21 -25
  127. package/esm2015/core/data/definitions/settings-definitions.js +50 -5
  128. package/esm2015/core/data/providers/client-data.service.js +15 -4
  129. package/esm2015/core/data/providers/data.service.js +44 -2
  130. package/esm2015/core/data/providers/settings-data.service.js +12 -4
  131. package/esm2015/core/data/query-result.js +14 -4
  132. package/esm2015/core/providers/custom-detail-component/custom-detail-component-types.js +2 -0
  133. package/esm2015/core/providers/custom-detail-component/custom-detail-component.service.js +44 -0
  134. package/esm2015/core/providers/custom-field-component/custom-field-component.service.js +6 -6
  135. package/esm2015/core/providers/local-storage/local-storage.service.js +1 -1
  136. package/esm2015/core/providers/modal/modal.service.js +20 -12
  137. package/esm2015/core/providers/nav-builder/nav-builder-types.js +1 -1
  138. package/esm2015/core/providers/nav-builder/nav-builder.service.js +15 -11
  139. package/esm2015/core/providers/notification/notification.service.js +24 -1
  140. package/esm2015/core/public_api.js +9 -1
  141. package/esm2015/core/shared/components/action-bar/action-bar.component.js +1 -1
  142. package/esm2015/core/shared/components/action-bar-items/action-bar-items.component.js +3 -3
  143. package/esm2015/core/shared/components/address-form/address-form.component.js +2 -2
  144. package/esm2015/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.js +19 -1
  145. package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +2 -6
  146. package/esm2015/core/shared/components/channel-assignment-control/channel-assignment-control.component.js +36 -22
  147. package/esm2015/core/shared/components/chip/chip.component.js +12 -1
  148. package/esm2015/core/shared/components/currency-input/currency-input.component.js +12 -1
  149. package/esm2015/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.js +44 -0
  150. package/esm2015/core/shared/components/data-table/data-table.component.js +60 -1
  151. package/esm2015/core/shared/components/datetime-picker/datetime-picker.component.js +17 -1
  152. package/esm2015/core/shared/components/dropdown/dropdown.component.js +26 -1
  153. package/esm2015/core/shared/components/extension-host/extension-host.component.js +3 -3
  154. package/esm2015/core/shared/components/extension-host/extension-host.service.js +16 -2
  155. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +23 -1
  156. package/esm2015/core/shared/components/modal-dialog/modal-dialog.component.js +2 -2
  157. package/esm2015/core/shared/components/object-tree/object-tree.component.js +11 -3
  158. package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +11 -1
  159. package/esm2015/core/shared/components/product-selector/product-selector.component.js +13 -1
  160. package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +14 -3
  161. package/esm2015/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.js +48 -0
  162. package/esm2015/core/shared/components/title-input/title-input.component.js +1 -1
  163. package/esm2015/core/shared/components/ui-extension-point/ui-extension-point.component.js +31 -0
  164. package/esm2015/core/shared/directives/if-multichannel.directive.js +15 -1
  165. package/esm2015/core/shared/directives/if-permissions.directive.js +4 -1
  166. package/esm2015/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.js +8 -1
  167. package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +125 -0
  168. package/esm2015/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.js +8 -1
  169. package/esm2015/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.js +9 -1
  170. package/esm2015/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.js +21 -2
  171. package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +2 -1
  172. package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +9 -1
  173. package/esm2015/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.js +29 -2
  174. package/esm2015/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.js +8 -1
  175. package/esm2015/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.js +9 -1
  176. package/esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js +42 -2
  177. package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +10 -1
  178. package/esm2015/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.js +20 -0
  179. package/esm2015/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +14 -2
  180. package/esm2015/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.js +17 -2
  181. package/esm2015/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.js +8 -1
  182. package/esm2015/core/shared/pipes/asset-preview.pipe.js +15 -1
  183. package/esm2015/core/shared/pipes/duration.pipe.js +9 -1
  184. package/esm2015/core/shared/pipes/file-size.pipe.js +9 -1
  185. package/esm2015/core/shared/pipes/has-permission.pipe.js +4 -2
  186. package/esm2015/core/shared/pipes/locale-base.pipe.js +7 -4
  187. package/esm2015/core/shared/pipes/locale-currency-name.pipe.js +9 -1
  188. package/esm2015/core/shared/pipes/locale-currency.pipe.js +13 -1
  189. package/esm2015/core/shared/pipes/locale-date.pipe.js +8 -1
  190. package/esm2015/core/shared/pipes/locale-language-name.pipe.js +10 -2
  191. package/esm2015/core/shared/pipes/locale-region-name.pipe.js +48 -0
  192. package/esm2015/core/shared/pipes/time-ago.pipe.js +9 -1
  193. package/esm2015/core/shared/shared.module.js +13 -1
  194. package/esm2015/customer/components/customer-detail/customer-detail.component.js +5 -16
  195. package/esm2015/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.js +32 -3
  196. package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +22 -18
  197. package/esm2015/marketing/components/promotion-detail/promotion-detail.component.js +9 -2
  198. package/esm2015/order/components/order-detail/order-detail.component.js +11 -3
  199. package/esm2015/settings/components/admin-detail/admin-detail.component.js +3 -14
  200. package/esm2015/settings/components/channel-detail/channel-detail.component.js +3 -14
  201. package/esm2015/settings/components/country-detail/country-detail.component.js +11 -3
  202. package/esm2015/settings/components/country-list/country-list.component.js +19 -7
  203. package/esm2015/settings/components/global-settings/global-settings.component.js +3 -14
  204. package/esm2015/settings/components/payment-method-detail/payment-method-detail.component.js +9 -2
  205. package/esm2015/settings/components/profile/profile.component.js +3 -14
  206. package/esm2015/settings/components/shipping-method-detail/shipping-method-detail.component.js +3 -16
  207. package/esm2015/settings/components/tax-category-detail/tax-category-detail.component.js +13 -3
  208. package/esm2015/settings/components/tax-rate-detail/tax-rate-detail.component.js +9 -2
  209. package/esm2015/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +32 -3
  210. package/esm2015/settings/components/zone-list/zone-list.component.js +19 -8
  211. package/fesm2015/vendure-admin-ui-catalog.js +83 -102
  212. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  213. package/fesm2015/vendure-admin-ui-core.js +1900 -362
  214. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  215. package/fesm2015/vendure-admin-ui-customer.js +54 -34
  216. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  217. package/fesm2015/vendure-admin-ui-marketing.js +8 -1
  218. package/fesm2015/vendure-admin-ui-marketing.js.map +1 -1
  219. package/fesm2015/vendure-admin-ui-order.js +10 -2
  220. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  221. package/fesm2015/vendure-admin-ui-settings.js +110 -85
  222. package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
  223. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +2 -1
  224. package/marketing/vendure-admin-ui-marketing.metadata.json +1 -1
  225. package/order/vendure-admin-ui-order.metadata.json +1 -1
  226. package/package.json +6 -5
  227. package/settings/components/admin-detail/admin-detail.component.d.ts +0 -1
  228. package/settings/components/channel-detail/channel-detail.component.d.ts +0 -1
  229. package/settings/components/country-detail/country-detail.component.d.ts +2 -1
  230. package/settings/components/country-list/country-list.component.d.ts +7 -2
  231. package/settings/components/global-settings/global-settings.component.d.ts +0 -1
  232. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +2 -1
  233. package/settings/components/profile/profile.component.d.ts +0 -1
  234. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +0 -1
  235. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +2 -1
  236. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +2 -1
  237. package/settings/components/zone-detail-dialog/zone-detail-dialog.component.d.ts +14 -3
  238. package/settings/components/zone-list/zone-list.component.d.ts +6 -2
  239. package/settings/vendure-admin-ui-settings.metadata.json +1 -1
  240. package/static/i18n-messages/cs.json +7 -0
  241. package/static/i18n-messages/de.json +7 -0
  242. package/static/i18n-messages/en.json +7 -0
  243. package/static/i18n-messages/es.json +8 -1
  244. package/static/i18n-messages/fr.json +7 -0
  245. package/static/i18n-messages/it.json +7 -0
  246. package/static/i18n-messages/pl.json +7 -0
  247. package/static/i18n-messages/pt_BR.json +7 -0
  248. package/static/i18n-messages/pt_PT.json +7 -0
  249. package/static/i18n-messages/ru.json +7 -0
  250. package/static/i18n-messages/uk.json +7 -0
  251. package/static/i18n-messages/zh_Hans.json +7 -0
  252. package/static/i18n-messages/zh_Hant.json +7 -0
  253. package/static/styles/theme/dark.scss +9 -0
  254. package/static/styles/theme/default.scss +8 -0
  255. package/static/theme.min.css +1 -1
@@ -12,4 +12,5 @@ export declare class AppComponent implements OnInit {
12
12
  private _document?;
13
13
  constructor(dataService: DataService, serverConfigService: ServerConfigService, localStorageService: LocalStorageService, document?: any);
14
14
  ngOnInit(): void;
15
+ handleGlobalHotkeys(event: KeyboardEvent): void;
15
16
  }
@@ -1,10 +1,50 @@
1
- import { FormGroup } from '@angular/forms';
1
+ import { AbstractControl, FormGroup } from '@angular/forms';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { Observable, Subject } from 'rxjs';
4
4
  import { DataService } from '../data/providers/data.service';
5
5
  import { ServerConfigService } from '../data/server-config';
6
6
  import { DeactivateAware } from './deactivate-aware';
7
7
  import { CustomFieldConfig, CustomFields, LanguageCode } from './generated-types';
8
+ import { TranslationOf } from './utilities/find-translation';
9
+ /**
10
+ * @description
11
+ * A base class for entity detail views. It should be used in conjunction with the
12
+ * {@link BaseEntityResolver}.
13
+ *
14
+ * @example
15
+ * ```TypeScript
16
+ * \@Component({
17
+ * selector: 'app-my-entity',
18
+ * templateUrl: './my-entity.component.html',
19
+ * styleUrls: ['./my-entity.component.scss'],
20
+ * changeDetection: ChangeDetectionStrategy.OnPush,
21
+ * })
22
+ * export class GlobalSettingsComponent extends BaseDetailComponent<MyEntity.Fragment> implements OnInit {
23
+ * detailForm: FormGroup;
24
+ *
25
+ * constructor(
26
+ * router: Router,
27
+ * route: ActivatedRoute,
28
+ * serverConfigService: ServerConfigService,
29
+ * protected dataService: DataService,
30
+ * private formBuilder: FormBuilder,
31
+ * ) {
32
+ * super(route, router, serverConfigService, dataService);
33
+ * this.detailForm = this.formBuilder.group({
34
+ * name: [''],
35
+ * });
36
+ * }
37
+ *
38
+ * protected setFormValues(entity: MyEntity.Fragment, languageCode: LanguageCode): void {
39
+ * this.detailForm.patchValue({
40
+ * name: entity.name,
41
+ * });
42
+ * }
43
+ * }
44
+ * ```
45
+ *
46
+ * @docsCategory list-detail-views
47
+ */
8
48
  export declare abstract class BaseDetailComponent<Entity extends {
9
49
  id: string;
10
50
  updatedAt?: string;
@@ -26,6 +66,7 @@ export declare abstract class BaseDetailComponent<Entity extends {
26
66
  setLanguage(code: LanguageCode): void;
27
67
  canDeactivate(): boolean;
28
68
  protected abstract setFormValues(entity: Entity, languageCode: LanguageCode): void;
69
+ protected setCustomFieldFormValues<T = Entity>(customFields: CustomFieldConfig[], formGroup: AbstractControl | null, entity: T, currentTranslation?: TranslationOf<T>): void;
29
70
  protected getCustomFieldConfig(key: Exclude<keyof CustomFields, '__typename'>): CustomFieldConfig[];
30
71
  protected setQueryParam(key: string, value: any): void;
31
72
  }
@@ -6,13 +6,40 @@ export interface EntityResolveData<R> extends ResolveData {
6
6
  }
7
7
  export declare function createResolveData<T extends BaseEntityResolver<R>, R>(resolver: Type<T>): EntityResolveData<R>;
8
8
  /**
9
+ * @description
9
10
  * A base resolver for an entity detail route. Resolves to an observable of the given entity, or a "blank"
10
- * version if the route id equals "create".
11
+ * version if the route id equals "create". Should be used together with details views which extend the
12
+ * {@link BaseDetailComponent}.
13
+ *
14
+ * @example
15
+ * ```TypeScript
16
+ * \@Injectable({
17
+ * providedIn: 'root',
18
+ * })
19
+ * export class MyEntityResolver extends BaseEntityResolver<MyEntity.Fragment> {
20
+ * constructor(router: Router, dataService: DataService) {
21
+ * super(
22
+ * router,
23
+ * {
24
+ * __typename: 'MyEntity',
25
+ * id: '',
26
+ * createdAt: '',
27
+ * updatedAt: '',
28
+ * name: '',
29
+ * },
30
+ * id => dataService.query(GET_MY_ENTITY, { id }).mapStream(data => data.myEntity),
31
+ * );
32
+ * }
33
+ * }
34
+ * ```
35
+ *
36
+ * @docsCategory list-detail-views
11
37
  */
12
38
  export declare class BaseEntityResolver<T> implements Resolve<Observable<T>> {
13
39
  protected router: Router;
14
40
  private readonly emptyEntity;
15
41
  private entityStream;
16
42
  constructor(router: Router, emptyEntity: T, entityStream: (id: string) => Observable<T | null | undefined>);
43
+ /** @internal */
17
44
  resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<Observable<T>>;
18
45
  }
@@ -9,8 +9,70 @@ export declare type MappingFn<T, R> = (result: R) => {
9
9
  };
10
10
  export declare type OnPageChangeFn<V> = (skip: number, take: number) => V;
11
11
  /**
12
+ * @description
12
13
  * This is a base class which implements the logic required to fetch and manipulate
13
14
  * a list of data from a query which returns a PaginatedList type.
15
+ *
16
+ * @example
17
+ * ```TypeScript
18
+ * \@Component({
19
+ * selector: 'my-entity-list',
20
+ * templateUrl: './my-entity-list.component.html',
21
+ * styleUrls: ['./my-entity-list.component.scss'],
22
+ * changeDetection: ChangeDetectionStrategy.OnPush,
23
+ * })
24
+ * export class MyEntityListComponent extends BaseListComponent<GetMyEntityList.Query, GetMyEntityList.Items> {
25
+ * constructor(
26
+ * private dataService: DataService,
27
+ * router: Router,
28
+ * route: ActivatedRoute,
29
+ * ) {
30
+ * super(router, route);
31
+ * super.setQueryFn(
32
+ * (...args: any[]) => this.dataService.query<GetMyEntityList.Query>(GET_MY_ENTITY_LIST),
33
+ * data => data.myEntities,
34
+ * );
35
+ * }
36
+ * }
37
+ * ```
38
+ *
39
+ * The template for the component will typically use the {@link DataTableComponent} to display the results.
40
+ *
41
+ * @example
42
+ * ```HTML
43
+ * <vdr-action-bar>
44
+ * <vdr-ab-right>
45
+ * <a class="btn btn-primary" [routerLink]="['./create']" *vdrIfPermissions="['CreateSettings', 'CreateTaxRate']">
46
+ * <clr-icon shape="plus"></clr-icon>
47
+ * Create new my entity
48
+ * </a>
49
+ * </vdr-ab-right>
50
+ * </vdr-action-bar>
51
+ *
52
+ * <vdr-data-table
53
+ * [items]="items$ | async"
54
+ * [itemsPerPage]="itemsPerPage$ | async"
55
+ * [totalItems]="totalItems$ | async"
56
+ * [currentPage]="currentPage$ | async"
57
+ * (pageChange)="setPageNumber($event)"
58
+ * (itemsPerPageChange)="setItemsPerPage($event)"
59
+ * >
60
+ * <vdr-dt-column>{{ 'common.name' | translate }}</vdr-dt-column>
61
+ * <vdr-dt-column></vdr-dt-column>
62
+ * <ng-template let-myEntity="item">
63
+ * <td class="left align-middle">{{ myEntity.name }}</td>
64
+ * <td class="right align-middle">
65
+ * <vdr-table-row-action
66
+ * iconShape="edit"
67
+ * [label]="'common.edit' | translate"
68
+ * [linkTo]="['./', myEntity.id]"
69
+ * ></vdr-table-row-action>
70
+ * </td>
71
+ * </ng-template>
72
+ * </vdr-data-table>
73
+ * ```
74
+ *
75
+ * @docsCategory list-detail-views
14
76
  */
15
77
  export declare class BaseListComponent<ResultType, ItemType, VariableType = any> implements OnInit, OnDestroy {
16
78
  protected router: Router;
@@ -29,18 +91,30 @@ export declare class BaseListComponent<ResultType, ItemType, VariableType = any>
29
91
  private defaults;
30
92
  constructor(router: Router, route: ActivatedRoute);
31
93
  /**
94
+ * @description
32
95
  * Sets the fetch function for the list being implemented.
33
96
  */
34
97
  setQueryFn(listQueryFn: ListQueryFn<ResultType>, mappingFn: MappingFn<ItemType, ResultType>, onPageChangeFn?: OnPageChangeFn<VariableType>, defaults?: {
35
98
  take: number;
36
99
  skip: number;
37
100
  }): void;
101
+ /** @internal */
38
102
  ngOnInit(): void;
103
+ /** @internal */
39
104
  ngOnDestroy(): void;
105
+ /**
106
+ * @description
107
+ * Sets the current page number in the url.
108
+ */
40
109
  setPageNumber(page: number): void;
110
+ /**
111
+ * @description
112
+ * Sets the number of items per page in the url.
113
+ */
41
114
  setItemsPerPage(perPage: number): void;
42
115
  /**
43
- * Re-fetch the current page
116
+ * @description
117
+ * Re-fetch the current page of results.
44
118
  */
45
119
  refresh(): void;
46
120
  protected setQueryParam(hash: {
@@ -1,10 +1,56 @@
1
1
  import { FormControl } from '@angular/forms';
2
+ /**
3
+ * @description
4
+ * This interface should be implemented by any component being used as a custom input. For example,
5
+ * inputs for custom fields, or for configurable arguments.
6
+ *
7
+ * @docsCategory custom-input-components
8
+ */
2
9
  export interface FormInputComponent<C = InputComponentConfig> {
10
+ /**
11
+ * @description
12
+ * Should be set to `true` if this component is designed to handle lists.
13
+ * If `true` then the formControl value will be an array of all the
14
+ * values in the list.
15
+ */
3
16
  isListInput?: boolean;
17
+ /**
18
+ * @description
19
+ * This is set by the Admin UI when consuming this component, indicating that the
20
+ * component should be rendered in a read-only state.
21
+ */
4
22
  readonly: boolean;
23
+ /**
24
+ * @description
25
+ * This controls the actual value of the form item. The current value is available
26
+ * as `this.formControl.value`, and an Observable stream of value changes is available
27
+ * as `this.formControl.valueChanges`. To update the value, use `.setValue(val)` and then
28
+ * `.markAsDirty()`.
29
+ *
30
+ * Full documentation can be found in the [Angular docs](https://angular.io/api/forms/FormControl).
31
+ */
5
32
  formControl: FormControl;
33
+ /**
34
+ * @description
35
+ * The `config` property contains the full configuration object of the custom field or configurable argument.
36
+ */
6
37
  config: C;
7
38
  }
8
39
  export declare type InputComponentConfig = {
9
40
  [prop: string]: any;
10
41
  };
42
+ /**
43
+ * @description
44
+ * The valid locationIds for registering action bar items.
45
+ *
46
+ * @docsCategory action-bar
47
+ */
48
+ export declare type ActionBarLocationId = 'administrator-detail' | 'administrator-list' | 'asset-detail' | 'asset-list' | 'channel-detail' | 'channel-list' | 'collection-detail' | 'collection-list' | 'country-detail' | 'country-list' | 'customer-detail' | 'customer-list' | 'customer-group-list' | 'facet-detail' | 'facet-list' | 'global-setting-detail' | 'system-status' | 'job-list' | 'order-detail' | 'order-list' | 'payment-method-detail' | 'payment-method-list' | 'product-detail' | 'product-list' | 'promotion-detail' | 'promotion-list' | 'role-detail' | 'role-list' | 'shipping-method-detail' | 'shipping-method-list' | 'tax-category-detail' | 'tax-category-list' | 'tax-rate-detail' | 'tax-rate-list' | 'zone-list';
49
+ /**
50
+ * @description
51
+ * The valid locations for embedding a {@link CustomDetailComponent}.
52
+ *
53
+ * @docsCategory custom-detail-components
54
+ */
55
+ export declare type CustomDetailComponentLocationId = 'administrator-detail' | 'channel-detail' | 'collection-detail' | 'country-detail' | 'customer-detail' | 'facet-detail' | 'global-settings-detail' | 'order-detail' | 'payment-method-detail' | 'product-detail' | 'promotion-detail' | 'shipping-method-detail' | 'tax-category-detail' | 'tax-rate-detail';
56
+ export declare type UIExtensionLocationId = ActionBarLocationId | CustomDetailComponentLocationId;