@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
@@ -0,0 +1,51 @@
1
+ import { Component, ComponentFactoryResolver, EventEmitter, Input, Output, ViewChild, ViewContainerRef, } from '@angular/core';
2
+ import { HistoryEntryComponentService, } from '@vendure/admin-ui/core';
3
+ export class CustomerHistoryEntryHostComponent {
4
+ constructor(componentFactoryResolver, historyEntryComponentService) {
5
+ this.componentFactoryResolver = componentFactoryResolver;
6
+ this.historyEntryComponentService = historyEntryComponentService;
7
+ this.expandClick = new EventEmitter();
8
+ }
9
+ ngOnInit() {
10
+ const componentType = this.historyEntryComponentService.getComponent(this.entry.type);
11
+ const factory = this.componentFactoryResolver.resolveComponentFactory(componentType);
12
+ const componentRef = this.portalRef.createComponent(factory);
13
+ componentRef.instance.entry = this.entry;
14
+ componentRef.instance.customer = this.customer;
15
+ this.instance = componentRef.instance;
16
+ this.componentRef = componentRef;
17
+ }
18
+ ngOnDestroy() {
19
+ var _a;
20
+ (_a = this.componentRef) === null || _a === void 0 ? void 0 : _a.destroy();
21
+ }
22
+ }
23
+ CustomerHistoryEntryHostComponent.decorators = [
24
+ { type: Component, args: [{
25
+ selector: 'vdr-customer-history-entry-host',
26
+ template: ` <vdr-timeline-entry
27
+ [displayType]="instance.getDisplayType(entry)"
28
+ [iconShape]="instance.getIconShape && instance.getIconShape(entry)"
29
+ [createdAt]="entry.createdAt"
30
+ [name]="instance.getName && instance.getName(entry)"
31
+ [featured]="instance.isFeatured(entry)"
32
+ [collapsed]="!expanded && !instance.isFeatured(entry)"
33
+ (expandClick)="expandClick.emit()"
34
+ >
35
+ <div #portal></div>
36
+ </vdr-timeline-entry>`,
37
+ exportAs: 'historyEntry'
38
+ },] }
39
+ ];
40
+ CustomerHistoryEntryHostComponent.ctorParameters = () => [
41
+ { type: ComponentFactoryResolver },
42
+ { type: HistoryEntryComponentService }
43
+ ];
44
+ CustomerHistoryEntryHostComponent.propDecorators = {
45
+ entry: [{ type: Input }],
46
+ customer: [{ type: Input }],
47
+ expanded: [{ type: Input }],
48
+ expandClick: [{ type: Output }],
49
+ portalRef: [{ type: ViewChild, args: ['portal', { static: true, read: ViewContainerRef },] }]
50
+ };
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItaGlzdG9yeS1lbnRyeS1ob3N0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY3VzdG9tZXIvc3JjL2NvbXBvbmVudHMvY3VzdG9tZXItaGlzdG9yeS9jdXN0b21lci1oaXN0b3J5LWVudHJ5LWhvc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1Qsd0JBQXdCLEVBRXhCLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxnQkFBZ0IsR0FDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUdILDRCQUE0QixHQUUvQixNQUFNLHdCQUF3QixDQUFDO0FBaUJoQyxNQUFNLE9BQU8saUNBQWlDO0lBUzFDLFlBQ1ksd0JBQWtELEVBQ2xELDRCQUEwRDtRQUQxRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ2xELGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFQNUQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBUTlDLENBQUM7SUFFSixRQUFRO1FBQ0osTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFlBQVksQ0FDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3FCLENBQUM7UUFFekMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdELFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQyxJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7O1FBQ1AsTUFBQSxJQUFJLENBQUMsWUFBWSwwQ0FBRSxPQUFPLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzs7WUE1Q0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxpQ0FBaUM7Z0JBQzNDLFFBQVEsRUFBRTs7Ozs7Ozs7OzswQkFVWTtnQkFDdEIsUUFBUSxFQUFFLGNBQWM7YUFDM0I7OztZQWhDRyx3QkFBd0I7WUFjeEIsNEJBQTRCOzs7b0JBb0IzQixLQUFLO3VCQUNMLEtBQUs7dUJBQ0wsS0FBSzswQkFDTCxNQUFNO3dCQUNOLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBDb21wb25lbnRSZWYsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE9uSW5pdCxcclxuICAgIE91dHB1dCxcclxuICAgIFR5cGUsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgQ3VzdG9tZXJGcmFnbWVudCxcclxuICAgIEN1c3RvbWVySGlzdG9yeUVudHJ5Q29tcG9uZW50LFxyXG4gICAgSGlzdG9yeUVudHJ5Q29tcG9uZW50U2VydmljZSxcclxuICAgIFRpbWVsaW5lSGlzdG9yeUVudHJ5LFxyXG59IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1jdXN0b21lci1oaXN0b3J5LWVudHJ5LWhvc3QnLFxyXG4gICAgdGVtcGxhdGU6IGAgPHZkci10aW1lbGluZS1lbnRyeVxyXG4gICAgICAgIFtkaXNwbGF5VHlwZV09XCJpbnN0YW5jZS5nZXREaXNwbGF5VHlwZShlbnRyeSlcIlxyXG4gICAgICAgIFtpY29uU2hhcGVdPVwiaW5zdGFuY2UuZ2V0SWNvblNoYXBlICYmIGluc3RhbmNlLmdldEljb25TaGFwZShlbnRyeSlcIlxyXG4gICAgICAgIFtjcmVhdGVkQXRdPVwiZW50cnkuY3JlYXRlZEF0XCJcclxuICAgICAgICBbbmFtZV09XCJpbnN0YW5jZS5nZXROYW1lICYmIGluc3RhbmNlLmdldE5hbWUoZW50cnkpXCJcclxuICAgICAgICBbZmVhdHVyZWRdPVwiaW5zdGFuY2UuaXNGZWF0dXJlZChlbnRyeSlcIlxyXG4gICAgICAgIFtjb2xsYXBzZWRdPVwiIWV4cGFuZGVkICYmICFpbnN0YW5jZS5pc0ZlYXR1cmVkKGVudHJ5KVwiXHJcbiAgICAgICAgKGV4cGFuZENsaWNrKT1cImV4cGFuZENsaWNrLmVtaXQoKVwiXHJcbiAgICA+XHJcbiAgICAgICAgPGRpdiAjcG9ydGFsPjwvZGl2PlxyXG4gICAgPC92ZHItdGltZWxpbmUtZW50cnk+YCxcclxuICAgIGV4cG9ydEFzOiAnaGlzdG9yeUVudHJ5JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1c3RvbWVySGlzdG9yeUVudHJ5SG9zdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGVudHJ5OiBUaW1lbGluZUhpc3RvcnlFbnRyeTtcclxuICAgIEBJbnB1dCgpIGN1c3RvbWVyOiBDdXN0b21lckZyYWdtZW50O1xyXG4gICAgQElucHV0KCkgZXhwYW5kZWQ6IGJvb2xlYW47XHJcbiAgICBAT3V0cHV0KCkgZXhwYW5kQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgICBAVmlld0NoaWxkKCdwb3J0YWwnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBwb3J0YWxSZWY6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgICBpbnN0YW5jZTogQ3VzdG9tZXJIaXN0b3J5RW50cnlDb21wb25lbnQ7XHJcbiAgICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEN1c3RvbWVySGlzdG9yeUVudHJ5Q29tcG9uZW50PjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgICAgIHByaXZhdGUgaGlzdG9yeUVudHJ5Q29tcG9uZW50U2VydmljZTogSGlzdG9yeUVudHJ5Q29tcG9uZW50U2VydmljZSxcclxuICAgICkge31cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRUeXBlID0gdGhpcy5oaXN0b3J5RW50cnlDb21wb25lbnRTZXJ2aWNlLmdldENvbXBvbmVudChcclxuICAgICAgICAgICAgdGhpcy5lbnRyeS50eXBlLFxyXG4gICAgICAgICkgYXMgVHlwZTxDdXN0b21lckhpc3RvcnlFbnRyeUNvbXBvbmVudD47XHJcblxyXG4gICAgICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnRUeXBlKTtcclxuICAgICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnBvcnRhbFJlZi5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmVudHJ5ID0gdGhpcy5lbnRyeTtcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY3VzdG9tZXIgPSB0aGlzLmN1c3RvbWVyO1xyXG4gICAgICAgIHRoaXMuaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,13 +1,18 @@
1
1
  import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { HistoryEntryType, } from '@vendure/admin-ui/core';
