@vendure/admin-ui 1.6.1 → 1.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +6 -1
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +21 -8
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-dashboard.umd.js.map +1 -1
  6. package/bundles/vendure-admin-ui-order.umd.js +38 -18
  7. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  8. package/catalog/components/product-variants-editor/product-variants-editor.component.d.ts +13 -10
  9. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  10. package/core/common/generated-types.d.ts +2 -0
  11. package/core/common/version.d.ts +1 -1
  12. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +2 -1
  13. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +2 -0
  14. package/core/vendure-admin-ui-core.metadata.json +1 -1
  15. package/esm2015/catalog/components/product-variants-editor/product-variants-editor.component.js +7 -2
  16. package/esm2015/core/common/generated-types.js +1 -1
  17. package/esm2015/core/common/utilities/configurable-operation-utils.js +3 -3
  18. package/esm2015/core/common/version.js +2 -2
  19. package/esm2015/core/components/main-nav/main-nav.component.js +2 -2
  20. package/esm2015/core/shared/components/address-form/address-form.component.js +2 -2
  21. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +5 -2
  22. package/esm2015/core/shared/components/formatted-address/formatted-address.component.js +2 -2
  23. package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +11 -2
  24. package/esm2015/dashboard/components/dashboard-widget/dashboard-widget.component.js +1 -1
  25. package/esm2015/order/components/order-detail/order-detail.component.js +31 -19
  26. package/esm2015/order/components/order-table/order-table.component.js +10 -2
  27. package/fesm2015/vendure-admin-ui-catalog.js +6 -1
  28. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  29. package/fesm2015/vendure-admin-ui-core.js +20 -8
  30. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  31. package/fesm2015/vendure-admin-ui-dashboard.js.map +1 -1
  32. package/fesm2015/vendure-admin-ui-order.js +39 -19
  33. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  34. package/order/components/order-table/order-table.component.d.ts +1 -0
  35. package/order/vendure-admin-ui-order.metadata.json +1 -1
  36. package/package.json +2 -2
  37. package/static/i18n-messages/cs.json +1 -0
  38. package/static/i18n-messages/de.json +1 -0
  39. package/static/i18n-messages/en.json +1 -0
  40. package/static/i18n-messages/es.json +1 -0
  41. package/static/i18n-messages/fr.json +1 -0
  42. package/static/i18n-messages/it.json +1 -0
  43. package/static/i18n-messages/pl.json +1 -0
  44. package/static/i18n-messages/pt_BR.json +1 -0
  45. package/static/i18n-messages/pt_PT.json +1 -0
  46. package/static/i18n-messages/ru.json +1 -0
  47. package/static/i18n-messages/uk.json +1 -0
  48. package/static/i18n-messages/zh_Hans.json +1 -0
  49. package/static/i18n-messages/zh_Hant.json +1 -0
  50. package/static/styles/global/_utilities.scss +9 -0
  51. package/static/theme.min.css +1 -1
