@colijnit/transaction 12.1.15 → 12.1.18

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 (161) hide show
  1. package/bundles/colijnit-transaction.umd.js +1755 -518
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +146 -136
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +147 -137
  6. package/esm2015/lib/assets/dictionary/text.properties.js +37 -2
  7. package/esm2015/lib/component/avatar/avatar.component.js +9 -6
  8. package/esm2015/lib/component/checkout/checkout.component.js +8 -7
  9. package/esm2015/lib/component/core/base/transaction-grid-base.component.js +5 -2
  10. package/esm2015/lib/component/core/relation/customer-groups.component.js +3 -3
  11. package/esm2015/lib/component/payment/payment.component.js +112 -30
  12. package/esm2015/lib/component/payment/payment.module.js +7 -3
  13. package/esm2015/lib/component/payment-tile/payment-tile.component.js +4 -2
  14. package/esm2015/lib/component/relation-address/relation-address.component.js +3 -3
  15. package/esm2015/lib/component/transaction/transaction.component.js +7 -3
  16. package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +2 -2
  17. package/esm2015/lib/component/transaction-grid/transaction-base-grid/transaction-base-grid.component.js +7 -2
  18. package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.component.js +3 -1
  19. package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.js +31 -14
  20. package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.module.js +4 -3
  21. package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.js +131 -17
  22. package/esm2015/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.module.js +5 -3
  23. package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +2 -2
  24. package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.js +6 -2
  25. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +19 -2
  26. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.js +6 -3
  27. package/esm2015/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.js +16 -3
  28. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +20 -8
  29. package/esm2015/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.js +49 -6
  30. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.component.js +1 -1
  31. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +48 -10
  32. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.module.js +4 -3
  33. package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.js +131 -19
  34. package/esm2015/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.module.js +5 -2
  35. package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.js +57 -11
  36. package/esm2015/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.module.js +6 -3
  37. package/esm2015/lib/component/transaction-search/service/filter-request.service.js +65 -22
  38. package/esm2015/lib/component/transaction-search/service/transaction-search.service.js +1 -1
  39. package/esm2015/lib/component/transaction-search/transaction-filter/transaction-filter.component.js +4 -7
  40. package/esm2015/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.component.js +83 -44
  41. package/esm2015/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.component.js +101 -112
  42. package/esm2015/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.module.js +6 -3
  43. package/esm2015/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.component.js +86 -70
  44. package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.js +60 -0
  45. package/esm2015/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.js +24 -0
  46. package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +16 -6
  47. package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.module.js +4 -2
  48. package/esm2015/lib/component/transaction-search/transaction-search.component.js +5 -6
  49. package/esm2015/lib/component/transaction-search/transaction-tile/transaction-tile.component.js +2 -5
  50. package/esm2015/lib/component/transaction-search-grid/transaction-search-grid.component.js +86 -0
  51. package/esm2015/lib/component/transaction-search-grid/transaction-search-grid.module.js +26 -0
  52. package/esm2015/lib/component/view-mode-buttons/view-mode-buttons.component.js +5 -3
  53. package/esm2015/lib/enum/icon.enum.js +4 -1
  54. package/esm2015/lib/enum/position-grid-row.enum.js +6 -0
  55. package/esm2015/lib/enum/status-type.enum.js +3 -1
  56. package/esm2015/lib/model/icon-svg.js +4 -1
  57. package/esm2015/lib/model/payment.viewmodel.js +6 -0
  58. package/esm2015/lib/model/received-goods-view-model.js +11 -0
  59. package/esm2015/lib/service/article-connector.service.js +113 -0
  60. package/esm2015/lib/service/article.service.js +25 -0
  61. package/esm2015/lib/service/options.service.js +3 -1
  62. package/esm2015/lib/service/payment.service.js +51 -0
  63. package/esm2015/lib/service/pending-reason.service.js +10 -6
  64. package/esm2015/lib/service/shared-connector.service.js +53 -0
  65. package/esm2015/lib/service/shared.service.js +38 -0
  66. package/esm2015/lib/service/transaction-connector.service.js +1051 -0
  67. package/esm2015/lib/service/transaction-event.service.js +29 -0
  68. package/esm2015/lib/service/transaction-image.service.js +5 -5
  69. package/esm2015/lib/service/transaction-mapping.service.js +2 -2
  70. package/esm2015/lib/service/transaction.service.js +36 -8
  71. package/fesm2015/colijnit-transaction.js +1707 -492
  72. package/fesm2015/colijnit-transaction.js.map +1 -1
  73. package/lib/component/avatar/avatar.component.d.ts +4 -2
  74. package/lib/component/core/base/components/transaction-header-block/style/_layout.scss +3 -3
  75. package/lib/component/core/base/components/transaction-header-block/style/_material-definition.scss +2 -2
  76. package/lib/component/core/base/transaction-grid-base.component.d.ts +2 -0
  77. package/lib/component/core/relation/customer-groups.component.d.ts +2 -2
  78. package/lib/component/payment/payment.component.d.ts +22 -5
  79. package/lib/component/payment/style/_layout.scss +23 -1
  80. package/lib/component/payment/style/_material-definition.scss +0 -1
  81. package/lib/component/payment/style/_theme.scss +24 -0
  82. package/lib/component/payment-tile/payment-tile.component.d.ts +1 -0
  83. package/lib/component/payment-tile/style/_layout.scss +2 -1
  84. package/lib/component/relation-address/relation-address.component.d.ts +2 -2
  85. package/lib/component/transaction/style/_material-definition.scss +1 -1
  86. package/lib/component/transaction/transaction.component.d.ts +2 -2
  87. package/lib/component/transaction-button-bar/style/_layout.scss +6 -3
  88. package/lib/component/transaction-button-bar/style/_material-definition.scss +4 -3
  89. package/lib/component/transaction-grid/transaction-base-grid/style/_theme.scss +6 -0
  90. package/lib/component/transaction-grid/transaction-grid/transaction-grid.component.d.ts +1 -0
  91. package/lib/component/transaction-grid/transaction-history-grid/style/_layout.scss +8 -0
  92. package/lib/component/transaction-grid/transaction-history-grid/style/_material-definition.scss +1 -0
  93. package/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.d.ts +10 -5
  94. package/lib/component/transaction-grid/transaction-received-goods-grid/transaction-received-goods-grid.component.d.ts +34 -1
  95. package/lib/component/transaction-header/transaction-header-delivery/style/_layout.scss +5 -0
  96. package/lib/component/transaction-header/transaction-header-delivery/style/_material-definition.scss +1 -0
  97. package/lib/component/transaction-header/transaction-header-delivery/style/_theme.scss +8 -0
  98. package/lib/component/transaction-header/transaction-header-order/style/_layout.scss +5 -0
  99. package/lib/component/transaction-header/transaction-header-payment/style/_layout.scss +1 -0
  100. package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +2 -0
  101. package/lib/component/transaction-history-grid-status/style/_layout.scss +7 -7
  102. package/lib/component/transaction-history-grid-status/style/_material-definition.scss +8 -0
  103. package/lib/component/transaction-history-grid-status/transaction-history-grid-status.component.d.ts +2 -0
  104. package/lib/component/transaction-line/style/_layout.scss +2 -1
  105. package/lib/component/transaction-line/style/_material-definition.scss +4 -3
  106. package/lib/component/transaction-line/style/_theme.scss +5 -0
  107. package/lib/component/transaction-line-side-panel/style/_layout.scss +7 -4
  108. package/lib/component/transaction-line-side-panel/style/_material-definition.scss +1 -1
  109. package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +8 -3
  110. package/lib/component/transaction-line-side-panel-default/style/_layout.scss +3 -0
  111. package/lib/component/transaction-line-side-panel-purchase/transaction-line-side-panel-purchase.component.d.ts +14 -1
  112. package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.d.ts +24 -1
  113. package/lib/component/transaction-receiving-goods-details/style/_layout.scss +4 -4
  114. package/lib/component/transaction-receiving-goods-details/style/_material-definition.scss +3 -1
  115. package/lib/component/transaction-receiving-goods-details/transaction-receiving-goods-details.component.d.ts +27 -3
  116. package/lib/component/transaction-receiving-goods-history/transaction-receiving-goods-history.component.d.ts +14 -1
  117. package/lib/component/transaction-search/service/filter-request.service.d.ts +15 -5
  118. package/lib/component/transaction-search/style/_material-definition.scss +3 -1
  119. package/lib/component/transaction-search/transaction-filter-content-article/transaction-filter-content-article.component.d.ts +32 -9
  120. package/lib/component/transaction-search/transaction-filter-content-logistics/style/material.scss +1 -0
  121. package/lib/component/transaction-search/transaction-filter-content-logistics/transaction-filter-content-logistics.component.d.ts +11 -12
  122. package/lib/component/transaction-search/transaction-filter-content-order/transaction-filter-content-order.component.d.ts +17 -19
  123. package/lib/component/transaction-search/transaction-filter-historic-state/style/_layout.scss +9 -0
  124. package/lib/component/transaction-search/transaction-filter-historic-state/style/_material-definition.scss +0 -0
  125. package/lib/component/transaction-search/transaction-filter-historic-state/style/_theme.scss +4 -0
  126. package/lib/component/transaction-search/transaction-filter-historic-state/style/material.scss +4 -0
  127. package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.component.d.ts +22 -0
  128. package/lib/component/transaction-search/transaction-filter-historic-state/transaction-filter-historic-state.module.d.ts +2 -0
  129. package/lib/component/transaction-search/transaction-search-result/style/_layout.scss +6 -2
  130. package/lib/component/transaction-search/transaction-search-result/style/_theme.scss +4 -0
  131. package/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.d.ts +6 -2
  132. package/lib/component/transaction-search-grid/style/_layout.scss +6 -0
  133. package/lib/component/transaction-search-grid/style/_material-definition.scss +1 -0
  134. package/lib/component/transaction-search-grid/style/_theme.scss +6 -0
  135. package/lib/component/transaction-search-grid/style/material.scss +7 -0
  136. package/lib/component/transaction-search-grid/transaction-search-grid.component.d.ts +13 -0
  137. package/lib/component/transaction-search-grid/transaction-search-grid.module.d.ts +2 -0
  138. package/lib/component/view-mode-buttons/style/_material-definition.scss +1 -1
  139. package/lib/component/view-mode-buttons/view-mode-buttons.component.d.ts +4 -3
  140. package/lib/enum/icon.enum.d.ts +3 -0
  141. package/lib/enum/position-grid-row.enum.d.ts +4 -0
  142. package/lib/enum/status-type.enum.d.ts +3 -1
  143. package/lib/model/payment.viewmodel.d.ts +6 -0
  144. package/lib/model/received-goods-view-model.d.ts +10 -0
  145. package/lib/service/article-connector.service.d.ts +20 -0
  146. package/lib/service/article.service.d.ts +6 -0
  147. package/lib/service/options.service.d.ts +1 -0
  148. package/lib/service/payment.service.d.ts +9 -0
  149. package/lib/service/pending-reason.service.d.ts +5 -3
  150. package/lib/service/shared-connector.service.d.ts +12 -0
  151. package/lib/service/shared.service.d.ts +13 -0
  152. package/lib/service/{ione-connector-adapter.service.d.ts → transaction-connector.service.d.ts} +12 -2
  153. package/lib/service/transaction-event.service.d.ts +65 -0
  154. package/lib/service/transaction-image.service.d.ts +2 -2
  155. package/lib/service/transaction.service.d.ts +15 -2
  156. package/lib/style/_variables.scss +2 -0
  157. package/lib/style/transaction-globals.scss +2 -0
  158. package/package.json +3 -3
  159. package/esm2015/lib/enum/tab-category.enum.js +0 -10
  160. package/esm2015/lib/service/ione-connector-adapter.service.js +0 -970
  161. package/lib/enum/tab-category.enum.d.ts +0 -8
