@hmcts/ccpay-web-component 4.0.0-beta45 → 4.0.0-beta454

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 (203) hide show
  1. package/bundles/hmcts-ccpay-web-component.umd.js +6595 -2356
  2. package/bundles/hmcts-ccpay-web-component.umd.js.map +1 -1
  3. package/bundles/hmcts-ccpay-web-component.umd.min.js +1 -1
  4. package/bundles/hmcts-ccpay-web-component.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-ccpay-web-component.js +33 -25
  6. package/esm2015/lib/components/add-remission/add-remission.component.js +757 -140
  7. package/esm2015/lib/components/allocate-payments/allocate-payments.component.js +315 -312
  8. package/esm2015/lib/components/card-details/card-details.component.js +22 -57
  9. package/esm2015/lib/components/case-transactions/case-transactions.component.js +1069 -333
  10. package/esm2015/lib/components/error-banner/error-banner.component.js +5 -17
  11. package/esm2015/lib/components/fee-summary/fee-summary.component.js +245 -241
  12. package/esm2015/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +137 -158
  13. package/esm2015/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +184 -171
  14. package/esm2015/lib/components/page-not-found.component.js +3 -4
  15. package/esm2015/lib/components/payment-list/payment-list.component.js +22 -80
  16. package/esm2015/lib/components/payment-view/payment-view.component.js +269 -129
  17. package/esm2015/lib/components/pba-details/pba-details.component.js +5 -39
  18. package/esm2015/lib/components/process-refund/process-refund.component.js +314 -0
  19. package/esm2015/lib/components/processed-payments/processed-payments.component.js +72 -0
  20. package/esm2015/lib/components/refund-list/refund-list.component.js +140 -0
  21. package/esm2015/lib/components/refund-status/refund-status.component.js +487 -0
  22. package/esm2015/lib/components/refunds/refunds.component.js +23 -0
  23. package/esm2015/lib/components/reports/reports.component.js +117 -107
  24. package/esm2015/lib/components/status-history/status-history.component.js +28 -35
  25. package/esm2015/lib/components/table/table.component.js +187 -0
  26. package/esm2015/lib/components/unprocessed-payments/unprocessed-payments.component.js +178 -89
  27. package/esm2015/lib/interfaces/AddRemissionRequest.js +6 -7
  28. package/esm2015/lib/interfaces/AddRetroRemissionRequest.js +21 -0
  29. package/esm2015/lib/interfaces/AllocatePaymentRequest.js +11 -9
  30. package/esm2015/lib/interfaces/IAllocationPaymentsRequest.js +2 -3
  31. package/esm2015/lib/interfaces/IBSPayments.js +38 -35
  32. package/esm2015/lib/interfaces/ICardDetails.js +14 -13
  33. package/esm2015/lib/interfaces/IFee.js +44 -29
  34. package/esm2015/lib/interfaces/IOrderReferenceFee.js +25 -0
  35. package/esm2015/lib/interfaces/IPatchRefundAction.js +15 -0
  36. package/esm2015/lib/interfaces/IPayment.js +56 -55
  37. package/esm2015/lib/interfaces/IPaymentGroup.js +12 -11
  38. package/esm2015/lib/interfaces/IPaymentStatus.js +2 -3
  39. package/esm2015/lib/interfaces/IPaymentView.js +17 -0
  40. package/esm2015/lib/interfaces/IPayments.js +6 -5
  41. package/esm2015/lib/interfaces/IRefundAction.js +15 -0
  42. package/esm2015/lib/interfaces/IRefundList.js +29 -0
  43. package/esm2015/lib/interfaces/IRefundReasons.js +17 -0
  44. package/esm2015/lib/interfaces/IRefundRejectReason.js +15 -0
  45. package/esm2015/lib/interfaces/IRefundStatus.js +23 -0
  46. package/esm2015/lib/interfaces/IRemission.js +18 -17
  47. package/esm2015/lib/interfaces/IResubmitRefundRequest.js +21 -0
  48. package/esm2015/lib/interfaces/IStatusHistories.js +12 -11
  49. package/esm2015/lib/interfaces/IStatusHistory.js +14 -13
  50. package/esm2015/lib/interfaces/IssueRefundRequest.js +25 -0
  51. package/esm2015/lib/interfaces/PayhubAntennaRequest.js +28 -0
  52. package/esm2015/lib/interfaces/PaymentToPayhubRequest.js +7 -12
  53. package/esm2015/lib/interfaces/PostIssueRefundRetroRemission.js +17 -0
  54. package/esm2015/lib/interfaces/PostRefundRetroRemission.js +21 -0
  55. package/esm2015/lib/interfaces/RefundsRequest.js +21 -0
  56. package/esm2015/lib/interfaces/UnidentifiedPaymentsRequest.js +2 -3
  57. package/esm2015/lib/interfaces/UnsolicitedPaymentsRequest.js +2 -3
  58. package/esm2015/lib/payment-lib.component.js +112 -18
  59. package/esm2015/lib/payment-lib.module.js +33 -6
  60. package/esm2015/lib/payment-lib.service.js +18 -4
  61. package/esm2015/lib/pipes/capitalize.pipe.js +24 -0
  62. package/esm2015/lib/pipes/ccd-hyphens.pipe.js +3 -4
  63. package/esm2015/lib/pipes/key-value.pipe.js +3 -4
  64. package/esm2015/lib/pipes/sanitize-html.pipe.js +7 -5
  65. package/esm2015/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +52 -14
  66. package/esm2015/lib/services/card-details/card-details.service.js +19 -8
  67. package/esm2015/lib/services/case-transactions/case-transactions.service.js +19 -8
  68. package/esm2015/lib/services/orderslist.service.js +211 -0
  69. package/esm2015/lib/services/payment-list/payment-list.service.js +19 -8
  70. package/esm2015/lib/services/payment-view/payment-view.service.js +107 -12
  71. package/esm2015/lib/services/refunds/refunds.service.js +196 -0
  72. package/esm2015/lib/services/shared/error-handler.service.js +6 -4
  73. package/esm2015/lib/services/shared/httpclient/webcomponent.http.client.js +17 -8
  74. package/esm2015/lib/services/shared/logger/console-logger.service.js +7 -5
  75. package/esm2015/lib/services/shared/logger/logger.service.js +7 -5
  76. package/esm2015/lib/services/status-history/status-history.service.js +19 -8
  77. package/esm2015/lib/services/xl-file/xl-file.service.js +57 -50
  78. package/esm2015/public_api.js +1 -2
  79. package/esm5/hmcts-ccpay-web-component.js +33 -25
  80. package/esm5/lib/components/add-remission/add-remission.component.js +822 -47
  81. package/esm5/lib/components/allocate-payments/allocate-payments.component.js +328 -107
  82. package/esm5/lib/components/card-details/card-details.component.js +22 -9
  83. package/esm5/lib/components/case-transactions/case-transactions.component.js +1170 -85
  84. package/esm5/lib/components/error-banner/error-banner.component.js +3 -4
  85. package/esm5/lib/components/fee-summary/fee-summary.component.js +252 -57
  86. package/esm5/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.js +136 -45
  87. package/esm5/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.js +189 -60
  88. package/esm5/lib/components/page-not-found.component.js +3 -4
  89. package/esm5/lib/components/payment-list/payment-list.component.js +21 -8
  90. package/esm5/lib/components/payment-view/payment-view.component.js +318 -17
  91. package/esm5/lib/components/pba-details/pba-details.component.js +5 -6
  92. package/esm5/lib/components/process-refund/process-refund.component.js +336 -0
  93. package/esm5/lib/components/processed-payments/processed-payments.component.js +83 -0
  94. package/esm5/lib/components/refund-list/refund-list.component.js +143 -0
  95. package/esm5/lib/components/refund-status/refund-status.component.js +545 -0
  96. package/esm5/lib/components/refunds/refunds.component.js +29 -0
  97. package/esm5/lib/components/reports/reports.component.js +122 -25
  98. package/esm5/lib/components/status-history/status-history.component.js +27 -9
  99. package/esm5/lib/components/table/table.component.js +217 -0
  100. package/esm5/lib/components/unprocessed-payments/unprocessed-payments.component.js +188 -24
  101. package/esm5/lib/interfaces/AddRemissionRequest.js +5 -6
  102. package/esm5/lib/interfaces/AddRetroRemissionRequest.js +19 -0
  103. package/esm5/lib/interfaces/AllocatePaymentRequest.js +9 -8
  104. package/esm5/lib/interfaces/IAllocationPaymentsRequest.js +2 -3
  105. package/esm5/lib/interfaces/IBSPayments.js +38 -35
  106. package/esm5/lib/interfaces/ICardDetails.js +14 -13
  107. package/esm5/lib/interfaces/IFee.js +44 -29
  108. package/esm5/lib/interfaces/IOrderReferenceFee.js +25 -0
  109. package/esm5/lib/interfaces/IPatchRefundAction.js +15 -0
  110. package/esm5/lib/interfaces/IPayment.js +56 -55
  111. package/esm5/lib/interfaces/IPaymentGroup.js +12 -11
  112. package/esm5/lib/interfaces/IPaymentStatus.js +2 -3
  113. package/esm5/lib/interfaces/IPaymentView.js +17 -0
  114. package/esm5/lib/interfaces/IPayments.js +6 -5
  115. package/esm5/lib/interfaces/IRefundAction.js +15 -0
  116. package/esm5/lib/interfaces/IRefundList.js +29 -0
  117. package/esm5/lib/interfaces/IRefundReasons.js +17 -0
  118. package/esm5/lib/interfaces/IRefundRejectReason.js +15 -0
  119. package/esm5/lib/interfaces/IRefundStatus.js +23 -0
  120. package/esm5/lib/interfaces/IRemission.js +18 -17
  121. package/esm5/lib/interfaces/IResubmitRefundRequest.js +19 -0
  122. package/esm5/lib/interfaces/IStatusHistories.js +12 -11
  123. package/esm5/lib/interfaces/IStatusHistory.js +14 -13
  124. package/esm5/lib/interfaces/IssueRefundRequest.js +22 -0
  125. package/esm5/lib/interfaces/PayhubAntennaRequest.js +25 -0
  126. package/esm5/lib/interfaces/PaymentToPayhubRequest.js +6 -10
  127. package/esm5/lib/interfaces/PostIssueRefundRetroRemission.js +16 -0
  128. package/esm5/lib/interfaces/PostRefundRetroRemission.js +19 -0
  129. package/esm5/lib/interfaces/RefundsRequest.js +19 -0
  130. package/esm5/lib/interfaces/UnidentifiedPaymentsRequest.js +2 -3
  131. package/esm5/lib/interfaces/UnsolicitedPaymentsRequest.js +2 -3
  132. package/esm5/lib/payment-lib.component.js +84 -12
  133. package/esm5/lib/payment-lib.module.js +33 -6
  134. package/esm5/lib/payment-lib.service.js +25 -4
  135. package/esm5/lib/pipes/capitalize.pipe.js +32 -0
  136. package/esm5/lib/pipes/ccd-hyphens.pipe.js +3 -4
  137. package/esm5/lib/pipes/key-value.pipe.js +3 -4
  138. package/esm5/lib/pipes/sanitize-html.pipe.js +7 -5
  139. package/esm5/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.js +61 -14
  140. package/esm5/lib/services/card-details/card-details.service.js +19 -8
  141. package/esm5/lib/services/case-transactions/case-transactions.service.js +19 -8
  142. package/esm5/lib/services/orderslist.service.js +276 -0
  143. package/esm5/lib/services/payment-list/payment-list.service.js +19 -8
  144. package/esm5/lib/services/payment-view/payment-view.service.js +150 -13
  145. package/esm5/lib/services/refunds/refunds.service.js +236 -0
  146. package/esm5/lib/services/shared/error-handler.service.js +6 -4
  147. package/esm5/lib/services/shared/httpclient/webcomponent.http.client.js +17 -8
  148. package/esm5/lib/services/shared/logger/console-logger.service.js +7 -5
  149. package/esm5/lib/services/shared/logger/logger.service.js +7 -5
  150. package/esm5/lib/services/status-history/status-history.service.js +19 -8
  151. package/esm5/lib/services/xl-file/xl-file.service.js +63 -50
  152. package/esm5/public_api.js +1 -2
  153. package/fesm2015/hmcts-ccpay-web-component.js +4515 -2023
  154. package/fesm2015/hmcts-ccpay-web-component.js.map +1 -1
  155. package/fesm5/hmcts-ccpay-web-component.js +6828 -2424
  156. package/fesm5/hmcts-ccpay-web-component.js.map +1 -1
  157. package/hmcts-ccpay-web-component.d.ts +31 -22
  158. package/hmcts-ccpay-web-component.metadata.json +1 -1
  159. package/lib/components/add-remission/add-remission.component.d.ts +77 -3
  160. package/lib/components/allocate-payments/allocate-payments.component.d.ts +26 -9
  161. package/lib/components/case-transactions/case-transactions.component.d.ts +84 -4
  162. package/lib/components/fee-summary/fee-summary.component.d.ts +13 -1
  163. package/lib/components/mark-unidentified-payment/mark-unidentified-payment.component.d.ts +2 -0
  164. package/lib/components/mark-unsolicited-payment/mark-unsolicited-payment.component.d.ts +7 -0
  165. package/lib/components/payment-view/payment-view.component.d.ts +34 -1
  166. package/lib/components/process-refund/process-refund.component.d.ts +46 -0
  167. package/lib/components/processed-payments/processed-payments.component.d.ts +14 -0
  168. package/lib/components/refund-list/refund-list.component.d.ts +23 -0
  169. package/lib/components/refund-status/refund-status.component.d.ts +66 -0
  170. package/lib/components/refunds/refunds.component.d.ts +5 -0
  171. package/lib/components/reports/reports.component.d.ts +5 -1
  172. package/lib/components/status-history/status-history.component.d.ts +1 -0
  173. package/lib/components/table/table.component.d.ts +35 -0
  174. package/lib/components/unprocessed-payments/unprocessed-payments.component.d.ts +25 -4
  175. package/lib/interfaces/AddRemissionRequest.d.ts +2 -2
  176. package/lib/interfaces/AddRetroRemissionRequest.d.ts +5 -0
  177. package/lib/interfaces/AllocatePaymentRequest.d.ts +16 -3
  178. package/lib/interfaces/IBSPayments.d.ts +1 -0
  179. package/lib/interfaces/IFee.d.ts +7 -0
  180. package/lib/interfaces/IOrderReferenceFee.d.ts +9 -0
  181. package/lib/interfaces/IPatchRefundAction.d.ts +4 -0
  182. package/lib/interfaces/IPaymentView.d.ts +5 -0
  183. package/lib/interfaces/IRefundAction.d.ts +4 -0
  184. package/lib/interfaces/IRefundList.d.ts +14 -0
  185. package/lib/interfaces/IRefundReasons.d.ts +5 -0
  186. package/lib/interfaces/IRefundRejectReason.d.ts +4 -0
  187. package/lib/interfaces/IRefundStatus.d.ts +8 -0
  188. package/lib/interfaces/IResubmitRefundRequest.d.ts +5 -0
  189. package/lib/interfaces/IssueRefundRequest.d.ts +6 -0
  190. package/lib/interfaces/PayhubAntennaRequest.d.ts +7 -0
  191. package/lib/interfaces/PaymentToPayhubRequest.d.ts +2 -3
  192. package/lib/interfaces/PostIssueRefundRetroRemission.d.ts +4 -0
  193. package/lib/interfaces/PostRefundRetroRemission.d.ts +5 -0
  194. package/lib/interfaces/RefundsRequest.d.ts +5 -0
  195. package/lib/payment-lib.component.d.ts +28 -3
  196. package/lib/payment-lib.service.d.ts +3 -0
  197. package/lib/pipes/capitalize.pipe.d.ts +5 -0
  198. package/lib/services/bulk-scaning-payment/bulk-scaning-payment.service.d.ts +2 -0
  199. package/lib/services/orderslist.service.d.ts +40 -0
  200. package/lib/services/payment-view/payment-view.service.d.ts +17 -1
  201. package/lib/services/refunds/refunds.service.d.ts +30 -0
  202. package/lib/services/xl-file/xl-file.service.d.ts +6 -6
  203. package/package.json +1 -1
