@vendure/admin-ui 2.0.0-next.27 → 2.0.0-next.28
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/core/common/component-registry-types.d.ts +1 -1
- package/core/common/generated-types.d.ts +714 -4
- package/core/common/version.d.ts +1 -1
- package/core/components/channel-switcher/channel-switcher.component.d.ts +3 -3
- package/core/data/definitions/settings-definitions.d.ts +6 -0
- package/core/data/providers/settings-data.service.d.ts +10 -1
- package/core/providers/channel/channel.service.d.ts +14 -0
- package/core/public_api.d.ts +1 -0
- package/esm2020/core/common/component-registry-types.mjs +1 -1
- package/esm2020/core/common/generated-types.mjs +15 -1
- package/esm2020/core/common/introspection-result.mjs +6 -2
- package/esm2020/core/common/version.mjs +2 -2
- package/esm2020/core/components/channel-switcher/channel-switcher.component.mjs +7 -13
- package/esm2020/core/components/main-nav/main-nav.component.mjs +8 -1
- package/esm2020/core/data/definitions/order-definitions.mjs +15 -1
- package/esm2020/core/data/definitions/settings-definitions.mjs +60 -1
- package/esm2020/core/data/providers/settings-data.service.mjs +25 -2
- package/esm2020/core/providers/channel/channel.service.mjs +36 -0
- package/esm2020/core/public_api.mjs +2 -1
- package/esm2020/order/components/order-detail/order-detail.component.mjs +12 -11
- package/esm2020/order/components/order-list/order-list.component.mjs +21 -10
- package/esm2020/order/components/seller-orders-card/seller-orders-card.component.mjs +38 -0
- package/esm2020/order/components/seller-orders-card/seller-orders-card.graphql.mjs +25 -0
- package/esm2020/order/order.module.mjs +5 -2
- package/esm2020/order/order.routes.mjs +48 -9
- package/esm2020/order/providers/routing/order-resolver.mjs +2 -1
- package/esm2020/order/public_api.mjs +3 -1
- package/esm2020/settings/components/channel-detail/channel-detail.component.mjs +11 -5
- package/esm2020/settings/components/seller-detail/seller-detail.component.mjs +106 -0
- package/esm2020/settings/components/seller-list/seller-list.component.mjs +47 -0
- package/esm2020/settings/providers/routing/channel-resolver.mjs +2 -1
- package/esm2020/settings/providers/routing/seller-resolver.mjs +28 -0
- package/esm2020/settings/public_api.mjs +4 -1
- package/esm2020/settings/settings.module.mjs +7 -1
- package/esm2020/settings/settings.routes.mjs +27 -1
- package/fesm2015/vendure-admin-ui-core.mjs +160 -15
- package/fesm2015/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-order.mjs +124 -19
- package/fesm2015/vendure-admin-ui-order.mjs.map +1 -1
- package/fesm2015/vendure-admin-ui-settings.mjs +194 -5
- package/fesm2015/vendure-admin-ui-settings.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-core.mjs +160 -15
- package/fesm2020/vendure-admin-ui-core.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-order.mjs +127 -19
- package/fesm2020/vendure-admin-ui-order.mjs.map +1 -1
- package/fesm2020/vendure-admin-ui-settings.mjs +193 -5
- package/fesm2020/vendure-admin-ui-settings.mjs.map +1 -1
- package/order/components/order-list/order-list.component.d.ts +4 -2
- package/order/components/seller-orders-card/seller-orders-card.component.d.ts +24 -0
- package/order/components/seller-orders-card/seller-orders-card.graphql.d.ts +1 -0
- package/order/order.module.d.ts +4 -3
- package/order/order.routes.d.ts +2 -2
- package/order/public_api.d.ts +2 -0
- package/package.json +2 -2
- package/settings/components/channel-detail/channel-detail.component.d.ts +2 -1
- package/settings/components/seller-detail/seller-detail.component.d.ts +31 -0
- package/settings/components/seller-list/seller-list.component.d.ts +14 -0
- package/settings/providers/routing/seller-resolver.d.ts +11 -0
- package/settings/public_api.d.ts +3 -0
- package/settings/settings.module.d.ts +14 -12
- package/settings/settings.routes.d.ts +1 -0
- package/static/i18n-messages/cs.json +10 -0
- package/static/i18n-messages/de.json +11 -3
- package/static/i18n-messages/en.json +11 -3
- package/static/i18n-messages/es.json +10 -0
- package/static/i18n-messages/fr.json +10 -0
- package/static/i18n-messages/it.json +10 -0
- package/static/i18n-messages/pl.json +10 -0
- package/static/i18n-messages/pt_BR.json +10 -0
- package/static/i18n-messages/pt_PT.json +10 -0
- package/static/i18n-messages/ru.json +10 -0
- package/static/i18n-messages/uk.json +10 -0
- package/static/i18n-messages/zh_Hans.json +10 -0
- package/static/i18n-messages/zh_Hant.json +10 -0
|
@@ -449,12 +449,15 @@ class ChannelDetailComponent extends BaseDetailComponent {
|
|
|
449
449
|
defaultShippingZoneId: ['', Validators.required],
|
|
450
450
|
defaultLanguageCode: [],
|
|
451
451
|
defaultTaxZoneId: ['', Validators.required],
|
|
452
|
+
sellerId: ['', Validators.required],
|
|
452
453
|
customFields: this.formBuilder.group(this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {})),
|
|
453
454
|
});
|
|
454
455
|
}
|
|
455
456
|
ngOnInit() {
|
|
456
457
|
this.init();
|
|
457
458
|
this.zones$ = this.dataService.settings.getZones().mapSingle(data => data.zones);
|
|
459
|
+
// TODO: make this lazy-loaded autocomplete
|
|
460
|
+
this.sellers$ = this.dataService.settings.getSellers().mapSingle(data => data.sellers.items);
|
|
458
461
|
this.availableLanguageCodes$ = this.serverConfigService.getAvailableLanguages();
|
|
459
462
|
}
|
|
460
463
|
ngOnDestroy() {
|
|
@@ -477,6 +480,7 @@ class ChannelDetailComponent extends BaseDetailComponent {
|
|
|
477
480
|
defaultShippingZoneId: formValue.defaultShippingZoneId,
|
|
478
481
|
defaultTaxZoneId: formValue.defaultTaxZoneId,
|
|
479
482
|
customFields: formValue.customFields,
|
|
483
|
+
sellerId: formValue.sellerId,
|
|
480
484
|
};
|
|
481
485
|
this.dataService.settings
|
|
482
486
|
.createChannel(input)
|
|
@@ -519,6 +523,7 @@ class ChannelDetailComponent extends BaseDetailComponent {
|
|
|
519
523
|
defaultLanguageCode: formValue.defaultLanguageCode,
|
|
520
524
|
defaultTaxZoneId: formValue.defaultTaxZoneId,
|
|
521
525
|
customFields: formValue.customFields,
|
|
526
|
+
sellerId: formValue.sellerId,
|
|
522
527
|
};
|
|
523
528
|
return this.dataService.settings.updateChannel(input);
|
|
524
529
|
}))
|
|
@@ -545,9 +550,10 @@ class ChannelDetailComponent extends BaseDetailComponent {
|
|
|
545
550
|
token: entity.token || this.generateToken(),
|
|
546
551
|
pricesIncludeTax: entity.pricesIncludeTax,
|
|
547
552
|
currencyCode: entity.currencyCode,
|
|
548
|
-
defaultShippingZoneId: entity.defaultShippingZone
|
|
553
|
+
defaultShippingZoneId: entity.defaultShippingZone?.id ?? '',
|
|
549
554
|
defaultLanguageCode: entity.defaultLanguageCode,
|
|
550
|
-
defaultTaxZoneId: entity.defaultTaxZone
|
|
555
|
+
defaultTaxZoneId: entity.defaultTaxZone?.id ?? '',
|
|
556
|
+
sellerId: entity.seller?.id ?? '',
|
|
551
557
|
});
|
|
552
558
|
if (this.customFields.length) {
|
|
553
559
|
this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), entity);
|
|
@@ -565,10 +571,10 @@ class ChannelDetailComponent extends BaseDetailComponent {
|
|
|
565
571
|
}
|
|
566
572
|
}
|
|
567
573
|
ChannelDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChannelDetailComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ServerConfigService }, { token: i0.ChangeDetectorRef }, { token: i2.DataService }, { token: i3.FormBuilder }, { token: i2.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
568
|
-
ChannelDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ChannelDetailComponent, selector: "vdr-channel-detail", usesInheritance: true, ngImport: i0, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"channel-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"['SuperAdmin', 'UpdateChannel']\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.code' | translate\" for=\"code\">\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"code\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.channel-token' | translate\" for=\"token\">\r\n <input\r\n id=\"token\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"token\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.currency' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"currencyCode\"\r\n formControlName=\"currencyCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let code of currencyCodes\" [value]=\"code\">{{ code | localeCurrencyName }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.default-language' | translate\" for=\"defaultLanguage\">\r\n <select\r\n clrSelect\r\n name=\"defaultLanguageCode\"\r\n formControlName=\"defaultLanguageCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let languageCode of availableLanguageCodes$ | async\" [value]=\"languageCode\">\r\n {{ languageCode | localeLanguageName }} ({{ languageCode | uppercase }})\r\n </option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.prices-include-tax' | translate\" for=\"pricesIncludeTax\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"pricesIncludeTax\"\r\n formControlName=\"pricesIncludeTax\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.default-tax-zone' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultTaxZoneId\"\r\n formControlName=\"defaultTaxZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultTaxZoneId\"\r\n clrAlertType=\"danger\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-tax-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <vdr-form-field [label]=\"'settings.default-shipping-zone' | translate\" for=\"defaultShippingZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultShippingZoneId\"\r\n formControlName=\"defaultShippingZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultShippingZoneId\"\r\n clrAlertType=\"warning\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-shipping-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Channel\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"channel-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n", styles: ["clr-alert{max-width:30rem;margin-bottom:12px}\n"], components: [{ type: i2.ActionBarComponent, selector: "vdr-action-bar" }, { type: i2.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { type: i2.EntityInfoComponent, selector: "vdr-entity-info", inputs: ["small", "entity"] }, { type: i2.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { type: i2.ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: ["locationId"] }, { type: i2.FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"] }, { type: i4.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { type: i4.ClrAlert, selector: "clr-alert", inputs: ["clrAlertSizeSmall", "clrAlertClosable", "clrAlertAppLevel", "clrCloseButtonAriaLabel", "clrAlertClosed", "clrAlertType", "clrAlertIcon"], outputs: ["clrAlertClosedChange"] }, { type: i4.ClrAlertItem, selector: "clr-alert-item" }, { type: i2.TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: ["entityName", "customFields", "customFieldsFormGroup", "readonly", "compact", "showLabel"] }, { type: i2.CustomDetailComponentHostComponent, selector: "vdr-custom-detail-component-host", inputs: ["locationId", "entity$", "detailForm"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i4.ClrSelect, selector: "[clrSelect]" }, { type: i2.DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { type: i4.ClrAlertText, selector: ".alert-text" }, { type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i4.ClrLabel, selector: "label", inputs: ["for"] }], pipes: { "async": i5.AsyncPipe, "translate": i6.TranslatePipe, "hasPermission": i2.HasPermissionPipe, "localeCurrencyName": i2.LocaleCurrencyNamePipe, "localeLanguageName": i2.LocaleLanguageNamePipe, "uppercase": i5.UpperCasePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
574
|
+
ChannelDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ChannelDetailComponent, selector: "vdr-channel-detail", usesInheritance: true, ngImport: i0, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"channel-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"['SuperAdmin', 'UpdateChannel']\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.code' | translate\" for=\"code\">\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"code\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.channel-token' | translate\" for=\"token\">\r\n <input\r\n id=\"token\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"token\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.currency' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"currencyCode\"\r\n formControlName=\"currencyCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let code of currencyCodes\" [value]=\"code\">{{ code | localeCurrencyName }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.default-language' | translate\" for=\"defaultLanguage\">\r\n <select\r\n clrSelect\r\n name=\"defaultLanguageCode\"\r\n formControlName=\"defaultLanguageCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let languageCode of availableLanguageCodes$ | async\" [value]=\"languageCode\">\r\n {{ languageCode | localeLanguageName }} ({{ languageCode | uppercase }})\r\n </option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.prices-include-tax' | translate\" for=\"pricesIncludeTax\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"pricesIncludeTax\"\r\n formControlName=\"pricesIncludeTax\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.default-tax-zone' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultTaxZoneId\"\r\n formControlName=\"defaultTaxZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultTaxZoneId\"\r\n clrAlertType=\"danger\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-tax-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <vdr-form-field [label]=\"'settings.default-shipping-zone' | translate\" for=\"defaultShippingZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultShippingZoneId\"\r\n formControlName=\"defaultShippingZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultShippingZoneId\"\r\n clrAlertType=\"warning\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-shipping-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <vdr-form-field [label]=\"'common.seller' | translate\" for=\"sellerId\">\r\n <select\r\n clrSelect\r\n name=\"sellerId\"\r\n formControlName=\"sellerId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let seller of sellers$ | async\" [value]=\"seller.id\">{{ seller.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Channel\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"channel-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n", styles: ["clr-alert{max-width:30rem;margin-bottom:12px}\n"], components: [{ type: i2.ActionBarComponent, selector: "vdr-action-bar" }, { type: i2.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { type: i2.EntityInfoComponent, selector: "vdr-entity-info", inputs: ["small", "entity"] }, { type: i2.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { type: i2.ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: ["locationId"] }, { type: i2.FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"] }, { type: i4.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { type: i4.ClrAlert, selector: "clr-alert", inputs: ["clrAlertSizeSmall", "clrAlertClosable", "clrAlertAppLevel", "clrCloseButtonAriaLabel", "clrAlertClosed", "clrAlertType", "clrAlertIcon"], outputs: ["clrAlertClosedChange"] }, { type: i4.ClrAlertItem, selector: "clr-alert-item" }, { type: i2.TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: ["entityName", "customFields", "customFieldsFormGroup", "readonly", "compact", "showLabel"] }, { type: i2.CustomDetailComponentHostComponent, selector: "vdr-custom-detail-component-host", inputs: ["locationId", "entity$", "detailForm"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i4.ClrSelect, selector: "[clrSelect]" }, { type: i2.DisabledDirective, selector: "[vdrDisabled]", inputs: ["vdrDisabled"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { type: i4.ClrAlertText, selector: ".alert-text" }, { type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i4.ClrLabel, selector: "label", inputs: ["for"] }], pipes: { "async": i5.AsyncPipe, "translate": i6.TranslatePipe, "hasPermission": i2.HasPermissionPipe, "localeCurrencyName": i2.LocaleCurrencyNamePipe, "localeLanguageName": i2.LocaleLanguageNamePipe, "uppercase": i5.UpperCasePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
569
575
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ChannelDetailComponent, decorators: [{
|
|
570
576
|
type: Component,
|
|
571
|
-
args: [{ selector: 'vdr-channel-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"channel-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"['SuperAdmin', 'UpdateChannel']\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.code' | translate\" for=\"code\">\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"code\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.channel-token' | translate\" for=\"token\">\r\n <input\r\n id=\"token\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"token\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.currency' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"currencyCode\"\r\n formControlName=\"currencyCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let code of currencyCodes\" [value]=\"code\">{{ code | localeCurrencyName }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.default-language' | translate\" for=\"defaultLanguage\">\r\n <select\r\n clrSelect\r\n name=\"defaultLanguageCode\"\r\n formControlName=\"defaultLanguageCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let languageCode of availableLanguageCodes$ | async\" [value]=\"languageCode\">\r\n {{ languageCode | localeLanguageName }} ({{ languageCode | uppercase }})\r\n </option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.prices-include-tax' | translate\" for=\"pricesIncludeTax\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"pricesIncludeTax\"\r\n formControlName=\"pricesIncludeTax\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.default-tax-zone' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultTaxZoneId\"\r\n formControlName=\"defaultTaxZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultTaxZoneId\"\r\n clrAlertType=\"danger\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-tax-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <vdr-form-field [label]=\"'settings.default-shipping-zone' | translate\" for=\"defaultShippingZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultShippingZoneId\"\r\n formControlName=\"defaultShippingZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultShippingZoneId\"\r\n clrAlertType=\"warning\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-shipping-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Channel\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"channel-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n", styles: ["clr-alert{max-width:30rem;margin-bottom:12px}\n"] }]
|
|
577
|
+
args: [{ selector: 'vdr-channel-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"channel-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"['SuperAdmin', 'UpdateChannel']\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.code' | translate\" for=\"code\">\r\n <input\r\n id=\"code\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"code\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.channel-token' | translate\" for=\"token\">\r\n <input\r\n id=\"token\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"token\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.currency' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"currencyCode\"\r\n formControlName=\"currencyCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let code of currencyCodes\" [value]=\"code\">{{ code | localeCurrencyName }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.default-language' | translate\" for=\"defaultLanguage\">\r\n <select\r\n clrSelect\r\n name=\"defaultLanguageCode\"\r\n formControlName=\"defaultLanguageCode\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option *ngFor=\"let languageCode of availableLanguageCodes$ | async\" [value]=\"languageCode\">\r\n {{ languageCode | localeLanguageName }} ({{ languageCode | uppercase }})\r\n </option>\r\n </select>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.prices-include-tax' | translate\" for=\"pricesIncludeTax\">\r\n <clr-toggle-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrToggle\r\n id=\"pricesIncludeTax\"\r\n formControlName=\"pricesIncludeTax\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </clr-toggle-wrapper>\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'settings.default-tax-zone' | translate\" for=\"defaultTaxZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultTaxZoneId\"\r\n formControlName=\"defaultTaxZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultTaxZoneId\"\r\n clrAlertType=\"danger\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-tax-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <vdr-form-field [label]=\"'settings.default-shipping-zone' | translate\" for=\"defaultShippingZoneId\">\r\n <select\r\n clrSelect\r\n name=\"defaultShippingZoneId\"\r\n formControlName=\"defaultShippingZoneId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let zone of zones$ | async\" [value]=\"zone.id\">{{ zone.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n <clr-alert\r\n *ngIf=\"detailForm.value.code && !detailForm.value.defaultShippingZoneId\"\r\n clrAlertType=\"warning\"\r\n [clrAlertClosable]=\"false\"\r\n >\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ 'error.no-default-shipping-zone-set' | translate }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n\r\n <vdr-form-field [label]=\"'common.seller' | translate\" for=\"sellerId\">\r\n <select\r\n clrSelect\r\n name=\"sellerId\"\r\n formControlName=\"sellerId\"\r\n [vdrDisabled]=\"!(updatePermission | hasPermission)\"\r\n >\r\n <option selected value style=\"display: none\"></option>\r\n <option *ngFor=\"let seller of sellers$ | async\" [value]=\"seller.id\">{{ seller.name }}</option>\r\n </select>\r\n </vdr-form-field>\r\n\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Channel\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"channel-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n", styles: ["clr-alert{max-width:30rem;margin-bottom:12px}\n"] }]
|
|
572
578
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ServerConfigService }, { type: i0.ChangeDetectorRef }, { type: i2.DataService }, { type: i3.FormBuilder }, { type: i2.NotificationService }]; } });
|
|
573
579
|
|
|
574
580
|
class ChannelListComponent {
|
|
@@ -1303,6 +1309,137 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
1303
1309
|
args: [{ selector: 'vdr-role-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-action-bar>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"role-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\" [routerLink]=\"['./create']\" *vdrIfPermissions=\"'CreateAdministrator'\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-role' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table\r\n [items]=\"visibleRoles$ | async\"\r\n [itemsPerPage]=\"itemsPerPage$ | async\"\r\n [totalItems]=\"totalItems$ | async\"\r\n [currentPage]=\"currentPage$ | async\"\r\n (pageChange)=\"setPageNumber($event)\"\r\n (itemsPerPageChange)=\"setItemsPerPage($event)\"\r\n>\r\n <vdr-dt-column>{{ 'common.description' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'common.code' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'settings.channel' | translate }}</vdr-dt-column>\r\n <vdr-dt-column>{{ 'settings.permissions' | translate }}</vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-role=\"item\">\r\n <td class=\"left align-middle\">{{ role.description }}</td>\r\n <td class=\"left align-middle\"><span *ngIf=\"!isDefaultRole(role)\">{{ role.code }}</span></td>\r\n <td class=\"left align-middle\">\r\n <ng-container *ngIf=\"!isDefaultRole(role)\">\r\n <vdr-chip *ngFor=\"let channel of role.channels\">\r\n <vdr-channel-badge [channelCode]=\"channel.code\"></vdr-channel-badge>\r\n {{ channel.code | channelCodeToLabel | translate }}\r\n </vdr-chip>\r\n </ng-container>\r\n </td>\r\n <td class=\"left align-middle\">\r\n <ng-container *ngIf=\"!isDefaultRole(role); else defaultRole\">\r\n <vdr-chip *ngFor=\"let permission of role.permissions | slice: 0:displayLimit[role.id] || 3\">{{ permission }}</vdr-chip>\r\n <button\r\n class=\"btn btn-sm btn-secondary btn-icon\"\r\n *ngIf=\"role.permissions.length > initialLimit\"\r\n (click)=\"toggleDisplayLimit(role)\"\r\n >\r\n <ng-container *ngIf=\"(displayLimit[role.id] || 0) < role.permissions.length; else collapse\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ role.permissions.length - initialLimit }}\r\n </ng-container>\r\n <ng-template #collapse>\r\n <clr-icon shape=\"minus\"></clr-icon>\r\n </ng-template>\r\n </button>\r\n </ng-container>\r\n <ng-template #defaultRole>\r\n <span class=\"default-role-label\">{{ 'settings.default-role-label' | translate }}</span>\r\n </ng-template>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n *ngIf=\"!isDefaultRole(role)\"\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', role.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger [disabled]=\"isDefaultRole(role)\">\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deleteRole(role.id)\"\r\n [disabled]=\"!('SuperAdmin' | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n", styles: [".default-role-label{color:var(--color-grey-400)}\n"] }]
|
|
1304
1310
|
}], ctorParameters: function () { return [{ type: i2.ModalService }, { type: i2.NotificationService }, { type: i2.DataService }, { type: i1.Router }, { type: i1.ActivatedRoute }]; } });
|
|
1305
1311
|
|
|
1312
|
+
class SellerDetailComponent extends BaseDetailComponent {
|
|
1313
|
+
constructor(router, route, serverConfigService, changeDetector, dataService, formBuilder, notificationService) {
|
|
1314
|
+
super(route, router, serverConfigService, dataService);
|
|
1315
|
+
this.serverConfigService = serverConfigService;
|
|
1316
|
+
this.changeDetector = changeDetector;
|
|
1317
|
+
this.dataService = dataService;
|
|
1318
|
+
this.formBuilder = formBuilder;
|
|
1319
|
+
this.notificationService = notificationService;
|
|
1320
|
+
this.currencyCodes = Object.values(CurrencyCode);
|
|
1321
|
+
this.updatePermission = [Permission.SuperAdmin, Permission.UpdateSeller, Permission.CreateSeller];
|
|
1322
|
+
this.customFields = this.getCustomFieldConfig('Seller');
|
|
1323
|
+
this.detailForm = this.formBuilder.group({
|
|
1324
|
+
name: ['', Validators.required],
|
|
1325
|
+
customFields: this.formBuilder.group(this.customFields.reduce((hash, field) => ({ ...hash, [field.name]: '' }), {})),
|
|
1326
|
+
});
|
|
1327
|
+
}
|
|
1328
|
+
ngOnInit() {
|
|
1329
|
+
this.init();
|
|
1330
|
+
}
|
|
1331
|
+
ngOnDestroy() {
|
|
1332
|
+
this.destroy();
|
|
1333
|
+
}
|
|
1334
|
+
saveButtonEnabled() {
|
|
1335
|
+
return this.detailForm.dirty && this.detailForm.valid;
|
|
1336
|
+
}
|
|
1337
|
+
create() {
|
|
1338
|
+
if (!this.detailForm.dirty) {
|
|
1339
|
+
return;
|
|
1340
|
+
}
|
|
1341
|
+
const formValue = this.detailForm.value;
|
|
1342
|
+
const input = {
|
|
1343
|
+
name: formValue.name,
|
|
1344
|
+
customFields: formValue.customFields,
|
|
1345
|
+
};
|
|
1346
|
+
this.dataService.settings.createSeller(input).subscribe(data => {
|
|
1347
|
+
switch (data.createSeller.__typename) {
|
|
1348
|
+
case 'Seller':
|
|
1349
|
+
this.notificationService.success(marker('common.notify-create-success'), {
|
|
1350
|
+
entity: 'Seller',
|
|
1351
|
+
});
|
|
1352
|
+
this.detailForm.markAsPristine();
|
|
1353
|
+
this.changeDetector.markForCheck();
|
|
1354
|
+
this.router.navigate(['../', data.createSeller.id], { relativeTo: this.route });
|
|
1355
|
+
break;
|
|
1356
|
+
}
|
|
1357
|
+
});
|
|
1358
|
+
}
|
|
1359
|
+
save() {
|
|
1360
|
+
if (!this.detailForm.dirty) {
|
|
1361
|
+
return;
|
|
1362
|
+
}
|
|
1363
|
+
const formValue = this.detailForm.value;
|
|
1364
|
+
this.entity$
|
|
1365
|
+
.pipe(take(1), mergeMap(seller => {
|
|
1366
|
+
const input = {
|
|
1367
|
+
id: seller.id,
|
|
1368
|
+
name: formValue.name,
|
|
1369
|
+
customFields: formValue.customFields,
|
|
1370
|
+
};
|
|
1371
|
+
return this.dataService.settings.updateSeller(input);
|
|
1372
|
+
}))
|
|
1373
|
+
.subscribe(({ updateSeller }) => {
|
|
1374
|
+
switch (updateSeller.__typename) {
|
|
1375
|
+
case 'Seller':
|
|
1376
|
+
this.notificationService.success(marker('common.notify-update-success'), {
|
|
1377
|
+
entity: 'Seller',
|
|
1378
|
+
});
|
|
1379
|
+
this.detailForm.markAsPristine();
|
|
1380
|
+
this.changeDetector.markForCheck();
|
|
1381
|
+
break;
|
|
1382
|
+
// case 'LanguageNotAvailableError':
|
|
1383
|
+
// this.notificationService.error(updateSeller.message);
|
|
1384
|
+
}
|
|
1385
|
+
});
|
|
1386
|
+
}
|
|
1387
|
+
/**
|
|
1388
|
+
* Update the form values when the entity changes.
|
|
1389
|
+
*/
|
|
1390
|
+
setFormValues(entity, languageCode) {
|
|
1391
|
+
this.detailForm.patchValue({
|
|
1392
|
+
name: entity.name,
|
|
1393
|
+
});
|
|
1394
|
+
if (this.customFields.length) {
|
|
1395
|
+
this.setCustomFieldFormValues(this.customFields, this.detailForm.get(['customFields']), entity);
|
|
1396
|
+
}
|
|
1397
|
+
}
|
|
1398
|
+
}
|
|
1399
|
+
SellerDetailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SellerDetailComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.ServerConfigService }, { token: i0.ChangeDetectorRef }, { token: i2.DataService }, { token: i3.FormBuilder }, { token: i2.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1400
|
+
SellerDetailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: SellerDetailComponent, selector: "vdr-seller-detail", usesInheritance: true, ngImport: i0, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"seller-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"['SuperAdmin', 'UpdateSeller']\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"name\"\r\n />\r\n </vdr-form-field>\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Seller\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"seller-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n", styles: ["clr-alert{max-width:30rem;margin-bottom:12px}\n"], components: [{ type: i2.ActionBarComponent, selector: "vdr-action-bar" }, { type: i2.ActionBarLeftComponent, selector: "vdr-ab-left", inputs: ["grow"] }, { type: i2.EntityInfoComponent, selector: "vdr-entity-info", inputs: ["small", "entity"] }, { type: i2.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { type: i2.ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: ["locationId"] }, { type: i2.FormFieldComponent, selector: "vdr-form-field", inputs: ["label", "for", "tooltip", "errors", "readOnlyToggle"] }, { type: i2.TabbedCustomFieldsComponent, selector: "vdr-tabbed-custom-fields", inputs: ["entityName", "customFields", "customFieldsFormGroup", "readonly", "compact", "showLabel"] }, { type: i2.CustomDetailComponentHostComponent, selector: "vdr-custom-detail-component-host", inputs: ["locationId", "entity$", "detailForm"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.FormFieldControlDirective, selector: "input, textarea, select" }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i4.ClrLabel, selector: "label", inputs: ["for"] }], pipes: { "async": i5.AsyncPipe, "translate": i6.TranslatePipe, "hasPermission": i2.HasPermissionPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1401
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SellerDetailComponent, decorators: [{
|
|
1402
|
+
type: Component,
|
|
1403
|
+
args: [{ selector: 'vdr-seller-detail', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-entity-info [entity]=\"entity$ | async\"></vdr-entity-info>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"seller-detail\"></vdr-action-bar-items>\r\n <button\r\n class=\"btn btn-primary\"\r\n *ngIf=\"isNew$ | async; else updateButton\"\r\n (click)=\"create()\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.create' | translate }}\r\n </button>\r\n <ng-template #updateButton>\r\n <button\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n *vdrIfPermissions=\"['SuperAdmin', 'UpdateSeller']\"\r\n [disabled]=\"!saveButtonEnabled()\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </ng-template>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<form class=\"form\" [formGroup]=\"detailForm\">\r\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\r\n <input\r\n id=\"name\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"name\"\r\n />\r\n </vdr-form-field>\r\n <section formGroupName=\"customFields\" *ngIf=\"customFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Seller\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"detailForm.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n <vdr-custom-detail-component-host\r\n locationId=\"seller-detail\"\r\n [entity$]=\"entity$\"\r\n [detailForm]=\"detailForm\"\r\n ></vdr-custom-detail-component-host>\r\n</form>\r\n", styles: ["clr-alert{max-width:30rem;margin-bottom:12px}\n"] }]
|
|
1404
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ServerConfigService }, { type: i0.ChangeDetectorRef }, { type: i2.DataService }, { type: i3.FormBuilder }, { type: i2.NotificationService }]; } });
|
|
1405
|
+
|
|
1406
|
+
class SellerListComponent {
|
|
1407
|
+
constructor(dataService, modalService, notificationService) {
|
|
1408
|
+
this.dataService = dataService;
|
|
1409
|
+
this.modalService = modalService;
|
|
1410
|
+
this.notificationService = notificationService;
|
|
1411
|
+
this.refresh$ = new Subject();
|
|
1412
|
+
this.sellers$ = this.refresh$.pipe(startWith(1), switchMap(() => this.dataService.settings.getSellers().mapStream(data => data.sellers.items)));
|
|
1413
|
+
}
|
|
1414
|
+
deleteSeller(id) {
|
|
1415
|
+
this.modalService
|
|
1416
|
+
.dialog({
|
|
1417
|
+
title: marker('catalog.confirm-delete-seller'),
|
|
1418
|
+
buttons: [
|
|
1419
|
+
{ type: 'secondary', label: marker('common.cancel') },
|
|
1420
|
+
{ type: 'danger', label: marker('common.delete'), returnValue: true },
|
|
1421
|
+
],
|
|
1422
|
+
})
|
|
1423
|
+
.pipe(switchMap(response => (response ? this.dataService.settings.deleteSeller(id) : EMPTY)))
|
|
1424
|
+
.subscribe(() => {
|
|
1425
|
+
this.notificationService.success(marker('common.notify-delete-success'), {
|
|
1426
|
+
entity: 'Seller',
|
|
1427
|
+
});
|
|
1428
|
+
this.refresh$.next(1);
|
|
1429
|
+
}, err => {
|
|
1430
|
+
this.notificationService.error(marker('common.notify-delete-error'), {
|
|
1431
|
+
entity: 'Seller',
|
|
1432
|
+
});
|
|
1433
|
+
});
|
|
1434
|
+
}
|
|
1435
|
+
}
|
|
1436
|
+
SellerListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SellerListComponent, deps: [{ token: i2.DataService }, { token: i2.ModalService }, { token: i2.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1437
|
+
SellerListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: SellerListComponent, selector: "vdr-seller-list", ngImport: i0, template: "<vdr-action-bar>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"seller-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\" [routerLink]=\"['./create']\" *vdrIfPermissions=\"['SuperAdmin', 'CreateSeller']\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-seller' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table [items]=\"sellers$ | async\">\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-seller=\"item\">\r\n <td class=\"left align-middle\">\r\n {{ seller.name }}\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', seller.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deleteSeller(seller.id)\"\r\n [disabled]=\"!(['SuperAdmin', 'DeleteSeller'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n", styles: [""], components: [{ type: i2.ActionBarComponent, selector: "vdr-action-bar" }, { type: i2.ActionBarRightComponent, selector: "vdr-ab-right", inputs: ["grow"] }, { type: i2.ActionBarItemsComponent, selector: "vdr-action-bar-items", inputs: ["locationId"] }, { type: i2.DataTableComponent, selector: "vdr-data-table", inputs: ["items", "itemsPerPage", "currentPage", "totalItems", "emptyStateLabel", "selectionManager", "allSelected", "isRowSelectedFn"], outputs: ["pageChange", "itemsPerPageChange", "allSelectChange", "rowSelectChange"] }, { type: i2.DataTableColumnComponent, selector: "vdr-dt-column", inputs: ["expand"] }, { type: i2.TableRowActionComponent, selector: "vdr-table-row-action", inputs: ["linkTo", "label", "iconShape", "disabled"] }, { type: i2.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { type: i2.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }], directives: [{ type: i2.IfPermissionsDirective, selector: "[vdrIfPermissions]", inputs: ["vdrIfPermissions", "vdrIfPermissionsElse"] }, { type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i4.ClrIconCustomTag, selector: "clr-icon" }, { type: i2.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { type: i2.DropdownItemDirective, selector: "[vdrDropdownItem]" }], pipes: { "translate": i6.TranslatePipe, "async": i5.AsyncPipe, "hasPermission": i2.HasPermissionPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1438
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SellerListComponent, decorators: [{
|
|
1439
|
+
type: Component,
|
|
1440
|
+
args: [{ selector: 'vdr-seller-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-action-bar>\r\n <vdr-ab-right>\r\n <vdr-action-bar-items locationId=\"seller-list\"></vdr-action-bar-items>\r\n <a class=\"btn btn-primary\" [routerLink]=\"['./create']\" *vdrIfPermissions=\"['SuperAdmin', 'CreateSeller']\">\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'settings.create-new-seller' | translate }}\r\n </a>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n\r\n<vdr-data-table [items]=\"sellers$ | async\">\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <vdr-dt-column></vdr-dt-column>\r\n <ng-template let-seller=\"item\">\r\n <td class=\"left align-middle\">\r\n {{ seller.name }}\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-table-row-action\r\n iconShape=\"edit\"\r\n [label]=\"'common.edit' | translate\"\r\n [linkTo]=\"['./', seller.id]\"\r\n ></vdr-table-row-action>\r\n </td>\r\n <td class=\"right align-middle\">\r\n <vdr-dropdown>\r\n <button type=\"button\" class=\"btn btn-link btn-sm\" vdrDropdownTrigger>\r\n {{ 'common.actions' | translate }}\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n type=\"button\"\r\n class=\"delete-button\"\r\n (click)=\"deleteSeller(seller.id)\"\r\n [disabled]=\"!(['SuperAdmin', 'DeleteSeller'] | hasPermission)\"\r\n vdrDropdownItem\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </td>\r\n </ng-template>\r\n</vdr-data-table>\r\n", styles: [""] }]
|
|
1441
|
+
}], ctorParameters: function () { return [{ type: i2.DataService }, { type: i2.ModalService }, { type: i2.NotificationService }]; } });
|
|
1442
|
+
|
|
1306
1443
|
class ShippingEligibilityTestResultComponent {
|
|
1307
1444
|
constructor() {
|
|
1308
1445
|
this.okToRun = false;
|
|
@@ -2277,6 +2414,7 @@ class ChannelResolver extends BaseEntityResolver {
|
|
|
2277
2414
|
defaultLanguageCode: getDefaultUiLanguage(),
|
|
2278
2415
|
defaultShippingZone: {},
|
|
2279
2416
|
defaultTaxZone: {},
|
|
2417
|
+
seller: {},
|
|
2280
2418
|
}, id => dataService.settings.getChannel(id).mapStream(data => data.channel));
|
|
2281
2419
|
}
|
|
2282
2420
|
}
|
|
@@ -2410,6 +2548,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
2410
2548
|
}]
|
|
2411
2549
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.DataService }]; } });
|
|
2412
2550
|
|
|
2551
|
+
/**
|
|
2552
|
+
* Resolves the id from the path into a Customer entity.
|
|
2553
|
+
*/
|
|
2554
|
+
class SellerResolver extends BaseEntityResolver {
|
|
2555
|
+
constructor(router, dataService) {
|
|
2556
|
+
super(router, {
|
|
2557
|
+
__typename: 'Seller',
|
|
2558
|
+
id: '',
|
|
2559
|
+
createdAt: '',
|
|
2560
|
+
updatedAt: '',
|
|
2561
|
+
name: '',
|
|
2562
|
+
}, id => dataService.settings.getSeller(id).mapStream(data => data.seller));
|
|
2563
|
+
}
|
|
2564
|
+
}
|
|
2565
|
+
SellerResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SellerResolver, deps: [{ token: i1.Router }, { token: i2.DataService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2566
|
+
SellerResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SellerResolver, providedIn: 'root' });
|
|
2567
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: SellerResolver, decorators: [{
|
|
2568
|
+
type: Injectable,
|
|
2569
|
+
args: [{
|
|
2570
|
+
providedIn: 'root',
|
|
2571
|
+
}]
|
|
2572
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.DataService }]; } });
|
|
2573
|
+
|
|
2413
2574
|
/**
|
|
2414
2575
|
* Resolves the id from the path into a Customer entity.
|
|
2415
2576
|
*/
|
|
@@ -2529,6 +2690,20 @@ const settingsRoutes = [
|
|
|
2529
2690
|
canDeactivate: [CanDeactivateDetailGuard],
|
|
2530
2691
|
data: { breadcrumb: channelBreadcrumb },
|
|
2531
2692
|
},
|
|
2693
|
+
{
|
|
2694
|
+
path: 'sellers',
|
|
2695
|
+
component: SellerListComponent,
|
|
2696
|
+
data: {
|
|
2697
|
+
breadcrumb: marker('breadcrumb.sellers'),
|
|
2698
|
+
},
|
|
2699
|
+
},
|
|
2700
|
+
{
|
|
2701
|
+
path: 'sellers/:id',
|
|
2702
|
+
component: SellerDetailComponent,
|
|
2703
|
+
resolve: createResolveData(SellerResolver),
|
|
2704
|
+
canDeactivate: [CanDeactivateDetailGuard],
|
|
2705
|
+
data: { breadcrumb: sellerBreadcrumb },
|
|
2706
|
+
},
|
|
2532
2707
|
{
|
|
2533
2708
|
path: 'roles',
|
|
2534
2709
|
component: RoleListComponent,
|
|
@@ -2658,6 +2833,15 @@ function channelBreadcrumb(data, params) {
|
|
|
2658
2833
|
route: 'channels',
|
|
2659
2834
|
});
|
|
2660
2835
|
}
|
|
2836
|
+
function sellerBreadcrumb(data, params) {
|
|
2837
|
+
return detailBreadcrumb({
|
|
2838
|
+
entity: data.entity,
|
|
2839
|
+
id: params.id,
|
|
2840
|
+
breadcrumbKey: 'breadcrumb.sellers',
|
|
2841
|
+
getName: seller => seller.name,
|
|
2842
|
+
route: 'sellers',
|
|
2843
|
+
});
|
|
2844
|
+
}
|
|
2661
2845
|
function roleBreadcrumb(data, params) {
|
|
2662
2846
|
return detailBreadcrumb({
|
|
2663
2847
|
entity: data.entity,
|
|
@@ -2736,6 +2920,8 @@ SettingsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
2736
2920
|
GlobalSettingsComponent,
|
|
2737
2921
|
TestOrderBuilderComponent,
|
|
2738
2922
|
TestAddressFormComponent,
|
|
2923
|
+
SellerDetailComponent,
|
|
2924
|
+
SellerListComponent,
|
|
2739
2925
|
ShippingMethodTestResultComponent,
|
|
2740
2926
|
ShippingEligibilityTestResultComponent,
|
|
2741
2927
|
ZoneListComponent,
|
|
@@ -2771,6 +2957,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
2771
2957
|
GlobalSettingsComponent,
|
|
2772
2958
|
TestOrderBuilderComponent,
|
|
2773
2959
|
TestAddressFormComponent,
|
|
2960
|
+
SellerDetailComponent,
|
|
2961
|
+
SellerListComponent,
|
|
2774
2962
|
ShippingMethodTestResultComponent,
|
|
2775
2963
|
ShippingEligibilityTestResultComponent,
|
|
2776
2964
|
ZoneListComponent,
|
|
@@ -2790,5 +2978,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
|
2790
2978
|
* Generated bundle index. Do not edit.
|
|
2791
2979
|
*/
|
|
2792
2980
|
|
|
2793
|
-
export { AddCountryToZoneDialogComponent, AdminDetailComponent, AdministratorListComponent, AdministratorResolver, ChannelDetailComponent, ChannelListComponent, ChannelResolver, CountryDetailComponent, CountryListComponent, CountryResolver, GlobalSettingsComponent, GlobalSettingsResolver, PaymentMethodDetailComponent, PaymentMethodListComponent, PaymentMethodResolver, PermissionGridComponent, ProfileComponent, ProfileResolver, RoleDetailComponent, RoleListComponent, RoleResolver, SettingsModule, ShippingEligibilityTestResultComponent, ShippingMethodDetailComponent, ShippingMethodListComponent, ShippingMethodResolver, ShippingMethodTestResultComponent, TaxCategoryDetailComponent, TaxCategoryListComponent, TaxCategoryResolver, TaxRateDetailComponent, TaxRateListComponent, TaxRateResolver, TestAddressFormComponent, TestOrderBuilderComponent, ZoneDetailDialogComponent, ZoneListComponent, ZoneMemberControlsDirective, ZoneMemberListComponent, ZoneMemberListHeaderDirective, administratorBreadcrumb, channelBreadcrumb, countryBreadcrumb, paymentMethodBreadcrumb, roleBreadcrumb, settingsRoutes, shippingMethodBreadcrumb, taxCategoryBreadcrumb, taxRateBreadcrumb };
|
|
2981
|
+
export { AddCountryToZoneDialogComponent, AdminDetailComponent, AdministratorListComponent, AdministratorResolver, ChannelDetailComponent, ChannelListComponent, ChannelResolver, CountryDetailComponent, CountryListComponent, CountryResolver, GlobalSettingsComponent, GlobalSettingsResolver, PaymentMethodDetailComponent, PaymentMethodListComponent, PaymentMethodResolver, PermissionGridComponent, ProfileComponent, ProfileResolver, RoleDetailComponent, RoleListComponent, RoleResolver, SellerDetailComponent, SellerListComponent, SellerResolver, SettingsModule, ShippingEligibilityTestResultComponent, ShippingMethodDetailComponent, ShippingMethodListComponent, ShippingMethodResolver, ShippingMethodTestResultComponent, TaxCategoryDetailComponent, TaxCategoryListComponent, TaxCategoryResolver, TaxRateDetailComponent, TaxRateListComponent, TaxRateResolver, TestAddressFormComponent, TestOrderBuilderComponent, ZoneDetailDialogComponent, ZoneListComponent, ZoneMemberControlsDirective, ZoneMemberListComponent, ZoneMemberListHeaderDirective, administratorBreadcrumb, channelBreadcrumb, countryBreadcrumb, paymentMethodBreadcrumb, roleBreadcrumb, sellerBreadcrumb, settingsRoutes, shippingMethodBreadcrumb, taxCategoryBreadcrumb, taxRateBreadcrumb };
|
|
2794
2982
|
//# sourceMappingURL=vendure-admin-ui-settings.mjs.map
|