@@ -1,92 +1,94 @@
1
- import { Component, EventEmitter, HostBinding, Input, Output } from "@angular/core";
2
- import { BooleanTextDecorator } from "../../../factory/decorators/boolean.decorator";
1
+ import { __awaiter } from "tslib";
2
+ import { Component, HostBinding } from "@angular/core";
3
3
  import { FilterViewmodel } from "../../../model/filter-viewmodel";
4
4
  import { TransactionService } from "../../../service/transaction.service";
5
5
  import { FilterRequestService } from "../service/filter-request.service";
6
6
  import { TransactionSearchService } from "../service/transaction-search.service";
7
+ import { RelationRequest } from "@colijnit/transactionapi/build/model/relation-request";
7
8
  export class TransactionFilterContentOrderComponent {
8
- constructor(_transactionService, searchService, _filterRequestService) {
9
- this._transactionService = _transactionService;
9
+ constructor(searchService, filterRequestService, _transactionService) {
10
10
  this.searchService = searchService;
11
- this._filterRequestService = _filterRequestService;
12
- this.searchRequestChange = new EventEmitter();
13
- this.booleanTextDecorator = BooleanTextDecorator;
11
+ this.filterRequestService = filterRequestService;
12
+ this._transactionService = _transactionService;
13
+ this.searchRequest = this.searchService.searchRequest;
14
14
  this.searchPlaceholder = "SEARCH_IN_COLLECTION";
15
+ this.showMoreLabel = "SHOW_MORE";
16
+ this.showLessLabel = "SHOW_LESS";
15
17
  this.salesPersonsFields = { text: "name", value: "relationId" };
16
18
  this.tagsFields = { text: "description", value: "tagValueId" };
17
19
  this.branchFields = { text: "description", value: "relationId" };
18
20
  this.onHoldCodeFields = { text: "description", value: "onHoldCode" };
19
21
  this.commissionCodeFields = { text: "description", value: "code" };
20
22
  this.customerGroupFields = { text: "naam", value: "groepsnummer" };
23
+ this.loadCustomers = (nameFilter) => __awaiter(this, void 0, void 0, function* () {
24
+ const request = new RelationRequest();
25
+ request.familyName = nameFilter;
26
+ return this._transactionService.getRelationListObjects(request).then((relations) => {
27
+ return new FilterViewmodel(relations, { text: 'familyName', value: 'familyName' }).filterItems;
28
+ });
29
+ });
21
30
  }
22
31
  showClass() {
23
32
  return true;
24
33
  }
25
34
  ngOnInit() {
26
35
  this._setRangeDates();
27
- this._getSalesPersons();
28
- this._getTags();
29
- this._getBranches();
30
- this._getOnHoldCodes();
31
- this._getCommissionCodes();
32
- this._getCustomerGroups();
36
+ this._setSalesPersons();
37
+ this._setTags();
38
+ this._setBranches();
39
+ this._setOnHoldCodes();
40
+ this._setCommissionCodes();
41
+ this._setCustomerGroups();
42
+ }
43
+ onFilterButtonClick() {
44
+ this.searchService.searchTransactions();
45
+ }
46
+ handleCollectionChangeCustomerName(collection) {
47
+ const checkedItem = collection.find(c => c.checked);
48
+ this.filterRequestService.handleCollectionChangeForSingleValue(checkedItem ? checkedItem.code + "" : "", 'relationName');
33
49
  }
34
50
  _setRangeDates() {
35
- this.transStartDate = this._filterRequestService.getDateFromFilterRequestRange(this.searchRequest.rangeTransDate, 0);
36
- this.transEndDate = this._filterRequestService.getDateFromFilterRequestRange(this.searchRequest.rangeTransDate, 1);
37
- this.deliveryStartDate = this._filterRequestService.getDateFromFilterRequestRange(this.searchRequest.deliveryDateRange, 0);
38
- this.deliveryEndDate = this._filterRequestService.getDateFromFilterRequestRange(this.searchRequest.deliveryDateRange, 1);
51
+ this.transStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.rangeTransDate, 0);
52
+ this.transEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.rangeTransDate, 1);
53
+ this.deliveryStartDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.deliveryDateRange, 0);
54
+ this.deliveryEndDate = this.filterRequestService.getDateFromFilterRequestRange(this.searchRequest.deliveryDateRange, 1);
39
55
  }
40
56
  //Verkoper