2
+ import { HistoryEntryComponentService, HistoryEntryType, } from '@vendure/admin-ui/core';
3
3
  export class CustomerHistoryComponent {
4
- constructor() {
4
+ constructor(historyEntryComponentService) {
5
+ this.historyEntryComponentService = historyEntryComponentService;
5
6
  this.addNote = new EventEmitter();
6
7
  this.updateNote = new EventEmitter();
7
8
  this.deleteNote = new EventEmitter();
8
9
  this.note = '';
10
+ this.expanded = false;
9
11
  this.type = HistoryEntryType;
10
12
  }
13
+ hasCustomComponent(type) {
14
+ return !!this.historyEntryComponentService.getComponent(type);
15
+ }
11
16
  getDisplayType(entry) {
12
17
  switch (entry.type) {
13
18
  case HistoryEntryType.CUSTOMER_VERIFIED:
@@ -61,11 +66,14 @@ export class CustomerHistoryComponent {
61
66
  CustomerHistoryComponent.decorators = [
62
67
  { type: Component, args: [{
63
68
  selector: 'vdr-customer-history',
64
- 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",
69
+ 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",
65
70
  changeDetection: ChangeDetectionStrategy.OnPush,
66
71
  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"]
67
72
  },] }
68
73
  ];
74
+ CustomerHistoryComponent.ctorParameters = () => [
75
+ { type: HistoryEntryComponentService }
76
+ ];
69
77
  CustomerHistoryComponent.propDecorators = {
70
78
  customer: [{ type: Input }],
71
79
  history: [{ type: Input }],
@@ -73,4 +81,4 @@ CustomerHistoryComponent.propDecorators = {
73
81
  updateNote: [{ type: Output }],
74
82
  deleteNote: [{ type: Output }]
75
83
  };
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItaGlzdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2N1c3RvbWVyL3NyYy9jb21wb25lbnRzL2N1c3RvbWVyLWhpc3RvcnkvY3VzdG9tZXItaGlzdG9yeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBSUgsZ0JBQWdCLEdBRW5CLE1BQU0sd0JBQXdCLENBQUM7QUFRaEMsTUFBTSxPQUFPLHdCQUF3QjtJQU5yQztRQVNjLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUMvQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFDOUMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBQ3hELFNBQUksR0FBRyxFQUFFLENBQUM7UUFDRCxTQUFJLEdBQUcsZ0JBQWdCLENBQUM7SUFzRHJDLENBQUM7SUFwREcsY0FBYyxDQUFDLEtBQStCO1FBQzFDLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRTtZQUNoQixLQUFLLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDO1lBQ3hDLEtBQUssZ0JBQWdCLENBQUMsOEJBQThCLENBQUM7WUFDckQsS0FBSyxnQkFBZ0IsQ0FBQyxnQ0FBZ0M7Z0JBQ2xELE9BQU8sU0FBUyxDQUFDO1lBQ3JCLEtBQUssZ0JBQWdCLENBQUMsbUJBQW1CO2dCQUNyQyxPQUFPLE9BQU8sQ0FBQztZQUNuQixLQUFLLGdCQUFnQixDQUFDLDJCQUEyQjtnQkFDN0MsT0FBTyxPQUFPLENBQUM7WUFDbkI7Z0JBQ0ksT0FBTyxTQUFTLENBQUM7U0FDeEI7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQStCO1FBQzNDLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRTtZQUNoQixLQUFLLGdCQUFnQixDQUFDLG1CQUFtQjtnQkFDckMsT0FBTyxNQUFNLENBQUM7WUFDbEIsS0FBSyxnQkFBZ0IsQ0FBQyxpQkFBaUI7Z0JBQ25DLE9BQU8sQ0FBQyxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7WUFDdkMsS0FBSyxnQkFBZ0IsQ0FBQyxhQUFhO2dCQUMvQixPQUFPLE1BQU0sQ0FBQztZQUNsQixLQUFLLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDO1lBQzlDLEtBQUssZ0JBQWdCLENBQUMsMkJBQTJCO2dCQUM3QyxPQUFPLE9BQU8sQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBK0I7UUFDdEMsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQ2hCLEtBQUssZ0JBQWdCLENBQUMsbUJBQW1CLENBQUM7WUFDMUMsS0FBSyxnQkFBZ0IsQ0FBQyxpQkFBaUI7Z0JBQ25DLE9BQU8sSUFBSSxDQUFDO1lBQ2hCO2dCQUNJLE9BQU8sS0FBSyxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUErQjtRQUNuQyxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLElBQUksYUFBYSxFQUFFO1lBQ2YsT0FBTyxHQUFHLGFBQWEsQ0FBQyxTQUFTLElBQUksYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ2pFO2FBQU07WUFDSCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqRTtJQUNMLENBQUM7SUFFRCxpQkFBaUI7UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDOzs7WUFsRUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLHVsUkFBZ0Q7Z0JBRWhELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNsRDs7O3VCQUVJLEtBQUs7c0JBQ0wsS0FBSztzQkFDTCxNQUFNO3lCQUNOLE1BQU07eUJBQ04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgQ3VzdG9tZXIsXHJcbiAgICBHZXRDdXN0b21lckhpc3RvcnksXHJcbiAgICBIaXN0b3J5RW50cnksXHJcbiAgICBIaXN0b3J5RW50cnlUeXBlLFxyXG4gICAgVGltZWxpbmVEaXNwbGF5VHlwZSxcclxufSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItY3VzdG9tZXItaGlzdG9yeScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tZXItaGlzdG9yeS5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9jdXN0b21lci1oaXN0b3J5LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1c3RvbWVySGlzdG9yeUNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBjdXN0b21lcjogQ3VzdG9tZXIuRnJhZ21lbnQ7XHJcbiAgICBASW5wdXQoKSBoaXN0b3J5OiBHZXRDdXN0b21lckhpc3RvcnkuSXRlbXNbXTtcclxuICAgIEBPdXRwdXQoKSBhZGROb3RlID0gbmV3IEV2ZW50RW1pdHRlcjx7IG5vdGU6IHN0cmluZyB9PigpO1xyXG4gICAgQE91dHB1dCgpIHVwZGF0ZU5vdGUgPSBuZXcgRXZlbnRFbWl0dGVyPEhpc3RvcnlFbnRyeT4oKTtcclxuICAgIEBPdXRwdXQoKSBkZWxldGVOb3RlID0gbmV3IEV2ZW50RW1pdHRlcjxIaXN0b3J5RW50cnk+KCk7XHJcbiAgICBub3RlID0gJyc7XHJcbiAgICByZWFkb25seSB0eXBlID0gSGlzdG9yeUVudHJ5VHlwZTtcclxuXHJcbiAgICBnZXREaXNwbGF5VHlwZShlbnRyeTogR2V0Q3VzdG9tZXJIaXN0b3J5Lkl0ZW1zKTogVGltZWxpbmVEaXNwbGF5VHlwZSB7XHJcbiAgICAgICAgc3dpdGNoIChlbnRyeS50eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5DVVNUT01FUl9WRVJJRklFRDpcclxuICAgICAgICAgICAgY2FzZSBIaXN0b3J5RW50cnlUeXBlLkNVU1RPTUVSX0VNQUlMX1VQREFURV9WRVJJRklFRDpcclxuICAgICAgICAgICAgY2FzZSBIaXN0b3J5RW50cnlUeXBlLkNVU1RPTUVSX1BBU1NXT1JEX1JFU0VUX1ZFUklGSUVEOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgICAgICAgICAgY2FzZSBIaXN0b3J5RW50cnlUeXBlLkNVU1RPTUVSX1JFR0lTVEVSRUQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ211dGVkJztcclxuICAgICAgICAgICAgY2FzZSBIaXN0b3J5RW50cnlUeXBlLkNVU1RPTUVSX1JFTU9WRURfRlJPTV9HUk9VUDpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZXJyb3InO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdkZWZhdWx0JztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VGltZWxpbmVJY29uKGVudHJ5OiBHZXRDdXN0b21lckhpc3RvcnkuSXRlbXMpOiBzdHJpbmcgfCBbc3RyaW5nLCBzdHJpbmddIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBzd2l0Y2ggKGVudHJ5LnR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBIaXN0b3J5RW50cnlUeXBlLkNVU1RPTUVSX1JFR0lTVEVSRUQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3VzZXInO1xyXG4gICAgICAgICAgICBjYXNlIEhpc3RvcnlFbnRyeVR5cGUuQ1VTVE9NRVJfVkVSSUZJRUQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gWydhc3NpZ24tdXNlcicsICdpcy1zb2xpZCddO1xyXG4gICAgICAgICAgICBjYXNlIEhpc3RvcnlFbnRyeVR5cGUuQ1VTVE9NRVJfTk9URTpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnbm90ZSc7XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5DVVNUT01FUl9BRERFRF9UT19HUk9VUDpcclxuICAgICAgICAgICAgY2FzZSBIaXN0b3J5RW50cnlUeXBlLkNVU1RPTUVSX1JFTU9WRURfRlJPTV9HUk9VUDpcclxuICAgICAgICAgICAgICAgIHJldHVybiAndXNlcnMnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpc0ZlYXR1cmVkKGVudHJ5OiBHZXRDdXN0b21lckhpc3RvcnkuSXRlbXMpOiBib29sZWFuIHtcclxuICAgICAgICBzd2l0Y2ggKGVudHJ5LnR5cGUpIHtcclxuICAgICAgICAgICAgY2FzZSBIaXN0b3J5RW50cnlUeXBlLkNVU1RPTUVSX1JFR0lTVEVSRUQ6XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5DVVNUT01FUl9WRVJJRklFRDpcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXROYW1lKGVudHJ5OiBHZXRDdXN0b21lckhpc3RvcnkuSXRlbXMpOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHsgYWRtaW5pc3RyYXRvciB9ID0gZW50cnk7XHJcbiAgICAgICAgaWYgKGFkbWluaXN0cmF0b3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke2FkbWluaXN0cmF0b3IuZmlyc3ROYW1lfSAke2FkbWluaXN0cmF0b3IubGFzdE5hbWV9YDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5jdXN0b21lci5maXJzdE5hbWV9ICR7dGhpcy5jdXN0b21lci5sYXN0TmFtZX1gO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhZGROb3RlVG9DdXN0b21lcigpIHtcclxuICAgICAgICB0aGlzLmFkZE5vdGUuZW1pdCh7IG5vdGU6IHRoaXMubm90ZSB9KTtcclxuICAgICAgICB0aGlzLm5vdGUgPSAnJztcclxuICAgIH1cclxufVxyXG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItaGlzdG9yeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2N1c3RvbWVyL3NyYy9jb21wb25lbnRzL2N1c3RvbWVyLWhpc3RvcnkvY3VzdG9tZXItaGlzdG9yeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBR0gsNEJBQTRCLEVBQzVCLGdCQUFnQixHQUduQixNQUFNLHdCQUF3QixDQUFDO0FBUWhDLE1BQU0sT0FBTyx3QkFBd0I7SUFVakMsWUFBb0IsNEJBQTBEO1FBQTFELGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFQcEUsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO1FBQy9DLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUN0RCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFDaEUsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDUixTQUFJLEdBQUcsZ0JBQWdCLENBQUM7SUFFZ0QsQ0FBQztJQUVsRixrQkFBa0IsQ0FBQyxJQUFZO1FBQzNCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUErQjtRQUMxQyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDaEIsS0FBSyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQztZQUN4QyxLQUFLLGdCQUFnQixDQUFDLDhCQUE4QixDQUFDO1lBQ3JELEtBQUssZ0JBQWdCLENBQUMsZ0NBQWdDO2dCQUNsRCxPQUFPLFNBQVMsQ0FBQztZQUNyQixLQUFLLGdCQUFnQixDQUFDLG1CQUFtQjtnQkFDckMsT0FBTyxPQUFPLENBQUM7WUFDbkIsS0FBSyxnQkFBZ0IsQ0FBQywyQkFBMkI7Z0JBQzdDLE9BQU8sT0FBTyxDQUFDO1lBQ25CO2dCQUNJLE9BQU8sU0FBUyxDQUFDO1NBQ3hCO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUErQjtRQUMzQyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDaEIsS0FBSyxnQkFBZ0IsQ0FBQyxtQkFBbUI7Z0JBQ3JDLE9BQU8sTUFBTSxDQUFDO1lBQ2xCLEtBQUssZ0JBQWdCLENBQUMsaUJBQWlCO2dCQUNuQyxPQUFPLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3ZDLEtBQUssZ0JBQWdCLENBQUMsYUFBYTtnQkFDL0IsT0FBTyxNQUFNLENBQUM7WUFDbEIsS0FBSyxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQztZQUM5QyxLQUFLLGdCQUFnQixDQUFDLDJCQUEyQjtnQkFDN0MsT0FBTyxPQUFPLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQStCO1FBQ3RDLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRTtZQUNoQixLQUFLLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDO1lBQzFDLEtBQUssZ0JBQWdCLENBQUMsaUJBQWlCO2dCQUNuQyxPQUFPLElBQUksQ0FBQztZQUNoQjtnQkFDSSxPQUFPLEtBQUssQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBK0I7UUFDbkMsTUFBTSxFQUFFLGFBQWEsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNoQyxJQUFJLGFBQWEsRUFBRTtZQUNmLE9BQU8sR0FBRyxhQUFhLENBQUMsU0FBUyxJQUFJLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNqRTthQUFNO1lBQ0gsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakU7SUFDTCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7O1lBekVKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxnblZBQWdEO2dCQUVoRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDbEQ7OztZQVhHLDRCQUE0Qjs7O3VCQWEzQixLQUFLO3NCQUNMLEtBQUs7c0JBQ0wsTUFBTTt5QkFDTixNQUFNO3lCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIEN1c3RvbWVyLFxyXG4gICAgR2V0Q3VzdG9tZXJIaXN0b3J5LFxyXG4gICAgSGlzdG9yeUVudHJ5Q29tcG9uZW50U2VydmljZSxcclxuICAgIEhpc3RvcnlFbnRyeVR5cGUsXHJcbiAgICBUaW1lbGluZURpc3BsYXlUeXBlLFxyXG4gICAgVGltZWxpbmVIaXN0b3J5RW50cnksXHJcbn0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWN1c3RvbWVyLWhpc3RvcnknLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbWVyLWhpc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tZXItaGlzdG9yeS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21lckhpc3RvcnlDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgY3VzdG9tZXI6IEN1c3RvbWVyLkZyYWdtZW50O1xyXG4gICAgQElucHV0KCkgaGlzdG9yeTogR2V0Q3VzdG9tZXJIaXN0b3J5Lkl0ZW1zW107XHJcbiAgICBAT3V0cHV0KCkgYWRkTm90ZSA9IG5ldyBFdmVudEVtaXR0ZXI8eyBub3RlOiBzdHJpbmcgfT4oKTtcclxuICAgIEBPdXRwdXQoKSB1cGRhdGVOb3RlID0gbmV3IEV2ZW50RW1pdHRlcjxUaW1lbGluZUhpc3RvcnlFbnRyeT4oKTtcclxuICAgIEBPdXRwdXQoKSBkZWxldGVOb3RlID0gbmV3IEV2ZW50RW1pdHRlcjxUaW1lbGluZUhpc3RvcnlFbnRyeT4oKTtcclxuICAgIG5vdGUgPSAnJztcclxuICAgIGV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICByZWFkb25seSB0eXBlID0gSGlzdG9yeUVudHJ5VHlwZTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGhpc3RvcnlFbnRyeUNvbXBvbmVudFNlcnZpY2U6IEhpc3RvcnlFbnRyeUNvbXBvbmVudFNlcnZpY2UpIHt9XHJcblxyXG4gICAgaGFzQ3VzdG9tQ29tcG9uZW50KHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhIXRoaXMuaGlzdG9yeUVudHJ5Q29tcG9uZW50U2VydmljZS5nZXRDb21wb25lbnQodHlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RGlzcGxheVR5cGUoZW50cnk6IEdldEN1c3RvbWVySGlzdG9yeS5JdGVtcyk6IFRpbWVsaW5lRGlzcGxheVR5cGUge1xyXG4gICAgICAgIHN3aXRjaCAoZW50cnkudHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlIEhpc3RvcnlFbnRyeVR5cGUuQ1VTVE9NRVJfVkVSSUZJRUQ6XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5DVVNUT01FUl9FTUFJTF9VUERBVEVfVkVSSUZJRUQ6XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5DVVNUT01FUl9QQVNTV09SRF9SRVNFVF9WRVJJRklFRDpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5DVVNUT01FUl9SRUdJU1RFUkVEOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICdtdXRlZCc7XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5DVVNUT01FUl9SRU1PVkVEX0ZST01fR1JPVVA6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Vycm9yJztcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiAnZGVmYXVsdCc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldFRpbWVsaW5lSWNvbihlbnRyeTogR2V0Q3VzdG9tZXJIaXN0b3J5Lkl0ZW1zKTogc3RyaW5nIHwgW3N0cmluZywgc3RyaW5nXSB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgc3dpdGNoIChlbnRyeS50eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5DVVNUT01FUl9SRUdJU1RFUkVEOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuICd1c2VyJztcclxuICAgICAgICAgICAgY2FzZSBIaXN0b3J5RW50cnlUeXBlLkNVU1RPTUVSX1ZFUklGSUVEOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIFsnYXNzaWduLXVzZXInLCAnaXMtc29saWQnXTtcclxuICAgICAgICAgICAgY2FzZSBIaXN0b3J5RW50cnlUeXBlLkNVU1RPTUVSX05PVEU6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ25vdGUnO1xyXG4gICAgICAgICAgICBjYXNlIEhpc3RvcnlFbnRyeVR5cGUuQ1VTVE9NRVJfQURERURfVE9fR1JPVVA6XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5DVVNUT01FUl9SRU1PVkVEX0ZST01fR1JPVVA6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gJ3VzZXJzJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaXNGZWF0dXJlZChlbnRyeTogR2V0Q3VzdG9tZXJIaXN0b3J5Lkl0ZW1zKTogYm9vbGVhbiB7XHJcbiAgICAgICAgc3dpdGNoIChlbnRyeS50eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgSGlzdG9yeUVudHJ5VHlwZS5DVVNUT01FUl9SRUdJU1RFUkVEOlxyXG4gICAgICAgICAgICBjYXNlIEhpc3RvcnlFbnRyeVR5cGUuQ1VTVE9NRVJfVkVSSUZJRUQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0TmFtZShlbnRyeTogR2V0Q3VzdG9tZXJIaXN0b3J5Lkl0ZW1zKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB7IGFkbWluaXN0cmF0b3IgfSA9IGVudHJ5O1xyXG4gICAgICAgIGlmIChhZG1pbmlzdHJhdG9yKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgJHthZG1pbmlzdHJhdG9yLmZpcnN0TmFtZX0gJHthZG1pbmlzdHJhdG9yLmxhc3ROYW1lfWA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMuY3VzdG9tZXIuZmlyc3ROYW1lfSAke3RoaXMuY3VzdG9tZXIubGFzdE5hbWV9YDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYWRkTm90ZVRvQ3VzdG9tZXIoKSB7XHJcbiAgICAgICAgdGhpcy5hZGROb3RlLmVtaXQoeyBub3RlOiB0aGlzLm5vdGUgfSk7XHJcbiAgICAgICAgdGhpcy5ub3RlID0gJyc7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -8,6 +8,7 @@ import { CustomerDetailComponent } from './components/customer-detail/customer-d
8
8
  import { CustomerGroupDetailDialogComponent } from './components/customer-group-detail-dialog/customer-group-detail-dialog.component';
9
9
  import { CustomerGroupListComponent } from './components/customer-group-list/customer-group-list.component';
10
10
  import { CustomerGroupMemberListComponent } from './components/customer-group-member-list/customer-group-member-list.component';
11
+ import { CustomerHistoryEntryHostComponent } from './components/customer-history/customer-history-entry-host.component';
11
12
  import { CustomerHistoryComponent } from './components/customer-history/customer-history.component';
12
13
  import { CustomerListComponent } from './components/customer-list/customer-list.component';
13
14
  import { CustomerStatusLabelComponent } from './components/customer-status-label/customer-status-label.component';
@@ -30,8 +31,9 @@ CustomerModule.decorators = [
30
31
  SelectCustomerGroupDialogComponent,
31
32
  CustomerHistoryComponent,
32
33
  AddressDetailDialogComponent,
34
+ CustomerHistoryEntryHostComponent,
33
35
  ],
34
36
  exports: [AddressCardComponent],
35
37
  },] }
36
38
  ];
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jdXN0b21lci9zcmMvY3VzdG9tZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQztBQUNySSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNsSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQztBQUN0SSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNsSCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQztBQUN0SSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFtQm5ELE1BQU0sT0FBTyxjQUFjOzs7WUFqQjFCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDOUQsWUFBWSxFQUFFO29CQUNWLHFCQUFxQjtvQkFDckIsdUJBQXVCO29CQUN2Qiw0QkFBNEI7b0JBQzVCLG9CQUFvQjtvQkFDcEIsMEJBQTBCO29CQUMxQixrQ0FBa0M7b0JBQ2xDLGlDQUFpQztvQkFDakMsZ0NBQWdDO29CQUNoQyxrQ0FBa0M7b0JBQ2xDLHdCQUF3QjtvQkFDeEIsNEJBQTRCO2lCQUMvQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzthQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJ0B2ZW5kdXJlL2FkbWluLXVpL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQWRkQ3VzdG9tZXJUb0dyb3VwRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkZC1jdXN0b21lci10by1ncm91cC1kaWFsb2cvYWRkLWN1c3RvbWVyLXRvLWdyb3VwLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBZGRyZXNzQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hZGRyZXNzLWNhcmQvYWRkcmVzcy1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkZHJlc3NEZXRhaWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWRkcmVzcy1kZXRhaWwtZGlhbG9nL2FkZHJlc3MtZGV0YWlsLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21lckRldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci1kZXRhaWwvY3VzdG9tZXItZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbWVyR3JvdXBEZXRhaWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tZXItZ3JvdXAtZGV0YWlsLWRpYWxvZy9jdXN0b21lci1ncm91cC1kZXRhaWwtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbWVyR3JvdXBMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbWVyLWdyb3VwLWxpc3QvY3VzdG9tZXItZ3JvdXAtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21lckdyb3VwTWVtYmVyTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci1ncm91cC1tZW1iZXItbGlzdC9jdXN0b21lci1ncm91cC1tZW1iZXItbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21lckhpc3RvcnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tZXItaGlzdG9yeS9jdXN0b21lci1oaXN0b3J5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbWVyTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci1saXN0L2N1c3RvbWVyLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tZXJTdGF0dXNMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci1zdGF0dXMtbGFiZWwvY3VzdG9tZXItc3RhdHVzLWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdEN1c3RvbWVyR3JvdXBEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0LWN1c3RvbWVyLWdyb3VwLWRpYWxvZy9zZWxlY3QtY3VzdG9tZXItZ3JvdXAtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGN1c3RvbWVyUm91dGVzIH0gZnJvbSAnLi9jdXN0b21lci5yb3V0ZXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtTaGFyZWRNb2R1bGUsIFJvdXRlck1vZHVsZS5mb3JDaGlsZChjdXN0b21lclJvdXRlcyldLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgQ3VzdG9tZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIEN1c3RvbWVyRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIEN1c3RvbWVyU3RhdHVzTGFiZWxDb21wb25lbnQsXHJcbiAgICAgICAgQWRkcmVzc0NhcmRDb21wb25lbnQsXHJcbiAgICAgICAgQ3VzdG9tZXJHcm91cExpc3RDb21wb25lbnQsXHJcbiAgICAgICAgQ3VzdG9tZXJHcm91cERldGFpbERpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBBZGRDdXN0b21lclRvR3JvdXBEaWFsb2dDb21wb25lbnQsXHJcbiAgICAgICAgQ3VzdG9tZXJHcm91cE1lbWJlckxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgU2VsZWN0Q3VzdG9tZXJHcm91cERpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBDdXN0b21lckhpc3RvcnlDb21wb25lbnQsXHJcbiAgICAgICAgQWRkcmVzc0RldGFpbERpYWxvZ0NvbXBvbmVudCxcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbQWRkcmVzc0NhcmRDb21wb25lbnRdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tZXJNb2R1bGUge31cclxuIl19
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jdXN0b21lci9zcmMvY3VzdG9tZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQztBQUNySSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNsSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQztBQUN0SSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUNoSSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUN4SCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvRUFBb0UsQ0FBQztBQUNsSCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxrRkFBa0YsQ0FBQztBQUN0SSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFvQm5ELE1BQU0sT0FBTyxjQUFjOzs7WUFsQjFCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDOUQsWUFBWSxFQUFFO29CQUNWLHFCQUFxQjtvQkFDckIsdUJBQXVCO29CQUN2Qiw0QkFBNEI7b0JBQzVCLG9CQUFvQjtvQkFDcEIsMEJBQTBCO29CQUMxQixrQ0FBa0M7b0JBQ2xDLGlDQUFpQztvQkFDakMsZ0NBQWdDO29CQUNoQyxrQ0FBa0M7b0JBQ2xDLHdCQUF3QjtvQkFDeEIsNEJBQTRCO29CQUM1QixpQ0FBaUM7aUJBQ3BDO2dCQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2FBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBBZGRDdXN0b21lclRvR3JvdXBEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWRkLWN1c3RvbWVyLXRvLWdyb3VwLWRpYWxvZy9hZGQtY3VzdG9tZXItdG8tZ3JvdXAtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkZHJlc3NDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkZHJlc3MtY2FyZC9hZGRyZXNzLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWRkcmVzc0RldGFpbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hZGRyZXNzLWRldGFpbC1kaWFsb2cvYWRkcmVzcy1kZXRhaWwtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbWVyRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbWVyLWRldGFpbC9jdXN0b21lci1kZXRhaWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tZXJHcm91cERldGFpbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci1ncm91cC1kZXRhaWwtZGlhbG9nL2N1c3RvbWVyLWdyb3VwLWRldGFpbC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tZXJHcm91cExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tZXItZ3JvdXAtbGlzdC9jdXN0b21lci1ncm91cC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbWVyR3JvdXBNZW1iZXJMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbWVyLWdyb3VwLW1lbWJlci1saXN0L2N1c3RvbWVyLWdyb3VwLW1lbWJlci1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbWVySGlzdG9yeUVudHJ5SG9zdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci1oaXN0b3J5L2N1c3RvbWVyLWhpc3RvcnktZW50cnktaG9zdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21lckhpc3RvcnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tZXItaGlzdG9yeS9jdXN0b21lci1oaXN0b3J5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbWVyTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci1saXN0L2N1c3RvbWVyLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tZXJTdGF0dXNMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci1zdGF0dXMtbGFiZWwvY3VzdG9tZXItc3RhdHVzLWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdEN1c3RvbWVyR3JvdXBEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0LWN1c3RvbWVyLWdyb3VwLWRpYWxvZy9zZWxlY3QtY3VzdG9tZXItZ3JvdXAtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGN1c3RvbWVyUm91dGVzIH0gZnJvbSAnLi9jdXN0b21lci5yb3V0ZXMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtTaGFyZWRNb2R1bGUsIFJvdXRlck1vZHVsZS5mb3JDaGlsZChjdXN0b21lclJvdXRlcyldLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgQ3VzdG9tZXJMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIEN1c3RvbWVyRGV0YWlsQ29tcG9uZW50LFxyXG4gICAgICAgIEN1c3RvbWVyU3RhdHVzTGFiZWxDb21wb25lbnQsXHJcbiAgICAgICAgQWRkcmVzc0NhcmRDb21wb25lbnQsXHJcbiAgICAgICAgQ3VzdG9tZXJHcm91cExpc3RDb21wb25lbnQsXHJcbiAgICAgICAgQ3VzdG9tZXJHcm91cERldGFpbERpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBBZGRDdXN0b21lclRvR3JvdXBEaWFsb2dDb21wb25lbnQsXHJcbiAgICAgICAgQ3VzdG9tZXJHcm91cE1lbWJlckxpc3RDb21wb25lbnQsXHJcbiAgICAgICAgU2VsZWN0Q3VzdG9tZXJHcm91cERpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBDdXN0b21lckhpc3RvcnlDb21wb25lbnQsXHJcbiAgICAgICAgQWRkcmVzc0RldGFpbERpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBDdXN0b21lckhpc3RvcnlFbnRyeUhvc3RDb21wb25lbnQsXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW0FkZHJlc3NDYXJkQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1c3RvbWVyTW9kdWxlIHt9XHJcbiJdfQ==
@@ -6,6 +6,7 @@ export * from './components/customer-detail/customer-detail.component';
6
6
  export * from './components/customer-group-detail-dialog/customer-group-detail-dialog.component';
7
7
  export * from './components/customer-group-list/customer-group-list.component';
8
8
  export * from './components/customer-group-member-list/customer-group-member-list.component';
9
+ export * from './components/customer-history/customer-history-entry-host.component';
9
10
  export * from './components/customer-history/customer-history.component';
10
11
  export * from './components/customer-list/customer-list.component';
11
12
  export * from './components/customer-status-label/customer-status-label.component';
@@ -13,4 +14,4 @@ export * from './components/select-customer-group-dialog/select-customer-group-d
13
14
  export * from './customer.module';
14
15
  export * from './customer.routes';
15
16
  export * from './providers/routing/customer-resolver';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY3VzdG9tZXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELGNBQWMsa0ZBQWtGLENBQUM7QUFDakcsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHRoZSBidWlsZC1wdWJsaWMtYXBpLnRzIHNjcmlwdFxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2FkZC1jdXN0b21lci10by1ncm91cC1kaWFsb2cvYWRkLWN1c3RvbWVyLXRvLWdyb3VwLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2FkZHJlc3MtY2FyZC9hZGRyZXNzLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9hZGRyZXNzLWRldGFpbC1kaWFsb2cvYWRkcmVzcy1kZXRhaWwtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tZXItZGV0YWlsL2N1c3RvbWVyLWRldGFpbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbWVyLWdyb3VwLWRldGFpbC1kaWFsb2cvY3VzdG9tZXItZ3JvdXAtZGV0YWlsLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbWVyLWdyb3VwLWxpc3QvY3VzdG9tZXItZ3JvdXAtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbWVyLWdyb3VwLW1lbWJlci1saXN0L2N1c3RvbWVyLWdyb3VwLW1lbWJlci1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tZXItaGlzdG9yeS9jdXN0b21lci1oaXN0b3J5LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tZXItbGlzdC9jdXN0b21lci1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tZXItc3RhdHVzLWxhYmVsL2N1c3RvbWVyLXN0YXR1cy1sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC1jdXN0b21lci1ncm91cC1kaWFsb2cvc2VsZWN0LWN1c3RvbWVyLWdyb3VwLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jdXN0b21lci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jdXN0b21lci5yb3V0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMvcm91dGluZy9jdXN0b21lci1yZXNvbHZlcic7XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvY3VzdG9tZXIvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNERBQTREO0FBQzVELGNBQWMsa0ZBQWtGLENBQUM7QUFDakcsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsOEVBQThFLENBQUM7QUFDN0YsY0FBYyxxRUFBcUUsQ0FBQztBQUNwRixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLGtGQUFrRixDQUFDO0FBQ2pHLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgdGhlIGJ1aWxkLXB1YmxpYy1hcGkudHMgc2NyaXB0XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWRkLWN1c3RvbWVyLXRvLWdyb3VwLWRpYWxvZy9hZGQtY3VzdG9tZXItdG8tZ3JvdXAtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYWRkcmVzcy1jYXJkL2FkZHJlc3MtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2FkZHJlc3MtZGV0YWlsLWRpYWxvZy9hZGRyZXNzLWRldGFpbC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci1kZXRhaWwvY3VzdG9tZXItZGV0YWlsLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tZXItZ3JvdXAtZGV0YWlsLWRpYWxvZy9jdXN0b21lci1ncm91cC1kZXRhaWwtZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tZXItZ3JvdXAtbGlzdC9jdXN0b21lci1ncm91cC1saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tZXItZ3JvdXAtbWVtYmVyLWxpc3QvY3VzdG9tZXItZ3JvdXAtbWVtYmVyLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci1oaXN0b3J5L2N1c3RvbWVyLWhpc3RvcnktZW50cnktaG9zdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbWVyLWhpc3RvcnkvY3VzdG9tZXItaGlzdG9yeS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbWVyLWxpc3QvY3VzdG9tZXItbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbWVyLXN0YXR1cy1sYWJlbC9jdXN0b21lci1zdGF0dXMtbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtY3VzdG9tZXItZ3JvdXAtZGlhbG9nL3NlbGVjdC1jdXN0b21lci1ncm91cC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY3VzdG9tZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY3VzdG9tZXIucm91dGVzJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzL3JvdXRpbmcvY3VzdG9tZXItcmVzb2x2ZXInO1xuIl19
@@ -1,10 +1,12 @@
1
+ import { HttpClient } from '@angular/common/http';
1
2
  import { Component } from '@angular/core';
2
3
  import { Router } from '@angular/router';
3
4
  import { ADMIN_UI_VERSION, AuthService, AUTH_REDIRECT_PARAM, getAppConfig } from '@vendure/admin-ui/core';
4
5
  export class LoginComponent {
5
- constructor(authService, router) {
6
+ constructor(authService, router, httpClient) {
6
7
  this.authService = authService;
7
8
  this.router = router;
9
+ this.httpClient = httpClient;
8
10
  this.username = '';
9
11
  this.password = '';
10
12
  this.rememberMe = false;
@@ -12,6 +14,18 @@ export class LoginComponent {
12
14
  this.brand = getAppConfig().brand;
13
15
  this.hideVendureBranding = getAppConfig().hideVendureBranding;
14
16
  this.hideVersion = getAppConfig().hideVersion;
17
+ this.customImageUrl = getAppConfig().loginImageUrl;
18
+ this.imageUrl = '';
19
+ this.imageUnsplashUrl = '';
20
+ this.imageLocation = '';
21
+ this.imageCreator = '';
22
+ this.imageCreatorUrl = '';
23
+ if (this.customImageUrl) {
24
+ this.imageUrl = this.customImageUrl;
25
+ }
26
+ else {
27
+ this.loadImage();
28
+ }
15
29
  }
16
30
  logIn() {
17
31
  this.errorMessage = undefined;
@@ -28,6 +42,23 @@ export class LoginComponent {
28
42
  }
29
43
  });
30
44
  }
45
+ loadImage() {
46
+ this.httpClient
47
+ .get('https://login-image.vendure.io')
48
+ .toPromise()
49
+ .then(res => {
50
+ this.updateImage(res);
51
+ });
52
+ }
53
+ updateImage(res) {
54
+ const user = res.user;
55
+ const location = res.location;
56
+ this.imageUrl = res.urls.regular;
57
+ this.imageCreator = user.name;
58
+ this.imageLocation = location.name;
59
+ this.imageCreatorUrl = user.links.html;
60
+ this.imageUnsplashUrl = res.links.html;
61
+ }
31
62
  /**
32
63
  * Attempts to read a redirect param from the current url and parse it into a
33
64
  * route from which the user was redirected after a 401 error.
@@ -50,12 +81,13 @@ export class LoginComponent {
50
81
  LoginComponent.decorators = [
51
82
  { type: Component, args: [{
52
83
  selector: 'vdr-login',
53
- template: "<div class=\"login-wrapper\">\r\n <form class=\"login\">\r\n <label class=\"title\">\r\n <img src=\"assets/logo-300px.png\" />\r\n <span *ngIf=\"!hideVendureBranding\">vendure</span>\r\n </label>\r\n <div class=\"login-group\">\r\n <input\r\n class=\"username\"\r\n type=\"text\"\r\n name=\"username\"\r\n id=\"login_username\"\r\n [(ngModel)]=\"username\"\r\n [placeholder]=\"'common.username' | translate\"\r\n />\r\n <input\r\n class=\"password\"\r\n name=\"password\"\r\n type=\"password\"\r\n id=\"login_password\"\r\n [(ngModel)]=\"password\"\r\n [placeholder]=\"'common.password' | translate\"\r\n />\r\n <clr-alert [clrAlertType]=\"'danger'\" [clrAlertClosable]=\"false\" [class.visible]=\"errorMessage\" class=\"login-error\">\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ errorMessage }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n <clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n id=\"rememberme\"\r\n name=\"rememberme\"\r\n [(ngModel)]=\"rememberMe\"\r\n />\r\n <label>{{ 'common.remember-me' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-primary\"\r\n (click)=\"logIn()\"\r\n [disabled]=\"!username || !password\"\r\n >\r\n {{ 'common.login' | translate }}\r\n </button>\r\n </div>\r\n <div class=\"version\">\r\n <span *ngIf=\"brand\">{{ brand }} <span *ngIf=\"!hideVendureBranding || !hideVersion\">-</span></span>\r\n <span *ngIf=\"!hideVendureBranding\">vendure</span>\r\n <span *ngIf=\"!hideVersion\">v{{ version }}</span>\r\n </div>\r\n </form>\r\n</div>\r\n",
54
- styles: [".login-wrapper{background-image:linear-gradient(135deg,var(--color-login-gradient-top),var(--color-login-gradient-bottom)),var(--login-page-bg);background-blend-mode:screen;background-repeat:repeat;background-size:auto;background-position:initial;justify-content:center}@media screen and (max-width: 768px){.login-wrapper{justify-content:center;background-color:transparent}.login-wrapper .login{margin:20px;padding:24px}}.login{margin:5vh 0;border-radius:6px;min-height:calc(100vh - 10vh);max-height:800px}.title{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:8vh}.title img{max-width:100%;width:150px}.title span{padding-top:12px;font-weight:bold;color:var(--color-primary-500);font-size:38px}.version{flex:1;display:flex;align-items:flex-end;justify-content:center;color:var(--color-grey-300)}.version span+span{margin-left:5px}.login-error{max-height:0;overflow:hidden}.login-error.visible{max-height:46px;transition:max-height .2s;animation:shake .82s cubic-bezier(.36,.07,.19,.97) both;animation-delay:.2s;transform:translate(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}\n"]
84
+ template: "<div class=\"login-wrapper\">\r\n <div class=\"login-wrapper-inner\">\r\n <div class=\"login-wrapper-image\">\r\n <div class=\"login-wrapper-image-content\">\r\n <div class=\"login-wrapper-image-title\">\r\n {{ 'common.login-image-title' | translate }}\r\n </div>\r\n <div class=\"login-wrapper-image-copyright\">\r\n <p *ngIf=\"imageCreator\" class=\"creator\">Photo by <a [href]=\"imageCreatorUrl\" target=\"_blank\">{{ imageCreator }}</a> on <a [href]=\"imageUnsplashUrl\" target=\"_blank\">Unsplash</a></p>\r\n <p *ngIf=\"imageLocation\" class=\"location\">{{ imageLocation }}</p>\r\n </div>\r\n </div>\r\n <img *ngIf=\"imageUrl\" [src]=\"imageUrl\" [alt]=\"imageUrl\">\r\n </div>\r\n <div class=\"login-wrapper-form\">\r\n <p class=\"login-title\">\r\n {{ 'common.login-title' | translate }}\r\n </p>\r\n <form class=\"login-form\">\r\n <div class=\"login-group\">\r\n <input\r\n class=\"username\"\r\n type=\"text\"\r\n name=\"username\"\r\n id=\"login_username\"\r\n [(ngModel)]=\"username\"\r\n [placeholder]=\"'common.username' | translate\"\r\n />\r\n <input\r\n class=\"password\"\r\n name=\"password\"\r\n type=\"password\"\r\n id=\"login_password\"\r\n [(ngModel)]=\"password\"\r\n [placeholder]=\"'common.password' | translate\"\r\n />\r\n <clr-alert [clrAlertType]=\"'danger'\" [clrAlertClosable]=\"false\" [class.visible]=\"errorMessage\" class=\"login-error\">\r\n <clr-alert-item>\r\n <span class=\"alert-text\">\r\n {{ errorMessage }}\r\n </span>\r\n </clr-alert-item>\r\n </clr-alert>\r\n <clr-checkbox-wrapper>\r\n <input\r\n type=\"checkbox\"\r\n clrCheckbox\r\n id=\"rememberme\"\r\n name=\"rememberme\"\r\n [(ngModel)]=\"rememberMe\"\r\n />\r\n <label>{{ 'common.remember-me' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n <button\r\n type=\"submit\"\r\n class=\"btn btn-primary\"\r\n (click)=\"logIn()\"\r\n [disabled]=\"!username || !password\"\r\n >\r\n {{ 'common.login' | translate }}\r\n </button>\r\n </div>\r\n <div class=\"version\">\r\n <span *ngIf=\"brand\">{{ brand }} <span *ngIf=\"!hideVendureBranding || !hideVersion\">-</span></span>\r\n <span *ngIf=\"!hideVendureBranding\">vendure</span>\r\n <span *ngIf=\"!hideVersion\">v{{ version }}</span>\r\n </div>\r\n </form>\r\n </div>\r\n <img class=\"login-wrapper-logo\" src=\"assets/logo-300px.png\" />\r\n </div>\r\n</div>\r\n",
85
+ styles: [".login-wrapper{background:#f0f2f5;background-image:none;height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-wrapper .login-wrapper-inner{background:#fff;width:1120px;height:590px;display:flex;justify-content:flex-start;align-items:stretch;position:relative;border-radius:3px;overflow:hidden}@media (max-width: 992px){.login-wrapper .login-wrapper-inner{flex-direction:column;height:auto;width:100%}}.login-wrapper .login-wrapper-inner .login-wrapper-image{height:100%;flex-grow:1;position:relative}@media (max-width: 992px){.login-wrapper .login-wrapper-inner .login-wrapper-image{height:300px}}.login-wrapper .login-wrapper-inner .login-wrapper-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;position:relative;z-index:1}.login-wrapper .login-wrapper-inner .login-wrapper-image .login-wrapper-image-content{width:100%;height:100%;position:absolute;left:0;bottom:0;z-index:10;background:#020024;background:linear-gradient(180deg,rgba(2,0,36,0) 0%,rgba(0,0,0,.75) 100%);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:30px}.login-wrapper .login-wrapper-inner .login-wrapper-image .login-wrapper-image-content .login-wrapper-image-title{font-size:1.6rem;font-weight:bold;color:#fff;margin-bottom:20px}@media (max-width: 992px){.login-wrapper .login-wrapper-inner .login-wrapper-image .login-wrapper-image-content .login-wrapper-image-title{font-size:1.2rem}}.login-wrapper .login-wrapper-inner .login-wrapper-image .login-wrapper-image-content .login-wrapper-image-copyright{opacity:.8}.login-wrapper .login-wrapper-inner .login-wrapper-image .login-wrapper-image-content .login-wrapper-image-copyright p{font-size:.6rem;color:#fff;margin:0!important}.login-wrapper .login-wrapper-inner .login-wrapper-image .login-wrapper-image-content .login-wrapper-image-copyright a{color:#fff;text-decoration:underline}.login-wrapper .login-wrapper-inner .login-wrapper-form{height:100%;width:400px;padding:40px;display:flex;flex-direction:column;align-items:stretch;justify-content:center;box-shadow:0 20px 25px #0000001a;overflow:hidden;border-radius:5px;flex-shrink:0}@media (max-width: 992px){.login-wrapper .login-wrapper-inner .login-wrapper-form{height:auto;width:100%;padding:20px}}.login-wrapper .login-wrapper-inner .login-wrapper-form .login-title{font-weight:bold;font-size:1.2rem;margin-bottom:20px;color:#afafaf}.login-wrapper .login-wrapper-inner .login-wrapper-form .login-group input.username,.login-wrapper .login-wrapper-inner .login-wrapper-form .login-group input.password{display:block;width:100%;margin-bottom:15px;padding:12px 16px!important;background:#fff;font-size:14px;line-height:22px;color:#52667a;outline:none;-webkit-appearance:none}.login-wrapper .login-wrapper-inner .login-wrapper-form .login-group .btn{width:100%!important;margin-top:20px!important}.login-wrapper .login-wrapper-inner .login-wrapper-logo{width:60px;height:auto;position:absolute;right:20px;top:20px}.version{flex:1;flex-grow:1;display:flex;align-items:flex-end;justify-content:center;color:var(--color-grey-300)}.version span+span{margin-left:5px}.login-error{max-height:0;overflow:hidden}.login-error.visible{max-height:46px;transition:max-height .2s;animation:shake .82s cubic-bezier(.36,.07,.19,.97) both;animation-delay:.2s;transform:translate(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}\n"]
55
86
  },] }
56
87
  ];
57
88
  LoginComponent.ctorParameters = () => [
58
89
  { type: AuthService },
59
- { type: Router }
90
+ { type: Router },
91
+ { type: HttpClient }
60
92
  ];
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9sb2dpbi9zcmMvY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU8xRyxNQUFNLE9BQU8sY0FBYztJQVV2QixZQUFvQixXQUF3QixFQUFVLE1BQWM7UUFBaEQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBVHBFLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixZQUFPLEdBQUcsZ0JBQWdCLENBQUM7UUFFM0IsVUFBSyxHQUFHLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQztRQUM3Qix3QkFBbUIsR0FBRyxZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztRQUN6RCxnQkFBVyxHQUFHLFlBQVksRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUU4QixDQUFDO0lBRXhFLEtBQUs7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyRixRQUFRLE1BQU0sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3ZCLEtBQUssYUFBYTtvQkFDZCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNyRCxNQUFNO2dCQUNWLEtBQUsseUJBQXlCLENBQUM7Z0JBQy9CLEtBQUsseUJBQXlCO29CQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7b0JBQ25DLE1BQU07YUFDYjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGdCQUFnQjtRQUNwQixJQUFJLFVBQThCLENBQUM7UUFDbkMsTUFBTSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxtQkFBbUIsT0FBTyxDQUFDLENBQUM7UUFDckQsSUFBSTtZQUNBLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6RCxJQUFJLGVBQWUsSUFBSSxDQUFDLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDL0MsVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzdEO1NBQ0o7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLFNBQVM7U0FDWjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7OztZQWpESixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLHN3RUFBcUM7O2FBRXhDOzs7WUFOMEIsV0FBVztZQUQ3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEFETUlOX1VJX1ZFUlNJT04sIEF1dGhTZXJ2aWNlLCBBVVRIX1JFRElSRUNUX1BBUkFNLCBnZXRBcHBDb25maWcgfSBmcm9tICdAdmVuZHVyZS9hZG1pbi11aS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd2ZHItbG9naW4nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2xvZ2luLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCB7XHJcbiAgICB1c2VybmFtZSA9ICcnO1xyXG4gICAgcGFzc3dvcmQgPSAnJztcclxuICAgIHJlbWVtYmVyTWUgPSBmYWxzZTtcclxuICAgIHZlcnNpb24gPSBBRE1JTl9VSV9WRVJTSU9OO1xyXG4gICAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICBicmFuZCA9IGdldEFwcENvbmZpZygpLmJyYW5kO1xyXG4gICAgaGlkZVZlbmR1cmVCcmFuZGluZyA9IGdldEFwcENvbmZpZygpLmhpZGVWZW5kdXJlQnJhbmRpbmc7XHJcbiAgICBoaWRlVmVyc2lvbiA9IGdldEFwcENvbmZpZygpLmhpZGVWZXJzaW9uO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxyXG5cclxuICAgIGxvZ0luKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nSW4odGhpcy51c2VybmFtZSwgdGhpcy5wYXNzd29yZCwgdGhpcy5yZW1lbWJlck1lKS5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuICAgICAgICAgICAgc3dpdGNoIChyZXN1bHQuX190eXBlbmFtZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSAnQ3VycmVudFVzZXInOlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZGlyZWN0ID0gdGhpcy5nZXRSZWRpcmVjdFJvdXRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChyZWRpcmVjdCA/IHJlZGlyZWN0IDogJy8nKTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIGNhc2UgJ0ludmFsaWRDcmVkZW50aWFsc0Vycm9yJzpcclxuICAgICAgICAgICAgICAgIGNhc2UgJ05hdGl2ZUF1dGhTdHJhdGVneUVycm9yJzpcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHJlc3VsdC5tZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBdHRlbXB0cyB0byByZWFkIGEgcmVkaXJlY3QgcGFyYW0gZnJvbSB0aGUgY3VycmVudCB1cmwgYW5kIHBhcnNlIGl0IGludG8gYVxyXG4gICAgICogcm91dGUgZnJvbSB3aGljaCB0aGUgdXNlciB3YXMgcmVkaXJlY3RlZCBhZnRlciBhIDQwMSBlcnJvci5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZXRSZWRpcmVjdFJvdXRlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgbGV0IHJlZGlyZWN0VG86IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgICAgICBjb25zdCByZSA9IG5ldyBSZWdFeHAoYCR7QVVUSF9SRURJUkVDVF9QQVJBTX09KC4qKWApO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlZGlyZWN0VG9QYXJhbSA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gubWF0Y2gocmUpO1xyXG4gICAgICAgICAgICBpZiAocmVkaXJlY3RUb1BhcmFtICYmIDEgPCByZWRpcmVjdFRvUGFyYW0ubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICByZWRpcmVjdFRvID0gYXRvYihkZWNvZGVVUklDb21wb25lbnQocmVkaXJlY3RUb1BhcmFtWzFdKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIC8vIGlnbm9yZVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVkaXJlY3RUbztcclxuICAgIH1cclxufVxyXG4iXX0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9sb2dpbi9zcmMvY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFPMUcsTUFBTSxPQUFPLGNBQWM7SUFnQnZCLFlBQW9CLFdBQXdCLEVBQVUsTUFBYyxFQUFVLFVBQXNCO1FBQWhGLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUFmcEcsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFlBQU8sR0FBRyxnQkFBZ0IsQ0FBQztRQUUzQixVQUFLLEdBQUcsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDO1FBQzdCLHdCQUFtQixHQUFHLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO1FBQ3pELGdCQUFXLEdBQUcsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDO1FBQ3pDLG1CQUFjLEdBQUcsWUFBWSxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQzlDLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFHakIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUN2QzthQUFNO1lBQ0gsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztRQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNyRixRQUFRLE1BQU0sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3ZCLEtBQUssYUFBYTtvQkFDZCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNyRCxNQUFNO2dCQUNWLEtBQUsseUJBQXlCLENBQUM7Z0JBQy9CLEtBQUsseUJBQXlCO29CQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7b0JBQ25DLE1BQU07YUFDYjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQVM7UUFDTCxJQUFJLENBQUMsVUFBVTthQUNWLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQzthQUNyQyxTQUFTLEVBQUU7YUFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDUixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUFRO1FBQ2hCLE1BQU0sSUFBSSxHQUFTLEdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDcEMsTUFBTSxRQUFRLEdBQVMsR0FBVyxDQUFDLFFBQVEsQ0FBQztRQUU1QyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN2QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGdCQUFnQjtRQUNwQixJQUFJLFVBQThCLENBQUM7UUFDbkMsTUFBTSxFQUFFLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxtQkFBbUIsT0FBTyxDQUFDLENBQUM7UUFDckQsSUFBSTtZQUNBLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6RCxJQUFJLGVBQWUsSUFBSSxDQUFDLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRTtnQkFDL0MsVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzdEO1NBQ0o7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNSLFNBQVM7U0FDWjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7OztZQWpGSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLHNqSEFBcUM7O2FBRXhDOzs7WUFOMEIsV0FBVztZQUQ3QixNQUFNO1lBRk4sVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBRE1JTl9VSV9WRVJTSU9OLCBBdXRoU2VydmljZSwgQVVUSF9SRURJUkVDVF9QQVJBTSwgZ2V0QXBwQ29uZmlnIH0gZnJvbSAnQHZlbmR1cmUvYWRtaW4tdWkvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWxvZ2luJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9sb2dpbi5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQge1xyXG4gICAgdXNlcm5hbWUgPSAnJztcclxuICAgIHBhc3N3b3JkID0gJyc7XHJcbiAgICByZW1lbWJlck1lID0gZmFsc2U7XHJcbiAgICB2ZXJzaW9uID0gQURNSU5fVUlfVkVSU0lPTjtcclxuICAgIGVycm9yTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgYnJhbmQgPSBnZXRBcHBDb25maWcoKS5icmFuZDtcclxuICAgIGhpZGVWZW5kdXJlQnJhbmRpbmcgPSBnZXRBcHBDb25maWcoKS5oaWRlVmVuZHVyZUJyYW5kaW5nO1xyXG4gICAgaGlkZVZlcnNpb24gPSBnZXRBcHBDb25maWcoKS5oaWRlVmVyc2lvbjtcclxuICAgIGN1c3RvbUltYWdlVXJsID0gZ2V0QXBwQ29uZmlnKCkubG9naW5JbWFnZVVybDtcclxuICAgIGltYWdlVXJsID0gJyc7XHJcbiAgICBpbWFnZVVuc3BsYXNoVXJsID0gJyc7XHJcbiAgICBpbWFnZUxvY2F0aW9uID0gJyc7XHJcbiAgICBpbWFnZUNyZWF0b3IgPSAnJztcclxuICAgIGltYWdlQ3JlYXRvclVybCA9ICcnO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQpIHtcclxuICAgICAgICBpZiAodGhpcy5jdXN0b21JbWFnZVVybCkge1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlVXJsID0gdGhpcy5jdXN0b21JbWFnZVVybDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRJbWFnZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsb2dJbigpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ0luKHRoaXMudXNlcm5hbWUsIHRoaXMucGFzc3dvcmQsIHRoaXMucmVtZW1iZXJNZSkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgIHN3aXRjaCAocmVzdWx0Ll9fdHlwZW5hbWUpIHtcclxuICAgICAgICAgICAgICAgIGNhc2UgJ0N1cnJlbnRVc2VyJzpcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZWRpcmVjdCA9IHRoaXMuZ2V0UmVkaXJlY3RSb3V0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocmVkaXJlY3QgPyByZWRpcmVjdCA6ICcvJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICBjYXNlICdJbnZhbGlkQ3JlZGVudGlhbHNFcnJvcic6XHJcbiAgICAgICAgICAgICAgICBjYXNlICdOYXRpdmVBdXRoU3RyYXRlZ3lFcnJvcic6XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSByZXN1bHQubWVzc2FnZTtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRJbWFnZSgpIHtcclxuICAgICAgICB0aGlzLmh0dHBDbGllbnRcclxuICAgICAgICAgICAgLmdldCgnaHR0cHM6Ly9sb2dpbi1pbWFnZS52ZW5kdXJlLmlvJylcclxuICAgICAgICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgICAgICAgICAgIC50aGVuKHJlcyA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUltYWdlKHJlcyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUltYWdlKHJlczogYW55KSB7XHJcbiAgICAgICAgY29uc3QgdXNlcjogYW55ID0gKHJlcyBhcyBhbnkpLnVzZXI7XHJcbiAgICAgICAgY29uc3QgbG9jYXRpb246IGFueSA9IChyZXMgYXMgYW55KS5sb2NhdGlvbjtcclxuXHJcbiAgICAgICAgdGhpcy5pbWFnZVVybCA9IHJlcy51cmxzLnJlZ3VsYXI7XHJcbiAgICAgICAgdGhpcy5pbWFnZUNyZWF0b3IgPSB1c2VyLm5hbWU7XHJcbiAgICAgICAgdGhpcy5pbWFnZUxvY2F0aW9uID0gbG9jYXRpb24ubmFtZTtcclxuICAgICAgICB0aGlzLmltYWdlQ3JlYXRvclVybCA9IHVzZXIubGlua3MuaHRtbDtcclxuICAgICAgICB0aGlzLmltYWdlVW5zcGxhc2hVcmwgPSByZXMubGlua3MuaHRtbDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEF0dGVtcHRzIHRvIHJlYWQgYSByZWRpcmVjdCBwYXJhbSBmcm9tIHRoZSBjdXJyZW50IHVybCBhbmQgcGFyc2UgaXQgaW50byBhXHJcbiAgICAgKiByb3V0ZSBmcm9tIHdoaWNoIHRoZSB1c2VyIHdhcyByZWRpcmVjdGVkIGFmdGVyIGEgNDAxIGVycm9yLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGdldFJlZGlyZWN0Um91dGUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBsZXQgcmVkaXJlY3RUbzogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cChgJHtBVVRIX1JFRElSRUNUX1BBUkFNfT0oLiopYCk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgcmVkaXJlY3RUb1BhcmFtID0gd2luZG93LmxvY2F0aW9uLnNlYXJjaC5tYXRjaChyZSk7XHJcbiAgICAgICAgICAgIGlmIChyZWRpcmVjdFRvUGFyYW0gJiYgMSA8IHJlZGlyZWN0VG9QYXJhbS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgIHJlZGlyZWN0VG8gPSBhdG9iKGRlY29kZVVSSUNvbXBvbmVudChyZWRpcmVjdFRvUGFyYW1bMV0pKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgLy8gaWdub3JlXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiByZWRpcmVjdFRvO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==