@vendure/admin-ui 1.8.4 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/bundles/vendure-admin-ui-catalog.umd.js +53 -101
  2. package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
  3. package/bundles/vendure-admin-ui-core.umd.js +115 -54
  4. package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
  5. package/bundles/vendure-admin-ui-customer.umd.js +52 -2
  6. package/bundles/vendure-admin-ui-customer.umd.js.map +1 -1
  7. package/bundles/vendure-admin-ui-login.umd.js +40 -8
  8. package/bundles/vendure-admin-ui-login.umd.js.map +1 -1
  9. package/bundles/vendure-admin-ui-order.umd.js +52 -3
  10. package/bundles/vendure-admin-ui-order.umd.js.map +1 -1
  11. package/catalog/components/apply-facet-dialog/apply-facet-dialog.component.d.ts +1 -2
  12. package/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.d.ts +0 -1
  13. package/catalog/components/product-detail/product-detail.component.d.ts +2 -7
  14. package/catalog/components/product-variants-list/product-variants-list.component.d.ts +11 -11
  15. package/catalog/providers/product-detail/product-detail.service.d.ts +1 -2
  16. package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
  17. package/core/common/generated-types.d.ts +59 -0
  18. package/core/common/version.d.ts +1 -1
  19. package/core/data/definitions/facet-definitions.d.ts +1 -0
  20. package/core/data/providers/facet-data.service.d.ts +5 -1
  21. package/core/providers/custom-history-entry-component/history-entry-component-types.d.ts +81 -0
  22. package/core/providers/custom-history-entry-component/history-entry-component.service.d.ts +16 -0
  23. package/core/public_api.d.ts +2 -1
  24. package/core/shared/components/facet-value-selector/facet-value-selector.component.d.ts +17 -17
  25. package/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.d.ts +3 -11
  26. package/core/shared/dynamic-form-inputs/register-dynamic-input-components.d.ts +1 -2
  27. package/core/vendure-admin-ui-core.metadata.json +1 -1
  28. package/customer/components/customer-detail/customer-detail.component.d.ts +3 -3
  29. package/customer/components/customer-history/customer-history-entry-host.component.d.ts +16 -0
  30. package/customer/components/customer-history/customer-history.component.d.ts +19 -3
  31. package/customer/public_api.d.ts +1 -0
  32. package/customer/vendure-admin-ui-customer.metadata.json +1 -1
  33. package/esm2015/catalog/components/apply-facet-dialog/apply-facet-dialog.component.js +2 -2
  34. package/esm2015/catalog/components/bulk-add-facet-values-dialog/bulk-add-facet-values-dialog.component.js +2 -3
  35. package/esm2015/catalog/components/product-detail/product-detail.component.js +16 -47
  36. package/esm2015/catalog/components/product-list/product-list-bulk-actions.js +4 -7
  37. package/esm2015/catalog/components/product-variants-list/product-variants-list.component.js +38 -30
  38. package/esm2015/catalog/providers/product-detail/product-detail.service.js +1 -4
  39. package/esm2015/core/common/generated-types.js +1 -1
  40. package/esm2015/core/common/introspection-result.js +2 -1
  41. package/esm2015/core/common/version.js +2 -2
  42. package/esm2015/core/data/definitions/facet-definitions.js +12 -1
  43. package/esm2015/core/data/providers/facet-data.service.js +5 -2
  44. package/esm2015/core/providers/custom-history-entry-component/history-entry-component-types.js +2 -0
  45. package/esm2015/core/providers/custom-history-entry-component/history-entry-component.service.js +39 -0
  46. package/esm2015/core/public_api.js +3 -2
  47. package/esm2015/core/shared/components/facet-value-selector/facet-value-selector.component.js +52 -22
  48. package/esm2015/core/shared/components/form-field/form-field.component.js +2 -2
  49. package/esm2015/core/shared/components/timeline-entry/timeline-entry.component.js +2 -2
  50. package/esm2015/core/shared/dynamic-form-inputs/facet-value-form-input/facet-value-form-input.component.js +3 -15
  51. package/esm2015/customer/components/customer-detail/customer-detail.component.js +1 -1
  52. package/esm2015/customer/components/customer-history/customer-history-entry-host.component.js +51 -0
  53. package/esm2015/customer/components/customer-history/customer-history.component.js +12 -4
  54. package/esm2015/customer/customer.module.js +3 -1
  55. package/esm2015/customer/public_api.js +2 -1
  56. package/esm2015/login/components/login/login.component.js +37 -5
  57. package/esm2015/order/components/order-detail/order-detail.component.js +1 -1
  58. package/esm2015/order/components/order-history/order-history-entry-host.component.js +51 -0
  59. package/esm2015/order/components/order-history/order-history.component.js +12 -5
  60. package/esm2015/order/order.module.js +6 -4
  61. package/esm2015/order/public_api.js +2 -1
  62. package/fesm2015/vendure-admin-ui-catalog.js +54 -85
  63. package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
  64. package/fesm2015/vendure-admin-ui-core.js +106 -39
  65. package/fesm2015/vendure-admin-ui-core.js.map +1 -1
  66. package/fesm2015/vendure-admin-ui-customer.js +63 -5
  67. package/fesm2015/vendure-admin-ui-customer.js.map +1 -1
  68. package/fesm2015/vendure-admin-ui-login.js +36 -4
  69. package/fesm2015/vendure-admin-ui-login.js.map +1 -1
  70. package/fesm2015/vendure-admin-ui-order.js +63 -6
  71. package/fesm2015/vendure-admin-ui-order.js.map +1 -1
  72. package/login/components/login/login.component.d.ts +11 -1
  73. package/login/vendure-admin-ui-login.metadata.json +1 -1
  74. package/order/components/order-detail/order-detail.component.d.ts +3 -3
  75. package/order/components/order-history/order-history-entry-host.component.d.ts +16 -0
  76. package/order/components/order-history/order-history.component.d.ts +18 -3
  77. package/order/public_api.d.ts +1 -0
  78. package/order/vendure-admin-ui-order.metadata.json +1 -1
  79. package/package.json +2 -2
  80. package/static/i18n-messages/de.json +3 -1
  81. package/static/i18n-messages/en.json +3 -1
  82. package/static/styles/_variables.scss +1 -0
  83. package/core/common/utilities/flatten-facet-values.d.ts +0 -2
  84. package/esm2015/core/common/utilities/flatten-facet-values.js +0 -4