41
- _getSalesPersons() {
57
+ _setSalesPersons() {
42
58
  this._transactionService.getSalesPersons().then((salesPersons) => {
43
59
  this.salesPersons = new FilterViewmodel(salesPersons, this.salesPersonsFields).filterItems;
44
60
  });
45
61
  }
46
62
  // Tags
47
- _getTags() {
63
+ _setTags() {
48
64
  this._transactionService.getTags(1).then((tags) => {
49
65
  this.tags = new FilterViewmodel(tags, this.tagsFields).filterItems;
50
66
  });
51
67
  }
52
68
  //Branches
53
- _getBranches() {
69
+ _setBranches() {
54
70
  this._transactionService.getBranches().then((branches) => {
55
71
  this.branches = new FilterViewmodel(branches, this.branchFields).filterItems;
56
72
  });
57
73
  }
58
74
  //OnHoldCodes
59
- _getOnHoldCodes() {
75
+ _setOnHoldCodes() {
60
76
  this._transactionService.getOnHoldCodes().then((onHoldCodes) => {
61
77
  this.onHoldCodes = new FilterViewmodel(onHoldCodes, this.onHoldCodeFields).filterItems;
62
78
  });
63
79
  }
64
80
  //CommissionCodes
65
- _getCommissionCodes() {
81
+ _setCommissionCodes() {
66
82
  this._transactionService.getCommissionCodes("NL").then((commissionCodes) => {
67
83
  this.commissionCodes = new FilterViewmodel(commissionCodes, this.commissionCodeFields).filterItems;
68
84
  });
69
85
  }
70
86
  //CustomerGroups
71
- _getCustomerGroups() {
87
+ _setCustomerGroups() {
72
88
  this._transactionService.getCustomerGroups().then((customerGroups) => {
73
89
  this.customerGroups = new FilterViewmodel(customerGroups, this.customerGroupFields).filterItems;
74
90
  });
75
91
  }
76
- handleCollectionChangeForRange(collection, model) {
77
- this.searchRequest[model] = this._filterRequestService.getFilterRequestForCollectionRange(collection);
78
- }
79
- handleCollectionChangeForArray(collection, model) {
80
- this.searchRequest[model] = this._filterRequestService.getFilterRequestForCollectionArray(collection);
81
- }
82
- handleDateRangeChange(dates, model) {
83
- let startDate = dates[0];
84
- let endDate = dates[1];
85
- this.searchRequest[model] = this._filterRequestService.getFilterRequestForDateRange(startDate, endDate);
86
- }
87
- onFilterButtonClick() {
88
- this.searchService.searchTransactions();
89
- }
90
92
  }
91
93
  TransactionFilterContentOrderComponent.decorators = [
92
94
  { type: Component, args: [{
@@ -94,7 +96,7 @@ TransactionFilterContentOrderComponent.decorators = [
94
96
  template: `
95
97
  <div class="transaction-filter-content-order-wrapper">
96
98
 
97
- <!--Orderdatum: range picker werkt, alleen output filter niet goed?-->
99
+ <!--Orderdatum-->
98
100
  <co-filter-item
99
101
  [placeholder]="'ORDER_DATE' | localize"
100
102
  [expanded]="true"
@@ -102,45 +104,49 @@ TransactionFilterContentOrderComponent.decorators = [
102
104
  <co-input-date-range
103
105
  [startDate]="transStartDate"
104
106
  [endDate]="transEndDate"
105
- (dateRangeChange)="handleDateRangeChange($event, 'rangeTransDate')"
107
+ (dateRangeChange)="filterRequestService.handleDateRangeChange($event, 'rangeTransDate')"
106
108
  [placeholder]="'SELECT_DATE' | localize">
107
109
  </co-input-date-range>
108
110
  </co-filter-item>
109
111
 
110
- <!--Leverdatum: range picker werkt, alleen output filter niet goed?-->
112
+ <!--Leverdatum-->
111
113
  <co-filter-item
112
114
  [placeholder]="'DELIVERY_DATE' | localize"
113
115
  [expanded]="true"
114
116
  [customContent]="true">
115
117
  <co-input-date-range
116
- [startDate]="transStartDate"
117
- [endDate]="transEndDate"
118
- (dateRangeChange)="handleDateRangeChange($event, 'deliveryDateRange')"
118
+ [startDate]="deliveryStartDate"
119
+ [endDate]="deliveryEndDate"
120
+ (dateRangeChange)="filterRequestService.handleDateRangeChange($event, 'deliveryDateRange')"
119
121
  [placeholder]="'SELECT_DATE' | localize">
120
122
  </co-input-date-range>
121
123
  </co-filter-item>
122
124
 
123
- <!--Filiaal (werkt)-->
125
+ <!--Filiaal-->
124
126
  <co-filter-item
125
127
  [placeholder]="'BRANCH' | localize"
126
128
  [expanded]="true"
127
129
  [collection]="branches"
128
130
  [searchPlaceholder]="searchPlaceholder | localize"
129
- (collectionChange)="handleCollectionChangeForRange($event, 'rangeBranchId')"
131
+ [showMoreLabel]="showMoreLabel | localize"
132
+ [showLessLabel]="showLessLabel | localize"
133
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeBranchId')"
130
134
  >
131
135
  </co-filter-item>
132
136
 
133
- <!--Verkoper (werkt)-->
137
+ <!--Verkoper-->
134
138
  <co-filter-item
135
139
  [placeholder]="'HANDLED_BY' | localize"
136
140
  [expanded]="true"
137
141
  [collection]="salesPersons"
138
142
  [searchPlaceholder]="searchPlaceholder | localize"
139
- (collectionChange)="handleCollectionChangeForRange($event, 'rangeSalesPerson')"
143
+ [showMoreLabel]="showMoreLabel | localize"
144
+ [showLessLabel]="showLessLabel | localize"
145
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'rangeSalesPerson')"
140
146
  >
141
147
  </co-filter-item>
142
148
 
143
- <!--Eigen referentie (werkt)-->
149
+ <!--Eigen referentie-->
144
150
  <co-filter-item
145
151
  [placeholder]="'OWN_REFERENCE' | localize"
146
152
  [customContent]="true"
@@ -149,75 +155,87 @@ TransactionFilterContentOrderComponent.decorators = [
149
155
  [placeholder]="'OWN_REFERENCE' | localize"></co-input-text>
150
156
  </co-filter-item>
151
157
 
152
- <!--Tags (kan niet testen, geen data met tags)-->
158
+ <!--Tags-->
153
159
  <co-filter-item
154
160
  [placeholder]="'TAGS' | localize"
155
161
  [expanded]="true"
156
162
  [collection]="tags"
157
163
  [searchPlaceholder]="searchPlaceholder | localize"
158
- (collectionChange)="handleCollectionChangeForRange($event, 'tagRange')"
164
+ [showMoreLabel]="showMoreLabel | localize"
165
+ [showLessLabel]="showLessLabel | localize"
166
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event, 'tagRange')"
159
167
  >
160
168
  <co-input-text [(model)]="searchRequest.tagRange" [placeholder]="'TAGS' | localize"></co-input-text>
161
169
  </co-filter-item>
162
170
 
163
- <!--On hold codes (kan niet testen. kan niet terugvinden in API output)-->
171
+ <!--On hold codes-->
164
172
  <co-filter-item
165
173
  [placeholder]="'ON_HOLD' | localize"
166
174
  [expanded]="true"
167
175
  [collection]="onHoldCodes"
168
176
  [searchPlaceholder]="searchPlaceholder | localize"
169
- (collectionChange)="handleCollectionChangeForRange($event,'rangeOnHoldCodes')"
177
+ [showMoreLabel]="showMoreLabel | localize"
178
+ [showLessLabel]="showLessLabel | localize"
179
+ (collectionChange)="filterRequestService.handleCollectionChangeForRange($event,'rangeOnHoldCodes')"
170
180
  >
171
181
  <co-input-text [(model)]="searchRequest.tagRange" [placeholder]="'TAGS' | localize"></co-input-text>
172
182
  </co-filter-item>
173
183
 
174
- <!--Order definitief (werkt nog niet. aanpassen wanneer domain een boolean heeft)-->
184
+ <!--Order definitief-->
175
185
  <co-filter-item
176
186
  [placeholder]="'ORDER_DEFINITIVE' | localize"
177
187
  [customContent]="true"
178
188
  [expanded]="true">
179
189
  <co-input-checkbox
180
- [(model)]="!!searchRequest.transactionDefinitive"
190
+ [model]="searchRequest.transactionDefinitive === 'J'"
191
+ (modelChange)="filterRequestService.handleCheckboxValueChangeForString($event, 'transactionDefinitive')"
181
192
  [label]="'ORDER_DEFINITIVE' | localize"></co-input-checkbox>
182
193
  </co-filter-item>
183
194
 
184
- <!--Commissiecode (kan niet testen, commissiecode niet terug te vinden in data)-->
195
+ <!--Commissiecode-->
185
196
  <co-filter-item
186
197
  [placeholder]="'COMMISSION_CODE' | localize"
187
198
  [expanded]="true"
188
199
  [collection]="commissionCodes"
189
200
  [searchPlaceholder]="searchPlaceholder | localize"
190
- (collectionChange)="handleCollectionChangeForArray($event, 'commissionCodes')"
201
+ [showMoreLabel]="showMoreLabel | localize"
202
+ [showLessLabel]="showLessLabel | localize"
203
+ (collectionChange)="filterRequestService.handleCollectionChangeForArray($event, 'commissionCodes')"
191
204
  >
192
205
  </co-filter-item>
193
206
 
194
- <!--Inactieve transacties (kan niet testen. geen inactieve transacties in data)-->
207
+ <!--Inactieve transacties-->
195
208
  <co-filter-item
196
209
  [placeholder]="'INACTIVE_TRANSACTIONS' | localize"
197
210
  [customContent]="true"
198
211
  [expanded]="true">
199
212
  <co-input-checkbox
200
- [(model)]="searchRequest.transactionShowInactive"
213
+ [model]="searchRequest.active === false"
214
+ (modelChange)="searchRequest.active = !$event"
201
215
  [label]="'INACTIVE_TRANSACTIONS' | localize"
202
216
  ></co-input-checkbox>
203
217
  </co-filter-item>
204
218
 
205
- <!--Klantnaam: nog niet af: geen API call?-->
219
+ <!--Klantnaam-->
206
220
  <co-filter-item
207
221
  [placeholder]="'CUSTOMER_NAME' | localize"
208
- [customContent]="true"
209
- [expanded]="true">
210
- <co-input-text [(model)]="searchRequest.relationName"
211
- [placeholder]="'CUSTOMER_NAME' | localize"></co-input-text>
222
+ [expanded]="true"
223
+ [singleSelect]="true"
224
+ [minSearchCharsToLoadCollection]="3"
225
+ [collectionLoadFn]="loadCustomers"
226
+ (collectionChange)="handleCollectionChangeCustomerName($event)"
227
+ >
212
228
  </co-filter-item>
213
229
 
214
- <!--Klantgroep: (werkt nog niet, customergroups niet terug te vinden in data)-->
230
+ <!--Klantgroep-->
215
231
  <co-filter-item
216
232
  [placeholder]="'CUSTOMER_GROUP' | localize"
217
233
  [expanded]="true"
218
234
  [collection]="customerGroups"
219
235
  [searchPlaceholder]="searchPlaceholder | localize"
220
- (collectionChange)="handleCollectionChangeForRange($event, 'customerGroupId')">
236
+ [showMoreLabel]="showMoreLabel | localize"
237
+ [showLessLabel]="showLessLabel | localize"
238
+ (collectionChange)="filterRequestService.handleCollectionChangeForSingleValue($event, 'customerGroupId')">
221
239
  </co-filter-item>
222
240
  <div class="filter-button-container">
223
241
  <co-button class="clickable" [label]="'Filter'" (click)="onFilterButtonClick()"></co-button>
@@ -227,13 +245,11 @@ TransactionFilterContentOrderComponent.decorators = [
227
245
  },] }
228
246
  ];
229
247
  TransactionFilterContentOrderComponent.ctorParameters = () => [
230
- { type: TransactionService },
231
248
  { type: TransactionSearchService },
232
- { type: FilterRequestService }
249
+ { type: FilterRequestService },
250
+ { type: TransactionService }
233
251
  ];
234
252
  TransactionFilterContentOrderComponent.propDecorators = {
235
- searchRequest: [{ type: Input }],
236
- searchRequestChange: [{ type: Output }],
237
253
  showClass: [{ type: HostBinding, args: ["class.co-transaction-filter-content-order",] }]
238
254
  };
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBUXRILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQTJJakYsTUFBTSxPQUFPLHNDQUFzQztJQXVDakQsWUFDVSxtQkFBdUMsRUFDeEMsYUFBdUMsRUFDdEMscUJBQTJDO1FBRjNDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDeEMsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBQ3RDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBc0I7UUFyQzlDLHdCQUFtQixHQUFzQixJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQU8xRix5QkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztRQUU1QyxzQkFBaUIsR0FBVyxzQkFBc0IsQ0FBQztRQUduRCx1QkFBa0IsR0FBb0IsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZ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S0FBYTtRQUN2RCxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLDRCQUE0QixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzs7WUFsUUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQ0FBcUM7Z0JBQy9DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0lUO2FBQ0Y7OztZQTVJUSxrQkFBa0I7WUFFbEIsd0JBQXdCO1lBRHhCLG9CQUFvQjs7OzRCQTZJMUIsS0FBSztrQ0FHTCxNQUFNO3dCQUdOLFdBQVcsU0FBQywyQ0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQnJhbmNoTG92IH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9icmFuY2gtbG92LmJvXCI7XHJcbmltcG9ydCB7IENvRG9tYWluVmFsdWUgfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvLWRvbWFpbi12YWx1ZS5ib1wiO1xyXG5pbXBvcnQgeyBDdXN0b21lckdyb3VwIH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1ncm91cC5ib1wiO1xyXG5pbXBvcnQgeyBPbkhvbGRDb2RlIH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vbi1ob2xkLWNvZGUuYm9cIjtcclxuaW1wb3J0IHsgVGFnIH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90YWdcIjtcclxuaW1wb3J0IHsgU2FsZXNQZXJzb24gfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3NhbGVzLXBlcnNvbi5ib1wiO1xyXG5pbXBvcnQgeyBUcmFuc2FjdGlvblNlYXJjaFZpZXdSZXF1ZXN0IH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1zZWFyY2gtdmlldy1yZXF1ZXN0XCI7XHJcbmltcG9ydCB7IEJvb2xlYW5UZXh0RGVjb3JhdG9yIH0gZnJvbSBcIi4uLy4uLy4uL2ZhY3RvcnkvZGVjb3JhdG9ycy9ib29sZWFuLmRlY29yYXRvclwiO1xyXG5pbXBvcnQgeyBGaWx0ZXJWaWV3bW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWwvZmlsdGVyLXZpZXdtb2RlbFwiO1xyXG5pbXBvcnQgeyBUcmFuc2FjdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEZpbHRlclJlcXVlc3RTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2UvZmlsdGVyLXJlcXVlc3Quc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZS90cmFuc2FjdGlvbi1zZWFyY2guc2VydmljZVwiO1xyXG5pbXBvcnQgeyBGaWx0ZXJJdGVtVmlld21vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVsL2ZpbHRlci1pdGVtLnZpZXdtb2RlbFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1vcmRlcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1vcmRlci13cmFwcGVyXCI+XHJcblxyXG4gICAgICA8IS0tT3JkZXJkYXR1bTogcmFuZ2UgcGlja2VyIHdlcmt0LCBhbGxlZW4gb3V0cHV0IGZpbHRlciBuaWV0IGdvZWQ/LS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInT1JERVJfREFURScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtZGF0ZS1yYW5nZVxyXG4gICAgICAgICAgW3N0YXJ0RGF0ZV09XCJ0cmFuc1N0YXJ0RGF0ZVwiXHJcbiAgICAgICAgICBbZW5kRGF0ZV09XCJ0cmFuc0VuZERhdGVcIlxyXG4gICAgICAgICAgKGRhdGVSYW5nZUNoYW5nZSk9XCJoYW5kbGVEYXRlUmFuZ2VDaGFuZ2UoJGV2ZW50LCAncmFuZ2VUcmFuc0RhdGUnKVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFTEVDVF9EQVRFJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgPC9jby1pbnB1dC1kYXRlLXJhbmdlPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUxldmVyZGF0dW06IHJhbmdlIHBpY2tlciB3ZXJrdCwgYWxsZWVuIG91dHB1dCBmaWx0ZXIgbmlldCBnb2VkPy0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX0RBVEUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LWRhdGUtcmFuZ2VcclxuICAgICAgICAgIFtzdGFydERhdGVdPVwidHJhbnNTdGFydERhdGVcIlxyXG4gICAgICAgICAgW2VuZERhdGVdPVwidHJhbnNFbmREYXRlXCJcclxuICAgICAgICAgIChkYXRlUmFuZ2VDaGFuZ2UpPVwiaGFuZGxlRGF0ZVJhbmdlQ2hhbmdlKCRldmVudCwgJ2RlbGl2ZXJ5RGF0ZVJhbmdlJylcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUxFQ1RfREFURScgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgIDwvY28taW5wdXQtZGF0ZS1yYW5nZT5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1GaWxpYWFsICh3ZXJrdCktLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidCUkFOQ0gnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY29sbGVjdGlvbl09XCJicmFuY2hlc1wiXHJcbiAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIChjb2xsZWN0aW9uQ2hhbmdlKT1cImhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JSYW5nZSgkZXZlbnQsICdyYW5nZUJyYW5jaElkJylcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tVmVya29wZXIgKHdlcmt0KS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0hBTkRMRURfQlknIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY29sbGVjdGlvbl09XCJzYWxlc1BlcnNvbnNcIlxyXG4gICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJoYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAncmFuZ2VTYWxlc1BlcnNvbicpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUVpZ2VuIHJlZmVyZW50aWUgKHdlcmt0KS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09XTl9SRUZFUkVOQ0UnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC51c2VyUmVmZXJlbmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09XTl9SRUZFUkVOQ0UnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tVGFncyAoa2FuIG5pZXQgdGVzdGVuLCBnZWVuIGRhdGEgbWV0IHRhZ3MpLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInVEFHUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cInRhZ3NcIlxyXG4gICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJoYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAndGFnUmFuZ2UnKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnRhZ1JhbmdlXCIgW3BsYWNlaG9sZGVyXT1cIidUQUdTJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLU9uIGhvbGQgY29kZXMgKGthbiBuaWV0IHRlc3Rlbi4ga2FuIG5pZXQgdGVydWd2aW5kZW4gaW4gQVBJIG91dHB1dCktLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPTl9IT0xEJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2NvbGxlY3Rpb25dPVwib25Ib2xkQ29kZXNcIlxyXG4gICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJoYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCdyYW5nZU9uSG9sZENvZGVzJylcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgWyhtb2RlbCldPVwic2VhcmNoUmVxdWVzdC50YWdSYW5nZVwiIFtwbGFjZWhvbGRlcl09XCInVEFHUycgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1PcmRlciBkZWZpbml0aWVmICh3ZXJrdCBub2cgbmlldC4gYWFucGFzc2VuIHdhbm5lZXIgZG9tYWluIGVlbiBib29sZWFuIGhlZWZ0KS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RFRklOSVRJVkUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICBbKG1vZGVsKV09XCIhIXNlYXJjaFJlcXVlc3QudHJhbnNhY3Rpb25EZWZpbml0aXZlXCJcclxuICAgICAgICAgIFtsYWJlbF09XCInT1JERVJfREVGSU5JVElWRScgfCBsb2NhbGl6ZVwiPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tQ29tbWlzc2llY29kZSAoa2FuIG5pZXQgdGVzdGVuLCBjb21taXNzaWVjb2RlIG5pZXQgdGVydWcgdGUgdmluZGVuIGluIGRhdGEpLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ09NTUlTU0lPTl9DT0RFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2NvbGxlY3Rpb25dPVwiY29tbWlzc2lvbkNvZGVzXCJcclxuICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvckFycmF5KCRldmVudCwgJ2NvbW1pc3Npb25Db2RlcycpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUluYWN0aWV2ZSB0cmFuc2FjdGllcyAoa2FuIG5pZXQgdGVzdGVuLiBnZWVuIGluYWN0aWV2ZSB0cmFuc2FjdGllcyBpbiBkYXRhKS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0lOQUNUSVZFX1RSQU5TQUNUSU9OUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QudHJhbnNhY3Rpb25TaG93SW5hY3RpdmVcIlxyXG4gICAgICAgICAgW2xhYmVsXT1cIidJTkFDVElWRV9UUkFOU0FDVElPTlMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgID48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUtsYW50bmFhbTogbm9nIG5pZXQgYWY6ICAgZ2VlbiBBUEkgY2FsbD8tLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDVVNUT01FUl9OQU1FJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QucmVsYXRpb25OYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0NVU1RPTUVSX05BTUUnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tS2xhbnRncm9lcDogICh3ZXJrdCBub2cgbmlldCwgY3VzdG9tZXJncm91cHMgbmlldCB0ZXJ1ZyB0ZSB2aW5kZW4gaW4gZGF0YSktLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDVVNUT01FUl9HUk9VUCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cImN1c3RvbWVyR3JvdXBzXCJcclxuICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXIgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwgJ2N1c3RvbWVyR3JvdXBJZCcpXCI+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItYnV0dG9uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJjbGlja2FibGVcIiBbbGFiZWxdPVwiJ0ZpbHRlcidcIiAoY2xpY2spPVwib25GaWx0ZXJCdXR0b25DbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25GaWx0ZXJDb250ZW50T3JkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlYXJjaFJlcXVlc3Q6IFRyYW5zYWN0aW9uU2VhcmNoVmlld1JlcXVlc3Q7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBzZWFyY2hSZXF1ZXN0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb25TZWFyY2hWaWV3UmVxdWVzdD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXJcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYm9vbGVhblRleHREZWNvcmF0b3IgPSBCb29sZWFuVGV4dERlY29yYXRvcjtcclxuXHJcbiAgcHVibGljIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmcgPSBcIlNFQVJDSF9JTl9DT0xMRUNUSU9OXCI7XHJcblxyXG4gIHB1YmxpYyBzYWxlc1BlcnNvbnM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgc2FsZXNQZXJzb25zRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJuYW1lXCIsIHZhbHVlOiBcInJlbGF0aW9uSWRcIn07XHJcblxyXG4gIHB1YmxpYyB0YWdzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHRhZ3NGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcInRhZ1ZhbHVlSWRcIn07XHJcblxyXG4gIHB1YmxpYyBicmFuY2hlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBicmFuY2hGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcImRlc2NyaXB0aW9uXCIsIHZhbHVlOiBcInJlbGF0aW9uSWRcIn07XHJcblxyXG4gIHB1YmxpYyBvbkhvbGRDb2RlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBvbkhvbGRDb2RlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJvbkhvbGRDb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgY29tbWlzc2lvbkNvZGVzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGNvbW1pc3Npb25Db2RlRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJjb2RlXCJ9O1xyXG5cclxuICBwdWJsaWMgY3VzdG9tZXJHcm91cHM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgY3VzdG9tZXJHcm91cEZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwibmFhbVwiLCB2YWx1ZTogXCJncm9lcHNudW1tZXJcIn07XHJcblxyXG4gIHB1YmxpYyB0cmFuc1N0YXJ0RGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgdHJhbnNFbmREYXRlOiBEYXRlO1xyXG4gIHB1YmxpYyBkZWxpdmVyeVN0YXJ0RGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgZGVsaXZlcnlFbmREYXRlOiBEYXRlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIHNlYXJjaFNlcnZpY2U6IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSxcclxuICAgIHByaXZhdGUgX2ZpbHRlclJlcXVlc3RTZXJ2aWNlOiBGaWx0ZXJSZXF1ZXN0U2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldFJhbmdlRGF0ZXMoKTtcclxuICAgIHRoaXMuX2dldFNhbGVzUGVyc29ucygpO1xyXG4gICAgdGhpcy5fZ2V0VGFncygpO1xyXG4gICAgdGhpcy5fZ2V0QnJhbmNoZXMoKTtcclxuICAgIHRoaXMuX2dldE9uSG9sZENvZGVzKCk7XHJcbiAgICB0aGlzLl9nZXRDb21taXNzaW9uQ29kZXMoKTtcclxuICAgIHRoaXMuX2dldEN1c3RvbWVyR3JvdXBzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRSYW5nZURhdGVzKCkge1xyXG4gICAgdGhpcy50cmFuc1N0YXJ0RGF0ZSA9IHRoaXMuX2ZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5yYW5nZVRyYW5zRGF0ZSwgMCk7XHJcbiAgICB0aGlzLnRyYW5zRW5kRGF0ZSA9IHRoaXMuX2ZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5yYW5nZVRyYW5zRGF0ZSwgMSk7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5U3RhcnREYXRlID0gdGhpcy5fZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmRlbGl2ZXJ5RGF0ZVJhbmdlLCAwKTtcclxuICAgIHRoaXMuZGVsaXZlcnlFbmREYXRlID0gdGhpcy5fZmlsdGVyUmVxdWVzdFNlcnZpY2UuZ2V0RGF0ZUZyb21GaWx0ZXJSZXF1ZXN0UmFuZ2UodGhpcy5zZWFyY2hSZXF1ZXN0LmRlbGl2ZXJ5RGF0ZVJhbmdlLCAxKTtcclxuICB9XHJcblxyXG4gIC8vVmVya29wZXJcclxuICBwcml2YXRlIF9nZXRTYWxlc1BlcnNvbnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0U2FsZXNQZXJzb25zKCkudGhlbigoc2FsZXNQZXJzb25zOiBTYWxlc1BlcnNvbltdKSA9PiB7XHJcbiAgICAgIHRoaXMuc2FsZXNQZXJzb25zID0gbmV3IEZpbHRlclZpZXdtb2RlbChzYWxlc1BlcnNvbnMsIHRoaXMuc2FsZXNQZXJzb25zRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gVGFnc1xyXG4gIHByaXZhdGUgX2dldFRhZ3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0VGFncygxKS50aGVuKCh0YWdzOiBUYWdbXSkgPT4ge1xyXG4gICAgICB0aGlzLnRhZ3MgPSBuZXcgRmlsdGVyVmlld21vZGVsKHRhZ3MsIHRoaXMudGFnc0ZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vQnJhbmNoZXNcclxuICBwcml2YXRlIF9nZXRCcmFuY2hlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRCcmFuY2hlcygpLnRoZW4oKGJyYW5jaGVzOiBCcmFuY2hMb3ZbXSkgPT4ge1xyXG4gICAgICB0aGlzLmJyYW5jaGVzID0gbmV3IEZpbHRlclZpZXdtb2RlbChicmFuY2hlcywgdGhpcy5icmFuY2hGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL09uSG9sZENvZGVzXHJcbiAgcHJpdmF0ZSBfZ2V0T25Ib2xkQ29kZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0T25Ib2xkQ29kZXMoKS50aGVuKChvbkhvbGRDb2RlczogT25Ib2xkQ29kZVtdKSA9PiB7XHJcbiAgICAgIHRoaXMub25Ib2xkQ29kZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKG9uSG9sZENvZGVzLCB0aGlzLm9uSG9sZENvZGVGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0NvbW1pc3Npb25Db2Rlc1xyXG4gIHByaXZhdGUgX2dldENvbW1pc3Npb25Db2RlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRDb21taXNzaW9uQ29kZXMoXCJOTFwiKS50aGVuKChjb21taXNzaW9uQ29kZXM6IENvRG9tYWluVmFsdWVbXSkgPT4ge1xyXG4gICAgICB0aGlzLmNvbW1pc3Npb25Db2RlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoY29tbWlzc2lvbkNvZGVzLCB0aGlzLmNvbW1pc3Npb25Db2RlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9DdXN0b21lckdyb3Vwc1xyXG4gIHByaXZhdGUgX2dldEN1c3RvbWVyR3JvdXBzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldEN1c3RvbWVyR3JvdXBzKCkudGhlbigoY3VzdG9tZXJHcm91cHM6IEN1c3RvbWVyR3JvdXBbXSkgPT4ge1xyXG4gICAgICB0aGlzLmN1c3RvbWVyR3JvdXBzID0gbmV3IEZpbHRlclZpZXdtb2RlbChjdXN0b21lckdyb3VwcywgdGhpcy5jdXN0b21lckdyb3VwRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JSYW5nZShjb2xsZWN0aW9uOiBGaWx0ZXJJdGVtVmlld21vZGVsW10sIG1vZGVsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVxdWVzdFttb2RlbF0gPSB0aGlzLl9maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXRGaWx0ZXJSZXF1ZXN0Rm9yQ29sbGVjdGlvblJhbmdlKGNvbGxlY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNvbGxlY3Rpb25DaGFuZ2VGb3JBcnJheShjb2xsZWN0aW9uOiBGaWx0ZXJJdGVtVmlld21vZGVsW10sIG1vZGVsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VhcmNoUmVxdWVzdFttb2RlbF0gPSB0aGlzLl9maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXRGaWx0ZXJSZXF1ZXN0Rm9yQ29sbGVjdGlvbkFycmF5KGNvbGxlY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURhdGVSYW5nZUNoYW5nZShkYXRlczogRGF0ZVtdLCBtb2RlbDogc3RyaW5nKSB7XHJcbiAgICBsZXQgc3RhcnREYXRlID0gZGF0ZXNbMF07XHJcbiAgICBsZXQgZW5kRGF0ZSA9IGRhdGVzWzFdO1xyXG5cclxuICAgIHRoaXMuc2VhcmNoUmVxdWVzdFttb2RlbF0gPSB0aGlzLl9maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXRGaWx0ZXJSZXF1ZXN0Rm9yRGF0ZVJhbmdlKHN0YXJ0RGF0ZSwgZW5kRGF0ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25GaWx0ZXJCdXR0b25DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoU2VydmljZS5zZWFyY2hUcmFuc2FjdGlvbnMoKTtcclxuICB9XHJcbn1cclxuIl19
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWNvbnRlbnQtb3JkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tc2VhcmNoL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyL3RyYW5zYWN0aW9uLWZpbHRlci1jb250ZW50LW9yZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFTL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx1REFBdUQsQ0FBQztBQTJKdEYsTUFBTSxPQUFPLHNDQUFzQztJQW9DakQsWUFDUyxhQUF1QyxFQUN2QyxvQkFBMEMsRUFDekMsbUJBQXVDO1FBRnhDLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQ3pDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFoQzFDLGtCQUFhLEdBQWlDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1FBRS9FLHNCQUFpQixHQUFXLHNCQUFzQixDQUFDO1FBQ25ELGtCQUFhLEdBQVcsV0FBVyxDQUFDO1FBQ3BDLGtCQUFhLEdBQVcsV0FBVyxDQUFDO1FBR3BDLHVCQUFrQixHQUFvQixFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlB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QUksQ0FBQyxDQUFDLGVBQWdDLEVBQUUsRUFBRTtZQUMxRixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDckcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ1Isa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQStCLEVBQUUsRUFBRTtZQUNwRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksZUFBZSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxXQUFXLENBQUM7UUFDbEcsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7WUE3UUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQ0FBcUM7Z0JBQy9DLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9KVDthQUNGOzs7WUEzSlEsd0JBQXdCO1lBRHhCLG9CQUFvQjtZQURwQixrQkFBa0I7Ozt3QkFnS3hCLFdBQVcsU0FBQywyQ0FBMkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCcmFuY2hMb3YgfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2JyYW5jaC1sb3YuYm9cIjtcclxuaW1wb3J0IHsgQ29Eb21haW5WYWx1ZSB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY28tZG9tYWluLXZhbHVlLmJvXCI7XHJcbmltcG9ydCB7IEN1c3RvbWVyR3JvdXAgfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2N1c3RvbWVyLWdyb3VwLmJvXCI7XHJcbmltcG9ydCB7IE9uSG9sZENvZGUgfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL29uLWhvbGQtY29kZS5ib1wiO1xyXG5pbXBvcnQgeyBTYWxlc1BlcnNvbiB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2FsZXMtcGVyc29uLmJvXCI7XHJcbmltcG9ydCB7IFRhZyB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdGFnXCI7XHJcbmltcG9ydCB7IFRyYW5zYWN0aW9uU2VhcmNoVmlld1JlcXVlc3QgfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXNlYXJjaC12aWV3LXJlcXVlc3RcIjtcclxuaW1wb3J0IHsgRmlsdGVySXRlbVZpZXdtb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC9maWx0ZXItaXRlbS52aWV3bW9kZWxcIjtcclxuaW1wb3J0IHsgRmlsdGVyVmlld21vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVsL2ZpbHRlci12aWV3bW9kZWxcIjtcclxuaW1wb3J0IHsgVHJhbnNhY3Rpb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBGaWx0ZXJSZXF1ZXN0U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlL2ZpbHRlci1yZXF1ZXN0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2VhcmNoLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtSZWxhdGlvblJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tcmVxdWVzdFwiO1xyXG5pbXBvcnQge1JlbGF0aW9uTGlzdE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ib1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1vcmRlcicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1vcmRlci13cmFwcGVyXCI+XHJcblxyXG4gICAgICA8IS0tT3JkZXJkYXR1bS0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RBVEUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LWRhdGUtcmFuZ2VcclxuICAgICAgICAgIFtzdGFydERhdGVdPVwidHJhbnNTdGFydERhdGVcIlxyXG4gICAgICAgICAgW2VuZERhdGVdPVwidHJhbnNFbmREYXRlXCJcclxuICAgICAgICAgIChkYXRlUmFuZ2VDaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlRGF0ZVJhbmdlQ2hhbmdlKCRldmVudCwgJ3JhbmdlVHJhbnNEYXRlJylcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUxFQ1RfREFURScgfCBsb2NhbGl6ZVwiPlxyXG4gICAgICAgIDwvY28taW5wdXQtZGF0ZS1yYW5nZT5cclxuICAgICAgPC9jby1maWx0ZXItaXRlbT5cclxuXHJcbiAgICAgIDwhLS1MZXZlcmRhdHVtLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInREVMSVZFUllfREFURScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtZGF0ZS1yYW5nZVxyXG4gICAgICAgICAgW3N0YXJ0RGF0ZV09XCJkZWxpdmVyeVN0YXJ0RGF0ZVwiXHJcbiAgICAgICAgICBbZW5kRGF0ZV09XCJkZWxpdmVyeUVuZERhdGVcIlxyXG4gICAgICAgICAgKGRhdGVSYW5nZUNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVEYXRlUmFuZ2VDaGFuZ2UoJGV2ZW50LCAnZGVsaXZlcnlEYXRlUmFuZ2UnKVwiXHJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NFTEVDVF9EQVRFJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgPC9jby1pbnB1dC1kYXRlLXJhbmdlPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUZpbGlhYWwtLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidCUkFOQ0gnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY29sbGVjdGlvbl09XCJicmFuY2hlc1wiXHJcbiAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TW9yZUxhYmVsXT1cInNob3dNb3JlTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dMZXNzTGFiZWxdPVwic2hvd0xlc3NMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAncmFuZ2VCcmFuY2hJZCcpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLVZlcmtvcGVyLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInSEFORExFRF9CWScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cInNhbGVzUGVyc29uc1wiXHJcbiAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TW9yZUxhYmVsXT1cInNob3dNb3JlTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dMZXNzTGFiZWxdPVwic2hvd0xlc3NMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAncmFuZ2VTYWxlc1BlcnNvbicpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUVpZ2VuIHJlZmVyZW50aWUtLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPV05fUkVGRVJFTkNFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbY3VzdG9tQ29udGVudF09XCJ0cnVlXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QudXNlclJlZmVyZW5jZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPV05fUkVGRVJFTkNFJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLVRhZ3MtLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidUQUdTJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2NvbGxlY3Rpb25dPVwidGFnc1wiXHJcbiAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TW9yZUxhYmVsXT1cInNob3dNb3JlTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW3Nob3dMZXNzTGFiZWxdPVwic2hvd0xlc3NMYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJmaWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yUmFuZ2UoJGV2ZW50LCAndGFnUmFuZ2UnKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJzZWFyY2hSZXF1ZXN0LnRhZ1JhbmdlXCIgW3BsYWNlaG9sZGVyXT1cIidUQUdTJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLU9uIGhvbGQgY29kZXMtLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidPTl9IT0xEJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2NvbGxlY3Rpb25dPVwib25Ib2xkQ29kZXNcIlxyXG4gICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd01vcmVMYWJlbF09XCJzaG93TW9yZUxhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TGVzc0xhYmVsXT1cInNob3dMZXNzTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclJhbmdlKCRldmVudCwncmFuZ2VPbkhvbGRDb2RlcycpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxjby1pbnB1dC10ZXh0IFsobW9kZWwpXT1cInNlYXJjaFJlcXVlc3QudGFnUmFuZ2VcIiBbcGxhY2Vob2xkZXJdPVwiJ1RBR1MnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tT3JkZXIgZGVmaW5pdGllZi0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ09SREVSX0RFRklOSVRJVkUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94XHJcbiAgICAgICAgICBbbW9kZWxdPVwic2VhcmNoUmVxdWVzdC50cmFuc2FjdGlvbkRlZmluaXRpdmUgPT09ICdKJ1wiXHJcbiAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ2hlY2tib3hWYWx1ZUNoYW5nZUZvclN0cmluZygkZXZlbnQsICd0cmFuc2FjdGlvbkRlZmluaXRpdmUnKVwiXHJcbiAgICAgICAgICBbbGFiZWxdPVwiJ09SREVSX0RFRklOSVRJVkUnIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUNvbW1pc3NpZWNvZGUtLT5cclxuICAgICAgPGNvLWZpbHRlci1pdGVtXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDT01NSVNTSU9OX0NPREUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtleHBhbmRlZF09XCJ0cnVlXCJcclxuICAgICAgICBbY29sbGVjdGlvbl09XCJjb21taXNzaW9uQ29kZXNcIlxyXG4gICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd01vcmVMYWJlbF09XCJzaG93TW9yZUxhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TGVzc0xhYmVsXT1cInNob3dMZXNzTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvckFycmF5KCRldmVudCwgJ2NvbW1pc3Npb25Db2RlcycpXCJcclxuICAgICAgPlxyXG4gICAgICA8L2NvLWZpbHRlci1pdGVtPlxyXG5cclxuICAgICAgPCEtLUluYWN0aWV2ZSB0cmFuc2FjdGllcy0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0lOQUNUSVZFX1RSQU5TQUNUSU9OUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2N1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIj5cclxuICAgICAgICA8Y28taW5wdXQtY2hlY2tib3hcclxuICAgICAgICAgIFttb2RlbF09XCJzZWFyY2hSZXF1ZXN0LmFjdGl2ZSA9PT0gZmFsc2VcIlxyXG4gICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cInNlYXJjaFJlcXVlc3QuYWN0aXZlID0gISRldmVudFwiXHJcbiAgICAgICAgICBbbGFiZWxdPVwiJ0lOQUNUSVZFX1RSQU5TQUNUSU9OUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tS2xhbnRuYWFtLS0+XHJcbiAgICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ1VTVE9NRVJfTkFNRScgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgW2V4cGFuZGVkXT1cInRydWVcIlxyXG4gICAgICAgIFtzaW5nbGVTZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgW21pblNlYXJjaENoYXJzVG9Mb2FkQ29sbGVjdGlvbl09XCIzXCJcclxuICAgICAgICBbY29sbGVjdGlvbkxvYWRGbl09XCJsb2FkQ3VzdG9tZXJzXCJcclxuICAgICAgICAoY29sbGVjdGlvbkNoYW5nZSk9XCJoYW5kbGVDb2xsZWN0aW9uQ2hhbmdlQ3VzdG9tZXJOYW1lKCRldmVudClcIlxyXG4gICAgICA+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcblxyXG4gICAgICA8IS0tS2xhbnRncm9lcC0tPlxyXG4gICAgICA8Y28tZmlsdGVyLWl0ZW1cclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0NVU1RPTUVSX0dST1VQJyB8IGxvY2FsaXplXCJcclxuICAgICAgICBbZXhwYW5kZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW2NvbGxlY3Rpb25dPVwiY3VzdG9tZXJHcm91cHNcIlxyXG4gICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCJzZWFyY2hQbGFjZWhvbGRlciB8IGxvY2FsaXplXCJcclxuICAgICAgICBbc2hvd01vcmVMYWJlbF09XCJzaG93TW9yZUxhYmVsIHwgbG9jYWxpemVcIlxyXG4gICAgICAgIFtzaG93TGVzc0xhYmVsXT1cInNob3dMZXNzTGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgKGNvbGxlY3Rpb25DaGFuZ2UpPVwiZmlsdGVyUmVxdWVzdFNlcnZpY2UuaGFuZGxlQ29sbGVjdGlvbkNoYW5nZUZvclNpbmdsZVZhbHVlKCRldmVudCwgJ2N1c3RvbWVyR3JvdXBJZCcpXCI+XHJcbiAgICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItYnV0dG9uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJjbGlja2FibGVcIiBbbGFiZWxdPVwiJ0ZpbHRlcidcIiAoY2xpY2spPVwib25GaWx0ZXJCdXR0b25DbGljaygpXCI+PC9jby1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25GaWx0ZXJDb250ZW50T3JkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1maWx0ZXItY29udGVudC1vcmRlclwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWFyY2hSZXF1ZXN0OiBUcmFuc2FjdGlvblNlYXJjaFZpZXdSZXF1ZXN0ID0gdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3Q7XHJcblxyXG4gIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nID0gXCJTRUFSQ0hfSU5fQ09MTEVDVElPTlwiO1xyXG4gIHB1YmxpYyBzaG93TW9yZUxhYmVsOiBzdHJpbmcgPSBcIlNIT1dfTU9SRVwiO1xyXG4gIHB1YmxpYyBzaG93TGVzc0xhYmVsOiBzdHJpbmcgPSBcIlNIT1dfTEVTU1wiO1xyXG5cclxuICBwdWJsaWMgc2FsZXNQZXJzb25zOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIHNhbGVzUGVyc29uc0ZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwibmFtZVwiLCB2YWx1ZTogXCJyZWxhdGlvbklkXCJ9O1xyXG5cclxuICBwdWJsaWMgdGFnczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyB0YWdzRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJ0YWdWYWx1ZUlkXCJ9O1xyXG5cclxuICBwdWJsaWMgYnJhbmNoZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgYnJhbmNoRmllbGRzOiB7IHRleHQsIHZhbHVlIH0gPSB7dGV4dDogXCJkZXNjcmlwdGlvblwiLCB2YWx1ZTogXCJyZWxhdGlvbklkXCJ9O1xyXG5cclxuICBwdWJsaWMgb25Ib2xkQ29kZXM6IEZpbHRlckl0ZW1WaWV3bW9kZWxbXTtcclxuICBwdWJsaWMgb25Ib2xkQ29kZUZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwib25Ib2xkQ29kZVwifTtcclxuXHJcbiAgcHVibGljIGNvbW1pc3Npb25Db2RlczogRmlsdGVySXRlbVZpZXdtb2RlbFtdO1xyXG4gIHB1YmxpYyBjb21taXNzaW9uQ29kZUZpZWxkczogeyB0ZXh0LCB2YWx1ZSB9ID0ge3RleHQ6IFwiZGVzY3JpcHRpb25cIiwgdmFsdWU6IFwiY29kZVwifTtcclxuXHJcbiAgcHVibGljIGN1c3RvbWVyR3JvdXBzOiBGaWx0ZXJJdGVtVmlld21vZGVsW107XHJcbiAgcHVibGljIGN1c3RvbWVyR3JvdXBGaWVsZHM6IHsgdGV4dCwgdmFsdWUgfSA9IHt0ZXh0OiBcIm5hYW1cIiwgdmFsdWU6IFwiZ3JvZXBzbnVtbWVyXCJ9O1xyXG5cclxuICBwdWJsaWMgdHJhbnNTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIHRyYW5zRW5kRGF0ZTogRGF0ZTtcclxuICBwdWJsaWMgZGVsaXZlcnlTdGFydERhdGU6IERhdGU7XHJcbiAgcHVibGljIGRlbGl2ZXJ5RW5kRGF0ZTogRGF0ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgc2VhcmNoU2VydmljZTogVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlLFxyXG4gICAgcHVibGljIGZpbHRlclJlcXVlc3RTZXJ2aWNlOiBGaWx0ZXJSZXF1ZXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2V0UmFuZ2VEYXRlcygpO1xyXG4gICAgdGhpcy5fc2V0U2FsZXNQZXJzb25zKCk7XHJcbiAgICB0aGlzLl9zZXRUYWdzKCk7XHJcbiAgICB0aGlzLl9zZXRCcmFuY2hlcygpO1xyXG4gICAgdGhpcy5fc2V0T25Ib2xkQ29kZXMoKTtcclxuICAgIHRoaXMuX3NldENvbW1pc3Npb25Db2RlcygpO1xyXG4gICAgdGhpcy5fc2V0Q3VzdG9tZXJHcm91cHMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkZpbHRlckJ1dHRvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGxvYWRDdXN0b21lcnMgPSBhc3luYyAobmFtZUZpbHRlcjogc3RyaW5nKSA9PiB7XHJcbiAgICBjb25zdCByZXF1ZXN0OiBSZWxhdGlvblJlcXVlc3QgPSBuZXcgUmVsYXRpb25SZXF1ZXN0KCk7XHJcbiAgICByZXF1ZXN0LmZhbWlseU5hbWUgPSBuYW1lRmlsdGVyO1xyXG4gICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRSZWxhdGlvbkxpc3RPYmplY3RzKHJlcXVlc3QpLnRoZW4oKHJlbGF0aW9uczogUmVsYXRpb25MaXN0T2JqZWN0W10pID0+IHtcclxuICAgICAgcmV0dXJuIG5ldyBGaWx0ZXJWaWV3bW9kZWwocmVsYXRpb25zLCB7dGV4dDogJ2ZhbWlseU5hbWUnLCB2YWx1ZTogJ2ZhbWlseU5hbWUnfSkuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDb2xsZWN0aW9uQ2hhbmdlQ3VzdG9tZXJOYW1lKGNvbGxlY3Rpb246IEZpbHRlckl0ZW1WaWV3bW9kZWxbXSk6IHZvaWQge1xyXG4gICAgY29uc3QgY2hlY2tlZEl0ZW06IEZpbHRlckl0ZW1WaWV3bW9kZWwgPSBjb2xsZWN0aW9uLmZpbmQoYyA9PiBjLmNoZWNrZWQpO1xyXG4gICAgdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5oYW5kbGVDb2xsZWN0aW9uQ2hhbmdlRm9yU2luZ2xlVmFsdWUoY2hlY2tlZEl0ZW0gPyBjaGVja2VkSXRlbS5jb2RlICsgXCJcIiA6IFwiXCIsICdyZWxhdGlvbk5hbWUnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldFJhbmdlRGF0ZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zU3RhcnREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QucmFuZ2VUcmFuc0RhdGUsIDApO1xyXG4gICAgdGhpcy50cmFuc0VuZERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5yYW5nZVRyYW5zRGF0ZSwgMSk7XHJcbiAgICB0aGlzLmRlbGl2ZXJ5U3RhcnREYXRlID0gdGhpcy5maWx0ZXJSZXF1ZXN0U2VydmljZS5nZXREYXRlRnJvbUZpbHRlclJlcXVlc3RSYW5nZSh0aGlzLnNlYXJjaFJlcXVlc3QuZGVsaXZlcnlEYXRlUmFuZ2UsIDApO1xyXG4gICAgdGhpcy5kZWxpdmVyeUVuZERhdGUgPSB0aGlzLmZpbHRlclJlcXVlc3RTZXJ2aWNlLmdldERhdGVGcm9tRmlsdGVyUmVxdWVzdFJhbmdlKHRoaXMuc2VhcmNoUmVxdWVzdC5kZWxpdmVyeURhdGVSYW5nZSwgMSk7XHJcbiAgfVxyXG5cclxuICAvL1ZlcmtvcGVyXHJcbiAgcHJpdmF0ZSBfc2V0U2FsZXNQZXJzb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldFNhbGVzUGVyc29ucygpLnRoZW4oKHNhbGVzUGVyc29uczogU2FsZXNQZXJzb25bXSkgPT4ge1xyXG4gICAgICB0aGlzLnNhbGVzUGVyc29ucyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoc2FsZXNQZXJzb25zLCB0aGlzLnNhbGVzUGVyc29uc0ZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIFRhZ3NcclxuICBwcml2YXRlIF9zZXRUYWdzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldFRhZ3MoMSkudGhlbigodGFnczogVGFnW10pID0+IHtcclxuICAgICAgdGhpcy50YWdzID0gbmV3IEZpbHRlclZpZXdtb2RlbCh0YWdzLCB0aGlzLnRhZ3NGaWVsZHMpLmZpbHRlckl0ZW1zO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL0JyYW5jaGVzXHJcbiAgcHJpdmF0ZSBfc2V0QnJhbmNoZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0QnJhbmNoZXMoKS50aGVuKChicmFuY2hlczogQnJhbmNoTG92W10pID0+IHtcclxuICAgICAgdGhpcy5icmFuY2hlcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoYnJhbmNoZXMsIHRoaXMuYnJhbmNoRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9PbkhvbGRDb2Rlc1xyXG4gIHByaXZhdGUgX3NldE9uSG9sZENvZGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmdldE9uSG9sZENvZGVzKCkudGhlbigob25Ib2xkQ29kZXM6IE9uSG9sZENvZGVbXSkgPT4ge1xyXG4gICAgICB0aGlzLm9uSG9sZENvZGVzID0gbmV3IEZpbHRlclZpZXdtb2RlbChvbkhvbGRDb2RlcywgdGhpcy5vbkhvbGRDb2RlRmllbGRzKS5maWx0ZXJJdGVtcztcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9Db21taXNzaW9uQ29kZXNcclxuICBwcml2YXRlIF9zZXRDb21taXNzaW9uQ29kZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0Q29tbWlzc2lvbkNvZGVzKFwiTkxcIikudGhlbigoY29tbWlzc2lvbkNvZGVzOiBDb0RvbWFpblZhbHVlW10pID0+IHtcclxuICAgICAgdGhpcy5jb21taXNzaW9uQ29kZXMgPSBuZXcgRmlsdGVyVmlld21vZGVsKGNvbW1pc3Npb25Db2RlcywgdGhpcy5jb21taXNzaW9uQ29kZUZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vQ3VzdG9tZXJHcm91cHNcclxuICBwcml2YXRlIF9zZXRDdXN0b21lckdyb3VwcygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRDdXN0b21lckdyb3VwcygpLnRoZW4oKGN1c3RvbWVyR3JvdXBzOiBDdXN0b21lckdyb3VwW10pID0+IHtcclxuICAgICAgdGhpcy5jdXN0b21lckdyb3VwcyA9IG5ldyBGaWx0ZXJWaWV3bW9kZWwoY3VzdG9tZXJHcm91cHMsIHRoaXMuY3VzdG9tZXJHcm91cEZpZWxkcykuZmlsdGVySXRlbXM7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,60 @@
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
2
+ import { QuantityInHistoricState } from "@colijnit/transactionapi/build/enum/quantity-in-historic-state.enum";
3
+ export class TransactionFilterHistoricStateComponent {
4
+ constructor() {
5
+ this.expanded = true;
6
+ this.filterClicked = new EventEmitter();
7
+ this.states = [];
8
+ }
9
+ set label(value) {
10
+ this._label = value;
11
+ this.groupName = this._label.toLowerCase() + "_group";
12
+ this.labelNothing = "NOTHING_" + this._label.toUpperCase();
13
+ this.labelPartly = "PARTLY_" + this._label.toUpperCase();
14
+ this.labelFully = "FULLY_" + this._label.toUpperCase();
15
+ this._setStates();
16
+ }
17
+ get label() {
18
+ return this._label;
19
+ }
20
+ showClass() {
21
+ return true;
22
+ }
23
+ handleStateChange(value) {
24
+ this.filterClicked.emit(value);
25
+ }
26
+ _setStates() {
27
+ this.states = [
28
+ { label: this.labelNothing, value: QuantityInHistoricState.Nothing, checked: false },
29
+ { label: this.labelPartly, value: QuantityInHistoricState.Partly, checked: false },
30
+ { label: this.labelFully, value: QuantityInHistoricState.Fully, checked: false }
31
+ ];
32
+ }
33
+ }
34
+ TransactionFilterHistoricStateComponent.decorators = [
35
+ { type: Component, args: [{
36
+ selector: "co-transaction-filter-historic-state",
37
+ template: `
38
+ <co-filter-item
39
+ [placeholder]="label | localize"
40
+ [customContent]="true"
41
+ [expanded]="expanded">
42
+ <co-input-radio-button *ngFor="let state of states"
43
+ [name]="groupName"
44
+ [value]="state.value"
45
+ [model]="state.checked"
46
+ [label]="state.label | localize"
47
+ (modelChange)="handleStateChange($event)"
48
+ ></co-input-radio-button>
49
+ </co-filter-item>
50
+ `,
51
+ encapsulation: ViewEncapsulation.None
52
+ },] }
53
+ ];
54
+ TransactionFilterHistoricStateComponent.propDecorators = {
55
+ label: [{ type: Input }],
56
+ expanded: [{ type: Input }],
57
+ filterClicked: [{ type: Output }],
58
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-filter-historic-state",] }]
59
+ };
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUvdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQTBCNUcsTUFBTSxPQUFPLHVDQUF1QztJQWxCcEQ7UUFtQ1MsYUFBUSxHQUFZLElBQUksQ0FBQztRQUd6QixrQkFBYSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBY2pFLFdBQU0sR0FBcUIsRUFBRSxDQUFDO0lBYXZDLENBQUM7SUE3Q0MsSUFDVyxLQUFLLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEdBQUcsUUFBUSxDQUFDO1FBQ3RELElBQUksQ0FBQyxZQUFZLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFTTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBV00saUJBQWlCLENBQUMsS0FBVTtRQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sVUFBVTtRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsdUJBQXVCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUM7WUFDbEYsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUM7WUFDaEYsRUFBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUM7U0FDL0UsQ0FBQztJQUNKLENBQUM7OztZQWhFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNDQUFzQztnQkFDaEQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0dBYVQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztvQkFHRSxLQUFLO3VCQWNMLEtBQUs7NEJBR0wsTUFBTTt3QkFHTixXQUFXLFNBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1F1YW50aXR5SW5IaXN0b3JpY1N0YXRlfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL2VudW0vcXVhbnRpdHktaW4taGlzdG9yaWMtc3RhdGUuZW51bVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIaXN0b3JpY1N0YXRlcyB7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB2YWx1ZTogUXVhbnRpdHlJbkhpc3RvcmljU3RhdGU7XHJcbiAgY2hlY2tlZDogYm9vbGVhbjtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1maWx0ZXItaXRlbVxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwibGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgIFtjdXN0b21Db250ZW50XT1cInRydWVcIlxyXG4gICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIj5cclxuICAgICAgPGNvLWlucHV0LXJhZGlvLWJ1dHRvbiAqbmdGb3I9XCJsZXQgc3RhdGUgb2Ygc3RhdGVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJncm91cE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzdGF0ZS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInN0YXRlLmNoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJzdGF0ZS5sYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU3RhdGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgID48L2NvLWlucHV0LXJhZGlvLWJ1dHRvbj5cclxuICAgIDwvY28tZmlsdGVyLWl0ZW0+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkZpbHRlckhpc3RvcmljU3RhdGVDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgbGFiZWwodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fbGFiZWwgPSB2YWx1ZTtcclxuICAgIHRoaXMuZ3JvdXBOYW1lID0gdGhpcy5fbGFiZWwudG9Mb3dlckNhc2UoKSArIFwiX2dyb3VwXCI7XHJcbiAgICB0aGlzLmxhYmVsTm90aGluZyA9IFwiTk9USElOR19cIiArIHRoaXMuX2xhYmVsLnRvVXBwZXJDYXNlKCk7XHJcbiAgICB0aGlzLmxhYmVsUGFydGx5ID0gXCJQQVJUTFlfXCIgKyB0aGlzLl9sYWJlbC50b1VwcGVyQ2FzZSgpO1xyXG4gICAgdGhpcy5sYWJlbEZ1bGx5ID0gXCJGVUxMWV9cIiArIHRoaXMuX2xhYmVsLnRvVXBwZXJDYXNlKCk7XHJcbiAgICB0aGlzLl9zZXRTdGF0ZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgbGFiZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9sYWJlbDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGV4cGFuZGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGZpbHRlckNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWZpbHRlci1oaXN0b3JpYy1zdGF0ZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xhYmVsOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBncm91cE5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgbGFiZWxOb3RoaW5nOiBzdHJpbmc7XHJcbiAgcHVibGljIGxhYmVsUGFydGx5OiBzdHJpbmc7XHJcbiAgcHVibGljIGxhYmVsRnVsbHk6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHN0YXRlczogSGlzdG9yaWNTdGF0ZXNbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RhdGVDaGFuZ2UodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJDbGlja2VkLmVtaXQodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0U3RhdGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdGF0ZXMgPSBbXHJcbiAgICAgIHtsYWJlbDogdGhpcy5sYWJlbE5vdGhpbmcsIHZhbHVlOiBRdWFudGl0eUluSGlzdG9yaWNTdGF0ZS5Ob3RoaW5nLCBjaGVja2VkOiBmYWxzZX0sXHJcbiAgICAgIHtsYWJlbDogdGhpcy5sYWJlbFBhcnRseSwgdmFsdWU6IFF1YW50aXR5SW5IaXN0b3JpY1N0YXRlLlBhcnRseSwgY2hlY2tlZDogZmFsc2V9LFxyXG4gICAgICB7bGFiZWw6IHRoaXMubGFiZWxGdWxseSwgdmFsdWU6IFF1YW50aXR5SW5IaXN0b3JpY1N0YXRlLkZ1bGx5LCBjaGVja2VkOiBmYWxzZX1cclxuICAgIF07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,24 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { TransactionFilterHistoricStateComponent } from "./transaction-filter-historic-state.component";
4
+ import { FilterItemModule, InputRadioButtonModule } from "@colijnit/corecomponents_v12";
5
+ import { PipeModule } from "../../../pipe/pipe.module";
6
+ export class TransactionFilterHistoricStateModule {
7
+ }
8
+ TransactionFilterHistoricStateModule.decorators = [
9
+ { type: NgModule, args: [{
10
+ imports: [
11
+ CommonModule,
12
+ FilterItemModule,
13
+ PipeModule,
14
+ InputRadioButtonModule
15
+ ],
16
+ declarations: [
17
+ TransactionFilterHistoricStateComponent
18
+ ],
19
+ exports: [
20
+ TransactionFilterHistoricStateComponent
21
+ ]
22
+ },] }
23
+ ];
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLXNlYXJjaC90cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUvdHJhbnNhY3Rpb24tZmlsdGVyLWhpc3RvcmljLXN0YXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUN0RyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFnQnJELE1BQU0sT0FBTyxvQ0FBb0M7OztZQWRoRCxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osZ0JBQWdCO29CQUNoQixVQUFVO29CQUNWLHNCQUFzQjtpQkFDdkI7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHVDQUF1QztpQkFDeEM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHVDQUF1QztpQkFDeEM7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25GaWx0ZXJIaXN0b3JpY1N0YXRlQ29tcG9uZW50fSBmcm9tIFwiLi90cmFuc2FjdGlvbi1maWx0ZXItaGlzdG9yaWMtc3RhdGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7RmlsdGVySXRlbU1vZHVsZSwgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtQaXBlTW9kdWxlfSBmcm9tIFwiLi4vLi4vLi4vcGlwZS9waXBlLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGaWx0ZXJJdGVtTW9kdWxlLFxyXG4gICAgUGlwZU1vZHVsZSxcclxuICAgIElucHV0UmFkaW9CdXR0b25Nb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVHJhbnNhY3Rpb25GaWx0ZXJIaXN0b3JpY1N0YXRlQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUcmFuc2FjdGlvbkZpbHRlckhpc3RvcmljU3RhdGVDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkZpbHRlckhpc3RvcmljU3RhdGVNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -1,9 +1,13 @@
1
1
  import { Component, EventEmitter, HostBinding, Output, ViewEncapsulation } from "@angular/core";
2
2
  import { ContentViewMode } from "../../../enum/content-view-mode.enum";
3
+ import { Icon } from "../../../enum/icon.enum";
4
+ import { IconCacheService } from "../../../service/icon-cache.service";
3
5
  import { TransactionSearchService } from "../service/transaction-search.service";
4
6
  export class TransactionSearchResultComponent {
5
- constructor(searchService) {
7
+ constructor(searchService, iconCacheService) {
6
8
  this.searchService = searchService;
9
+ this.iconCacheService = iconCacheService;
10
+ this.icon = Icon;
7
11
  this.viewModes = ContentViewMode;
8
12
  this.filterButtonClick = new EventEmitter();
9
13
  this.transactionClick = new EventEmitter();
@@ -14,7 +18,7 @@ export class TransactionSearchResultComponent {
14
18
  }
15
19
  ngOnInit() {
16
20
  }
17
- onTileClick(transaction) {
21
+ onTransactionClick(transaction) {
18
22
  this.transactionClick.emit(transaction);
19
23
  }
20
24
  }
@@ -27,26 +31,32 @@ TransactionSearchResultComponent.decorators = [
27
31
  [(model)]="searchService.searchRequest.general"
28
32
  [placeholder]="'Waar ben je naar op zoek?'"
29
33
  (search)="searchService.searchTransactions()"></co-input-search>
30
- <co-button class="transaction-search-filter-button" [label]="'Filter'"
34
+ <co-button class="transaction-search-filter-button" [iconData]="iconCacheService.getIcon(icon.BarsFilter)"
31
35
  (click)="filterButtonClick.emit()"></co-button>
32
36
  </div>
33
37
  <co-view-mode-buttons [showViewModes]="[viewModes.Tiles, viewModes.Grid]"
34
38
  (viewModeChange)="activeViewMode = $event"></co-view-mode-buttons>
35
39
  <div class="transaction-search-result-content-tiles-wrapper" *ngIf="activeViewMode === viewModes.Tiles">
36
40
  <div class="transaction-tile" *ngFor="let transaction of searchService.transactions">
37
- <co-transaction-tile [transaction]="transaction" (tileClick)="onTileClick(transaction)"></co-transaction-tile>
41
+ <co-transaction-tile [transaction]="transaction"
42
+ (tileClick)="onTransactionClick(transaction)"></co-transaction-tile>
38
43
  </div>
39
44
  </div>
45
+ <div class="transaction-search-result-content-grid-wrapper" *ngIf="activeViewMode === viewModes.Grid">
46
+ <co-transaction-search-grid [transactions]="searchService.transactions"
47
+ (transactionClick)="onTransactionClick($event)"></co-transaction-search-grid>
48
+ </div>
40
49
  `,
41
50
  encapsulation: ViewEncapsulation.None
42
51
  },] }
43
52
  ];
44
53
  TransactionSearchResultComponent.ctorParameters = () => [
45
- { type: TransactionSearchService }
54
+ { type: TransactionSearchService },
55
+ { type: IconCacheService }
46
56
  ];
47
57
  TransactionSearchResultComponent.propDecorators = {
48
58
  filterButtonClick: [{ type: Output }],
49
59
  transactionClick: [{ type: Output }],
50
60
  showClass: [{ type: HostBinding, args: ["class.co-transaction-search-result",] }]
51
61
  };
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdC90cmFuc2FjdGlvbi1zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQXVCakYsTUFBTSxPQUFPLGdDQUFnQztJQWdCM0MsWUFBbUIsYUFBdUM7UUFBdkMsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBZjFDLGNBQVMsR0FBMkIsZUFBZSxDQUFDO1FBRzdELHNCQUFpQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBR2pFLHFCQUFnQixHQUF3QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQU9sRyxtQkFBYyxHQUFvQixlQUFlLENBQUMsS0FBSyxDQUFDO0lBRy9ELENBQUM7SUFQTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBT00sUUFBUTtJQUNmLENBQUM7SUFFTSxXQUFXLENBQUMsV0FBa0M7UUFDbkQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs7WUE3Q0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBdEJRLHdCQUF3Qjs7O2dDQTBCOUIsTUFBTTsrQkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRyYW5zYWN0aW9uU2VhcmNoVmlldyB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tc2VhcmNoLXZpZXcuYm9cIjtcclxuaW1wb3J0IHsgQ29udGVudFZpZXdNb2RlIH0gZnJvbSBcIi4uLy4uLy4uL2VudW0vY29udGVudC12aWV3LW1vZGUuZW51bVwiO1xyXG5pbXBvcnQgeyBUcmFuc2FjdGlvblNlYXJjaFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZS90cmFuc2FjdGlvbi1zZWFyY2guc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1zZWFyY2gtcmVzdWx0JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLXNlYXJjaC1oZWFkZXItd3JhcHBlclwiPlxyXG4gICAgICA8Y28taW5wdXQtc2VhcmNoIGNsYXNzPVwidHJhbnNhY3Rpb24tc2VhcmNoLWdlbmVyYWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoUmVxdWVzdC5nZW5lcmFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1dhYXIgYmVuIGplIG5hYXIgb3Agem9laz8nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoc2VhcmNoKT1cInNlYXJjaFNlcnZpY2Uuc2VhcmNoVHJhbnNhY3Rpb25zKClcIj48L2NvLWlucHV0LXNlYXJjaD5cclxuICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInRyYW5zYWN0aW9uLXNlYXJjaC1maWx0ZXItYnV0dG9uXCIgW2xhYmVsXT1cIidGaWx0ZXInXCJcclxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZmlsdGVyQnV0dG9uQ2xpY2suZW1pdCgpXCI+PC9jby1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjby12aWV3LW1vZGUtYnV0dG9ucyBbc2hvd1ZpZXdNb2Rlc109XCJbdmlld01vZGVzLlRpbGVzLCB2aWV3TW9kZXMuR3JpZF1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICh2aWV3TW9kZUNoYW5nZSk9XCJhY3RpdmVWaWV3TW9kZSA9ICRldmVudFwiPjwvY28tdmlldy1tb2RlLWJ1dHRvbnM+XHJcbiAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdC1jb250ZW50LXRpbGVzLXdyYXBwZXJcIiAqbmdJZj1cImFjdGl2ZVZpZXdNb2RlID09PSB2aWV3TW9kZXMuVGlsZXNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLXRpbGVcIiAqbmdGb3I9XCJsZXQgdHJhbnNhY3Rpb24gb2Ygc2VhcmNoU2VydmljZS50cmFuc2FjdGlvbnNcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tdGlsZSBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIiAodGlsZUNsaWNrKT1cIm9uVGlsZUNsaWNrKHRyYW5zYWN0aW9uKVwiPjwvY28tdHJhbnNhY3Rpb24tdGlsZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2VhcmNoUmVzdWx0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgdmlld01vZGVzOiB0eXBlb2YgQ29udGVudFZpZXdNb2RlID0gQ29udGVudFZpZXdNb2RlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZmlsdGVyQnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvblNlYXJjaFZpZXc+ID0gbmV3IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvblNlYXJjaFZpZXc+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLXNlYXJjaC1yZXN1bHRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWN0aXZlVmlld01vZGU6IENvbnRlbnRWaWV3TW9kZSA9IENvbnRlbnRWaWV3TW9kZS5UaWxlcztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHNlYXJjaFNlcnZpY2U6IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uVGlsZUNsaWNrKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvblNlYXJjaFZpZXcpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25DbGljay5lbWl0KHRyYW5zYWN0aW9uKTtcclxuICB9XHJcbn1cclxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1zZWFyY2gvdHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdC90cmFuc2FjdGlvbi1zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUE0QmpGLE1BQU0sT0FBTyxnQ0FBZ0M7SUFpQjNDLFlBQ1MsYUFBdUMsRUFDdkMsZ0JBQWtDO1FBRGxDLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBbEIzQixTQUFJLEdBQWdCLElBQUksQ0FBQztRQUN6QixjQUFTLEdBQTJCLGVBQWUsQ0FBQztRQUc3RCxzQkFBaUIsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUdqRSxxQkFBZ0IsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFPbEcsbUJBQWMsR0FBb0IsZUFBZSxDQUFDLEtBQUssQ0FBQztJQU0vRCxDQUFDO0lBVk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVVNLFFBQVE7SUFDZixDQUFDO0lBRU0sa0JBQWtCLENBQUMsV0FBa0M7UUFDMUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs7WUF0REYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw4QkFBOEI7Z0JBQ3hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUEzQlEsd0JBQXdCO1lBRHhCLGdCQUFnQjs7O2dDQWlDdEIsTUFBTTsrQkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFRyYW5zYWN0aW9uU2VhcmNoVmlldyB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tc2VhcmNoLXZpZXcuYm9cIjtcclxuaW1wb3J0IHsgQ29udGVudFZpZXdNb2RlIH0gZnJvbSBcIi4uLy4uLy4uL2VudW0vY29udGVudC12aWV3LW1vZGUuZW51bVwiO1xyXG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIi4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7IEljb25DYWNoZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhbnNhY3Rpb25TZWFyY2hTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2VhcmNoLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1zZWFyY2gtaGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgPGNvLWlucHV0LXNlYXJjaCBjbGFzcz1cInRyYW5zYWN0aW9uLXNlYXJjaC1nZW5lcmFsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFJlcXVlc3QuZ2VuZXJhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidXYWFyIGJlbiBqZSBuYWFyIG9wIHpvZWs/J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHNlYXJjaCk9XCJzZWFyY2hTZXJ2aWNlLnNlYXJjaFRyYW5zYWN0aW9ucygpXCI+PC9jby1pbnB1dC1zZWFyY2g+XHJcbiAgICAgIDxjby1idXR0b24gY2xhc3M9XCJ0cmFuc2FjdGlvbi1zZWFyY2gtZmlsdGVyLWJ1dHRvblwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbi5CYXJzRmlsdGVyKVwiXHJcbiAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbHRlckJ1dHRvbkNsaWNrLmVtaXQoKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tdmlldy1tb2RlLWJ1dHRvbnMgW3Nob3dWaWV3TW9kZXNdPVwiW3ZpZXdNb2Rlcy5UaWxlcywgdmlld01vZGVzLkdyaWRdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAodmlld01vZGVDaGFuZ2UpPVwiYWN0aXZlVmlld01vZGUgPSAkZXZlbnRcIj48L2NvLXZpZXctbW9kZS1idXR0b25zPlxyXG4gICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLXNlYXJjaC1yZXN1bHQtY29udGVudC10aWxlcy13cmFwcGVyXCIgKm5nSWY9XCJhY3RpdmVWaWV3TW9kZSA9PT0gdmlld01vZGVzLlRpbGVzXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi10aWxlXCIgKm5nRm9yPVwibGV0IHRyYW5zYWN0aW9uIG9mIHNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLXRpbGUgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGlsZUNsaWNrKT1cIm9uVHJhbnNhY3Rpb25DbGljayh0cmFuc2FjdGlvbilcIj48L2NvLXRyYW5zYWN0aW9uLXRpbGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tc2VhcmNoLXJlc3VsdC1jb250ZW50LWdyaWQtd3JhcHBlclwiICpuZ0lmPVwiYWN0aXZlVmlld01vZGUgPT09IHZpZXdNb2Rlcy5HcmlkXCI+XHJcbiAgICAgIDxjby10cmFuc2FjdGlvbi1zZWFyY2gtZ3JpZCBbdHJhbnNhY3Rpb25zXT1cInNlYXJjaFNlcnZpY2UudHJhbnNhY3Rpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0cmFuc2FjdGlvbkNsaWNrKT1cIm9uVHJhbnNhY3Rpb25DbGljaygkZXZlbnQpXCI+PC9jby10cmFuc2FjdGlvbi1zZWFyY2gtZ3JpZD5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25TZWFyY2hSZXN1bHRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgcHVibGljIHJlYWRvbmx5IHZpZXdNb2RlczogdHlwZW9mIENvbnRlbnRWaWV3TW9kZSA9IENvbnRlbnRWaWV3TW9kZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGZpbHRlckJ1dHRvbkNsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbkNsaWNrOiBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb25TZWFyY2hWaWV3PiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb25TZWFyY2hWaWV3PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1zZWFyY2gtcmVzdWx0XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFjdGl2ZVZpZXdNb2RlOiBDb250ZW50Vmlld01vZGUgPSBDb250ZW50Vmlld01vZGUuVGlsZXM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHNlYXJjaFNlcnZpY2U6IFRyYW5zYWN0aW9uU2VhcmNoU2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uVHJhbnNhY3Rpb25DbGljayh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25TZWFyY2hWaWV3KTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uQ2xpY2suZW1pdCh0cmFuc2FjdGlvbik7XHJcbiAgfVxyXG59XHJcbiJdfQ==