@@ -7271,7 +7271,7 @@ class MainNavComponent {
7271
7271
  MainNavComponent.decorators = [
7272
7272
  { type: Component, args: [{
7273
7273
  selector: 'vdr-main-nav',
7274
- template: "<nav class=\"sidenav\" [clr-nav-level]=\"2\">\r\n <section class=\"sidenav-content\">\r\n <ng-container *ngFor=\"let section of navBuilderService.navMenuConfig$ | async\">\r\n <section\r\n class=\"nav-group\"\r\n [attr.data-section-id]=\"section.id\"\r\n [class.collapsible]=\"section.collapsible\"\r\n *ngIf=\"shouldDisplayLink(section)\"\r\n >\r\n <vdr-ui-extension-point [locationId]=\"section.id\" api=\"navMenu\" [topPx]=\"-6\" [leftPx]=\"8\">\r\n <ng-container *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"sectionBadge !== 'none'\"\r\n [type]=\"sectionBadge\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <input [id]=\"section.id\" type=\"checkbox\" [checked]=\"section.collapsedByDefault\" />\r\n <label class=\"nav-group-header\" [for]=\"section.id\">{{ section.label | translate }}</label>\r\n <ul class=\"nav-list\">\r\n <ng-container *ngFor=\"let item of section.items\">\r\n <li *ngIf=\"shouldDisplayLink(item)\">\r\n <a\r\n class=\"nav-link\"\r\n [attr.data-item-id]=\"section.id\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n routerLinkActive=\"active\"\r\n >\r\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"itemBadge.type !== 'none'\"\r\n [type]=\"itemBadge.type\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon [attr.shape]=\"item.icon || 'block'\" size=\"20\"></clr-icon>\r\n {{ item.label | translate }}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </vdr-ui-extension-point>\r\n </section>\r\n </ng-container>\r\n </section>\r\n</nav>\r\n",
7274
+ template: "<nav class=\"sidenav\" [clr-nav-level]=\"2\">\r\n <section class=\"sidenav-content\">\r\n <ng-container *ngFor=\"let section of navBuilderService.navMenuConfig$ | async\">\r\n <section\r\n class=\"nav-group\"\r\n [attr.data-section-id]=\"section.id\"\r\n [class.collapsible]=\"section.collapsible\"\r\n *ngIf=\"shouldDisplayLink(section)\"\r\n >\r\n <vdr-ui-extension-point [locationId]=\"section.id\" api=\"navMenu\" [topPx]=\"-6\" [leftPx]=\"8\">\r\n <ng-container *ngIf=\"navBuilderService.sectionBadges[section.id] | async as sectionBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"sectionBadge !== 'none'\"\r\n [type]=\"sectionBadge\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <input [id]=\"section.id\" type=\"checkbox\" [checked]=\"section.collapsedByDefault\" />\r\n <label class=\"nav-group-header\" [for]=\"section.id\">{{ section.label | translate }}</label>\r\n <ul class=\"nav-list\">\r\n <ng-container *ngFor=\"let item of section.items\">\r\n <li *ngIf=\"shouldDisplayLink(item)\">\r\n <a\r\n class=\"nav-link\"\r\n [attr.data-item-id]=\"section.id\"\r\n [routerLink]=\"getRouterLink(item)\"\r\n routerLinkActive=\"active\"\r\n (click)=\"item.onClick && item.onClick($event)\"\r\n >\r\n <ng-container *ngIf=\"item.statusBadge | async as itemBadge\">\r\n <vdr-status-badge\r\n *ngIf=\"itemBadge.type !== 'none'\"\r\n [type]=\"itemBadge.type\"\r\n ></vdr-status-badge>\r\n </ng-container>\r\n <clr-icon [attr.shape]=\"item.icon || 'block'\" size=\"20\"></clr-icon>\r\n {{ item.label | translate }}\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </vdr-ui-extension-point>\r\n </section>\r\n </ng-container>\r\n </section>\r\n</nav>\r\n",
7275
7275
  styles: [":host{order:-1;background-color:var(--clr-nav-background-color)}nav.sidenav{height:100%;width:10.8rem;border-right-color:var(--clr-sidenav-border-color)}.sidenav .nav-group .nav-list{margin:0}.sidenav .nav-group .nav-group-header{margin:0;line-height:1.2}.sidenav .nav-group .nav-link{display:inline-flex;line-height:1rem;padding-right:.6rem}.nav-list clr-icon{flex-shrink:0;margin-right:12px}.nav-group{-webkit-hyphens:auto;hyphens:auto}.nav-group,.nav-link{position:relative}.nav-group vdr-status-badge{left:10px;top:6px}.nav-link vdr-status-badge{left:25px;top:3px}\n"]
7276
7276
  },] }
7277
7277
  ];
@@ -8569,7 +8569,7 @@ JsonEditorFormInputComponent.propDecorators = {
8569
8569
  */
8570
8570
  function getConfigArgValue(value) {
8571
8571
  try {
8572
- return value ? JSON.parse(value) : undefined;
8572
+ return value != null ? JSON.parse(value) : undefined;
8573
8573
  }
8574
8574
  catch (e) {
8575
8575
  return value;
@@ -8639,7 +8639,7 @@ function getDefaultConfigArgValue(arg) {
8639
8639
  if (arg.list) {
8640
8640
  return [];
8641
8641
  }
8642
- if (arg.defaultValue) {
8642
+ if (arg.defaultValue != null) {
8643
8643
  return arg.defaultValue;
8644
8644
  }
8645
8645
  const type = arg.type;
@@ -8975,6 +8975,15 @@ class FacetValueFormInputComponent {
8975
8975
  constructor(dataService) {
8976
8976
  this.dataService = dataService;
8977
8977
  this.isListInput = true;
8978
+ this.valueTransformFn = (values) => {
8979
+ const isUsedInConfigArg = this.config.__typename === 'ConfigArgDefinition';
8980
+ if (isUsedInConfigArg) {
8981
+ return JSON.stringify(values.map(s => s.id));
8982
+ }
8983
+ else {
8984
+ return values;
8985
+ }
8986
+ };
8978
8987
  }
8979
8988
  ngOnInit() {
8980
8989
  this.facets$ = this.dataService.facet
@@ -8987,7 +8996,7 @@ FacetValueFormInputComponent.id = 'facet-value-form-input';
8987
8996
  FacetValueFormInputComponent.decorators = [
8988
8997
  { type: Component, args: [{
8989
8998
  selector: 'vdr-facet-value-form-input',
8990
- template: "<vdr-facet-value-selector\r\n *ngIf=\"facets$ | async as facets\"\r\n [readonly]=\"readonly\"\r\n [facets]=\"facets\"\r\n [formControl]=\"formControl\"\r\n></vdr-facet-value-selector>\r\n",
8999
+ template: "<vdr-facet-value-selector\r\n *ngIf=\"facets$ | async as facets\"\r\n [readonly]=\"readonly\"\r\n [facets]=\"facets\"\r\n [formControl]=\"formControl\"\r\n [transformControlValueAccessorValue]=\"valueTransformFn\"\r\n></vdr-facet-value-selector>\r\n",
8991
9000
  changeDetection: ChangeDetectionStrategy.OnPush,
8992
9001
  styles: [""]
8993
9002
  },] }
@@ -9704,7 +9713,7 @@ class AddressFormComponent {
9704
9713
  AddressFormComponent.decorators = [
9705
9714
  { type: Component, args: [{
9706
9715
  selector: 'vdr-address-form',
9707
- template: "<form [formGroup]=\"formGroup\">\r\n <clr-input-container>\r\n <label>{{ 'customer.full-name' | translate }}</label>\r\n <input formControlName=\"fullName\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-1' | translate }}</label>\r\n <input formControlName=\"streetLine1\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-2' | translate }}</label>\r\n <input formControlName=\"streetLine2\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.city' | translate }}</label>\r\n <input formControlName=\"city\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.province' | translate }}</label>\r\n <input formControlName=\"province\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.postal-code' | translate }}</label>\r\n <input formControlName=\"postalCode\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.country' | translate }}</label>\r\n <select name=\"countryCode\" formControlName=\"countryCode\" clrInput clrSelect>\r\n <option *ngFor=\"let country of availableCountries\" [value]=\"country.code\">\r\n {{ country.name }}\r\n </option>\r\n </select>\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <clr-input-container>\r\n <label>{{ 'customer.phone-number' | translate }}</label>\r\n <input formControlName=\"phoneNumber\" type=\"text\" clrInput/>\r\n </clr-input-container>\r\n <section formGroupName=\"customFields\" *ngIf=\"formGroup.get('customFields') as customFieldsGroup\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Address\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsGroup\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n</form>\r\n",
9716
+ template: "<form [formGroup]=\"formGroup\">\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.full-name' | translate }}</label>\r\n <input formControlName=\"fullName\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.company' | translate }}</label>\r\n <input formControlName=\"company\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-1' | translate }}</label>\r\n <input formControlName=\"streetLine1\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.street-line-2' | translate }}</label>\r\n <input formControlName=\"streetLine2\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.city' | translate }}</label>\r\n <input formControlName=\"city\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.province' | translate }}</label>\r\n <input formControlName=\"province\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <div class=\"clr-row\">\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.postal-code' | translate }}</label>\r\n <input formControlName=\"postalCode\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n </div>\r\n <div class=\"clr-col-md-4\">\r\n <clr-input-container>\r\n <label>{{ 'customer.country' | translate }}</label>\r\n <select name=\"countryCode\" formControlName=\"countryCode\" clrInput clrSelect>\r\n <option *ngFor=\"let country of availableCountries\" [value]=\"country.code\">\r\n {{ country.name }}\r\n </option>\r\n </select>\r\n </clr-input-container>\r\n </div>\r\n </div>\r\n <clr-input-container>\r\n <label>{{ 'customer.phone-number' | translate }}</label>\r\n <input formControlName=\"phoneNumber\" type=\"text\" clrInput />\r\n </clr-input-container>\r\n <section formGroupName=\"customFields\" *ngIf=\"formGroup.get('customFields') as customFieldsGroup\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"Address\"\r\n [customFields]=\"customFields\"\r\n [customFieldsFormGroup]=\"customFieldsGroup\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n</form>\r\n",
9708
9717
  changeDetection: ChangeDetectionStrategy.OnPush,
9709
9718
  styles: [""]
9710
9719
  },] }
@@ -12010,6 +12019,7 @@ class FacetValueSelectorComponent {
12010
12019
  this.dataService = dataService;
12011
12020
  this.selectedValuesChange = new EventEmitter();
12012
12021
  this.readonly = false;
12022
+ this.transformControlValueAccessorValue = value => value;
12013
12023
  this.facetValues = [];
12014
12024
  this.disabled = false;
12015
12025
  this.toSelectorItem = (facetValue) => {
@@ -12030,7 +12040,8 @@ class FacetValueSelectorComponent {
12030
12040
  }
12031
12041
  this.selectedValuesChange.emit(selected.map(s => s.value));
12032
12042
  if (this.onChangeFn) {
12033
- this.onChangeFn(JSON.stringify(selected.map(s => s.id)));
12043
+ const transformedValue = this.transformControlValueAccessorValue(selected);
12044
+ this.onChangeFn(transformedValue);
12034
12045
  }
12035
12046
  }
12036
12047
  registerOnChange(fn) {
@@ -12089,6 +12100,7 @@ FacetValueSelectorComponent.propDecorators = {
12089
12100
  selectedValuesChange: [{ type: Output }],
12090
12101
  facets: [{ type: Input }],
12091
12102
  readonly: [{ type: Input }],
12103
+ transformControlValueAccessorValue: [{ type: Input }],
12092
12104
  ngSelect: [{ type: ViewChild, args: [NgSelectComponent,] }]
12093
12105
  };
12094
12106
 
@@ -12284,7 +12296,7 @@ class FormattedAddressComponent {
12284
12296
  FormattedAddressComponent.decorators = [
12285
12297
  { type: Component, args: [{
12286
12298
  selector: 'vdr-formatted-address',
12287
- template: "<ul class=\"address-lines\">\r\n <li *ngIf=\"address.fullName\">{{ address.fullName }}</li>\r\n <li *ngIf=\"address.streetLine1\">{{ address.streetLine1 }}</li>\r\n <li *ngIf=\"address.streetLine2\">{{ address.streetLine2 }}</li>\r\n <li *ngIf=\"address.city\">{{ address.city }}</li>\r\n <li *ngIf=\"address.province\">{{ address.province }}</li>\r\n <li *ngIf=\"address.postalCode\">{{ address.postalCode }}</li>\r\n <li *ngIf=\"address.country\">\r\n <clr-icon shape=\"world\" size=\"12\"></clr-icon>\r\n {{ getCountryName() }}\r\n </li>\r\n <li *ngIf=\"address.phoneNumber\">\r\n <clr-icon shape=\"phone-handset\" size=\"12\"></clr-icon>\r\n {{ address.phoneNumber }}\r\n </li>\r\n <li *ngFor=\"let customField of getCustomFields()\" class=\"custom-field\">\r\n <vdr-labeled-data [label]=\"customField.key\">{{ customField.value }}</vdr-labeled-data>\r\n </li>\r\n</ul>\r\n",
12299
+ template: "<ul class=\"address-lines\">\r\n <li *ngIf=\"address.fullName\">{{ address.fullName }}</li>\r\n <li *ngIf=\"address.company\">{{ address.company }}</li>\r\n <li *ngIf=\"address.streetLine1\">{{ address.streetLine1 }}</li>\r\n <li *ngIf=\"address.streetLine2\">{{ address.streetLine2 }}</li>\r\n <li *ngIf=\"address.city\">{{ address.city }}</li>\r\n <li *ngIf=\"address.province\">{{ address.province }}</li>\r\n <li *ngIf=\"address.postalCode\">{{ address.postalCode }}</li>\r\n <li *ngIf=\"address.country\">\r\n <clr-icon shape=\"world\" size=\"12\"></clr-icon>\r\n {{ getCountryName() }}\r\n </li>\r\n <li *ngIf=\"address.phoneNumber\">\r\n <clr-icon shape=\"phone-handset\" size=\"12\"></clr-icon>\r\n {{ address.phoneNumber }}\r\n </li>\r\n <li *ngFor=\"let customField of getCustomFields()\" class=\"custom-field\">\r\n <vdr-labeled-data [label]=\"customField.key\">{{ customField.value }}</vdr-labeled-data>\r\n </li>\r\n</ul>\r\n",
12288
12300
  changeDetection: ChangeDetectionStrategy.OnPush,
12289
12301
  styles: [".address-lines{list-style-type:none;line-height:1.2em}.custom-field{margin-top:6px}\n"]
12290
12302
  },] }
@@ -16059,7 +16071,7 @@ function patchObject(obj, patch) {
16059
16071
  }
16060
16072
 
16061
16073
  // Auto-generated by the set-version.js script.
16062
- const ADMIN_UI_VERSION = '1.6.1';
16074
+ const ADMIN_UI_VERSION = '1.6.4';
16063
16075
 
16064
16076
  /**
16065
16077
  * Responsible for registering dashboard widget components and querying for layouts.