@@ -1381,14 +1381,59 @@
1381
1381
  fetchParamsChange: [{ type: i0.Output }]
1382
1382
  };
1383
1383
 
1384
+ var CustomerHistoryEntryHostComponent = /** @class */ (function () {
1385
+ function CustomerHistoryEntryHostComponent(componentFactoryResolver, historyEntryComponentService) {
1386
+ this.componentFactoryResolver = componentFactoryResolver;
1387
+ this.historyEntryComponentService = historyEntryComponentService;
1388
+ this.expandClick = new i0.EventEmitter();
1389
+ }
1390
+ CustomerHistoryEntryHostComponent.prototype.ngOnInit = function () {
1391
+ var componentType = this.historyEntryComponentService.getComponent(this.entry.type);
1392
+ var factory = this.componentFactoryResolver.resolveComponentFactory(componentType);
1393
+ var componentRef = this.portalRef.createComponent(factory);
1394
+ componentRef.instance.entry = this.entry;
1395
+ componentRef.instance.customer = this.customer;
1396
+ this.instance = componentRef.instance;
1397
+ this.componentRef = componentRef;
1398
+ };
1399
+ CustomerHistoryEntryHostComponent.prototype.ngOnDestroy = function () {
1400
+ var _a;
1401
+ (_a = this.componentRef) === null || _a === void 0 ? void 0 : _a.destroy();
1402
+ };
1403
+ return CustomerHistoryEntryHostComponent;
1404
+ }());
1405
+ CustomerHistoryEntryHostComponent.decorators = [
1406
+ { type: i0.Component, args: [{
1407
+ selector: 'vdr-customer-history-entry-host',
1408
+ template: " <vdr-timeline-entry\n [displayType]=\"instance.getDisplayType(entry)\"\n [iconShape]=\"instance.getIconShape && instance.getIconShape(entry)\"\n [createdAt]=\"entry.createdAt\"\n [name]=\"instance.getName && instance.getName(entry)\"\n [featured]=\"instance.isFeatured(entry)\"\n [collapsed]=\"!expanded && !instance.isFeatured(entry)\"\n (expandClick)=\"expandClick.emit()\"\n >\n <div #portal></div>\n </vdr-timeline-entry>",
1409
+ exportAs: 'historyEntry'
1410
+ },] }
1411
+ ];
1412
+ CustomerHistoryEntryHostComponent.ctorParameters = function () { return [
1413
+ { type: i0.ComponentFactoryResolver },
1414
+ { type: i2.HistoryEntryComponentService }
1415
+ ]; };
1416
+ CustomerHistoryEntryHostComponent.propDecorators = {
1417
+ entry: [{ type: i0.Input }],
1418
+ customer: [{ type: i0.Input }],
1419
+ expanded: [{ type: i0.Input }],
1420
+ expandClick: [{ type: i0.Output }],
1421
+ portalRef: [{ type: i0.ViewChild, args: ['portal', { static: true, read: i0.ViewContainerRef },] }]
1422
+ };
1423
+
1384
1424
  var CustomerHistoryComponent = /** @class */ (function () {
1385
- function CustomerHistoryComponent() {
1425
+ function CustomerHistoryComponent(historyEntryComponentService) {
1426
+ this.historyEntryComponentService = historyEntryComponentService;
1386
1427
  this.addNote = new i0.EventEmitter();
1387
1428
  this.updateNote = new i0.EventEmitter();
1388
1429
  this.deleteNote = new i0.EventEmitter();
1389
1430
  this.note = '';
1431
+ this.expanded = false;
1390
1432
  this.type = i2.HistoryEntryType;
1391
1433
  }
1434
+ CustomerHistoryComponent.prototype.hasCustomComponent = function (type) {
1435
+ return !!this.historyEntryComponentService.getComponent(type);
1436
+ };
1392
1437
  CustomerHistoryComponent.prototype.getDisplayType = function (entry) {
1393
1438
  switch (entry.type) {
1394
1439
  case i2.HistoryEntryType.CUSTOMER_VERIFIED:
@@ -1443,11 +1488,14 @@
1443
1488
  CustomerHistoryComponent.decorators = [
1444
1489
  { type: i0.Component, args: [{
1445
1490
  selector: 'vdr-customer-history',
1446
- template: "<h4>{{ 'customer.customer-history' | translate }}</h4>\r\n<div class=\"entry-list\">\r\n <vdr-timeline-entry iconShape=\"note\" displayType=\"muted\" *vdrIfPermissions=\"'UpdateCustomer'\">\r\n <div class=\"note-entry\">\r\n <textarea [(ngModel)]=\"note\" name=\"note\" class=\"note\"></textarea>\r\n <button class=\"btn btn-secondary\" [disabled]=\"!note\" (click)=\"addNoteToCustomer()\">\r\n {{ 'order.add-note' | translate }}\r\n </button>\r\n </div>\r\n </vdr-timeline-entry>\r\n <vdr-timeline-entry\r\n *ngFor=\"let entry of history\"\r\n [displayType]=\"getDisplayType(entry)\"\r\n [iconShape]=\"getTimelineIcon(entry)\"\r\n [createdAt]=\"entry.createdAt\"\r\n [name]=\"getName(entry)\"\r\n [featured]=\"isFeatured(entry)\"\r\n >\r\n <ng-container [ngSwitch]=\"entry.type\">\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_REGISTERED\">\r\n <div class=\"title\">\r\n {{ 'customer.history-customer-registered' | translate }}\r\n </div>\r\n <ng-container *ngIf=\"entry.data.strategy === 'native'; else namedStrategy\">\r\n {{ 'customer.history-using-native-auth-strategy' | translate }}\r\n </ng-container>\r\n <ng-template #namedStrategy>\r\n {{\r\n 'customer.history-using-external-auth-strategy'\r\n | translate: { strategy: entry.data.strategy }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_VERIFIED\">\r\n <div class=\"title\">\r\n {{ 'customer.history-customer-verified' | translate }}\r\n </div>\r\n <ng-container *ngIf=\"entry.data.strategy === 'native'; else namedStrategy\">\r\n {{ 'customer.history-using-native-auth-strategy' | translate }}\r\n </ng-container>\r\n <ng-template #namedStrategy>\r\n {{\r\n 'customer.history-using-external-auth-strategy'\r\n | translate: { strategy: entry.data.strategy }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_DETAIL_UPDATED\">\r\n <div class=\"flex\">\r\n {{ 'customer.history-customer-detail-updated' | translate }}\r\n <vdr-history-entry-detail>\r\n <vdr-object-tree [value]=\"entry.data.input\"></vdr-object-tree>\r\n </vdr-history-entry-detail>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_ADDED_TO_GROUP\">\r\n {{\r\n 'customer.history-customer-added-to-group'\r\n | translate: { groupName: entry.data.groupName }\r\n }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_REMOVED_FROM_GROUP\">\r\n {{\r\n 'customer.history-customer-removed-from-group'\r\n | translate: { groupName: entry.data.groupName }\r\n }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_ADDRESS_CREATED\">\r\n {{ 'customer.history-customer-address-created' | translate }}\r\n <div class=\"flex\">\r\n <div class=\"address-string\">{{ entry.data.address }}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_ADDRESS_UPDATED\">\r\n {{ 'customer.history-customer-address-updated' | translate }}\r\n <div class=\"flex\">\r\n <div class=\"address-string\">{{ entry.data.address }}</div>\r\n <vdr-history-entry-detail>\r\n <vdr-object-tree [value]=\"entry.data.input\"></vdr-object-tree>\r\n </vdr-history-entry-detail>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_ADDRESS_DELETED\">\r\n {{ 'customer.history-customer-address-deleted' | translate }}\r\n <div class=\"address-string\">{{ entry.data.address }}</div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_PASSWORD_UPDATED\">\r\n {{ 'customer.history-customer-password-updated' | translate }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_PASSWORD_RESET_REQUESTED\">\r\n {{ 'customer.history-customer-password-reset-requested' | translate }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_PASSWORD_RESET_VERIFIED\">\r\n {{ 'customer.history-customer-password-reset-verified' | translate }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_EMAIL_UPDATE_REQUESTED\">\r\n <div class=\"flex\">\r\n {{ 'customer.history-customer-email-update-requested' | translate }}\r\n <vdr-history-entry-detail>\r\n <vdr-labeled-data [label]=\"'customer.old-email-address' | translate\">{{\r\n entry.data.oldEmailAddress\r\n }}</vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'customer.new-email-address' | translate\">{{\r\n entry.data.newEmailAddress\r\n }}</vdr-labeled-data>\r\n </vdr-history-entry-detail>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_EMAIL_UPDATE_VERIFIED\">\r\n <div class=\"flex\">\r\n {{ 'customer.history-customer-email-update-verified' | translate }}\r\n <vdr-history-entry-detail>\r\n <vdr-labeled-data [label]=\"'customer.old-email-address' | translate\">{{\r\n entry.data.oldEmailAddress\r\n }}</vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'customer.new-email-address' | translate\">{{\r\n entry.data.newEmailAddress\r\n }}</vdr-labeled-data>\r\n </vdr-history-entry-detail>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_NOTE\">\r\n <div class=\"flex\">\r\n <div class=\"note-text\">\r\n {{ entry.data.note }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"updateNote.emit(entry)\"\r\n [disabled]=\"!('UpdateCustomer' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"deleteNote.emit(entry)\"\r\n [disabled]=\"!('UpdateCustomer' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </vdr-timeline-entry>\r\n <vdr-timeline-entry [isLast]=\"true\"></vdr-timeline-entry>\r\n</div>\r\n",
1491
+ template: "<h4>{{ 'customer.customer-history' | translate }}</h4>\r\n<div class=\"entry-list\">\r\n <vdr-timeline-entry iconShape=\"note\" displayType=\"muted\" *vdrIfPermissions=\"'UpdateCustomer'\">\r\n <div class=\"note-entry\">\r\n <textarea [(ngModel)]=\"note\" name=\"note\" class=\"note\"></textarea>\r\n <button class=\"btn btn-secondary\" [disabled]=\"!note\" (click)=\"addNoteToCustomer()\">\r\n {{ 'order.add-note' | translate }}\r\n </button>\r\n </div>\r\n </vdr-timeline-entry>\r\n <ng-container *ngFor=\"let entry of history\">\r\n <vdr-customer-history-entry-host\r\n *ngIf=\"hasCustomComponent(entry.type); else defaultComponents\"\r\n [customer]=\"customer\"\r\n [entry]=\"entry\"\r\n [expanded]=\"expanded\"\r\n (expandClick)=\"expanded = !expanded\"\r\n ></vdr-customer-history-entry-host>\r\n <ng-template #defaultComponents>\r\n <vdr-timeline-entry\r\n [displayType]=\"getDisplayType(entry)\"\r\n [iconShape]=\"getTimelineIcon(entry)\"\r\n [createdAt]=\"entry.createdAt\"\r\n [name]=\"getName(entry)\"\r\n [featured]=\"isFeatured(entry)\"\r\n >\r\n <ng-container [ngSwitch]=\"entry.type\">\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_REGISTERED\">\r\n <div class=\"title\">\r\n {{ 'customer.history-customer-registered' | translate }}\r\n </div>\r\n <ng-container *ngIf=\"entry.data.strategy === 'native'; else namedStrategy\">\r\n {{ 'customer.history-using-native-auth-strategy' | translate }}\r\n </ng-container>\r\n <ng-template #namedStrategy>\r\n {{\r\n 'customer.history-using-external-auth-strategy'\r\n | translate: { strategy: entry.data.strategy }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_VERIFIED\">\r\n <div class=\"title\">\r\n {{ 'customer.history-customer-verified' | translate }}\r\n </div>\r\n <ng-container *ngIf=\"entry.data.strategy === 'native'; else namedStrategy\">\r\n {{ 'customer.history-using-native-auth-strategy' | translate }}\r\n </ng-container>\r\n <ng-template #namedStrategy>\r\n {{\r\n 'customer.history-using-external-auth-strategy'\r\n | translate: { strategy: entry.data.strategy }\r\n }}\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_DETAIL_UPDATED\">\r\n <div class=\"flex\">\r\n {{ 'customer.history-customer-detail-updated' | translate }}\r\n <vdr-history-entry-detail>\r\n <vdr-object-tree [value]=\"entry.data.input\"></vdr-object-tree>\r\n </vdr-history-entry-detail>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_ADDED_TO_GROUP\">\r\n {{\r\n 'customer.history-customer-added-to-group'\r\n | translate: { groupName: entry.data.groupName }\r\n }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_REMOVED_FROM_GROUP\">\r\n {{\r\n 'customer.history-customer-removed-from-group'\r\n | translate: { groupName: entry.data.groupName }\r\n }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_ADDRESS_CREATED\">\r\n {{ 'customer.history-customer-address-created' | translate }}\r\n <div class=\"flex\">\r\n <div class=\"address-string\">{{ entry.data.address }}</div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_ADDRESS_UPDATED\">\r\n {{ 'customer.history-customer-address-updated' | translate }}\r\n <div class=\"flex\">\r\n <div class=\"address-string\">{{ entry.data.address }}</div>\r\n <vdr-history-entry-detail>\r\n <vdr-object-tree [value]=\"entry.data.input\"></vdr-object-tree>\r\n </vdr-history-entry-detail>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_ADDRESS_DELETED\">\r\n {{ 'customer.history-customer-address-deleted' | translate }}\r\n <div class=\"address-string\">{{ entry.data.address }}</div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_PASSWORD_UPDATED\">\r\n {{ 'customer.history-customer-password-updated' | translate }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_PASSWORD_RESET_REQUESTED\">\r\n {{ 'customer.history-customer-password-reset-requested' | translate }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_PASSWORD_RESET_VERIFIED\">\r\n {{ 'customer.history-customer-password-reset-verified' | translate }}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_EMAIL_UPDATE_REQUESTED\">\r\n <div class=\"flex\">\r\n {{ 'customer.history-customer-email-update-requested' | translate }}\r\n <vdr-history-entry-detail>\r\n <vdr-labeled-data [label]=\"'customer.old-email-address' | translate\">{{\r\n entry.data.oldEmailAddress\r\n }}</vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'customer.new-email-address' | translate\">{{\r\n entry.data.newEmailAddress\r\n }}</vdr-labeled-data>\r\n </vdr-history-entry-detail>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_EMAIL_UPDATE_VERIFIED\">\r\n <div class=\"flex\">\r\n {{ 'customer.history-customer-email-update-verified' | translate }}\r\n <vdr-history-entry-detail>\r\n <vdr-labeled-data [label]=\"'customer.old-email-address' | translate\">{{\r\n entry.data.oldEmailAddress\r\n }}</vdr-labeled-data>\r\n <vdr-labeled-data [label]=\"'customer.new-email-address' | translate\">{{\r\n entry.data.newEmailAddress\r\n }}</vdr-labeled-data>\r\n </vdr-history-entry-detail>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"type.CUSTOMER_NOTE\">\r\n <div class=\"flex\">\r\n <div class=\"note-text\">\r\n {{ entry.data.note }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"updateNote.emit(entry)\"\r\n [disabled]=\"!('UpdateCustomer' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"deleteNote.emit(entry)\"\r\n [disabled]=\"!('UpdateCustomer' | hasPermission)\"\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"title\">\r\n {{ entry.type | translate }}\r\n </div>\r\n <vdr-history-entry-detail *ngIf=\"entry.data\">\r\n <vdr-object-tree [value]=\"entry.data\"></vdr-object-tree>\r\n </vdr-history-entry-detail>\r\n </ng-container>\r\n </ng-container>\r\n </vdr-timeline-entry>\r\n </ng-template>\r\n </ng-container>\r\n <vdr-timeline-entry [isLast]=\"true\"></vdr-timeline-entry>\r\n</div>\r\n",
1447
1492
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
1448
1493
  styles: [".entry-list{margin-top:24px;margin-left:24px;margin-right:12px}.note-entry{display:flex;align-items:center}.note-entry .note{flex:1}.note-entry button{margin:0}textarea.note{flex:1;height:36px;border-radius:3px;margin-right:6px}.note-text{color:var(--color-text-100);white-space:pre-wrap}.address-string{font-size:smaller;color:var(--color-text-200)}\n"]
1449
1494
  },] }
1450
1495
  ];
1496
+ CustomerHistoryComponent.ctorParameters = function () { return [
1497
+ { type: i2.HistoryEntryComponentService }
1498
+ ]; };
1451
1499
  CustomerHistoryComponent.propDecorators = {
1452
1500
  customer: [{ type: i0.Input }],
1453
1501
  history: [{ type: i0.Input }],
@@ -1647,6 +1695,7 @@
1647
1695
  SelectCustomerGroupDialogComponent,
1648
1696
  CustomerHistoryComponent,
1649
1697
  AddressDetailDialogComponent,
1698
+ CustomerHistoryEntryHostComponent,
1650
1699
  ],
1651
1700
  exports: [AddressCardComponent],
1652
1701
  },] }
@@ -1666,6 +1715,7 @@
1666
1715
  exports.CustomerGroupListComponent = CustomerGroupListComponent;
1667
1716
  exports.CustomerGroupMemberListComponent = CustomerGroupMemberListComponent;
1668
1717
  exports.CustomerHistoryComponent = CustomerHistoryComponent;
1718
+ exports.CustomerHistoryEntryHostComponent = CustomerHistoryEntryHostComponent;
1669
1719
  exports.CustomerListComponent = CustomerListComponent;
1670
1720
  exports.CustomerModule = CustomerModule;
1671
1721
  exports.CustomerResolver = CustomerResolver;