@@ -0,0 +1,217 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { Component, ViewChild, Input, ChangeDetectorRef } from '@angular/core';
6
+ import { PaymentLibComponent } from '../../payment-lib.component';
7
+ import { MatTableDataSource } from '@angular/material/table';
8
+ import { MatSort } from '@angular/material/sort';
9
+ import { MatPaginator } from '@angular/material/paginator';
10
+ import { OrderslistService } from '../../services/orderslist.service';
11
+ var TableComponent = /** @class */ (function () {
12
+ function TableComponent(paymentLibComponent, cdRef, OrderslistService) {
13
+ this.paymentLibComponent = paymentLibComponent;
14
+ this.cdRef = cdRef;
15
+ this.OrderslistService = OrderslistService;
16
+ // displayedColumns = ['ccdCaseNumber', 'refundReference', 'reason', 'createBy', 'updateDate', 'Action'];
17
+ this.displayedColumns = ['ccd_case_number', 'refund_reference', 'reason', 'user_full_name', 'date_updated', 'Action'];
18
+ }
19
+ /**
20
+ * @return {?}
21
+ */
22
+ TableComponent.prototype.ngOnInit = /**
23
+ * @return {?}
24
+ */
25
+ function () {
26
+ this.errorMessage = this.errorMessage;
27
+ if (this.STATUS.toLowerCase() === 'sent for approval') {
28
+ this.isApprovalFlow = true;
29
+ }
30
+ else {
31
+ this.isApprovalFlow = false;
32
+ }
33
+ this.refundList = this.DATASOURCE;
34
+ this.dataSource = new MatTableDataSource(this.refundList);
35
+ this.actualcount = this.dataSource.data.length;
36
+ if (this.refundList !== undefined) {
37
+ this.userLst = this.refundList.reduce((/**
38
+ * @param {?} r
39
+ * @param {?} __1
40
+ * @return {?}
41
+ */
42
+ function (r, _a) {
43
+ var user_full_name = _a.user_full_name;
44
+ return (r[user_full_name] = '', r);
45
+ }), {});
46
+ this.userLst = Object.keys(this.userLst);
47
+ }
48
+ };
49
+ /**
50
+ * Set the paginator and sort after the view init since this component will
51
+ * be able to query its view for the initialized paginator and sort.
52
+ */
53
+ /**
54
+ * Set the paginator and sort after the view init since this component will
55
+ * be able to query its view for the initialized paginator and sort.
56
+ * @return {?}
57
+ */
58
+ TableComponent.prototype.ngAfterViewInit = /**
59
+ * Set the paginator and sort after the view init since this component will
60
+ * be able to query its view for the initialized paginator and sort.
61
+ * @return {?}
62
+ */
63
+ function () {
64
+ // this.dataSource.sortingDataAccessor = (item, property) => {
65
+ // switch(property) {
66
+ // case 'ccdCaseNumber': return item.ccdCaseNumber;
67
+ // case 'createBy': return item.createBy;
68
+ // case 'updateDate': return item.updateDate;
69
+ // case 'refundReference': return item.refundReference;
70
+ // default: return item[property];
71
+ // }
72
+ // };
73
+ // // this.dataSource.sortingDataAccessor = ((data: any, sortHeaderId: string) => {
74
+ // // let toReturn: any;
75
+ // // if (sortHeaderId === 'updateDate')
76
+ // // toReturn = data[sortHeaderId];
77
+ // // else
78
+ // // toReturn = data.location[sortHeaderId];
79
+ // // if (typeof toReturn === 'string')
80
+ // // toReturn = toReturn.toLowerCase();
81
+ // // return toReturn;
82
+ // // });
83
+ // // this.dataSource.sort = this.sort;
84
+ // // console.log('one');
85
+ // // console.log(this.dataSource);
86
+ this.dataSource.sort = this.sort;
87
+ /** @type {?} */
88
+ var sortState = { active: 'date_updated', direction: 'desc' };
89
+ this.sort.active = sortState.active;
90
+ this.sort.direction = sortState.direction;
91
+ this.sort.sortChange.emit(sortState);
92
+ this.dataSource.paginator = this.paginator;
93
+ // this.dataSource.sort = this.sort;
94
+ this.cdRef.detectChanges();
95
+ };
96
+ /**
97
+ * @param {?} filterValue
98
+ * @return {?}
99
+ */
100
+ TableComponent.prototype.applyFilter = /**
101
+ * @param {?} filterValue
102
+ * @return {?}
103
+ */
104
+ function (filterValue) {
105
+ filterValue = filterValue.trim(); // Remove whitespace
106
+ filterValue = filterValue.toLowerCase(); // Datasource defaults to lowercase matches
107
+ this.dataSource.filter = filterValue;
108
+ };
109
+ /**
110
+ * @param {?} args
111
+ * @return {?}
112
+ */
113
+ TableComponent.prototype.selectchange = /**
114
+ * @param {?} args
115
+ * @return {?}
116
+ */
117
+ function (args) {
118
+ this.dataSource.filter = args.target.value;
119
+ this.actualcount = this.dataSource.data.length;
120
+ };
121
+ /**
122
+ * @param {?} refundReference
123
+ * @param {?} refundDate
124
+ * @return {?}
125
+ */
126
+ TableComponent.prototype.goToRefundProcessComponent = /**
127
+ * @param {?} refundReference
128
+ * @param {?} refundDate
129
+ * @return {?}
130
+ */
131
+ function (refundReference, refundDate) {
132
+ this.paymentLibComponent.refundlistsource = refundDate;
133
+ this.paymentLibComponent.refundReference = refundReference;
134
+ this.paymentLibComponent.viewName = 'process-refund';
135
+ };
136
+ /**
137
+ * @param {?} refundReference
138
+ * @param {?} refundData
139
+ * @return {?}
140
+ */
141
+ TableComponent.prototype.goToRefundViewComponent = /**
142
+ * @param {?} refundReference
143
+ * @param {?} refundData
144
+ * @return {?}
145
+ */
146
+ function (refundReference, refundData) {
147
+ this.OrderslistService.setRefundView(refundData);
148
+ this.paymentLibComponent.viewName = 'refundstatuslist';
149
+ this.paymentLibComponent.CCD_CASE_NUMBER = refundData.ccd_case_number;
150
+ this.paymentLibComponent.isRefundStatusView = true;
151
+ this.paymentLibComponent.isCallFromRefundList = true;
152
+ };
153
+ TableComponent.decorators = [
154
+ { type: Component, args: [{
155
+ selector: 'ccpay-table',
156
+ template: "<div class=\"add-remission\">\n <div *ngIf=\"errorMessage\">\n <div class=\"error-summary\" role=\"group\" aria-labelledby=\"failure-error-summary-heading\" tabindex=\"-1\">\n <h2 class=\"heading-medium error-summary-heading\" id=\"failure-error-summary-heading\">\n Error in processing the request\n </h2>\n <div class=\"govuk-error-summary__body\">\n {{ errorMessage }}\n </div>\n </div>\n </div>\n\n<div *ngIf=\"dataSource.data.length > 0\" class=\"govuk-form-group\" style=\"float: right\">\n <label class=\"govuk-label dropdpwn\" for=\"sort\" >\n Filter by caseworker:\n </label>\n <select class=\"govuk-select\" id=\"sort\" name=\"sort\" (change)=\"selectchange($event)\">\n <option value=\"\" selected='selected'>All caseworkers</option>\n <option *ngFor=\"let name of userLst;\" value=\"{{name}}\">{{name}}</option>\n </select>\n </div>\n \n<div *ngIf=\"dataSource.data.length > 0\" class=\"example-container mat-elevation-z8\">\n\n <mat-table [dataSource]=\"dataSource\" matSort>\n\n <ng-container matColumnDef=\"ccd_case_number\">\n <mat-header-cell *matHeaderCellDef mat-sort-header>Case ID </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.ccd_case_number | ccdHyphens }} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"refund_reference\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> Refund reference </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.refund_reference}} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"reason\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> Reason </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" class=\"whitespace-inherit\"> {{row.reason}} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"user_full_name\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> Submitted by </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" class=\"whitespace-inherit\"> {{row.user_full_name }} </mat-cell>\n </ng-container>\n\n <ng-container matColumnDef=\"date_updated\">\n <mat-header-cell *matHeaderCellDef mat-sort-header> Date updated </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" class=\"whitespace-inherit\"> {{row.date_updated | date:'d MMMM yyyy'}} </mat-cell>\n </ng-container>\n\n <ng-container *ngIf=\"isApprovalFlow\" matColumnDef=\"Action\">\n <mat-header-cell *matHeaderCellDef> Action </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\" > <a href=\"\">Review case</a>&nbsp;<a href=\"javascript:void(0)\" (click)=\"goToRefundProcessComponent(row.refund_reference, row)\">Process refund</a></mat-cell>\n </ng-container>\n \n <ng-container *ngIf=\"!isApprovalFlow\" matColumnDef=\"Action\">\n <mat-header-cell *matHeaderCellDef > Action </mat-header-cell>\n <mat-cell *matCellDef=\"let row\" [style.color]=\"row.color\"> <a href=\"javascript:void(0)\" (click)=\"goToRefundViewComponent(row.refund_reference, row)\">Review refund</a></mat-cell>\n </ng-container>\n\n <mat-header-row *matHeaderRowDef=\"displayedColumns\"></mat-header-row>\n <mat-row *matRowDef=\"let row; columns: displayedColumns;\">\n </mat-row>\n </mat-table>\n <mat-paginator [pageSizeOptions]=\"[5, 10, 25, 100]\"></mat-paginator>\n</div>\n\n<div class=\"govuk-label dropdpwn\" *ngIf=\"dataSource.data.length === 0\">No records to display</div>\n",
157
+ styles: [".mat-header-row{min-height:27px}.mat-cell{padding:0 10px 0 0;text-align:left;word-wrap:break-word;white-space:inherit!important;font-size:19px;line-height:25px;font-family:nta,Arial,sans-serif;font-weight:400}.mat-table{color:#0b0c0c;display:table;font-family:nta,Arial,sans-serif;-webkit-font-smoothing:antialiased;margin-bottom:1px;box-sizing:border-box;text-indent:initial;border-spacing:0;border-collapse:collapse;font-size:1.1875rem;line-height:1.31578947;table-layout:fixed;width:102%}.mat-header-cell{text-align:left;font-weight:700;padding:10px 10px 10px 0;word-wrap:break-word;font-size:19px;line-height:25px;color:#005ea5;cursor:pointer;font-family:inherit}.dropdpwn{display:inline-block;margin-right:10px;font-size:19px}.mat-column-ccdCaseNumber{flex:3em}.mat-column-refundReference{flex:6em}.mat-column-reason{flex:2em}.govuk-select{font-size:19px;font-weight:400}"]
158
+ }] }
159
+ ];
160
+ /** @nocollapse */
161
+ TableComponent.ctorParameters = function () { return [
162
+ { type: PaymentLibComponent },
163
+ { type: ChangeDetectorRef },
164
+ { type: OrderslistService }
165
+ ]; };
166
+ TableComponent.propDecorators = {
167
+ DATASOURCE: [{ type: Input, args: ['DATASOURCE',] }],
168
+ STATUS: [{ type: Input, args: ['STATUS',] }],
169
+ errorMessage: [{ type: Input, args: ['errorMessage',] }],
170
+ paginator: [{ type: ViewChild, args: [MatPaginator,] }],
171
+ sort: [{ type: ViewChild, args: [MatSort,] }]
172
+ };
173
+ return TableComponent;
174
+ }());
175
+ export { TableComponent };
176
+ if (false) {
177
+ /** @type {?} */
178
+ TableComponent.prototype.DATASOURCE;
179
+ /** @type {?} */
180
+ TableComponent.prototype.STATUS;
181
+ /** @type {?} */
182
+ TableComponent.prototype.errorMessage;
183
+ /** @type {?} */
184
+ TableComponent.prototype.isApprovalFlow;
185
+ /** @type {?} */
186
+ TableComponent.prototype.displayedColumns;
187
+ /** @type {?} */
188
+ TableComponent.prototype.dataSource;
189
+ /** @type {?} */
190
+ TableComponent.prototype.userLst;
191
+ /** @type {?} */
192
+ TableComponent.prototype.actualcount;
193
+ /** @type {?} */
194
+ TableComponent.prototype.count;
195
+ /** @type {?} */
196
+ TableComponent.prototype.refundList;
197
+ /** @type {?} */
198
+ TableComponent.prototype.paginator;
199
+ /** @type {?} */
200
+ TableComponent.prototype.sort;
201
+ /**
202
+ * @type {?}
203
+ * @private
204
+ */
205
+ TableComponent.prototype.paymentLibComponent;
206
+ /**
207
+ * @type {?}
208
+ * @private
209
+ */
210
+ TableComponent.prototype.cdRef;
211
+ /**
212
+ * @type {?}
213
+ * @private
214
+ */
215
+ TableComponent.prototype.OrderslistService;
216
+ }
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL2NjcGF5LXdlYi1jb21wb25lbnQvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEQsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBR3RFO0lBc0JFLHdCQUNVLG1CQUF3QyxFQUN4QyxLQUF3QixFQUN4QixpQkFBb0M7UUFGcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1COztRQWI5QyxxQkFBZ0IsR0FBRyxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFjOUcsQ0FBQzs7OztJQUVKLGlDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssbUJBQW1CLEVBQUU7WUFDcEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7U0FDNUI7YUFBTTtZQUNKLElBQUksQ0FBQyxjQUFj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QixDQUFDO0lBQ3ZELENBQUM7Ozs7OztJQUVELGdEQUF1Qjs7Ozs7SUFBdkIsVUFBd0IsZUFBdUIsRUFBRSxVQUF1QjtRQUN0RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEdBQUMsa0JBQWtCLENBQUM7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFDO1FBQ3RFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDbkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUN2RCxDQUFDOztnQkF4R0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixpbEhBQXFDOztpQkFFdEM7Ozs7Z0JBYk8sbUJBQW1CO2dCQURVLGlCQUFpQjtnQkFPN0MsaUJBQWlCOzs7NkJBU3ZCLEtBQUssU0FBQyxZQUFZO3lCQUNsQixLQUFLLFNBQUMsUUFBUTsrQkFDZCxLQUFLLFNBQUMsY0FBYzs0QkFXcEIsU0FBUyxTQUFDLFlBQVk7dUJBQ3RCLFNBQVMsU0FBQyxPQUFPOztJQXFGcEIscUJBQUM7Q0FBQSxBQXpHRCxJQXlHQztTQXBHWSxjQUFjOzs7SUFDekIsb0NBQXVDOztJQUN2QyxnQ0FBZ0M7O0lBQ2hDLHNDQUE0Qzs7SUFDNUMsd0NBQXdCOztJQUd4QiwwQ0FBaUg7O0lBQ2pILG9DQUFvQzs7SUFDcEMsaUNBQVE7O0lBQ1IscUNBQW9COztJQUNwQiwrQkFBYzs7SUFDZCxvQ0FBMEI7O0lBRTFCLG1DQUFpRDs7SUFDakQsOEJBQWtDOzs7OztJQUdoQyw2Q0FBZ0Q7Ozs7O0lBQ2hELCtCQUFnQzs7Ozs7SUFDaEMsMkNBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIFZpZXdDaGlsZCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGF5bWVudExpYkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vcGF5bWVudC1saWIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xuaW1wb3J0IHtNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQge1NvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7TWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IElSZWZ1bmRMaXN0IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9JUmVmdW5kTGlzdCc7XG5pbXBvcnQgeyBPcmRlcnNsaXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL29yZGVyc2xpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBUSElTX0VYUFIgfSBmcm9tICdAYW5ndWxhci9jb21waWxlci9zcmMvb3V0cHV0L291dHB1dF9hc3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY3BheS10YWJsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYmxlLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgnREFUQVNPVVJDRScpIERBVEFTT1VSQ0U6IGFueVtdO1xuICBASW5wdXQoJ1NUQVRVUycpIFNUQVRVUzogc3RyaW5nO1xuICBASW5wdXQoJ2Vycm9yTWVzc2FnZScpIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuICBpc0FwcHJvdmFsRmxvdzogYm9vbGVhbjtcbiAgXG4gIC8vIGRpc3BsYXllZENvbHVtbnMgPSBbJ2NjZENhc2VOdW1iZXInLCAncmVmdW5kUmVmZXJlbmNlJywgJ3JlYXNvbicsICdjcmVhdGVCeScsICd1cGRhdGVEYXRlJywgJ0FjdGlvbiddO1xuICBkaXNwbGF5ZWRDb2x1bW5zID0gWydjY2RfY2FzZV9udW1iZXInLCAncmVmdW5kX3JlZmVyZW5jZScsICdyZWFzb24nLCAndXNlcl9mdWxsX25hbWUnLCAnZGF0ZV91cGRhdGVkJywgJ0FjdGlvbiddO1xuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8YW55PjtcbiAgdXNlckxzdDtcbiAgYWN0dWFsY291bnQ6IG51bWJlcjtcbiAgY291bnQ6IG51bWJlcjtcbiAgcmVmdW5kTGlzdDogSVJlZnVuZExpc3RbXTtcblxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvcikgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgc29ydDogTWF0U29ydDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBheW1lbnRMaWJDb21wb25lbnQ6IFBheW1lbnRMaWJDb21wb25lbnQsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBPcmRlcnNsaXN0U2VydmljZTogT3JkZXJzbGlzdFNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkgeyBcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuZXJyb3JNZXNzYWdlO1xuICAgIGlmKHRoaXMuU1RBVFVTLnRvTG93ZXJDYXNlKCkgPT09ICdzZW50IGZvciBhcHByb3ZhbCcpIHtcbiAgICAgIHRoaXMuaXNBcHByb3ZhbEZsb3cgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgdGhpcy5pc0FwcHJvdmFsRmxvdyA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnJlZnVuZExpc3QgPSB0aGlzLkRBVEFTT1VSQ0U7XG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLnJlZnVuZExpc3QpO1xuICAgIHRoaXMuYWN0dWFsY291bnQgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGg7XG4gICAgaWYoIHRoaXMucmVmdW5kTGlzdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdGhpcy51c2VyTHN0ID0gdGhpcy5yZWZ1bmRMaXN0LnJlZHVjZSgocix7dXNlcl9mdWxsX25hbWV9KSA9PiAoclt1c2VyX2Z1bGxfbmFtZV09JycsIHIpICwge30pO1xuICAgICB0aGlzLnVzZXJMc3QgPSBPYmplY3Qua2V5cyh0aGlzLnVzZXJMc3QpO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogU2V0IHRoZSBwYWdpbmF0b3IgYW5kIHNvcnQgYWZ0ZXIgdGhlIHZpZXcgaW5pdCBzaW5jZSB0aGlzIGNvbXBvbmVudCB3aWxsXG4gICAqIGJlIGFibGUgdG8gcXVlcnkgaXRzIHZpZXcgZm9yIHRoZSBpbml0aWFsaXplZCBwYWdpbmF0b3IgYW5kIHNvcnQuXG4gICAqL1xuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgLy8gdGhpcy5kYXRhU291cmNlLnNvcnRpbmdEYXRhQWNjZXNzb3IgPSAoaXRlbSwgcHJvcGVydHkpID0+IHtcbiAgICAvLyAgIHN3aXRjaChwcm9wZXJ0eSkge1xuICAgIC8vICAgICBjYXNlICdjY2RDYXNlTnVtYmVyJzogcmV0dXJuIGl0ZW0uY2NkQ2FzZU51bWJlcjtcbiAgICAvLyAgICAgIGNhc2UgJ2NyZWF0ZUJ5JzogcmV0dXJuIGl0ZW0uY3JlYXRlQnk7XG4gICAgLy8gICAgICBjYXNlICd1cGRhdGVEYXRlJzogcmV0dXJuIGl0ZW0udXBkYXRlRGF0ZTtcbiAgICAvLyAgICAgIGNhc2UgJ3JlZnVuZFJlZmVyZW5jZSc6IHJldHVybiBpdGVtLnJlZnVuZFJlZmVyZW5jZTtcbiAgICAvLyAgICAgIGRlZmF1bHQ6IHJldHVybiBpdGVtW3Byb3BlcnR5XTtcbiAgICAvLyAgIH1cbiAgICAvLyB9O1xuICAgIC8vIC8vIHRoaXMuZGF0YVNvdXJjZS5zb3J0aW5nRGF0YUFjY2Vzc29yID0gKChkYXRhOiBhbnksIHNvcnRIZWFkZXJJZDogc3RyaW5nKSA9PiB7XG4gICAgLy8gLy8gICBsZXQgdG9SZXR1cm46IGFueTtcbiAgICAvLyAvLyAgIGlmIChzb3J0SGVhZGVySWQgPT09ICd1cGRhdGVEYXRlJylcbiAgICAvLyAvLyAgICAgdG9SZXR1cm4gPSBkYXRhW3NvcnRIZWFkZXJJZF07XG4gICAgLy8gLy8gICBlbHNlXG4gICAgLy8gLy8gICAgIHRvUmV0dXJuID0gZGF0YS5sb2NhdGlvbltzb3J0SGVhZGVySWRdO1xuICAgIC8vIC8vICAgaWYgKHR5cGVvZiB0b1JldHVybiA9PT0gJ3N0cmluZycpXG4gICAgLy8gLy8gICAgIHRvUmV0dXJuID0gdG9SZXR1cm4udG9Mb3dlckNhc2UoKTtcbiAgICAvLyAvLyAgIHJldHVybiB0b1JldHVybjtcbiAgICAvLyAvLyB9KTtcblxuICAgIC8vIC8vIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xuICAgIC8vIC8vIGNvbnNvbGUubG9nKCdvbmUnKTtcbiAgICAvLyAvLyBjb25zb2xlLmxvZyh0aGlzLmRhdGFTb3VyY2UpO1xuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xuXG4gICAgY29uc3Qgc29ydFN0YXRlOiBTb3J0ID0ge2FjdGl2ZTogJ2RhdGVfdXBkYXRlZCcsIGRpcmVjdGlvbjogJ2Rlc2MnfTtcbiAgICB0aGlzLnNvcnQuYWN0aXZlID0gc29ydFN0YXRlLmFjdGl2ZTtcbiAgICB0aGlzLnNvcnQuZGlyZWN0aW9uID0gc29ydFN0YXRlLmRpcmVjdGlvbjtcbiAgICB0aGlzLnNvcnQuc29ydENoYW5nZS5lbWl0KHNvcnRTdGF0ZSk7XG4gICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xuICAgIC8vIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgYXBwbHlGaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xuICAgIGZpbHRlclZhbHVlID0gZmlsdGVyVmFsdWUudHJpbSgpOyAvLyBSZW1vdmUgd2hpdGVzcGFjZVxuICAgIGZpbHRlclZhbHVlID0gZmlsdGVyVmFsdWUudG9Mb3dlckNhc2UoKTsgLy8gRGF0YXNvdXJjZSBkZWZhdWx0cyB0byBsb3dlcmNhc2UgbWF0Y2hlc1xuICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSBmaWx0ZXJWYWx1ZTtcbiAgfVxuXG4gIHNlbGVjdGNoYW5nZShhcmdzKXsgXG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9IGFyZ3MudGFyZ2V0LnZhbHVlO1xuICAgIHRoaXMuYWN0dWFsY291bnQgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5sZW5ndGg7XG4gIH0gXG4gIGdvVG9SZWZ1bmRQcm9jZXNzQ29tcG9uZW50KHJlZnVuZFJlZmVyZW5jZTogc3RyaW5nLCByZWZ1bmREYXRlOiBJUmVmdW5kTGlzdCApIHtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQucmVmdW5kbGlzdHNvdXJjZSA9IHJlZnVuZERhdGU7XG4gICAgdGhpcy5wYXltZW50TGliQ29tcG9uZW50LnJlZnVuZFJlZmVyZW5jZSA9IHJlZnVuZFJlZmVyZW5jZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWUgPSAncHJvY2Vzcy1yZWZ1bmQnO1xuICB9XG5cbiAgZ29Ub1JlZnVuZFZpZXdDb21wb25lbnQocmVmdW5kUmVmZXJlbmNlOiBzdHJpbmcsIHJlZnVuZERhdGE6IElSZWZ1bmRMaXN0ICkge1xuICAgIHRoaXMuT3JkZXJzbGlzdFNlcnZpY2Uuc2V0UmVmdW5kVmlldyhyZWZ1bmREYXRhKTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQudmlld05hbWU9J3JlZnVuZHN0YXR1c2xpc3QnO1xuICAgIHRoaXMucGF5bWVudExpYkNvbXBvbmVudC5DQ0RfQ0FTRV9OVU1CRVIgPSByZWZ1bmREYXRhLmNjZF9jYXNlX251bWJlcjtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNSZWZ1bmRTdGF0dXNWaWV3ID0gdHJ1ZTtcbiAgICB0aGlzLnBheW1lbnRMaWJDb21wb25lbnQuaXNDYWxsRnJvbVJlZnVuZExpc3QgPSB0cnVlO1xuICB9XG59XG4iXX0=