modal-step-view.component.js
42.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, EventEmitter, Output, ViewChild } from '@angular/core';
import { ModalDirective } from 'ngx-bootstrap';
import { Common } from '../_services/common.service';
import { Request } from '../_services/request.service';
export class ModalStepViewComponent {
/**
* @param {?} request
* @param {?} common
*/
constructor(request, common) {
this.request = request;
this.common = common;
this.onUpdateModal = new EventEmitter();
this.submitted = false;
this.title = 'สถานะขั้นตอน';
this.selectList = [];
this.list = [];
this.modalConfig = {
ignoreBackdropClick: true
};
this.selectedStep = {};
this.isMore = false;
this.moreField = [];
this.stepData = {};
this.lastStep = '';
this.stepName = '';
this.isSend = false;
this.isRecieve = false;
this.sendList = [];
this.recieveList = [];
}
/**
* @return {?}
*/
ngOnInit() {
}
/**
* @param {?=} options
* @return {?}
*/
open(options) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
console.log(options);
this.stepData = {};
if (options) {
this.title = options.option.title || 'สถานะขั้นตอน';
this.stepName = options.data.step_name || '';
this.stepData = JSON.parse(JSON.stringify(options.data));
this.downloadToken = options.downloadToken;
// ต้องเปลี่ยนเป็นเรียก api
if (this.stepData.step_id) {
this.selectList = yield this.request.get('/db/ct_step?_where=(id,eq,' + this.stepData.step_id + ')');
/** @type {?} */
const step = this.selectList[0];
if (step.flag) {
for (let i = 0; i < step.flag.length; i++) {
/** @type {?} */
const flag = step.flag.charAt(i);
/** @type {?} */
const ct_step_flag = yield this.request.get('/db/ct_step_flag?_where=(flag,eq,' + flag + ')');
/** @type {?} */
const newField = ct_step_flag[0];
this.moreField.push(newField);
}
this.isMore = true;
}
else {
this.isMore = false;
if (step.type_id === 8 || step.type_id === 13) {
/** @type {?} */
let filter = {
filter: {
ct_step_data_id: this.stepData.id
},
order_by: ["is_important", "send_book_no", "created_at"]
};
/** @type {?} */
const sendDataList = yield this.request.post('/search/v_ct_step_sent', filter);
this.sendList = sendDataList.resultData;
this.isSend = true;
this.isRecieve = false;
}
else if (step.type_id === 9 || step.type_id === 14) {
/** @type {?} */
let filter = {
filter: {
ct_step_data_id: this.stepData.id
},
order_by: ["is_important", "send_book_no", "created_at"]
};
/** @type {?} */
const recieveDataList = yield this.request.post('/search/v_ct_step_sent', filter);
this.recieveList = recieveDataList.resultData;
this.isRecieve = true;
this.isSend = false;
}
else {
this.isRecieve = false;
this.isSend = false;
}
}
}
}
this.modal.show();
});
}
/**
* @return {?}
*/
closeModal() {
this.submitted = false;
this.selectList = [];
this.list = [];
this.selectedStep = {};
this.isMore = false;
this.isSend = false;
this.isRecieve = false;
this.moreField = [];
this.stepData = {};
this.lastStep = '';
this.modal.hide();
}
/**
* @param {?} data
* @return {?}
*/
getFieldId(data) {
/** @type {?} */
let id = '';
if (data.type === 'text') {
id += 'txtView';
}
else if (data.type === 'datetime') {
id += 'txtView';
}
/** @type {?} */
const field = data.field_name.charAt(0).toLocaleUpperCase() + data.field_name.substring(1);
id += field;
return id;
}
/**
* @param {?} data
* @return {?}
*/
getRowIndex(data) {
if (!data.data) {
return '';
}
/** @type {?} */
const no = data.row.dataIndex + 1;
return no;
}
/**
* @param {?} e
* @return {?}
*/
onCellPrepared(e) {
if (e.rowType === 'data') {
for (const i in e.component.columns) {
if (e.column.dataField === e.component.columns[i]) {
e.cellElement.accessKey = e.component.columns[i];
}
}
}
}
/**
* @param {?} data
* @return {?}
*/
isImportant(data) {
return data.is_important ? "สำคัญ" : "";
}
/**
* @param {?} data
* @return {?}
*/
getImageLink(data) {
return data.url + '?downloadToken=' + this.downloadToken;
}
}
ModalStepViewComponent.decorators = [
{ type: Component, args: [{
selector: 'modal-step-view',
template: "<div class=\"modal fade\" bsModal #modal=\"bs-modal\" [config]=\"{backdrop: 'static'}\"\n tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"dialog-static-name\">\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h4 id=\"dialog-static-name\" class=\"modal-title pull-left\"><label>{{title}}</label></h4>\n <button type=\"button\" class=\"close pull-right\" aria-label=\"Close\" (click)=\"closeModal()\">\n <span aria-hidden=\"true\">×</span>\n </button>\n </div>\n <div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-lg-12\">\n <div class=\"m-portlet__body\">\n <div class=\"row\">\n <!-- \u0E2A\u0E16\u0E32\u0E19\u0E30\u0E43\u0E2B\u0E21\u0E48 -->\n <!--<div class=\"col-sm-2\">-->\n <!--<span>\u0E2A\u0E16\u0E32\u0E19\u0E30 :</span>-->\n <!--</div>-->\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E2A\u0E16\u0E32\u0E19\u0E30\u0E01\u0E32\u0E23\u0E15\u0E34\u0E14\u0E15\u0E32\u0E21</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"txtViewStepName\" [(ngModel)]=\"stepName\" disabled>\n </div>\n <!-- \u0E27\u0E31\u0E19\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23 -->\n <!--<div class=\"col-sm-2\">-->\n <!--<span>\u0E27\u0E31\u0E19\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23 :</span>-->\n <!--</div>-->\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E27\u0E31\u0E19\u0E14\u0E33\u0E40\u0E19\u0E34\u0E19\u0E01\u0E32\u0E23</label>\n <soc-date-box [id]=\"'txtStepDate'\" [(value)]=\"stepData.step_date\" [disabled]=\"true\"></soc-date-box>\n </div>\n </div>\n <div class=\"row\" *ngIf=\"stepData.system_id === 23\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E40\u0E25\u0E02\u0E17\u0E35\u0E48\u0E23\u0E31\u0E1A \u0E2A\u0E25\u0E04.</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"soc_recv_no\" [(ngModel)]=\"stepData.soc_recv_no\" [disabled]=\"true\">\n </div>\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E23\u0E31\u0E1A \u0E2A\u0E25\u0E04.</label>\n <soc-date-box [id]=\"'soc_recv_date'\" [(value)]=\"stepData.soc_recv_date\"[disabled]=\"true\" ></soc-date-box>\n </div>\n <br>\n </div>\n <div class=\"row\" *ngIf=\"stepData.system_id === 23\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E40\u0E25\u0E02\u0E17\u0E35\u0E48\u0E23\u0E31\u0E1A \u0E01\u0E2D\u0E04.</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"gtc_recv_no\" [(ngModel)]=\"stepData.gtc_recv_no\" [disabled]=\"true\">\n </div>\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E23\u0E31\u0E1A \u0E01\u0E2D\u0E04.</label>\n <soc-date-box [id]=\"'gtc_recv_date'\" [(value)]=\"stepData.gtc_recv_date\" [disabled]=\"true\" ></soc-date-box>\n </div>\n <br>\n </div>\n\n <div class=\"row\" *ngIf=\"stepData.system_id === 23\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E40\u0E25\u0E02\u0E17\u0E35\u0E48\u0E2B\u0E19\u0E31\u0E07\u0E2A\u0E37\u0E2D</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"book_no\" [(ngModel)]=\"stepData.book_no\" [disabled]=\"true\">\n </div>\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E25\u0E07\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48</label>\n <!-- <input type=\"text\" class=\"form-control m-input\" id=\"book_date\" [(ngModel)]=\"stepData.book_date\" [disabled]=\"true\"> -->\n <soc-date-box [id]=\"'book_date'\" [(value)]=\"stepData.book_date\" [disabled]=\"true\"></soc-date-box>\n </div>\n <br>\n </div>\n\n <div class=\"row\" *ngIf=\"stepData.system_id === 23\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E40\u0E23\u0E35\u0E22\u0E19</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"for\" [(ngModel)]=\"stepData.for\" [disabled]=\"true\">\n </div>\n <br>\n </div>\n <div class=\"row\" *ngIf=\"stepData.system_id === 23\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E01\u0E23\u0E30\u0E17\u0E23\u0E27\u0E07</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"for\" [(ngModel)]=\"stepData.ministry\" [disabled]=\"true\">\n <!-- <soc-auto-complete-2 [id]=\"'ministry'\" mode=\"local\"\n [api]=\"'/db/ct_ext_department'\" [acceptCustomValue]=\"false\" field=\"name\" fieldApi=\"id,name,code,type\"\n [filter]=\"'&_where=(type,in,1,9)'\" (valueSelete)=\"valueSeleteMinistry($event)\"\n [(value)]=\"stepData.ministry\" [(ngModel)]=\"stepData.ministry\" [disabled]=\"true\">\n </soc-auto-complete-2> -->\n </div>\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E01\u0E23\u0E21</label>\n <div>\n <input type=\"text\" class=\"form-control m-input\" id=\"for\" [(ngModel)]=\"stepData.dept_name\" [disabled]=\"true\">\n <!-- <soc-auto-complete-2 [acceptCustomValue]=\"false\" [id]=\"'dept_name'\"\n mode=\"local\" [filter]=\"filter_ref_ext_department_id\"\n [api]=\"'/db/ct_ext_department'\" field=\"name\"\n fieldApi=\"id,name,code,type\" [(value)]=\"stepData.dept_name\" (valueSelete)=\"valueSeleteDeptName($event)\"\n [(ngModel)]=\"stepData.dept_name\" [disabled]=\"true\">\n </soc-auto-complete-2> -->\n </div>\n </div>\n </div>\n\n <br>\n <div class=\"row\">\n <!--<div class=\"col-sm-2\">-->\n <!--<span>\u0E40\u0E2D\u0E01\u0E2A\u0E32\u0E23\u0E41\u0E19\u0E1A :</span>-->\n <!--</div>-->\n <div class=\"col-sm-12\">\n <label class=\"control-label\">\u0E40\u0E2D\u0E01\u0E2A\u0E32\u0E23\u0E41\u0E19\u0E1A</label>\n <br>\n <a [href]=\"getImageLink(stepData)\" target=\"_blank\">{{stepData.url}}</a>\n </div>\n </div>\n <br>\n <!-- \u0E2B\u0E21\u0E32\u0E22\u0E40\u0E2B\u0E15\u0E38 -->\n <div class=\"row\">\n <!--<div class=\"col-sm-2\">-->\n <!--<span>\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E2B\u0E15\u0E38 :</span>-->\n <!--</div>-->\n <div class=\"col-sm-12\">\n <label class=\"control-label\">\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E2B\u0E15\u0E38</label>\n <textarea class=\"form-control m-input\" id=\"txtViewRemark\" rows=\"3\" [(ngModel)]=\"stepData.remark\" disabled></textarea>\n </div>\n </div>\n <br>\n <div *ngIf=\"isMore\">\n <div *ngFor=\"let field of moreField; let i=index\">\n <div class=\"row\">\n <!--<div class=\"col-sm-2\">-->\n <!--<span>{{field.display_name}} :</span>-->\n <!--</div>-->\n <div *ngIf=\"field.type === 'text'\">\n <div class=\"col-sm-12\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <input type=\"text\" class=\"form-control m-input\" [id]=\"getFieldId(field)\" [(ngModel)]=\"stepData[field.field_name]\" disabled>\n </div>\n </div>\n <!-- field \u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21 type datetime -->\n <div *ngIf=\"field.type === 'datetime'\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <soc-date-box [id]=\"getFieldId(field)\" [(value)]=\"stepData[field.field_name]\" [disabled]=\"true\"></soc-date-box>\n </div>\n </div>\n <div *ngIf=\"field.type === 'number'\">\n <div *ngIf=\"field.field_name === 'remind_date'\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <soc-date-box [id]=\"getFieldId(field)\" [(value)]=\"stepData[field.field_name]\" [disabled]=\"true\"></soc-date-box>\n </div>\n </div>\n <div *ngIf=\"field.field_name !== 'remind_date'\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <input type=\"number\" class=\"form-control m-input\" [id]=\"getFieldId(field)\" [(ngModel)]=\"stepData[field.field_name]\" disabled>\n </div>\n </div>\n </div>\n <div *ngIf=\"field.type === 'special'\">\n <div *ngIf=\"field.field_name === 'term'\">\n\n </div>\n <div *ngIf=\"field.field_name === 'amount'\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <input type=\"text\" class=\"form-control m-input\" [id]=\"getFieldId(field)\" [(ngModel)]=\"stepData[field.field_name]\" disabled>\n </div>\n <div class=\"col-sm-6\">\n <div class=\"m-radio-inline\">\n <label class=\"m-radio\">\n <input type=\"radio\" id=\"rdlAmountType1\" [value]=\"0\" [(ngModel)]=\"stepData['amount_type']\" disabled>\n \u0E19\u0E31\u0E1A\u0E41\u0E15\u0E48<span></span>\n </label>\n <label class=\"m-radio\">\n <input type=\"radio\" id=\"rdlAmountType2\" [value]=\"1\" [(ngModel)]=\"stepData['amount_type']\" disabled>\n \u0E19\u0E31\u0E1A\u0E16\u0E31\u0E14<span></span>\n </label>\n </div>\n </div>\n </div>\n <div *ngIf=\"field.field_name === 'follow'\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <div class=\"m-radio-inline\">\n <label class=\"m-radio\">\n <input type=\"radio\" [id]=\"getFieldId(field) + '1'\" value=\"\u0E17\u0E32\u0E07\u0E01\u0E32\u0E23\" [(ngModel)]=\"stepData[field.field_name]\" disabled>\n \u0E17\u0E32\u0E07\u0E01\u0E32\u0E23<span></span>\n </label>\n <label class=\"m-radio\">\n <input type=\"radio\" [id]=\"getFieldId(field) + '2'\" value=\"\u0E44\u0E21\u0E48\u0E17\u0E32\u0E07\u0E01\u0E32\u0E23\" [(ngModel)]=\"stepData[field.field_name]\" disabled>\n \u0E44\u0E21\u0E48\u0E17\u0E32\u0E07\u0E01\u0E32\u0E23<span></span>\n </label>\n </div>\n </div>\n <!--<div class=\"col-sm-2\">-->\n <!--<span>\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E2B\u0E15\u0E38 :</span>-->\n <!--</div>-->\n <div class=\"col-sm-6\">\n <label class=\"control-label\">\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E2B\u0E15\u0E38</label>\n <input type=\"text\" class=\"form-control m-input\" id=\"txtFollowRemark\" [(ngModel)]=\"stepData['follow_remark']\" disabled>\n </div>\n </div>\n <div *ngIf=\"field.field_name === 'cause'\">\n <div class=\"col-sm-6\">\n <label class=\"control-label\">{{field.display_name}}</label>\n <input type=\"text\" class=\"form-control m-input\" [id]=\"getFieldId(field)\" [(ngModel)]=\"stepData[field.field_name]\" disabled>\n </div>\n </div>\n </div>\n </div>\n <br>\n </div>\n <br>\n </div>\n <div *ngIf=\"isSend\">\n <div class=\"row\">\n <div class=\"col-sm-2\">\n <span>\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E2A\u0E48\u0E07 :</span>\n </div>\n </div>\n <br>\n <dx-data-grid #dxDataGridStepSendListView class=\"card-list-table\"\n id=\"gridStepSendListView\" noDataText=\"\"\n (onCellPrepared)=\"onCellPrepared($event)\" [dataSource]=\"sendList\"\n [wordWrapEnabled]=\"true\"\n [showBorders]=\"true\">\n <dxi-column caption=\"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48\" [allowSorting]=\"false\" cellTemplate=\"cellTemplate\" alignment=\"center\"></dxi-column>\n <dxi-column dataField=\"send_to\" caption=\"\u0E2B\u0E19\u0E48\u0E27\u0E22\u0E07\u0E32\u0E19\"></dxi-column>\n <dxi-column dataField=\"send_book_no\" caption=\"\u0E40\u0E25\u0E02\u0E17\u0E35\u0E48\u0E2B\u0E19\u0E31\u0E07\u0E2A\u0E37\u0E2D\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\"></dxi-column>\n <dxi-column dataField=\"send_date\" caption=\"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\" dataType=\"date\" alignment=\"center\"></dxi-column>\n <dxi-column [calculateCellValue]=\"isImportant\" caption=\"\u0E04\u0E27\u0E32\u0E21\u0E2A\u0E33\u0E04\u0E31\u0E0D\"></dxi-column>\n <div *dxTemplate=\"let data of 'cellTemplate'\">\n {{getRowIndex(data)}}\n </div>\n </dx-data-grid>\n <br>\n </div>\n <div *ngIf=\"isRecieve\">\n <div class=\"row\">\n <div class=\"col-sm-2\">\n <span>\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E23\u0E31\u0E1A :</span>\n </div>\n </div>\n <br>\n <dx-data-grid #dxDataGridStepRecieveListView class=\"card-list-table\"\n id=\"gridStepRecieveListView\" noDataText=\"\"\n (onCellPrepared)=\"onCellPrepared($event)\" [dataSource]=\"recieveList\"\n [wordWrapEnabled]=\"true\"\n [showBorders]=\"true\">\n <dxi-column caption=\"\u0E23\u0E32\u0E22\u0E01\u0E32\u0E23\u0E17\u0E35\u0E48\" [allowSorting]=\"false\" cellTemplate=\"cellTemplate\" alignment=\"center\"></dxi-column>\n <dxi-column dataField=\"recv_from\" caption=\"\u0E2B\u0E19\u0E48\u0E27\u0E22\u0E07\u0E32\u0E19\"></dxi-column>\n <dxi-column dataField=\"send_book_no\" caption=\"\u0E40\u0E25\u0E02\u0E17\u0E35\u0E48\u0E2B\u0E19\u0E31\u0E07\u0E2A\u0E37\u0E2D\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\"></dxi-column>\n <dxi-column dataField=\"send_date\" caption=\"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E2A\u0E48\u0E07\u0E2D\u0E2D\u0E01\" dataType=\"date\" alignment=\"center\"></dxi-column>\n <dxi-column dataField=\"recv_no\" caption=\"\u0E40\u0E25\u0E02\u0E17\u0E35\u0E48\u0E23\u0E31\u0E1A\u0E2B\u0E19\u0E31\u0E07\u0E2A\u0E37\u0E2D\"></dxi-column>\n <dxi-column dataField=\"recv_date\" caption=\"\u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E23\u0E31\u0E1A\" dataType=\"date\" alignment=\"center\"></dxi-column>\n <div *dxTemplate=\"let data of 'cellTemplate'\">\n {{getRowIndex(data)}}\n </div>\n </dx-data-grid>\n <br>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>"
}] }
];
/** @nocollapse */
ModalStepViewComponent.ctorParameters = () => [
{ type: Request },
{ type: Common }
];
ModalStepViewComponent.propDecorators = {
onUpdateModal: [{ type: Output }],
modal: [{ type: ViewChild, args: ['modal',] }]
};
if (false) {
/** @type {?} */
ModalStepViewComponent.prototype.onUpdateModal;
/** @type {?} */
ModalStepViewComponent.prototype.modal;
/** @type {?} */
ModalStepViewComponent.prototype.submitted;
/** @type {?} */
ModalStepViewComponent.prototype.title;
/** @type {?} */
ModalStepViewComponent.prototype.selectList;
/** @type {?} */
ModalStepViewComponent.prototype.list;
/** @type {?} */
ModalStepViewComponent.prototype.modalConfig;
/** @type {?} */
ModalStepViewComponent.prototype.th;
/** @type {?} */
ModalStepViewComponent.prototype.selectedStep;
/** @type {?} */
ModalStepViewComponent.prototype.isMore;
/** @type {?} */
ModalStepViewComponent.prototype.moreField;
/** @type {?} */
ModalStepViewComponent.prototype.config;
/** @type {?} */
ModalStepViewComponent.prototype.stepData;
/** @type {?} */
ModalStepViewComponent.prototype.lastStep;
/** @type {?} */
ModalStepViewComponent.prototype.stepName;
/** @type {?} */
ModalStepViewComponent.prototype.isSend;
/** @type {?} */
ModalStepViewComponent.prototype.isRecieve;
/** @type {?} */
ModalStepViewComponent.prototype.sendList;
/** @type {?} */
ModalStepViewComponent.prototype.recieveList;
/** @type {?} */
ModalStepViewComponent.prototype.downloadToken;
/** @type {?} */
ModalStepViewComponent.prototype.request;
/** @type {?} */
ModalStepViewComponent.prototype.common;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3RlcC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL3NvYy1hcHAtbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9tb2RhbC1zdGVwLXZpZXcvbW9kYWwtc3RlcC12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBZSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQU12RCxNQUFNOzs7OztJQXdCRixZQUFvQixPQUFnQixFQUFTLE1BQWM7UUFBdkMsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFTLFdBQU0sR0FBTixNQUFNLENBQVE7NkJBdEJqQyxJQUFJLFlBQVksRUFBRTt5QkFFaEMsS0FBSztxQkFDSixjQUFjOzBCQUNULEVBQUU7b0JBQ1IsRUFBRTsyQkFDYztZQUN4QixtQkFBbUIsRUFBRSxJQUFJO1NBQzVCOzRCQUVtQixFQUFFO3NCQUNiLEtBQUs7eUJBQ0csRUFBRTt3QkFFSCxFQUFFO3dCQUNQLEVBQUU7d0JBQ0YsRUFBRTtzQkFDSixLQUFLO3lCQUNGLEtBQUs7d0JBQ0QsRUFBRTsyQkFDQyxFQUFFO0tBR3BCOzs7O0lBRUQsUUFBUTtLQUVQOzs7OztJQUVLLElBQUksQ0FBQyxPQUFhOztZQUNwQixPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ25CLElBQUksT0FBTyxFQUFFO2dCQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksY0FBYyxDQUFDO2dC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T0FBTyxFQUFFLENBQUM7S0FDYjs7Ozs7SUFFRCxXQUFXLENBQUMsSUFBSTtRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1osT0FBTyxFQUFFLENBQUM7U0FDYjs7UUFDRCxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEMsT0FBTyxFQUFFLENBQUM7S0FDYjs7Ozs7SUFFRCxjQUFjLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxNQUFNLEVBQUU7WUFDdEIsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRTtnQkFDakMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDL0MsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3BEO2FBQ0o7U0FDSjtLQUNKOzs7OztJQUVELFdBQVcsQ0FBQyxJQUFJO1FBQ1osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBLENBQUMsQ0FBQSxPQUFPLENBQUEsQ0FBQyxDQUFBLEVBQUUsQ0FBQztLQUN2Qzs7Ozs7SUFFRCxZQUFZLENBQUMsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEdBQUcsR0FBQyxpQkFBaUIsR0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0tBQ3hEOzs7WUEzSUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLGlqckJBQStDO2FBQ2xEOzs7O1lBTFEsT0FBTztZQURSLE1BQU07Ozs0QkFTVCxNQUFNO29CQUNOLFNBQVMsU0FBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TW9kYWxPcHRpb25zLCBNb2RhbERpcmVjdGl2ZX0gZnJvbSAnbmd4LWJvb3RzdHJhcCc7XG5pbXBvcnQge0NvbW1vbn0gZnJvbSAnLi4vX3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3QgfSBmcm9tICcuLi9fc2VydmljZXMvcmVxdWVzdC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtb2RhbC1zdGVwLXZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1zdGVwLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbFN0ZXBWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIEBPdXRwdXQoKSBvblVwZGF0ZU1vZGFsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBWaWV3Q2hpbGQoJ21vZGFsJykgbW9kYWw6IE1vZGFsRGlyZWN0aXZlO1xuICAgIHN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgIHRpdGxlOiBhbnkgPSAn4Liq4LiW4Liy4LiZ4Liw4LiC4Lix4LmJ4LiZ4LiV4Lit4LiZJztcbiAgICBzZWxlY3RMaXN0OiBhbnkgPSBbXTtcbiAgICBsaXN0OiBhbnkgPSBbXTtcbiAgICBtb2RhbENvbmZpZzogTW9kYWxPcHRpb25zID0ge1xuICAgICAgICBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlXG4gICAgfTtcbiAgICB0aDtcbiAgICBzZWxlY3RlZFN0ZXA6IGFueSA9IHt9O1xuICAgIGlzTW9yZSA9IGZhbHNlO1xuICAgIG1vcmVGaWVsZDogYW55ID0gW107XG4gICAgcHVibGljIGNvbmZpZzogYW55O1xuICAgIHN0ZXBEYXRhOiBhbnkgPSB7fTtcbiAgICBsYXN0U3RlcCA9ICcnO1xuICAgIHN0ZXBOYW1lID0gJyc7XG4gICAgaXNTZW5kID0gZmFsc2U7XG4gICAgaXNSZWNpZXZlID0gZmFsc2U7XG4gICAgc2VuZExpc3Q6IGFueSA9IFtdO1xuICAgIHJlY2lldmVMaXN0OiBhbnkgPSBbXTtcbiAgICBkb3dubG9hZFRva2VuOmFueTtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlcXVlc3Q6IFJlcXVlc3QsIHB1YmxpYyBjb21tb246IENvbW1vbikge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuXG4gICAgfVxuXG4gICAgYXN5bmMgb3BlbihvcHRpb25zPzogYW55KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLnN0ZXBEYXRhID0ge307XG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLnRpdGxlID0gb3B0aW9ucy5vcHRpb24udGl0bGUgfHwgJ+C4quC4luC4suC4meC4sOC4guC4seC5ieC4meC4leC4reC4mSc7XG4gICAgICAgICAgICB0aGlzLnN0ZXBOYW1lID0gb3B0aW9ucy5kYXRhLnN0ZXBfbmFtZSB8fCAnJztcbiAgICAgICAgICAgIHRoaXMuc3RlcERhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9wdGlvbnMuZGF0YSkpO1xuICAgICAgICAgICAgdGhpcy5kb3dubG9hZFRva2VuID0gb3B0aW9ucy5kb3dubG9hZFRva2VuO1xuICAgICAgICAgICAgLy8g4LiV4LmJ4Lit4LiH4LmA4Lib4Lil4Li14LmI4Lii4LiZ4LmA4Lib4LmH4LiZ4LmA4Lij4Li14Lii4LiBIGFwaVxuICAgICAgICAgICAgaWYodGhpcy5zdGVwRGF0YS5zdGVwX2lkKXtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdExpc3QgPSBhd2FpdCB0aGlzLnJlcXVlc3QuZ2V0KCcvZGIvY3Rfc3RlcD9fd2hlcmU9KGlkLGVxLCcgKyB0aGlzLnN0ZXBEYXRhLnN0ZXBfaWQgKyAnKScpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0ZXAgPSB0aGlzLnNlbGVjdExpc3RbMF07XG4gICAgICAgICAgICAgICAgaWYgKHN0ZXAuZmxhZykge1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ZXAuZmxhZy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmxhZyA9IHN0ZXAuZmxhZy5jaGFyQXQoaSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjdF9zdGVwX2ZsYWcgPSBhd2FpdCB0aGlzLnJlcXVlc3QuZ2V0KCcvZGIvY3Rfc3RlcF9mbGFnP193aGVyZT0oZmxhZyxlcSwnICsgZmxhZyArICcpJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdGaWVsZCA9IGN0X3N0ZXBfZmxhZ1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9yZUZpZWxkLnB1c2gobmV3RmllbGQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNNb3JlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTW9yZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RlcC50eXBlX2lkID09PSA4IHx8IHN0ZXAudHlwZV9pZCA9PT0gMTMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmaWx0ZXIgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdF9zdGVwX2RhdGFfaWQgOiB0aGlzLnN0ZXBEYXRhLmlkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmRlcl9ieTpbXCJpc19pbXBvcnRhbnRcIixcInNlbmRfYm9va19ub1wiLFwiY3JlYXRlZF9hdFwiXVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VuZERhdGFMaXN0ID0gYXdhaXQgdGhpcy5yZXF1ZXN0LnBvc3QoJy9zZWFyY2gvdl9jdF9zdGVwX3NlbnQnLGZpbHRlcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbmRMaXN0ID0gc2VuZERhdGFMaXN0LnJlc3VsdERhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU2VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUmVjaWV2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHN0ZXAudHlwZV9pZCA9PT0gOSB8fCBzdGVwLnR5cGVfaWQgPT09IDE0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsdGVyID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlciA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Rfc3RlcF9kYXRhX2lkIDogdGhpcy5zdGVwRGF0YS5pZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXJfYnk6W1wiaXNfaW1wb3J0YW50XCIsXCJzZW5kX2Jvb2tfbm9cIixcImNyZWF0ZWRfYXRcIl1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY2lldmVEYXRhTGlzdCA9IGF3YWl0IHRoaXMucmVxdWVzdC5wb3N0KCcvc2VhcmNoL3ZfY3Rfc3RlcF9zZW50JyxmaWx0ZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWNpZXZlTGlzdCA9IHJlY2lldmVEYXRhTGlzdC5yZXN1bHREYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1JlY2lldmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1NlbmQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNSZWNpZXZlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU2VuZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMubW9kYWwuc2hvdygpO1xuICAgIH1cblxuICAgIGNsb3NlTW9kYWwoKSB7XG4gICAgICAgIHRoaXMuc3VibWl0dGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0TGlzdCA9IFtdO1xuICAgICAgICB0aGlzLmxpc3QgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN0ZXAgPSB7fTtcbiAgICAgICAgdGhpcy5pc01vcmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1NlbmQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1JlY2lldmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5tb3JlRmllbGQgPSBbXTtcbiAgICAgICAgdGhpcy5zdGVwRGF0YSA9IHt9O1xuICAgICAgICB0aGlzLmxhc3RTdGVwID0gJyc7XG4gICAgICAgIHRoaXMubW9kYWwuaGlkZSgpO1xuICAgIH1cblxuICAgIGdldEZpZWxkSWQoZGF0YSkge1xuICAgICAgICBsZXQgaWQgPSAnJztcbiAgICAgICAgaWYgKGRhdGEudHlwZSA9PT0gJ3RleHQnKSB7XG4gICAgICAgICAgICBpZCArPSAndHh0Vmlldyc7XG4gICAgICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09PSAnZGF0ZXRpbWUnKSB7XG4gICAgICAgICAgICBpZCArPSAndHh0Vmlldyc7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmllbGQgPSBkYXRhLmZpZWxkX25hbWUuY2hhckF0KDApLnRvTG9jYWxlVXBwZXJDYXNlKCkgKyBkYXRhLmZpZWxkX25hbWUuc3Vic3RyaW5nKDEpO1xuICAgICAgICBpZCArPSBmaWVsZDtcbiAgICAgICAgcmV0dXJuIGlkO1xuICAgIH1cblxuICAgIGdldFJvd0luZGV4KGRhdGEpIHtcbiAgICAgICAgaWYgKCFkYXRhLmRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBubyA9IGRhdGEucm93LmRhdGFJbmRleCArIDE7XG4gICAgICAgIHJldHVybiBubztcbiAgICB9XG5cbiAgICBvbkNlbGxQcmVwYXJlZChlKSB7XG4gICAgICAgIGlmIChlLnJvd1R5cGUgPT09ICdkYXRhJykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBpIGluIGUuY29tcG9uZW50LmNvbHVtbnMpIHtcbiAgICAgICAgICAgICAgICBpZiAoZS5jb2x1bW4uZGF0YUZpZWxkID09PSBlLmNvbXBvbmVudC5jb2x1bW5zW2ldKSB7XG4gICAgICAgICAgICAgICAgICAgIGUuY2VsbEVsZW1lbnQuYWNjZXNzS2V5ID0gZS5jb21wb25lbnQuY29sdW1uc1tpXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc0ltcG9ydGFudChkYXRhKXtcbiAgICAgICAgcmV0dXJuIGRhdGEuaXNfaW1wb3J0YW50P1wi4Liq4Liz4LiE4Lix4LiNXCI6XCJcIjtcbiAgICB9XG5cbiAgICBnZXRJbWFnZUxpbmsoZGF0YSl7XG4gICAgICAgIHJldHVybiBkYXRhLnVybCsnP2Rvd25sb2FkVG9rZW49Jyt0aGlzLmRvd25sb2FkVG9rZW47XG4gICAgfVxufVxuIl19