@vendure/admin-ui 1.3.4 → 1.4.2
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.
- package/bundles/vendure-admin-ui-catalog.umd.js +87 -162
- package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-core.umd.js +2022 -404
- package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-customer.umd.js +79 -57
- package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-marketing.umd.js +11 -1
- package/bundles/vendure-admin-ui-marketing.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-order.umd.js +10 -2
- package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-settings.umd.js +156 -153
- package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
- package/catalog/components/collection-detail/collection-detail.component.d.ts +0 -1
- package/catalog/components/collection-list/collection-list.component.d.ts +3 -0
- package/catalog/components/facet-detail/facet-detail.component.d.ts +0 -1
- package/catalog/components/facet-list/facet-list.component.d.ts +3 -5
- package/catalog/components/product-detail/product-detail.component.d.ts +0 -1
- package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
- package/core/app.component.d.ts +1 -0
- package/core/common/base-detail.component.d.ts +42 -1
- package/core/common/base-entity-resolver.d.ts +28 -1
- package/core/common/base-list.component.d.ts +75 -1
- package/core/common/component-registry-types.d.ts +46 -0
- package/core/common/generated-types.d.ts +282 -23
- package/core/common/utilities/get-default-ui-language.d.ts +1 -0
- package/core/common/version.d.ts +1 -1
- package/core/components/app-shell/app-shell.component.d.ts +1 -1
- package/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.d.ts +17 -4
- package/core/components/user-menu/user-menu.component.d.ts +1 -1
- package/core/data/client-state/client-defaults.d.ts +1 -1
- package/core/data/definitions/client-definitions.d.ts +3 -1
- package/core/data/definitions/customer-definitions.d.ts +1 -0
- package/core/data/definitions/settings-definitions.d.ts +1 -0
- package/core/data/providers/client-data.service.d.ts +3 -1
- package/core/data/providers/data.service.d.ts +54 -12
- package/core/data/providers/settings-data.service.d.ts +3 -0
- package/core/data/query-result.d.ts +11 -2
- package/core/providers/custom-detail-component/custom-detail-component-types.d.ts +25 -0
- package/core/providers/custom-detail-component/custom-detail-component.service.d.ts +15 -0
- package/core/providers/custom-field-component/custom-field-component.service.d.ts +3 -3
- package/core/providers/local-storage/local-storage.service.d.ts +1 -0
- package/core/providers/modal/modal.service.d.ts +41 -12
- package/core/providers/nav-builder/nav-builder-types.d.ts +19 -1
- package/core/providers/nav-builder/nav-builder.service.d.ts +14 -10
- package/core/providers/notification/notification.service.d.ts +37 -0
- package/core/public_api.d.ts +8 -0
- package/core/shared/components/action-bar-items/action-bar-items.component.d.ts +2 -1
- package/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.d.ts +18 -0
- package/core/shared/components/asset-preview/asset-preview.component.d.ts +0 -1
- package/core/shared/components/chip/chip.component.d.ts +20 -0
- package/core/shared/components/currency-input/currency-input.component.d.ts +11 -0
- package/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.d.ts +17 -0
- package/core/shared/components/data-table/data-table.component.d.ts +59 -0
- package/core/shared/components/datetime-picker/datetime-picker.component.d.ts +17 -0
- package/core/shared/components/dropdown/dropdown.component.d.ts +25 -0
- package/core/shared/components/extension-host/extension-host.service.d.ts +3 -1
- package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +22 -0
- package/core/shared/components/modal-dialog/modal-dialog.component.d.ts +1 -1
- package/core/shared/components/object-tree/object-tree.component.d.ts +8 -0
- package/core/shared/components/order-state-label/order-state-label.component.d.ts +10 -0
- package/core/shared/components/product-selector/product-selector.component.d.ts +12 -0
- package/core/shared/components/rich-text-editor/rich-text-editor.component.d.ts +12 -1
- package/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.d.ts +21 -0
- package/core/shared/components/ui-extension-point/ui-extension-point.component.d.ts +15 -0
- package/core/shared/directives/if-multichannel.directive.d.ts +14 -0
- package/core/shared/directives/if-permissions.directive.d.ts +3 -0
- package/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.d.ts +7 -0
- package/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.d.ts +32 -0
- package/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.d.ts +7 -0
- package/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.d.ts +8 -0
- package/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.d.ts +10 -0
- package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +8 -0
- package/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.d.ts +12 -0
- package/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.d.ts +7 -0
- package/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.d.ts +8 -0
- package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +40 -3
- package/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.d.ts +9 -0
- package/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.d.ts +16 -0
- package/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.d.ts +9 -0
- package/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.d.ts +12 -3
- package/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.d.ts +7 -0
- package/core/shared/pipes/asset-preview.pipe.d.ts +14 -0
- package/core/shared/pipes/duration.pipe.d.ts +8 -0
- package/core/shared/pipes/file-size.pipe.d.ts +8 -0
- package/core/shared/pipes/has-permission.pipe.d.ts +3 -1
- package/core/shared/pipes/locale-currency-name.pipe.d.ts +8 -0
- package/core/shared/pipes/locale-currency.pipe.d.ts +12 -0
- package/core/shared/pipes/locale-date.pipe.d.ts +7 -0
- package/core/shared/pipes/locale-language-name.pipe.d.ts +9 -1
- package/core/shared/pipes/locale-region-name.pipe.d.ts +18 -0
- package/core/shared/pipes/time-ago.pipe.d.ts +8 -0
- package/core/vendure-admin-ui-core.metadata.json +1 -1
- package/customer/components/customer-detail/customer-detail.component.d.ts +2 -3
- package/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.d.ts +14 -3
- package/customer/vendure-admin-ui-customer.metadata.json +1 -1
- package/esm2015/catalog/catalog.module.js +29 -28
- package/esm2015/catalog/components/asset-detail/asset-detail.component.js +2 -10
- package/esm2015/catalog/components/collection-detail/collection-detail.component.js +3 -16
- package/esm2015/catalog/components/collection-list/collection-list.component.js +23 -5
- package/esm2015/catalog/components/facet-detail/facet-detail.component.js +3 -15
- package/esm2015/catalog/components/facet-list/facet-list.component.js +24 -9
- package/esm2015/catalog/components/product-assets/product-assets.component.js +2 -2
- package/esm2015/catalog/components/product-detail/product-detail.component.js +5 -27
- package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +3 -3
- package/esm2015/catalog/components/update-product-option-dialog/update-product-option-dialog.component.js +2 -2
- package/esm2015/catalog/components/variant-price-detail/variant-price-detail.component.js +2 -2
- package/esm2015/core/app.component.js +20 -2
- package/esm2015/core/common/base-detail.component.js +53 -1
- package/esm2015/core/common/base-entity-resolver.js +29 -2
- package/esm2015/core/common/base-list.component.js +76 -2
- package/esm2015/core/common/component-registry-types.js +1 -1
- package/esm2015/core/common/generated-types.js +1 -1
- package/esm2015/core/common/introspection-result.js +249 -183
- package/esm2015/core/common/utilities/get-default-ui-language.js +9 -1
- package/esm2015/core/common/version.js +2 -2
- package/esm2015/core/components/app-shell/app-shell.component.js +12 -7
- package/esm2015/core/components/main-nav/main-nav.component.js +2 -2
- package/esm2015/core/components/ui-language-switcher-dialog/ui-language-switcher-dialog.component.js +281 -5
- package/esm2015/core/components/user-menu/user-menu.component.js +3 -3
- package/esm2015/core/data/client-state/client-defaults.js +5 -2
- package/esm2015/core/data/client-state/client-resolvers.js +32 -33
- package/esm2015/core/data/definitions/client-definitions.js +18 -3
- package/esm2015/core/data/definitions/customer-definitions.js +21 -25
- package/esm2015/core/data/definitions/settings-definitions.js +50 -5
- package/esm2015/core/data/providers/client-data.service.js +15 -4
- package/esm2015/core/data/providers/data.service.js +44 -2
- package/esm2015/core/data/providers/settings-data.service.js +12 -4
- package/esm2015/core/data/query-result.js +14 -4
- package/esm2015/core/providers/custom-detail-component/custom-detail-component-types.js +2 -0
- package/esm2015/core/providers/custom-detail-component/custom-detail-component.service.js +44 -0
- package/esm2015/core/providers/custom-field-component/custom-field-component.service.js +6 -6
- package/esm2015/core/providers/local-storage/local-storage.service.js +1 -1
- package/esm2015/core/providers/modal/modal.service.js +20 -12
- package/esm2015/core/providers/nav-builder/nav-builder-types.js +1 -1
- package/esm2015/core/providers/nav-builder/nav-builder.service.js +15 -11
- package/esm2015/core/providers/notification/notification.service.js +24 -1
- package/esm2015/core/public_api.js +9 -1
- package/esm2015/core/shared/components/action-bar/action-bar.component.js +1 -1
- package/esm2015/core/shared/components/action-bar-items/action-bar-items.component.js +3 -3
- package/esm2015/core/shared/components/address-form/address-form.component.js +2 -2
- package/esm2015/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.js +19 -1
- package/esm2015/core/shared/components/asset-preview/asset-preview.component.js +2 -6
- package/esm2015/core/shared/components/chip/chip.component.js +12 -1
- package/esm2015/core/shared/components/currency-input/currency-input.component.js +12 -1
- package/esm2015/core/shared/components/custom-detail-component-host/custom-detail-component-host.component.js +44 -0
- package/esm2015/core/shared/components/data-table/data-table.component.js +60 -1
- package/esm2015/core/shared/components/datetime-picker/datetime-picker.component.js +17 -1
- package/esm2015/core/shared/components/dropdown/dropdown.component.js +26 -1
- package/esm2015/core/shared/components/extension-host/extension-host.component.js +3 -3
- package/esm2015/core/shared/components/extension-host/extension-host.service.js +16 -2
- package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +23 -1
- package/esm2015/core/shared/components/modal-dialog/modal-dialog.component.js +2 -2
- package/esm2015/core/shared/components/object-tree/object-tree.component.js +9 -1
- package/esm2015/core/shared/components/order-state-label/order-state-label.component.js +11 -1
- package/esm2015/core/shared/components/product-selector/product-selector.component.js +13 -1
- package/esm2015/core/shared/components/rich-text-editor/rich-text-editor.component.js +14 -3
- package/esm2015/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.js +48 -0
- package/esm2015/core/shared/components/title-input/title-input.component.js +1 -1
- package/esm2015/core/shared/components/ui-extension-point/ui-extension-point.component.js +31 -0
- package/esm2015/core/shared/directives/if-multichannel.directive.js +15 -1
- package/esm2015/core/shared/directives/if-permissions.directive.js +4 -1
- package/esm2015/core/shared/dynamic-form-inputs/boolean-form-input/boolean-form-input.component.js +8 -1
- package/esm2015/core/shared/dynamic-form-inputs/code-editor-form-input/json-editor-form-input.component.js +125 -0
- package/esm2015/core/shared/dynamic-form-inputs/currency-form-input/currency-form-input.component.js +8 -1
- package/esm2015/core/shared/dynamic-form-inputs/customer-group-form-input/customer-group-form-input.component.js +9 -1
- package/esm2015/core/shared/dynamic-form-inputs/date-form-input/date-form-input.component.js +21 -2
- package/esm2015/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.js +4 -3
- package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +9 -1
- package/esm2015/core/shared/dynamic-form-inputs/number-form-input/number-form-input.component.js +29 -2
- package/esm2015/core/shared/dynamic-form-inputs/password-form-input/password-form-input.component.js +8 -1
- package/esm2015/core/shared/dynamic-form-inputs/product-selector-form-input/product-selector-form-input.component.js +9 -1
- package/esm2015/core/shared/dynamic-form-inputs/register-dynamic-input-components.js +42 -2
- package/esm2015/core/shared/dynamic-form-inputs/relation-form-input/relation-form-input.component.js +10 -1
- package/esm2015/core/shared/dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component.js +20 -0
- package/esm2015/core/shared/dynamic-form-inputs/select-form-input/select-form-input.component.js +14 -2
- package/esm2015/core/shared/dynamic-form-inputs/text-form-input/text-form-input.component.js +17 -2
- package/esm2015/core/shared/dynamic-form-inputs/textarea-form-input/textarea-form-input.component.js +8 -1
- package/esm2015/core/shared/pipes/asset-preview.pipe.js +15 -1
- package/esm2015/core/shared/pipes/duration.pipe.js +9 -1
- package/esm2015/core/shared/pipes/file-size.pipe.js +9 -1
- package/esm2015/core/shared/pipes/has-permission.pipe.js +4 -2
- package/esm2015/core/shared/pipes/locale-base.pipe.js +7 -4
- package/esm2015/core/shared/pipes/locale-currency-name.pipe.js +9 -1
- package/esm2015/core/shared/pipes/locale-currency.pipe.js +13 -1
- package/esm2015/core/shared/pipes/locale-date.pipe.js +8 -1
- package/esm2015/core/shared/pipes/locale-language-name.pipe.js +10 -2
- package/esm2015/core/shared/pipes/locale-region-name.pipe.js +48 -0
- package/esm2015/core/shared/pipes/time-ago.pipe.js +9 -1
- package/esm2015/core/shared/shared.module.js +13 -1
- package/esm2015/customer/components/customer-detail/customer-detail.component.js +5 -16
- package/esm2015/customer/components/customer-group-detail-dialog/customer-group-detail-dialog.component.js +32 -3
- package/esm2015/customer/components/customer-group-list/customer-group-list.component.js +22 -18
- package/esm2015/marketing/components/promotion-detail/promotion-detail.component.js +9 -2
- package/esm2015/order/components/order-detail/order-detail.component.js +11 -3
- package/esm2015/settings/components/admin-detail/admin-detail.component.js +3 -14
- package/esm2015/settings/components/channel-detail/channel-detail.component.js +3 -14
- package/esm2015/settings/components/country-detail/country-detail.component.js +11 -3
- package/esm2015/settings/components/country-list/country-list.component.js +19 -7
- package/esm2015/settings/components/global-settings/global-settings.component.js +3 -14
- package/esm2015/settings/components/payment-method-detail/payment-method-detail.component.js +9 -2
- package/esm2015/settings/components/profile/profile.component.js +3 -14
- package/esm2015/settings/components/shipping-method-detail/shipping-method-detail.component.js +3 -16
- package/esm2015/settings/components/tax-category-detail/tax-category-detail.component.js +13 -3
- package/esm2015/settings/components/tax-rate-detail/tax-rate-detail.component.js +9 -2
- package/esm2015/settings/components/zone-detail-dialog/zone-detail-dialog.component.js +32 -3
- package/esm2015/settings/components/zone-list/zone-list.component.js +19 -8
- package/fesm2015/vendure-admin-ui-catalog.js +83 -102
- package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
- package/fesm2015/vendure-admin-ui-core.js +1865 -341
- package/fesm2015/vendure-admin-ui-core.js.map +1 -1
- package/fesm2015/vendure-admin-ui-customer.js +54 -34
- package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
- package/fesm2015/vendure-admin-ui-marketing.js +8 -1
- package/fesm2015/vendure-admin-ui-marketing.js.map +1 -1
- package/fesm2015/vendure-admin-ui-order.js +10 -2
- package/fesm2015/vendure-admin-ui-order.js.map +1 -1
- package/fesm2015/vendure-admin-ui-settings.js +110 -85
- package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
- package/marketing/components/promotion-detail/promotion-detail.component.d.ts +2 -1
- package/marketing/vendure-admin-ui-marketing.metadata.json +1 -1
- package/order/vendure-admin-ui-order.metadata.json +1 -1
- package/package.json +6 -5
- package/settings/components/admin-detail/admin-detail.component.d.ts +0 -1
- package/settings/components/channel-detail/channel-detail.component.d.ts +0 -1
- package/settings/components/country-detail/country-detail.component.d.ts +2 -1
- package/settings/components/country-list/country-list.component.d.ts +7 -2
- package/settings/components/global-settings/global-settings.component.d.ts +0 -1
- package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +2 -1
- package/settings/components/profile/profile.component.d.ts +0 -1
- package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +0 -1
- package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +2 -1
- package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +2 -1
- package/settings/components/zone-detail-dialog/zone-detail-dialog.component.d.ts +14 -3
- package/settings/components/zone-list/zone-list.component.d.ts +6 -2
- package/settings/vendure-admin-ui-settings.metadata.json +1 -1
- package/static/i18n-messages/cs.json +7 -0
- package/static/i18n-messages/de.json +7 -0
- package/static/i18n-messages/en.json +7 -0
- package/static/i18n-messages/es.json +8 -1
- package/static/i18n-messages/fr.json +7 -0
- package/static/i18n-messages/it.json +7 -0
- package/static/i18n-messages/pl.json +7 -0
- package/static/i18n-messages/pt_BR.json +7 -0
- package/static/i18n-messages/pt_PT.json +7 -0
- package/static/i18n-messages/ru.json +7 -0
- package/static/i18n-messages/uk.json +7 -0
- package/static/i18n-messages/zh_Hans.json +7 -0
- package/static/i18n-messages/zh_Hant.json +7 -0
- package/static/styles/global/_utilities.scss +3 -1
- package/static/styles/theme/dark.scss +9 -0
- package/static/styles/theme/default.scss +8 -0
- package/static/theme.min.css +1 -1
package/core/app.component.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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;
|