tnx-shared 5.3.341 → 5.3.343

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.
@@ -17,6 +17,7 @@ export class WorkflowPermissionDetailService extends BaseService {
17
17
  this.serviceManagers = {};
18
18
  this.entityName = 'WorkflowPermissionDetail';
19
19
  this.tableName = '';
20
+ this.guidEmpty = '00000000-0000-0000-0000-000000000000';
20
21
  this.endPoint = _moduleConfigService.getConfig().environment.apiDomain.workflowEndpoint;
21
22
  this._moduleConfig = _moduleConfigService.getConfig();
22
23
  }
@@ -55,9 +56,9 @@ export class WorkflowPermissionDetailService extends BaseService {
55
56
  filters.push(this.newFilter('userId', Operator.equal, userIdCurrent));
56
57
  }
57
58
  else {
58
- sorts.push(new Sort({ field: 'permission', dir: -1 }), new Sort({ field: 'inComing', dir: -1 }));
59
+ sorts.push(new Sort({ field: 'permission', dir: -1 }), new Sort({ field: 'inComing', dir: -1 }), new Sort({ field: 'isCOEdit', dir: -1 }));
59
60
  }
60
- const dataStatus = (yield this.getAll(filters, 'itemId,userId,trangThai,textTrangThai,workflowCode,permission', sorts, 'ForCrudList')).data;
61
+ const dataStatus = (yield this.getAll(filters, 'itemId,userId,trangThai,textTrangThai,workflowCode,permission,isCOEdit', sorts, 'ForCrudList')).data;
61
62
  if (dataStatus == null) {
62
63
  const notifierService = this._injector.get(NotifierService);
63
64
  return notifierService.showWarning('Không lấy được thông tin trạng thái hiện tại của bản ghi');
@@ -89,6 +90,7 @@ export class WorkflowPermissionDetailService extends BaseService {
89
90
  if (!itemStatus.trangThai) {
90
91
  callBackWhenNotHaveStatus(itemStatus, data);
91
92
  }
93
+ data.__isCoEdit = dataStatus.some(x => x.itemId === itemId && x.userId != this.guidEmpty && x.isCOEdit);
92
94
  data.__trangThai = itemStatus.trangThai;
93
95
  data.__textTrangThai = itemStatus.textTrangThai;
94
96
  if (itemStatus.workflowCode == DummyWorkflowCode) {
@@ -142,8 +144,8 @@ export class WorkflowPermissionDetailService extends BaseService {
142
144
  // if (!ignoreWorkflow) {
143
145
  // filters.push(this.newFilter('userId', Operator.equal, userIdCurrent));
144
146
  // }
145
- sorts.push(new Sort({ field: 'permission', dir: -1 }), new Sort({ field: 'inComing', dir: -1 }));
146
- const dataStatus = (yield this.getAll(filters, 'itemId,userId,trangThai,textTrangThai,workflowCode,permission', sorts, 'ForCrudList')).data;
147
+ sorts.push(new Sort({ field: 'permission', dir: -1 }), new Sort({ field: 'inComing', dir: -1 }), new Sort({ field: 'isCOEdit', dir: -1 }));
148
+ const dataStatus = (yield this.getAll(filters, 'itemId,userId,trangThai,textTrangThai,workflowCode,permission,isCOEdit', sorts, 'ForCrudList')).data;
147
149
  if (dataStatus == null) {
148
150
  const notifierService = this._injector.get(NotifierService);
149
151
  return notifierService.showWarning('Không lấy được thông tin trạng thái hiện tại của bản ghi');
@@ -166,4 +168,4 @@ WorkflowPermissionDetailService.ctorParameters = () => [
166
168
  { type: Injector },
167
169
  { type: ModuleConfigService }
168
170
  ];
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctcGVybWlzc2lvbi1kZXRhaWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy93b3JrZmxvdy1wZXJtaXNzaW9uLWRldGFpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUtyRCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsV0FBVztJQU81RCxZQUNJLElBQWdCLEVBQ2hCLFFBQWtCLEVBQ2xCLG9CQUF5QztRQUV6QyxLQUFLLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLElBQUksb0JBQW9CLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsMkJBQTJCLENBQUMsQ0FBQztRQVZwTCxvQkFBZSxHQUVuQixFQUFFLENBQUM7UUFDUCxlQUFVLEdBQUcsMEJBQTBCLENBQUM7UUFDeEMsY0FB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VSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQzNDLENBQUM7WUFFRixNQUFNLFVBQVUsR0FBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FDeEMsT0FBTyxFQUNQLCtEQUErRCxFQUMvRCxLQUFLLEVBQ0wsYUFBYSxDQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ1IsSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFO2dCQUNwQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDNUQsT0FBTyxlQUFlLENBQUMsV0FBVyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7YUFDbEc7WUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsd0JBQXdCLENBQ3pCLE9BQU8sRUFDUCxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQ2pCLGFBQWEsRUFDYixjQUFjLEVBQ2QsVUFBVSxFQUNWLHlCQUF5QixDQUM1QixDQUFDO1lBQ04sQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0tBQUE7Ozs7WUF4TkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFiUSxVQUFVO1lBQ0UsUUFBUTtZQU9wQixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IER1bW15V29ya2Zsb3dDb2RlIH0gZnJvbSAnLi4vY2xhc3Nlcy9jb25zdGFudHMnO1xuaW1wb3J0IHsgT3BlcmF0b3IgfSBmcm9tICcuLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcbmltcG9ydCB7IE1vZHVsZUNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZ3MvbW9kdWxlLWNvbmZpZyc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uQmFzZSB9IGZyb20gJy4uL2VudW1zL2NvbW1vbic7XG5pbXBvcnQgeyBTb3J0IH0gZnJvbSAnLi4vbW9kZWxzL2dyaWQtaW5mbyc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4vYmFzZS5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZHVsZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL21vZHVsZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBOb3RpZmllclNlcnZpY2UgfSBmcm9tICcuL25vdGlmaWVyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFdvcmtmbG93UGVybWlzc2lvbkRldGFpbFNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XG4gICAgcmVhZG9ubHkgX21vZHVsZUNvbmZpZzogTW9kdWxlQ29uZmlnO1xuICAgIHByaXZhdGUgc2VydmljZU1hbmFnZXJzOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IEJhc2VTZXJ2aWNlXG4gICAgfSA9IHt9O1xuICAgIGVudGl0eU5hbWUgPSAnV29ya2Zsb3dQZXJtaXNzaW9uRGV0YWlsJztcbiAgICB0YWJsZU5hbWUgPSAnJztcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBfbW9kdWxlQ29uZmlnU2VydmljZTogTW9kdWxlQ29uZmlnU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihodHRwLCBpbmplY3RvciwgYCR7X21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBpRG9tYWluLndvcmtmbG93RW5kcG9pbnR9LyR7X21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBpVmVyc2lvbn0vV29ya2Zsb3dQZXJtaXNzaW9uRGV0YWlsYCk7XG4gICAgICAgIHRoaXMuZW5kUG9pbnQgPSBfbW9kdWxlQ29uZmlnU2VydmljZS5nZXRDb25maWcoKS5lbnZpcm9ubWVudC5hcGlEb21haW4ud29ya2Zsb3dFbmRwb2ludDtcblxuICAgICAgICB0aGlzLl9tb2R1bGVDb25maWcgPSBfbW9kdWxlQ29uZmlnU2VydmljZS5nZXRDb25maWcoKTtcbiAgICB9XG5cbiAgICByZWdpc3RlclNlcnZpY2Uoc2V0dGluZ0tleTogc3RyaW5nLCBzZXJ2aWNlOiBCYXNlU2VydmljZSkge1xuICAgICAgICB0aGlzLnNlcnZpY2VNYW5hZ2Vyc1tzZXR0aW5nS2V5XSA9IHNlcnZpY2U7XG4gICAgfVxuXG4gICAgZ2V0RW5kcG9pbnRCeVNlcnZpY2Uoc2VydmljZTogQmFzZVNlcnZpY2UpIHtcbiAgICAgICAgcmV0dXJuIGAke3NlcnZpY2UuZW5kUG9pbnR9LyR7dGhpcy5fbW9kdWxlQ29uZmlnLmVudmlyb25tZW50LmFwaVZlcnNpb259YDtcbiAgICB9XG5cbiAgICBjaGFuZ2VFbmRwb2ludChiYXNlU2VydmljZTogQmFzZVNlcnZpY2UpOiBXb3JrZmxvd1Blcm1pc3Npb25EZXRhaWxTZXJ2aWNlIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlVXJpID0gYCR7dGhpcy5nZXRFbmRwb2ludEJ5U2VydmljZShiYXNlU2VydmljZSl9L1dvcmtmbG93UGVybWlzc2lvbkRldGFpbGA7XG4gICAgICAgIHRoaXMudGFibGVOYW1lID0gYmFzZVNlcnZpY2UuZW50aXR5TmFtZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG5cbiAgICBhc3luYyBhcHBlbmRJbmZvRm9yV29ya2Zsb3dTaW5nbGUoXG4gICAgICAgIHVzZXJJZEN1cnJlbnQ6IHN0cmluZyxcbiAgICAgICAgZGF0YTogYW55LFxuICAgICAgICBmaWVsZEtleTogc3RyaW5nID0gJ2lkJyxcbiAgICAgICAgaWdub3JlV29ya2Zsb3c6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgY2FsbEJhY2tXaGVuTm90SGF2ZVN0YXR1czogKGl0ZW1TdGF0dXMsIHJvd0l0ZW0pID0+IHZvaWQgPSBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmIChjYWxsQmFja1doZW5Ob3RIYXZlU3RhdHVzID09IG51bGwpIHtcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXMgPSAoaXRlbVN0YXR1cywgcm93SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb3dJdGVtW2ZpZWxkS2V5XVxuICAgICAgICAgICAgICAgICAgICAmJiByb3dJdGVtLndvcmtmbG93Q29kZVxuICAgICAgICAgICAgICAgICAgICAmJiByb3dJdGVtLmN1cnJlbnRTdGF0ZUNvZGVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy50ZXh0VHJhbmdUaGFpID0gJ8SQw6MgYuG6r3QgxJHhuqd1IHF1eSB0csOsbmgnO1xuICAgICAgICAgICAgICAgICAgICBpdGVtU3RhdHVzLnRyYW5nVGhhaSA9IHJvd0l0ZW0uY3VycmVudFN0YXRlQ29kZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy53b3JrZmxvd0NvZGUgPSByb3dJdGVtLndvcmtmbG93Q29kZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy5wZXJtaXNzaW9uID0gUGVybWlzc2lvbkJhc2UuUkVBRFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXRlbUlkID0gZGF0YVtmaWVsZEtleV07XG4gICAgICAgIGNvbnN0IGZpbHRlcnMgPSBbXG4gICAgICAgICAgICB0aGlzLm5ld0ZpbHRlcignaXRlbUlkJywgT3BlcmF0b3IuZXF1YWwsIGl0ZW1JZCksXG4gICAgICAgICAgICB0aGlzLm5ld0ZpbHRlcignbm90SW5Xb3JrZmxvdycsIE9wZXJhdG9yLmVxdWFsLCBmYWxzZSksXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IHNvcnRzID0gW107XG4gICAgICAgIGlmICghaWdub3JlV29ya2Zsb3cpIHtcbiAgICAgICAgICAgIGZpbHRlcnMucHVzaCh0aGlzLm5ld0ZpbHRlcigndXNlcklkJywgT3BlcmF0b3IuZXF1YWwsIHVzZXJJZEN1cnJlbnQpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHNvcnRzLnB1c2goXG4gICAgICAgICAgICAgICAgbmV3IFNvcnQoeyBmaWVsZDogJ3Blcm1pc3Npb24nLCBkaXI6IC0xIH0pLFxuICAgICAgICAgICAgICAgIG5ldyBTb3J0KHsgZmllbGQ6ICdpbkNvbWluZycsIGRpcjogLTEgfSksXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRhdGFTdGF0dXM6IGFueVtdID0gKGF3YWl0IHRoaXMuZ2V0QWxsKFxuICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICdpdGVtSWQsdXNlcklkLHRyYW5nVGhhaSx0ZXh0VHJhbmdUaGFpLHdvcmtmbG93Q29kZSxwZXJtaXNzaW9uJyxcbiAgICAgICAgICAgIHNvcnRzLFxuICAgICAgICAgICAgJ0ZvckNydWRMaXN0J1xuICAgICAgICApKS5kYXRhO1xuICAgICAgICBpZiAoZGF0YVN0YXR1cyA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBub3RpZmllclNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoTm90aWZpZXJTZXJ2aWNlKTtcbiAgICAgICAgICAgIHJldHVybiBub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ0tow7RuZyBs4bqleSDEkcaw4bujYyB0aMO0bmcgdGluIHRy4bqhbmcgdGjDoWkgaGnhu4duIHThuqFpIGPhu6dhIGLhuqNuIGdoaScpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHBlbmRXb3JrZmxvd0luZm9Ub0l0ZW0oXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgaXRlbUlkLFxuICAgICAgICAgICAgdXNlcklkQ3VycmVudCxcbiAgICAgICAgICAgIGlnbm9yZVdvcmtmbG93LFxuICAgICAgICAgICAgZGF0YVN0YXR1cyxcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXNcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBlbmRXb3JrZmxvd0luZm9Ub0l0ZW0oXG4gICAgICAgIGRhdGE6IGFueSxcbiAgICAgICAgaXRlbUlkOiBhbnksXG4gICAgICAgIHVzZXJJZEN1cnJlbnQ6IHN0cmluZyxcbiAgICAgICAgaWdub3JlV29ya2Zsb3c6IGJvb2xlYW4sXG4gICAgICAgIGRhdGFTdGF0dXM6IGFueVtdLFxuICAgICAgICBjYWxsQmFja1doZW5Ob3RIYXZlU3RhdHVzOiAoaXRlbVN0YXR1cywgcm93SXRlbSkgPT4gdm9pZCA9IG51bGxcbiAgICApIHtcbiAgICAgICAgbGV0IGl0ZW1TdGF0dXM6IGFueSA9IHtcbiAgICAgICAgICAgIHRleHRUcmFuZ1RoYWk6ICdDaMawYSBjaOG6oXkgcXV5IHRyw6xuaCdcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaXRlbUlkKSB7XG4gICAgICAgICAgICAvLyBjb25zdCBsc3RJdGVtU3RhdHVzID0gZGF0YVN0YXR1cy5maWx0ZXIocSA9PiBxLml0ZW1JZCA9PSBpdGVtSWQgJiYgcS51c2VySWQgPT0gdXNlcklkQ3VycmVudCk7XG4gICAgICAgICAgICAvLyBpZiAoaWdub3JlV29ya2Zsb3cgPT09IHRydWUgJiYgbHN0SXRlbVN0YXR1cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIC8vICAgICBsc3RJdGVtU3RhdHVzLnB1c2goLi4uZGF0YVN0YXR1cy5maWx0ZXIocSA9PiBxLml0ZW1JZCA9PT0gaXRlbUlkKSk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICBjb25zdCBsc3RJdGVtU3RhdHVzID0gZGF0YVN0YXR1cy5maWx0ZXIocSA9PiBxLml0ZW1JZCA9PT0gaXRlbUlkKTtcbiAgICAgICAgICAgIC8vIGxldCBpdGVtU3RhdHVzID0gbnVsbDtcbiAgICAgICAgICAgIGlmIChsc3RJdGVtU3RhdHVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGl0ZW1TdGF0dXMgPSBsc3RJdGVtU3RhdHVzLmZpbmQocSA9PiAocS5wZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuRURJVCkgPT0gUGVybWlzc2lvbkJhc2UuRURJVCk7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1TdGF0dXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtU3RhdHVzID0gbHN0SXRlbVN0YXR1c1swXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBO4bq/dSBraMO0bmcgY8OzIGLhuqNuIGdoaSB0cuG6oW5nIHRow6FpXG4gICAgICAgIC8vIE5oxrBuZyDEkcOjIHThuqFvIHRhc2sgcuG7k2kgdGjDrCBoaeG7g24gdGjhu4sgdHLhuqFuZyB0aMOhaSBcIsSRw6MgdOG6oW8gY8O0bmcgdmnhu4djXCIgxJHhu4MgdHLDoW5oIHRyxrDhu51uZyBo4bujcCBoaeG7g24gdGjhu4sgbsO6dCBi4bqvdCDEkeG6p3UgdGjhu6thIHRyw6puIGdpYW8gZGnhu4duXG4gICAgICAgIGlmICghaXRlbVN0YXR1cy50cmFuZ1RoYWkpIHtcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXMoaXRlbVN0YXR1cywgZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBkYXRhLl9fdHJhbmdUaGFpID0gaXRlbVN0YXR1cy50cmFuZ1RoYWk7XG4gICAgICAgIGRhdGEuX190ZXh0VHJhbmdUaGFpID0gaXRlbVN0YXR1cy50ZXh0VHJhbmdUaGFpO1xuICAgICAgICBpZiAoaXRlbVN0YXR1cy53b3JrZmxvd0NvZGUgPT0gRHVtbXlXb3JrZmxvd0NvZGUpIHtcbiAgICAgICAgICAgIGRhdGEuaGlkZGVuV29ya2Zsb3dBY3Rpb24gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGRhdGEuX193b3JrZmxvd0NvZGUgPSBpdGVtU3RhdHVzLndvcmtmbG93Q29kZTtcbiAgICAgICAgZGF0YS5fX3Blcm1pc3Npb24gPSBpdGVtU3RhdHVzLnBlcm1pc3Npb247XG5cbiAgICAgICAgZGF0YS5fX2Rpc2FibGVFZGl0ID0gdHJ1ZTtcbiAgICAgICAgZGF0YS5fX2Rpc2FibGVEZWxldGUgPSB0cnVlO1xuICAgICAgICBpZiAoZGF0YS5iYXNlUGVybWlzc2lvbiAmIFBlcm1pc3Npb25CYXNlLkVESVRcbiAgICAgICAgICAgIHx8IGRhdGEuX19wZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuRURJVFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGRhdGEuX19kaXNhYmxlRWRpdCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZGF0YS5fX2Rpc2FibGVQZXJtaXNzaW9uRWRpdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEuYmFzZVBlcm1pc3Npb24gJiBQZXJtaXNzaW9uQmFzZS5ERUxFVEVcbiAgICAgICAgICAgIHx8IGRhdGEuX19wZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuREVMRVRFXG4gICAgICAgICkge1xuICAgICAgICAgICAgZGF0YS5fX2Rpc2FibGVEZWxldGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGRhdGEuX19kaXNhYmxlUGVybWlzc2lvbkRlbGV0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEzhuqV5IHRow6ptIGPDoWMgdGjDtG5nIHRpbiBj4bqnbiBjaG8gcXV5IHRyw6xuaCBuZ2hp4buHcCB24bulIGNobyBjw6FjIGLhuqNuIGdoaSB0cm9uZyBkYXRhXG4gICAgICovXG4gICAgYXN5bmMgYXBwZW5kSW5mb0ZvcldvcmtmbG93KFxuICAgICAgICB1c2VySWRDdXJyZW50OiBzdHJpbmcsIGRhdGE6IGFueVtdLFxuICAgICAgICBmaWVsZEtleTogc3RyaW5nID0gJ2lkJyxcbiAgICAgICAgaWdub3JlV29ya2Zsb3c6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgY2FsbEJhY2tXaGVuTm90SGF2ZVN0YXR1czogKGl0ZW1TdGF0dXMsIHJvd0l0ZW0pID0+IHZvaWQgPSBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmIChjYWxsQmFja1doZW5Ob3RIYXZlU3RhdHVzID09IG51bGwpIHtcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXMgPSAoaXRlbVN0YXR1cywgcm93SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb3dJdGVtW2ZpZWxkS2V5XVxuICAgICAgICAgICAgICAgICAgICAmJiByb3dJdGVtLndvcmtmbG93Q29kZVxuICAgICAgICAgICAgICAgICAgICAmJiByb3dJdGVtLmN1cnJlbnRTdGF0ZUNvZGVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy50ZXh0VHJhbmdUaGFpID0gJ8SQw6MgYuG6r3QgxJHhuqd1IHF1eSB0csOsbmgnO1xuICAgICAgICAgICAgICAgICAgICBpdGVtU3RhdHVzLnRyYW5nVGhhaSA9IHJvd0l0ZW0uY3VycmVudFN0YXRlQ29kZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy53b3JrZmxvd0NvZGUgPSByb3dJdGVtLndvcmtmbG93Q29kZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy5wZXJtaXNzaW9uID0gUGVybWlzc2lvbkJhc2UuUkVBRFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbHN0SXRlbUlkID0gZGF0YS5maWx0ZXIocSA9PiBxW2ZpZWxkS2V5XSkubWFwKHEgPT4gcVtmaWVsZEtleV0pO1xuICAgICAgICBsZXQgZmlsdGVycyA9IFtcbiAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyKCdpdGVtSWQnLCBPcGVyYXRvci5pbiwgbHN0SXRlbUlkKSxcbiAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyKCdub3RJbldvcmtmbG93JywgT3BlcmF0b3IuZXF1YWwsIGZhbHNlKSxcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKHRoaXMudGFibGVOYW1lKSB7XG4gICAgICAgICAgICBmaWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIoJ3RhYmxlTmFtZScsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLnRhYmxlTmFtZSkpXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc29ydHMgPSBbXTtcbiAgICAgICAgLy8gaWYgKCFpZ25vcmVXb3JrZmxvdykge1xuICAgICAgICAvLyAgICAgZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKCd1c2VySWQnLCBPcGVyYXRvci5lcXVhbCwgdXNlcklkQ3VycmVudCkpO1xuICAgICAgICAvLyB9XG4gICAgICAgIHNvcnRzLnB1c2goXG4gICAgICAgICAgICBuZXcgU29ydCh7IGZpZWxkOiAncGVybWlzc2lvbicsIGRpcjogLTEgfSksXG4gICAgICAgICAgICBuZXcgU29ydCh7IGZpZWxkOiAnaW5Db21pbmcnLCBkaXI6IC0xIH0pLFxuICAgICAgICApO1xuICAgICAgICBcbiAgICAgICAgY29uc3QgZGF0YVN0YXR1czogYW55W10gPSAoYXdhaXQgdGhpcy5nZXRBbGwoXG4gICAgICAgICAgICBmaWx0ZXJzLFxuICAgICAgICAgICAgJ2l0ZW1JZCx1c2VySWQsdHJhbmdUaGFpLHRleHRUcmFuZ1RoYWksd29ya2Zsb3dDb2RlLHBlcm1pc3Npb24nLFxuICAgICAgICAgICAgc29ydHMsXG4gICAgICAgICAgICAnRm9yQ3J1ZExpc3QnXG4gICAgICAgICkpLmRhdGE7XG4gICAgICAgIGlmIChkYXRhU3RhdHVzID09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vdGlmaWVyU2VydmljZSA9IHRoaXMuX2luamVjdG9yLmdldChOb3RpZmllclNlcnZpY2UpO1xuICAgICAgICAgICAgcmV0dXJuIG5vdGlmaWVyU2VydmljZS5zaG93V2FybmluZygnS2jDtG5nIGzhuqV5IMSRxrDhu6NjIHRow7RuZyB0aW4gdHLhuqFuZyB0aMOhaSBoaeG7h24gdOG6oWkgY+G7p2EgYuG6o24gZ2hpJyk7XG4gICAgICAgIH1cbiAgICAgICAgZGF0YS5mb3JFYWNoKHJvd0l0ZW0gPT4ge1xuICAgICAgICAgICAgdGhpcy5hcHBlbmRXb3JrZmxvd0luZm9Ub0l0ZW0oXG4gICAgICAgICAgICAgICAgcm93SXRlbSxcbiAgICAgICAgICAgICAgICByb3dJdGVtW2ZpZWxkS2V5XSxcbiAgICAgICAgICAgICAgICB1c2VySWRDdXJyZW50LFxuICAgICAgICAgICAgICAgIGlnbm9yZVdvcmtmbG93LFxuICAgICAgICAgICAgICAgIGRhdGFTdGF0dXMsXG4gICAgICAgICAgICAgICAgY2FsbEJhY2tXaGVuTm90SGF2ZVN0YXR1c1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctcGVybWlzc2lvbi1kZXRhaWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy93b3JrZmxvdy1wZXJtaXNzaW9uLWRldGFpbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUtyRCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsV0FBVztJQVE1RCxZQUNJLElBQWdCLEVBQ2hCLFFBQWtCLEVBQ2xCLG9CQUF5QztRQUV6QyxLQUFLLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLElBQUksb0JBQW9CLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsMkJBQTJCLENBQUMsQ0FBQztRQVhwTCxvQkFBZSxHQUVuQixFQUFFLENBQUM7UUFDUCxlQUFVLEdBQUcsMEJBQTBCLENBQUM7UUFDeEMsY0FB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LE1BQU07YUFDckI7OztZQWJRLFVBQVU7WUFDRSxRQUFRO1lBT3BCLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHVtbXlXb3JrZmxvd0NvZGUgfSBmcm9tICcuLi9jbGFzc2VzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBPcGVyYXRvciB9IGZyb20gJy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlncy9tb2R1bGUtY29uZmlnJztcbmltcG9ydCB7IFBlcm1pc3Npb25CYXNlIH0gZnJvbSAnLi4vZW51bXMvY29tbW9uJztcbmltcG9ydCB7IFNvcnQgfSBmcm9tICcuLi9tb2RlbHMvZ3JpZC1pbmZvJztcbmltcG9ydCB7IEJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTW9kdWxlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbW9kdWxlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vdGlmaWVyU2VydmljZSB9IGZyb20gJy4vbm90aWZpZXIuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dQZXJtaXNzaW9uRGV0YWlsU2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlIHtcbiAgICByZWFkb25seSBfbW9kdWxlQ29uZmlnOiBNb2R1bGVDb25maWc7XG4gICAgcHJpdmF0ZSBzZXJ2aWNlTWFuYWdlcnM6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXTogQmFzZVNlcnZpY2VcbiAgICB9ID0ge307XG4gICAgZW50aXR5TmFtZSA9ICdXb3JrZmxvd1Blcm1pc3Npb25EZXRhaWwnO1xuICAgIHRhYmxlTmFtZSA9ICcnO1xuICAgIHByaXZhdGUgZ3VpZEVtcHR5ID0gJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCc7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgX21vZHVsZUNvbmZpZ1NlcnZpY2U6IE1vZHVsZUNvbmZpZ1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaHR0cCwgaW5qZWN0b3IsIGAke19tb2R1bGVDb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmVudmlyb25tZW50LmFwaURvbWFpbi53b3JrZmxvd0VuZHBvaW50fS8ke19tb2R1bGVDb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmVudmlyb25tZW50LmFwaVZlcnNpb259L1dvcmtmbG93UGVybWlzc2lvbkRldGFpbGApO1xuICAgICAgICB0aGlzLmVuZFBvaW50ID0gX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBpRG9tYWluLndvcmtmbG93RW5kcG9pbnQ7XG5cbiAgICAgICAgdGhpcy5fbW9kdWxlQ29uZmlnID0gX21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCk7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJTZXJ2aWNlKHNldHRpbmdLZXk6IHN0cmluZywgc2VydmljZTogQmFzZVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlTWFuYWdlcnNbc2V0dGluZ0tleV0gPSBzZXJ2aWNlO1xuICAgIH1cblxuICAgIGdldEVuZHBvaW50QnlTZXJ2aWNlKHNlcnZpY2U6IEJhc2VTZXJ2aWNlKSB7XG4gICAgICAgIHJldHVybiBgJHtzZXJ2aWNlLmVuZFBvaW50fS8ke3RoaXMuX21vZHVsZUNvbmZpZy5lbnZpcm9ubWVudC5hcGlWZXJzaW9ufWA7XG4gICAgfVxuXG4gICAgY2hhbmdlRW5kcG9pbnQoYmFzZVNlcnZpY2U6IEJhc2VTZXJ2aWNlKTogV29ya2Zsb3dQZXJtaXNzaW9uRGV0YWlsU2VydmljZSB7XG4gICAgICAgIHRoaXMuc2VydmljZVVyaSA9IGAke3RoaXMuZ2V0RW5kcG9pbnRCeVNlcnZpY2UoYmFzZVNlcnZpY2UpfS9Xb3JrZmxvd1Blcm1pc3Npb25EZXRhaWxgO1xuICAgICAgICB0aGlzLnRhYmxlTmFtZSA9IGJhc2VTZXJ2aWNlLmVudGl0eU5hbWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuXG4gICAgYXN5bmMgYXBwZW5kSW5mb0ZvcldvcmtmbG93U2luZ2xlKFxuICAgICAgICB1c2VySWRDdXJyZW50OiBzdHJpbmcsXG4gICAgICAgIGRhdGE6IGFueSxcbiAgICAgICAgZmllbGRLZXk6IHN0cmluZyA9ICdpZCcsXG4gICAgICAgIGlnbm9yZVdvcmtmbG93OiBib29sZWFuID0gZmFsc2UsXG4gICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXM6IChpdGVtU3RhdHVzLCByb3dJdGVtKSA9PiB2b2lkID0gbnVsbFxuICAgICkge1xuICAgICAgICBpZiAoY2FsbEJhY2tXaGVuTm90SGF2ZVN0YXR1cyA9PSBudWxsKSB7XG4gICAgICAgICAgICBjYWxsQmFja1doZW5Ob3RIYXZlU3RhdHVzID0gKGl0ZW1TdGF0dXMsIHJvd0l0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocm93SXRlbVtmaWVsZEtleV1cbiAgICAgICAgICAgICAgICAgICAgJiYgcm93SXRlbS53b3JrZmxvd0NvZGVcbiAgICAgICAgICAgICAgICAgICAgJiYgcm93SXRlbS5jdXJyZW50U3RhdGVDb2RlXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1TdGF0dXMudGV4dFRyYW5nVGhhaSA9ICfEkMOjIGLhuq90IMSR4bqndSBxdXkgdHLDrG5oJztcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy50cmFuZ1RoYWkgPSByb3dJdGVtLmN1cnJlbnRTdGF0ZUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1TdGF0dXMud29ya2Zsb3dDb2RlID0gcm93SXRlbS53b3JrZmxvd0NvZGU7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1TdGF0dXMucGVybWlzc2lvbiA9IFBlcm1pc3Npb25CYXNlLlJFQURcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGl0ZW1JZCA9IGRhdGFbZmllbGRLZXldO1xuICAgICAgICBjb25zdCBmaWx0ZXJzID0gW1xuICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXIoJ2l0ZW1JZCcsIE9wZXJhdG9yLmVxdWFsLCBpdGVtSWQpLFxuICAgICAgICAgICAgdGhpcy5uZXdGaWx0ZXIoJ25vdEluV29ya2Zsb3cnLCBPcGVyYXRvci5lcXVhbCwgZmFsc2UpLFxuICAgICAgICBdO1xuICAgICAgICBjb25zdCBzb3J0cyA9IFtdO1xuICAgICAgICBpZiAoIWlnbm9yZVdvcmtmbG93KSB7XG4gICAgICAgICAgICBmaWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIoJ3VzZXJJZCcsIE9wZXJhdG9yLmVxdWFsLCB1c2VySWRDdXJyZW50KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzb3J0cy5wdXNoKFxuICAgICAgICAgICAgICAgIG5ldyBTb3J0KHsgZmllbGQ6ICdwZXJtaXNzaW9uJywgZGlyOiAtMSB9KSxcbiAgICAgICAgICAgICAgICBuZXcgU29ydCh7IGZpZWxkOiAnaW5Db21pbmcnLCBkaXI6IC0xIH0pLFxuICAgICAgICAgICAgICAgIG5ldyBTb3J0KHsgZmllbGQ6ICdpc0NPRWRpdCcsZGlyOiAtMX0pXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRhdGFTdGF0dXM6IGFueVtdID0gKGF3YWl0IHRoaXMuZ2V0QWxsKFxuICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICdpdGVtSWQsdXNlcklkLHRyYW5nVGhhaSx0ZXh0VHJhbmdUaGFpLHdvcmtmbG93Q29kZSxwZXJtaXNzaW9uLGlzQ09FZGl0JyxcbiAgICAgICAgICAgIHNvcnRzLFxuICAgICAgICAgICAgJ0ZvckNydWRMaXN0J1xuICAgICAgICApKS5kYXRhO1xuICAgICAgICBpZiAoZGF0YVN0YXR1cyA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBub3RpZmllclNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoTm90aWZpZXJTZXJ2aWNlKTtcbiAgICAgICAgICAgIHJldHVybiBub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ0tow7RuZyBs4bqleSDEkcaw4bujYyB0aMO0bmcgdGluIHRy4bqhbmcgdGjDoWkgaGnhu4duIHThuqFpIGPhu6dhIGLhuqNuIGdoaScpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5hcHBlbmRXb3JrZmxvd0luZm9Ub0l0ZW0oXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgaXRlbUlkLFxuICAgICAgICAgICAgdXNlcklkQ3VycmVudCxcbiAgICAgICAgICAgIGlnbm9yZVdvcmtmbG93LFxuICAgICAgICAgICAgZGF0YVN0YXR1cyxcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXNcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBlbmRXb3JrZmxvd0luZm9Ub0l0ZW0oXG4gICAgICAgIGRhdGE6IGFueSxcbiAgICAgICAgaXRlbUlkOiBhbnksXG4gICAgICAgIHVzZXJJZEN1cnJlbnQ6IHN0cmluZyxcbiAgICAgICAgaWdub3JlV29ya2Zsb3c6IGJvb2xlYW4sXG4gICAgICAgIGRhdGFTdGF0dXM6IGFueVtdLFxuICAgICAgICBjYWxsQmFja1doZW5Ob3RIYXZlU3RhdHVzOiAoaXRlbVN0YXR1cywgcm93SXRlbSkgPT4gdm9pZCA9IG51bGxcbiAgICApIHtcbiAgICAgICAgbGV0IGl0ZW1TdGF0dXM6IGFueSA9IHtcbiAgICAgICAgICAgIHRleHRUcmFuZ1RoYWk6ICdDaMawYSBjaOG6oXkgcXV5IHRyw6xuaCdcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoaXRlbUlkKSB7XG4gICAgICAgICAgICAvLyBjb25zdCBsc3RJdGVtU3RhdHVzID0gZGF0YVN0YXR1cy5maWx0ZXIocSA9PiBxLml0ZW1JZCA9PSBpdGVtSWQgJiYgcS51c2VySWQgPT0gdXNlcklkQ3VycmVudCk7XG4gICAgICAgICAgICAvLyBpZiAoaWdub3JlV29ya2Zsb3cgPT09IHRydWUgJiYgbHN0SXRlbVN0YXR1cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIC8vICAgICBsc3RJdGVtU3RhdHVzLnB1c2goLi4uZGF0YVN0YXR1cy5maWx0ZXIocSA9PiBxLml0ZW1JZCA9PT0gaXRlbUlkKSk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICBjb25zdCBsc3RJdGVtU3RhdHVzID0gZGF0YVN0YXR1cy5maWx0ZXIocSA9PiBxLml0ZW1JZCA9PT0gaXRlbUlkKTtcbiAgICAgICAgICAgIC8vIGxldCBpdGVtU3RhdHVzID0gbnVsbDtcbiAgICAgICAgICAgIGlmIChsc3RJdGVtU3RhdHVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGl0ZW1TdGF0dXMgPSBsc3RJdGVtU3RhdHVzLmZpbmQocSA9PiAocS5wZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuRURJVCkgPT0gUGVybWlzc2lvbkJhc2UuRURJVCk7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1TdGF0dXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBpdGVtU3RhdHVzID0gbHN0SXRlbVN0YXR1c1swXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBO4bq/dSBraMO0bmcgY8OzIGLhuqNuIGdoaSB0cuG6oW5nIHRow6FpXG4gICAgICAgIC8vIE5oxrBuZyDEkcOjIHThuqFvIHRhc2sgcuG7k2kgdGjDrCBoaeG7g24gdGjhu4sgdHLhuqFuZyB0aMOhaSBcIsSRw6MgdOG6oW8gY8O0bmcgdmnhu4djXCIgxJHhu4MgdHLDoW5oIHRyxrDhu51uZyBo4bujcCBoaeG7g24gdGjhu4sgbsO6dCBi4bqvdCDEkeG6p3UgdGjhu6thIHRyw6puIGdpYW8gZGnhu4duXG4gICAgICAgIGlmICghaXRlbVN0YXR1cy50cmFuZ1RoYWkpIHtcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXMoaXRlbVN0YXR1cywgZGF0YSk7XG4gICAgICAgIH1cbiAgICAgICAgZGF0YS5fX2lzQ29FZGl0ID0gZGF0YVN0YXR1cy5zb21lKHg9PnguaXRlbUlkID09PSBpdGVtSWQgJiYgeC51c2VySWQgIT0gdGhpcy5ndWlkRW1wdHkgICYmIHguaXNDT0VkaXQpO1xuICAgICAgICBkYXRhLl9fdHJhbmdUaGFpID0gaXRlbVN0YXR1cy50cmFuZ1RoYWk7XG4gICAgICAgIGRhdGEuX190ZXh0VHJhbmdUaGFpID0gaXRlbVN0YXR1cy50ZXh0VHJhbmdUaGFpO1xuICAgICAgICBpZiAoaXRlbVN0YXR1cy53b3JrZmxvd0NvZGUgPT0gRHVtbXlXb3JrZmxvd0NvZGUpIHtcbiAgICAgICAgICAgIGRhdGEuaGlkZGVuV29ya2Zsb3dBY3Rpb24gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGRhdGEuX193b3JrZmxvd0NvZGUgPSBpdGVtU3RhdHVzLndvcmtmbG93Q29kZTtcbiAgICAgICAgZGF0YS5fX3Blcm1pc3Npb24gPSBpdGVtU3RhdHVzLnBlcm1pc3Npb247XG5cbiAgICAgICAgZGF0YS5fX2Rpc2FibGVFZGl0ID0gdHJ1ZTtcbiAgICAgICAgZGF0YS5fX2Rpc2FibGVEZWxldGUgPSB0cnVlO1xuICAgICAgICBpZiAoZGF0YS5iYXNlUGVybWlzc2lvbiAmIFBlcm1pc3Npb25CYXNlLkVESVRcbiAgICAgICAgICAgIHx8IGRhdGEuX19wZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuRURJVFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGRhdGEuX19kaXNhYmxlRWRpdCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZGF0YS5fX2Rpc2FibGVQZXJtaXNzaW9uRWRpdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEuYmFzZVBlcm1pc3Npb24gJiBQZXJtaXNzaW9uQmFzZS5ERUxFVEVcbiAgICAgICAgICAgIHx8IGRhdGEuX19wZXJtaXNzaW9uICYgUGVybWlzc2lvbkJhc2UuREVMRVRFXG4gICAgICAgICkge1xuICAgICAgICAgICAgZGF0YS5fX2Rpc2FibGVEZWxldGUgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGRhdGEuX19kaXNhYmxlUGVybWlzc2lvbkRlbGV0ZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIEzhuqV5IHRow6ptIGPDoWMgdGjDtG5nIHRpbiBj4bqnbiBjaG8gcXV5IHRyw6xuaCBuZ2hp4buHcCB24bulIGNobyBjw6FjIGLhuqNuIGdoaSB0cm9uZyBkYXRhXG4gICAgICovXG4gICAgYXN5bmMgYXBwZW5kSW5mb0ZvcldvcmtmbG93KFxuICAgICAgICB1c2VySWRDdXJyZW50OiBzdHJpbmcsIGRhdGE6IGFueVtdLFxuICAgICAgICBmaWVsZEtleTogc3RyaW5nID0gJ2lkJyxcbiAgICAgICAgaWdub3JlV29ya2Zsb3c6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgY2FsbEJhY2tXaGVuTm90SGF2ZVN0YXR1czogKGl0ZW1TdGF0dXMsIHJvd0l0ZW0pID0+IHZvaWQgPSBudWxsXG4gICAgKSB7XG4gICAgICAgIGlmIChjYWxsQmFja1doZW5Ob3RIYXZlU3RhdHVzID09IG51bGwpIHtcbiAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXMgPSAoaXRlbVN0YXR1cywgcm93SXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyb3dJdGVtW2ZpZWxkS2V5XVxuICAgICAgICAgICAgICAgICAgICAmJiByb3dJdGVtLndvcmtmbG93Q29kZVxuICAgICAgICAgICAgICAgICAgICAmJiByb3dJdGVtLmN1cnJlbnRTdGF0ZUNvZGVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy50ZXh0VHJhbmdUaGFpID0gJ8SQw6MgYuG6r3QgxJHhuqd1IHF1eSB0csOsbmgnO1xuICAgICAgICAgICAgICAgICAgICBpdGVtU3RhdHVzLnRyYW5nVGhhaSA9IHJvd0l0ZW0uY3VycmVudFN0YXRlQ29kZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy53b3JrZmxvd0NvZGUgPSByb3dJdGVtLndvcmtmbG93Q29kZTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbVN0YXR1cy5wZXJtaXNzaW9uID0gUGVybWlzc2lvbkJhc2UuUkVBRFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbHN0SXRlbUlkID0gZGF0YS5maWx0ZXIocSA9PiBxW2ZpZWxkS2V5XSkubWFwKHEgPT4gcVtmaWVsZEtleV0pO1xuICAgICAgICBsZXQgZmlsdGVycyA9IFtcbiAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyKCdpdGVtSWQnLCBPcGVyYXRvci5pbiwgbHN0SXRlbUlkKSxcbiAgICAgICAgICAgIHRoaXMubmV3RmlsdGVyKCdub3RJbldvcmtmbG93JywgT3BlcmF0b3IuZXF1YWwsIGZhbHNlKSxcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKHRoaXMudGFibGVOYW1lKSB7XG4gICAgICAgICAgICBmaWx0ZXJzLnB1c2godGhpcy5uZXdGaWx0ZXIoJ3RhYmxlTmFtZScsIE9wZXJhdG9yLmVxdWFsLCB0aGlzLnRhYmxlTmFtZSkpXG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc29ydHMgPSBbXTtcbiAgICAgICAgLy8gaWYgKCFpZ25vcmVXb3JrZmxvdykge1xuICAgICAgICAvLyAgICAgZmlsdGVycy5wdXNoKHRoaXMubmV3RmlsdGVyKCd1c2VySWQnLCBPcGVyYXRvci5lcXVhbCwgdXNlcklkQ3VycmVudCkpO1xuICAgICAgICAvLyB9XG4gICAgICAgIHNvcnRzLnB1c2goXG4gICAgICAgICAgICBuZXcgU29ydCh7IGZpZWxkOiAncGVybWlzc2lvbicsIGRpcjogLTEgfSksXG4gICAgICAgICAgICBuZXcgU29ydCh7IGZpZWxkOiAnaW5Db21pbmcnLCBkaXI6IC0xIH0pLFxuICAgICAgICAgICAgbmV3IFNvcnQoeyBmaWVsZDogJ2lzQ09FZGl0JyxkaXI6IC0xfSlcbiAgICAgICAgKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnN0IGRhdGFTdGF0dXM6IGFueVtdID0gKGF3YWl0IHRoaXMuZ2V0QWxsKFxuICAgICAgICAgICAgZmlsdGVycyxcbiAgICAgICAgICAgICdpdGVtSWQsdXNlcklkLHRyYW5nVGhhaSx0ZXh0VHJhbmdUaGFpLHdvcmtmbG93Q29kZSxwZXJtaXNzaW9uLGlzQ09FZGl0JyxcbiAgICAgICAgICAgIHNvcnRzLFxuICAgICAgICAgICAgJ0ZvckNydWRMaXN0J1xuICAgICAgICApKS5kYXRhO1xuICAgICAgICBpZiAoZGF0YVN0YXR1cyA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBub3RpZmllclNlcnZpY2UgPSB0aGlzLl9pbmplY3Rvci5nZXQoTm90aWZpZXJTZXJ2aWNlKTtcbiAgICAgICAgICAgIHJldHVybiBub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ0tow7RuZyBs4bqleSDEkcaw4bujYyB0aMO0bmcgdGluIHRy4bqhbmcgdGjDoWkgaGnhu4duIHThuqFpIGPhu6dhIGLhuqNuIGdoaScpO1xuICAgICAgICB9XG4gICAgICAgIGRhdGEuZm9yRWFjaChyb3dJdGVtID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXBwZW5kV29ya2Zsb3dJbmZvVG9JdGVtKFxuICAgICAgICAgICAgICAgIHJvd0l0ZW0sXG4gICAgICAgICAgICAgICAgcm93SXRlbVtmaWVsZEtleV0sXG4gICAgICAgICAgICAgICAgdXNlcklkQ3VycmVudCxcbiAgICAgICAgICAgICAgICBpZ25vcmVXb3JrZmxvdyxcbiAgICAgICAgICAgICAgICBkYXRhU3RhdHVzLFxuICAgICAgICAgICAgICAgIGNhbGxCYWNrV2hlbk5vdEhhdmVTdGF0dXNcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cbiJdfQ==
@@ -586,6 +586,8 @@ const MaActionBatDauQuyTrinh = '_START_';
586
586
  const ActionThuHoiBase = '__THU_HOI';
587
587
  const ActionChoYKienBase = '__CHO_Y_KIEN';
588
588
  const ActionUpdateModel = '__UPDATE_MODEL';
589
+ const ActionChuyenXuLyBase = '__CHUYEN_XU_LY';
590
+ const TextActionChuyenXuLyBase = 'Chuyển xử lý';
589
591
  const FieldDefineHasTask = '__idTask';
590
592
 
591
593
  function mapProperty(init, toMap) {
@@ -7628,6 +7630,17 @@ class BaseService {
7628
7630
  }
7629
7631
  return this.defaultPost(`${this.serviceUri}/ChangeStateBase`, itemWorkflowHistory);
7630
7632
  }
7633
+ chuyenXuLyBase(itemWorkflowHistory) {
7634
+ if (itemWorkflowHistory) {
7635
+ if (itemWorkflowHistory.departmentIds) {
7636
+ itemWorkflowHistory.donViIds = itemWorkflowHistory.departmentIds;
7637
+ }
7638
+ if (itemWorkflowHistory.departmentViewIds) {
7639
+ itemWorkflowHistory.donViViewIds = itemWorkflowHistory.departmentViewIds;
7640
+ }
7641
+ }
7642
+ return this.defaultPost(`${this.serviceUri}/ChuyenXuLyBase`, itemWorkflowHistory);
7643
+ }
7631
7644
  choYKien(itemWorkflowHistory) {
7632
7645
  return this.defaultPost(`${this.serviceUri}/ChoYKienBase`, itemWorkflowHistory);
7633
7646
  }
@@ -17276,12 +17289,12 @@ CanBo_HoSo_CoCauToChucService.ctorParameters = () => [
17276
17289
  class HoSoDoiTacService extends BaseService {
17277
17290
  constructor(http, injector, _moduleConfigService) {
17278
17291
  super(http, injector, `${_moduleConfigService.getConfig().environment.apiDomain
17279
- .doitacEndpoint}/${_moduleConfigService.getConfig().environment.apiVersion}/HoSoDoiTac`);
17292
+ .canboEndpoint}/${_moduleConfigService.getConfig().environment.apiVersion}/HoSoDoiTac`);
17280
17293
  this._moduleConfigService = _moduleConfigService;
17281
17294
  this.entityName = 'HoSoDoiTac';
17282
- this.serviceCode = 'doitac';
17295
+ this.serviceCode = 'canbo';
17283
17296
  this.endPoint
17284
- = _moduleConfigService.getConfig().environment.apiDomain.doitacEndpoint;
17297
+ = _moduleConfigService.getConfig().environment.apiDomain.canboEndpoint;
17285
17298
  }
17286
17299
  genDropDownSchema(required = false, multiple = false, field = 'idHoSoDoiTac', label = 'Hồ sơ đối tác', mdWidth = 6, funcModifySchema) {
17287
17300
  const rs = new DropdownControlSchema({
@@ -18690,6 +18703,7 @@ class WorkflowPermissionDetailService extends BaseService {
18690
18703
  this.serviceManagers = {};
18691
18704
  this.entityName = 'WorkflowPermissionDetail';
18692
18705
  this.tableName = '';
18706
+ this.guidEmpty = '00000000-0000-0000-0000-000000000000';
18693
18707
  this.endPoint = _moduleConfigService.getConfig().environment.apiDomain.workflowEndpoint;
18694
18708
  this._moduleConfig = _moduleConfigService.getConfig();
18695
18709
  }
@@ -18728,9 +18742,9 @@ class WorkflowPermissionDetailService extends BaseService {
18728
18742
  filters.push(this.newFilter('userId', Operator.equal, userIdCurrent));
18729
18743
  }
18730
18744
  else {
18731
- sorts.push(new Sort({ field: 'permission', dir: -1 }), new Sort({ field: 'inComing', dir: -1 }));
18745
+ sorts.push(new Sort({ field: 'permission', dir: -1 }), new Sort({ field: 'inComing', dir: -1 }), new Sort({ field: 'isCOEdit', dir: -1 }));
18732
18746
  }
18733
- const dataStatus = (yield this.getAll(filters, 'itemId,userId,trangThai,textTrangThai,workflowCode,permission', sorts, 'ForCrudList')).data;
18747
+ const dataStatus = (yield this.getAll(filters, 'itemId,userId,trangThai,textTrangThai,workflowCode,permission,isCOEdit', sorts, 'ForCrudList')).data;
18734
18748
  if (dataStatus == null) {
18735
18749
  const notifierService = this._injector.get(NotifierService);
18736
18750
  return notifierService.showWarning('Không lấy được thông tin trạng thái hiện tại của bản ghi');
@@ -18762,6 +18776,7 @@ class WorkflowPermissionDetailService extends BaseService {
18762
18776
  if (!itemStatus.trangThai) {
18763
18777
  callBackWhenNotHaveStatus(itemStatus, data);
18764
18778
  }
18779
+ data.__isCoEdit = dataStatus.some(x => x.itemId === itemId && x.userId != this.guidEmpty && x.isCOEdit);
18765
18780
  data.__trangThai = itemStatus.trangThai;
18766
18781
  data.__textTrangThai = itemStatus.textTrangThai;
18767
18782
  if (itemStatus.workflowCode == DummyWorkflowCode) {
@@ -18815,8 +18830,8 @@ class WorkflowPermissionDetailService extends BaseService {
18815
18830
  // if (!ignoreWorkflow) {
18816
18831
  // filters.push(this.newFilter('userId', Operator.equal, userIdCurrent));
18817
18832
  // }
18818
- sorts.push(new Sort({ field: 'permission', dir: -1 }), new Sort({ field: 'inComing', dir: -1 }));
18819
- const dataStatus = (yield this.getAll(filters, 'itemId,userId,trangThai,textTrangThai,workflowCode,permission', sorts, 'ForCrudList')).data;
18833
+ sorts.push(new Sort({ field: 'permission', dir: -1 }), new Sort({ field: 'inComing', dir: -1 }), new Sort({ field: 'isCOEdit', dir: -1 }));
18834
+ const dataStatus = (yield this.getAll(filters, 'itemId,userId,trangThai,textTrangThai,workflowCode,permission,isCOEdit', sorts, 'ForCrudList')).data;
18820
18835
  if (dataStatus == null) {
18821
18836
  const notifierService = this._injector.get(NotifierService);
18822
18837
  return notifierService.showWarning('Không lấy được thông tin trạng thái hiện tại của bản ghi');
@@ -21884,6 +21899,14 @@ class ListComponentBase extends ComponentBase {
21884
21899
  if (userId) {
21885
21900
  userIdStringUpper = userId.toUpperCase();
21886
21901
  }
21902
+ if (rowData.__isCoEdit) {
21903
+ buttonContexts.push({
21904
+ icon: 'pi pi-backward',
21905
+ label: TextActionChuyenXuLyBase,
21906
+ actionCode: ActionChuyenXuLyBase,
21907
+ command: () => this.showFormChuyenXuLy(crudListSetting, itemWorkflowSetting, rowData)
21908
+ });
21909
+ }
21887
21910
  const itemWorkflowHistoryLast = (yield workflowHistoryService.changeEndpoint(crudListSetting.baseService).getLastByItemId(rowData.id)).data;
21888
21911
  if (itemWorkflowHistoryLast
21889
21912
  && itemWorkflowHistoryLast.actionCode != MaActionBatDauQuyTrinh
@@ -22027,6 +22050,39 @@ class ListComponentBase extends ComponentBase {
22027
22050
  compRef.instance.onCancel.subscribe(event => this.choYKienModel.showEditForm = false);
22028
22051
  });
22029
22052
  }
22053
+ showFormChuyenXuLy(crudListSetting, itemWorkflowSetting, rowData) {
22054
+ return __awaiter(this, void 0, void 0, function* () {
22055
+ const workflowHistoryService = this._injector.get(WorkflowHistoryService);
22056
+ workflowHistoryService.changeEndpoint(this.setting.baseService);
22057
+ const itemWorkflowHistoryLast = (yield workflowHistoryService.changeEndpoint(crudListSetting.baseService).getLastByItemId(rowData.id)).data;
22058
+ if (!itemWorkflowHistoryLast) {
22059
+ return this._notifierService.showWarning('Không tìm thấy bước thực hiện gần nhất của bảng ghi!');
22060
+ }
22061
+ const currentState = itemWorkflowSetting.data.machines.find(x => x.code == rowData.__trangThai);
22062
+ this.processWorkflowModel.showEditForm = true;
22063
+ this.processWorkflowModel.header = TextActionChuyenXuLyBase;
22064
+ const compRef = yield this._federationService.loadRemoteNewComponent('commonapp', 'ProcessWorkflowFormComponent', this.processWorkflowFormViewContainer);
22065
+ if (this.dialogProcessWorkflowForm) {
22066
+ this.dialogProcessWorkflowForm.buttonTemplateInput = compRef.instance.buttonTemplate;
22067
+ }
22068
+ compRef.instance.item = this.currentItem;
22069
+ compRef.instance.businessSetting = crudListSetting;
22070
+ compRef.instance.workflow = itemWorkflowSetting;
22071
+ const action = new WfAction();
22072
+ action.code = ActionChuyenXuLyBase;
22073
+ action.name = TextActionChuyenXuLyBase;
22074
+ action.data = {};
22075
+ action.openPopup = true;
22076
+ action.target = currentState.id || this.guidEmpty;
22077
+ action.source = currentState.id || this.guidEmpty;
22078
+ compRef.instance.action = action;
22079
+ compRef.instance.onSaved.subscribe(event => {
22080
+ this.processWorkflowModel.showEditForm = false;
22081
+ this.getData();
22082
+ });
22083
+ compRef.instance.onCancel.subscribe(event => this.processWorkflowModel.showEditForm = false);
22084
+ });
22085
+ }
22030
22086
  startWorkflow(rowData, workflow) {
22031
22087
  return __awaiter(this, void 0, void 0, function* () {
22032
22088
  yield this.setting.baseService.startWorkflow(rowData.id, workflow.code)
@@ -39358,6 +39414,7 @@ class AutoCompletePickerComponent extends ComponentBase {
39358
39414
  this.setting.hiddenSettingPermission = true;
39359
39415
  this.setting.fieldSearchText = this.control.fieldSearchText;
39360
39416
  this.setting.columnSetting.sortField = this.control.sortField;
39417
+ this.setting.columnSetting.sortDir = this.control.sortDir;
39361
39418
  this.control.columns.forEach(column => {
39362
39419
  if (column.isDisplay) {
39363
39420
  const col = new ColumnSchemaBase(Object.assign(Object.assign({}, column), { visible: true, field: column.code || column.field, label: this._translateService.instant(column.label) }));
@@ -40089,7 +40146,7 @@ class CoCauToChucPickerListComponent extends ComponentBase {
40089
40146
  }
40090
40147
  ngOnInit() {
40091
40148
  this.control._component = this;
40092
- this.controlPicker = new AutoCompletePickerControlSchema(Object.assign(Object.assign({}, this.control), { field: 'arrIdNguoiDung', label: 'Đơn vị', title: 'Chọn đơn vị', baseService: this._coCauToChucService, multiple: this.control.multiple, valueField: this.control.valueField, defaultFilters: this.control.defaultFilters, sortField: 'idDuongDan', required: true, columns: [
40149
+ this.controlPicker = new AutoCompletePickerControlSchema(Object.assign(Object.assign({}, this.control), { field: 'arrIdNguoiDung', label: 'Đơn vị', title: 'Chọn đơn vị', baseService: this._coCauToChucService, multiple: this.control.multiple, valueField: this.control.valueField, defaultFilters: this.control.defaultFilters, sortField: 'idDuongDan', sortDir: 1, required: true, columns: [
40093
40150
  new EntityPickerColumn({
40094
40151
  label: 'Tên đơn vị',
40095
40152
  code: this.control.displayField,
@@ -49213,5 +49270,5 @@ class Pair {
49213
49270
  * Generated bundle index. Do not edit.
49214
49271
  */
49215
49272
 
49216
- export { AccessDeniedComponent, Action, ActionChoYKienBase, ActionThuHoiBase, ActionUpdateModel, AddressControlSchema, AddressService, AdvanceSearchData, AdvanceSearchSetting, AfterViewCheckedComponent, AnnouncementReadsService, AnnouncementsService, AppComponentBase, AppListService, ApplicationContextService, ApprovalPipe, ArrayPair, AtLeastOneRowTableValidator, AuthenService, AuthorizeDirective, AutoCompleteControlSchema, AutoCompletePickerControlSchema, AutocompleteDatasourceComponent, AvatarUploaderComponent, BaseMenuService, BaseModule, BaseService, BooleanFormatPipe, ButtonAction, ButtonControlSchema, ButtonPermission, ButtonPermissions, ButtonTextActionCongViec, CONFIG_CALENDAR_VIETNAMESE, CalculationEngineService, CanBoHoSoService, CanBo_HoSo_CoCauToChucService, CauHinhWorkflowService, CccdValidator, CellExcel, ChatBoxComponent, ChatSendMessageBoxComponent, CheckBoxListControlSchema, CheckControlVisibleService, CheckDuplicateFieldsValidator, CheckDuplicateValidator, CheckboxControlSchema, ChipsControlSchema, ClientV5Service, CoCauToChucControlSchema, CoCauToChucNewService, CoCauToChucPickerComponent, CoCauToChucPickerControlSchema, CoCauToChucPickerControlSchemaNew, CoCauToChucService, CodeValidator, ColorBlack, ColorControlSchema, ColorPickerControlSchema, ColorWhite, Column, ColumnSchemaBase, ColumnSetting, ColumnSettingDetail, ComCtxConstants, CommandType, CommonDashboardComponent, CommonErrorCode, CommonLibComponent, CommonSearchFormComponent, CommonService, CompareValidator, ComponentBase, ComponentBaseWithButton, ComponentConstants, ComponentContextService, ConditionalBuilderService, CongViecPickerControlSchema, CongViecService, ContainerSchema, ControlTreeNode, ControlType, ConvertMoneyToWordPipe, CoreConfigService, CrudBase, CrudFormComponent, CrudFormCustomFunction, CrudFormData, CrudFormSetting, CrudListComponent, CrudListConfig, CrudListCustomFunction, CrudListData, CrudListHelper, CrudListSetting, CrudService, CustomControlSchema, CustomRouterService, CustomizeUiModel, CustomizeUiService, DanhmucApiService, DataExcel, DataFormBase, DataListBase, DataSourceBoolean, DataSourceControlSchema, DataSourceGioiTinh, DataSourcePermissionBase, DataSourceWorkflowCoreStatus, DataType, DateCompareValidator, DateTimeControlSchema, DateTimeRangeControlSchema, DbOrganizationOrganizationService, DbOrganizationPositionService, Deadline, DeadlineType, DhvinhGuardService, DialogModel, DmChucVuService, DmLoaiCongViecService, DomService, DownloadLinkService, DropdownComponent, DropdownControlSchema, DropdownOptions, DummyWorkflowCode, DynamicComponentService, ENUM_DON_VI_HANH_CHINH, EXPLORER_TYPES, EXPORT_VERSION_V4, EXPORT_VERSION_V5, EditFileCommand, EditorControlSchema, EformService, EmailValidator, EntityMedataDataSetting, EntityMetadataService, EntityPickerColumn, EntityPickerControlSchema, EntityWorkflowHistoryService, EntityWorkflowType, EnumActionType, EnumAppSwitcherCode, EnumCanBo, EnumControlPickerType, EnumDoiTuongGuiThongBaoNguoiDung, EnumFileLayout, EnumGetRefType, EnumGioiTinh, EnumHocHamHocVi, EnumLoaiVanBanBase$1 as EnumLoaiVanBanBase, EnumLogType, EnumNotificationAction, EnumPermissionType, EnumProcessWorkflowType, EnumProperties, EnumStateType, EnumTargetType, EnumTypeSplash, EnumUserRule, EnumUserSource, EnumWFNhomTrangThai, EnumWorkflowCheckboxOption, EnumWorkflowCoreCodeSettingKey, EnumWorkflowHistoryStatus, ErrorType, EventData, EventType, ExactOneValueInTableValidator, ExportAllMode, ExportItem, ExportItemType, ExportItemsMode, ExportManyModel, ExportManyResultModel, ExportModel, ExportService, ExportWithoutTemplateModel, Extension, ExtensionsConst, FILE_TYPES, FederationService, FieldCheckboxCrudList, FieldColExpandCrudList, FieldColReorderCrudList, FieldDefineHasTask, FieldDefineIsTaskFormControl, FieldDefineIsWorkflowControl, FieldFunctionCrudList, FieldIndexInDataSource, FieldOrderCrudList, FieldRowSpan, FieldWorkflowCodeInCrudForm, FileDataService, FileExplorerService, FileExtensions, FileManagerComponent, FileManagerControlSchema, FileManagerMode, FileManagerSetting, FileObjectService, FilePickerDialogComponent, FilePickerSetting, FileType, FileTypeFlag, FileUploadComponent, FileUploadControlSchema, FileUploadMode, FileUploadSetting, FileV4Service, Filter, FolderService, FormControlBase, FormControlBaseWithService, FormSchemaBase, FormSchemaBaseWithService, FormState, Gender, GenerateLinkDownloadDTO, GenericGuardChildService, GenericGuardService, GlobalService, GmailCorrector, GridInfo, GuardService, GuardSvService, HeightType, HighPerformanceService, HighlightPipe, HoSoDoiTacService, HtmlFormatPipe, HtmlPreviewControlSchema, HttpOptions, ImageService, ImageUploaderControlSchema, Include, KeyFieldGetRefType, KeyFilterStateByMenuCongViec, KeyFlashShow, KeyFunctionReload, KeyValueComponent, KeyValueControlSchema, LabelSchema, LabelWFNhomTrangThai, LabelWorkflowCoreStatus, LatexService, LengthValidator, ListHelperService, LoaiPhieuDeXuat, LocalCacheService, LogColumn, LogSetting, LowerCorrector, LstEmailValidator, MA_THONG_BAO_PHAN_HE, MaActionBatDauQuyTrinh, ManagerType, MaskControlSchema, MasterDataItem, MasterDataPipe, MasterDataService, MenuService, MenuSource, MergeConfigModel, MethodResult, ModelKySoDonVi, ModelSchema, ModuleConfigService, MultiTranslateHttpLoader, MultipleReferenceDataFormatPipe, NameValidator, NotificationObjectType, NotificationParams, NotificationService, NotifierService, NotifierType, NumberCompareValidator, NumberOnlyValidator, NumberRangeControlSchema, Operator, OrganizationFormatPipe, OrganizationNameFormatPipe, OrganizationPickerControlSchema, OrganizationService, OrganizationsFormatPipe, PageInfo, PageSetting, Pair, PassportValidator, PasswordValidator, Pattern, PercentControlSchema, PermissionBase, PermissionConstant, PermissionName, PermissionService, PermissionStorage, PermissionTypes, PermissionUtilsComponent, PersonalSetting, PhanQuyenModel, PhoneNumberValidator, PhoneValidator, PopupSize, PositionService, PrintService, PublicFunction, QueryBuilderComponent, QueryBuilderGroupComponent, QueryBuilderRuleComponent, QueryGroup, QueryRule, RELOAD_FILE_LIST, RadioButtonListControlSchema, RandomDataService, RefField, ReferenceDataFormatPipe, ReferenceTextControlSchema, RegexSplitFieldByItem, ReponseResult, RequiredFieldsValidator, RequiredValidator, RowColorOption, RowExcel, SEND_ACTION, SHARE_COMPONENT_ID, SHARE_EVENT, SafeHtmlPipe, SafeStylePipe, SafeUrlPipe, SameValueValidator, ScalarValueValidator, SchemaBase, SecurePipe, ServiceFileUploadComponent, ServiceRequestModel, ServiceRequestModelV5, SessionTypes, SharedFolderType, SignalRService, SimpleDicItem, SimpleDictionary, Sort, SortDirs, SpanControlSchema, SplashComponentComponent, StartupBusinessComponentBase, StateMachinesService, Status, StatusAction, StatusGroup, StatusOption, StatusOrg, StatusUser, StorageService, StorageUpdatedService, StringCompareOption, StringFormatPipe, SummaryPipe, SwitchControlSchema, TBL_DM_COSODAOTAO_CONSTS, TBL_DM_PHONGHOC_CONSTS, TBL_KTX_NGUOITHUE_HOSO, TBL_TS_PHIEUDEXUAT, TBL_TS_TAISANCODINH_CONSTS, TabViewData, TableSchema, TagSeparator, TaiLieuComponent, TaxCodeValidator, TemplateConstant, TemplateControlSchema, TemplateInstanceService, TemplateService, TemplateTextItem, TemplateTextMany, TemplateTextService, TemplateTextV4Service, TemplateType, TemplateV4Service, TenContainer, TextAlign, TextAreaControlSchema, TextControlSchema, TextControlSchemaWithService, TitleSchema, TnClientCommand, TnClientService, TnComponentConfig, TnCustomScrollbarComponent, TnDatePipe, TnMenu, TnMenuItem, TnReorderableColumnDirective, TnReorderableRowDirective, TnSortIcon, TnSortableColumnDirective, TnTreeTableToggler, TnUser, TnxSharedModule, TopicReloadCongViecV5, TopicReloadCountCongViecV5, TopicReloadNotification, TrangThaiMasterData, TrangThais, TreeDataOption, TreeListBase, TreeNode, TrimCorrector, TrimEndCorrector, TrimStartCorrector, TypeDanhMucAPI, UniqueFieldInTableValidator, UniqueNumberService, UpperCorrector, UserGroupRealService, UserGroupService, UserOnlineDetailsService, UserPickerControlSchema, UserPickerDialogComponent, UserPublicInfo, UserService, UserType, UserV5Service, Validation, ValueType, VanBanPickerControlSchema, ViewContainerRefDirective, VirtualBaseService, WfAction, WfItem, WfMachine, WfSchema, WorkflowConfigAdvance, WorkflowCoreStatusEnum, WorkflowFieldStateCode, WorkflowHistoryService, WorkflowPermissionDetailService, WorkflowService, WorkflowSetting, WorkflowSettingNew, WorkflowSettingsService, WorkflowTargetDefaultValue, WrapPickerControlSchema, addDay, addZero, appendDefaultFilter, clearAll, clone, cloneOld, coreDeclaration, coreModuleImport, coreProvider, dataSourceIcon, dateDiff, fileTypeSource, genQueryFromFilters, getDateFromStringDateVN, getDayOfWeek, getEnvironmentByName, getEnvironmentData, getListMenuByName, getMenuData, getMonday, getStringDate, getStringDateTime, getStringDateVN, getStringDateVNLocal, getTimeSpan, isArray, isBoolean, isDate, isFunction, isLiteralObject, isNumber, isObjectOld, isRegular, isSimpleType, isString, isValidDate, isValidTime, keyUserSurveyLocal, loadRemoteModule, loadRemotePageModule, mapProperty, maximumPageSize, mergeJSON, mergeJSONOld, moduleConfigFunc, monthDiff, multipleSort, romanize, ɵ1$1 as ɵ1, ɵ2$1 as ɵ2, ɵ3, ɵ4, LoggerService as ɵa, DropdownService as ɵb, ImageUploaderComponent as ɵba, CheckBoxListComponent as ɵbb, CoCauToChucPickerListComponent as ɵbc, CoCauToChucPickerListNewComponent as ɵbd, FormBuilderComponent as ɵbe, DatetimePickerComponent as ɵbf, DatetimePickerRangeComponent as ɵbg, EntityPickerBoxComponent as ɵbh, EntityPickerDataComponent as ɵbi, EntityPickerSelectedComponent as ɵbj, EntityPickerComponent as ɵbk, EntityPickerSearchFormComponent as ɵbl, EntityPickerDialogComponent as ɵbm, EntityPickerTreeDataComponent as ɵbn, EntityPickerTreeSelectedComponent as ɵbo, EntityPermissionComponent as ɵbp, EquationEditorComponent as ɵbq, MaskComponent as ɵbr, NumberPickerRangeComponent as ɵbs, PagingNextBackOnlyComponent as ɵbt, RadioButtonListComponent as ɵbu, VanBanPickerComponent as ɵbv, VanBanDenService as ɵbw, VanBanDiService as ɵbx, VanBanPickerDialogComponent as ɵby, VanbanDiPickerComponent as ɵbz, EntityPickerService as ɵc, VanbanDenPickerComponent as ɵca, CongViecPickerComponent as ɵcb, SettingsComponent as ɵcc, SettingsRowComponent as ɵcd, ShareLinkByPermissionComponent as ɵce, TnCheckboxComponent as ɵcf, TnDialogComponent as ɵcg, TnColorPickerComponent as ɵch, TnTinymceComponent as ɵci, TnTabViewComponent as ɵcj, TableDetailFormComponent as ɵck, FileIconPipe as ɵcl, FileSizePipe as ɵcm, QuickAddFormComponent as ɵcn, PreventShiftTabDirective as ɵco, TnTemplateDirective as ɵcp, UserPickerComponent as ɵcq, UserPickerBoxComponent as ɵcr, CoCauToChucTestService as ɵcs, TnAppHelpComponent as ɵct, PathNameService as ɵcu, HelperCurrentPageComponent as ɵcv, TnAppNotificationListComponent as ɵcw, TnAppNotificationComponent as ɵcx, FolderFormComponent as ɵcy, FileFormComponent as ɵcz, ExceptionHandlerService as ɵd, FileViewerComponent as ɵda, FileVersionListComponent as ɵdb, ViewDetailComponent as ɵdc, ReferenceTextBoxComponent as ɵdd, QrCodeGeneratorComponent as ɵde, ThongBaoComponent as ɵdf, MyDriveComponent as ɵdg, ChangePasswordComponent as ɵdh, ProfileComponent as ɵdi, AddNewsComponent as ɵdj, ArticleService as ɵdk, NewsCategoryService as ɵdl, UniversalLinkProcessorComponent as ɵdm, SignatureDetailComponent as ɵdn, KySoSimDanhSachChuKyComponent as ɵdo, KySoSimChuKyUserService as ɵdp, FileKySoSimComponent as ɵdq, KySoSimSignPDFService as ɵdr, TaiLieuCuaToiComponent as ɵds, KhaiThacTaiLieuDungChungComponent as ɵdt, DanhMucDungChungService as ɵdu, TnTemplateComponent as ɵdv, DropdownSettingFormComponent as ɵdw, CheckReadyComponent as ɵdx, TnAccordionTabComponent as ɵdy, SettingsWorkflowComponent as ɵdz, ListBase as ɵe, SettingAuthorizeButtonComponent as ɵea, BasePermissionService as ɵeb, SettingsWorkflowNo1Component as ɵec, HtmlPreviewComponent as ɵed, AUTOCOMPLETE_VALUE_ACCESSOR as ɵee, AutoComplete as ɵef, AutoCompleteModule as ɵeg, ListComponentBase as ɵf, TreeTableComponent as ɵg, NotFoundComponent as ɵh, SendAccessTokenInterceptor as ɵi, LogInterceptor as ɵj, PermissionUtilsInterceptor as ɵk, TraceInterceptor as ɵl, EntityPermissionService as ɵm, ChatService as ɵn, MyDriveService as ɵo, ContentsService as ɵp, StatusExtendsService as ɵq, MessageBoardService as ɵr, FileExplorerNewService as ɵs, FileVersionService as ɵt, FileManagerService as ɵu, DM_ChucVuService as ɵv, RoleService as ɵw, AddressComponent as ɵx, AdvanceSearchComponent as ɵy, AutoCompletePickerComponent as ɵz };
49273
+ export { AccessDeniedComponent, Action, ActionChoYKienBase, ActionChuyenXuLyBase, ActionThuHoiBase, ActionUpdateModel, AddressControlSchema, AddressService, AdvanceSearchData, AdvanceSearchSetting, AfterViewCheckedComponent, AnnouncementReadsService, AnnouncementsService, AppComponentBase, AppListService, ApplicationContextService, ApprovalPipe, ArrayPair, AtLeastOneRowTableValidator, AuthenService, AuthorizeDirective, AutoCompleteControlSchema, AutoCompletePickerControlSchema, AutocompleteDatasourceComponent, AvatarUploaderComponent, BaseMenuService, BaseModule, BaseService, BooleanFormatPipe, ButtonAction, ButtonControlSchema, ButtonPermission, ButtonPermissions, ButtonTextActionCongViec, CONFIG_CALENDAR_VIETNAMESE, CalculationEngineService, CanBoHoSoService, CanBo_HoSo_CoCauToChucService, CauHinhWorkflowService, CccdValidator, CellExcel, ChatBoxComponent, ChatSendMessageBoxComponent, CheckBoxListControlSchema, CheckControlVisibleService, CheckDuplicateFieldsValidator, CheckDuplicateValidator, CheckboxControlSchema, ChipsControlSchema, ClientV5Service, CoCauToChucControlSchema, CoCauToChucNewService, CoCauToChucPickerComponent, CoCauToChucPickerControlSchema, CoCauToChucPickerControlSchemaNew, CoCauToChucService, CodeValidator, ColorBlack, ColorControlSchema, ColorPickerControlSchema, ColorWhite, Column, ColumnSchemaBase, ColumnSetting, ColumnSettingDetail, ComCtxConstants, CommandType, CommonDashboardComponent, CommonErrorCode, CommonLibComponent, CommonSearchFormComponent, CommonService, CompareValidator, ComponentBase, ComponentBaseWithButton, ComponentConstants, ComponentContextService, ConditionalBuilderService, CongViecPickerControlSchema, CongViecService, ContainerSchema, ControlTreeNode, ControlType, ConvertMoneyToWordPipe, CoreConfigService, CrudBase, CrudFormComponent, CrudFormCustomFunction, CrudFormData, CrudFormSetting, CrudListComponent, CrudListConfig, CrudListCustomFunction, CrudListData, CrudListHelper, CrudListSetting, CrudService, CustomControlSchema, CustomRouterService, CustomizeUiModel, CustomizeUiService, DanhmucApiService, DataExcel, DataFormBase, DataListBase, DataSourceBoolean, DataSourceControlSchema, DataSourceGioiTinh, DataSourcePermissionBase, DataSourceWorkflowCoreStatus, DataType, DateCompareValidator, DateTimeControlSchema, DateTimeRangeControlSchema, DbOrganizationOrganizationService, DbOrganizationPositionService, Deadline, DeadlineType, DhvinhGuardService, DialogModel, DmChucVuService, DmLoaiCongViecService, DomService, DownloadLinkService, DropdownComponent, DropdownControlSchema, DropdownOptions, DummyWorkflowCode, DynamicComponentService, ENUM_DON_VI_HANH_CHINH, EXPLORER_TYPES, EXPORT_VERSION_V4, EXPORT_VERSION_V5, EditFileCommand, EditorControlSchema, EformService, EmailValidator, EntityMedataDataSetting, EntityMetadataService, EntityPickerColumn, EntityPickerControlSchema, EntityWorkflowHistoryService, EntityWorkflowType, EnumActionType, EnumAppSwitcherCode, EnumCanBo, EnumControlPickerType, EnumDoiTuongGuiThongBaoNguoiDung, EnumFileLayout, EnumGetRefType, EnumGioiTinh, EnumHocHamHocVi, EnumLoaiVanBanBase$1 as EnumLoaiVanBanBase, EnumLogType, EnumNotificationAction, EnumPermissionType, EnumProcessWorkflowType, EnumProperties, EnumStateType, EnumTargetType, EnumTypeSplash, EnumUserRule, EnumUserSource, EnumWFNhomTrangThai, EnumWorkflowCheckboxOption, EnumWorkflowCoreCodeSettingKey, EnumWorkflowHistoryStatus, ErrorType, EventData, EventType, ExactOneValueInTableValidator, ExportAllMode, ExportItem, ExportItemType, ExportItemsMode, ExportManyModel, ExportManyResultModel, ExportModel, ExportService, ExportWithoutTemplateModel, Extension, ExtensionsConst, FILE_TYPES, FederationService, FieldCheckboxCrudList, FieldColExpandCrudList, FieldColReorderCrudList, FieldDefineHasTask, FieldDefineIsTaskFormControl, FieldDefineIsWorkflowControl, FieldFunctionCrudList, FieldIndexInDataSource, FieldOrderCrudList, FieldRowSpan, FieldWorkflowCodeInCrudForm, FileDataService, FileExplorerService, FileExtensions, FileManagerComponent, FileManagerControlSchema, FileManagerMode, FileManagerSetting, FileObjectService, FilePickerDialogComponent, FilePickerSetting, FileType, FileTypeFlag, FileUploadComponent, FileUploadControlSchema, FileUploadMode, FileUploadSetting, FileV4Service, Filter, FolderService, FormControlBase, FormControlBaseWithService, FormSchemaBase, FormSchemaBaseWithService, FormState, Gender, GenerateLinkDownloadDTO, GenericGuardChildService, GenericGuardService, GlobalService, GmailCorrector, GridInfo, GuardService, GuardSvService, HeightType, HighPerformanceService, HighlightPipe, HoSoDoiTacService, HtmlFormatPipe, HtmlPreviewControlSchema, HttpOptions, ImageService, ImageUploaderControlSchema, Include, KeyFieldGetRefType, KeyFilterStateByMenuCongViec, KeyFlashShow, KeyFunctionReload, KeyValueComponent, KeyValueControlSchema, LabelSchema, LabelWFNhomTrangThai, LabelWorkflowCoreStatus, LatexService, LengthValidator, ListHelperService, LoaiPhieuDeXuat, LocalCacheService, LogColumn, LogSetting, LowerCorrector, LstEmailValidator, MA_THONG_BAO_PHAN_HE, MaActionBatDauQuyTrinh, ManagerType, MaskControlSchema, MasterDataItem, MasterDataPipe, MasterDataService, MenuService, MenuSource, MergeConfigModel, MethodResult, ModelKySoDonVi, ModelSchema, ModuleConfigService, MultiTranslateHttpLoader, MultipleReferenceDataFormatPipe, NameValidator, NotificationObjectType, NotificationParams, NotificationService, NotifierService, NotifierType, NumberCompareValidator, NumberOnlyValidator, NumberRangeControlSchema, Operator, OrganizationFormatPipe, OrganizationNameFormatPipe, OrganizationPickerControlSchema, OrganizationService, OrganizationsFormatPipe, PageInfo, PageSetting, Pair, PassportValidator, PasswordValidator, Pattern, PercentControlSchema, PermissionBase, PermissionConstant, PermissionName, PermissionService, PermissionStorage, PermissionTypes, PermissionUtilsComponent, PersonalSetting, PhanQuyenModel, PhoneNumberValidator, PhoneValidator, PopupSize, PositionService, PrintService, PublicFunction, QueryBuilderComponent, QueryBuilderGroupComponent, QueryBuilderRuleComponent, QueryGroup, QueryRule, RELOAD_FILE_LIST, RadioButtonListControlSchema, RandomDataService, RefField, ReferenceDataFormatPipe, ReferenceTextControlSchema, RegexSplitFieldByItem, ReponseResult, RequiredFieldsValidator, RequiredValidator, RowColorOption, RowExcel, SEND_ACTION, SHARE_COMPONENT_ID, SHARE_EVENT, SafeHtmlPipe, SafeStylePipe, SafeUrlPipe, SameValueValidator, ScalarValueValidator, SchemaBase, SecurePipe, ServiceFileUploadComponent, ServiceRequestModel, ServiceRequestModelV5, SessionTypes, SharedFolderType, SignalRService, SimpleDicItem, SimpleDictionary, Sort, SortDirs, SpanControlSchema, SplashComponentComponent, StartupBusinessComponentBase, StateMachinesService, Status, StatusAction, StatusGroup, StatusOption, StatusOrg, StatusUser, StorageService, StorageUpdatedService, StringCompareOption, StringFormatPipe, SummaryPipe, SwitchControlSchema, TBL_DM_COSODAOTAO_CONSTS, TBL_DM_PHONGHOC_CONSTS, TBL_KTX_NGUOITHUE_HOSO, TBL_TS_PHIEUDEXUAT, TBL_TS_TAISANCODINH_CONSTS, TabViewData, TableSchema, TagSeparator, TaiLieuComponent, TaxCodeValidator, TemplateConstant, TemplateControlSchema, TemplateInstanceService, TemplateService, TemplateTextItem, TemplateTextMany, TemplateTextService, TemplateTextV4Service, TemplateType, TemplateV4Service, TenContainer, TextActionChuyenXuLyBase, TextAlign, TextAreaControlSchema, TextControlSchema, TextControlSchemaWithService, TitleSchema, TnClientCommand, TnClientService, TnComponentConfig, TnCustomScrollbarComponent, TnDatePipe, TnMenu, TnMenuItem, TnReorderableColumnDirective, TnReorderableRowDirective, TnSortIcon, TnSortableColumnDirective, TnTreeTableToggler, TnUser, TnxSharedModule, TopicReloadCongViecV5, TopicReloadCountCongViecV5, TopicReloadNotification, TrangThaiMasterData, TrangThais, TreeDataOption, TreeListBase, TreeNode, TrimCorrector, TrimEndCorrector, TrimStartCorrector, TypeDanhMucAPI, UniqueFieldInTableValidator, UniqueNumberService, UpperCorrector, UserGroupRealService, UserGroupService, UserOnlineDetailsService, UserPickerControlSchema, UserPickerDialogComponent, UserPublicInfo, UserService, UserType, UserV5Service, Validation, ValueType, VanBanPickerControlSchema, ViewContainerRefDirective, VirtualBaseService, WfAction, WfItem, WfMachine, WfSchema, WorkflowConfigAdvance, WorkflowCoreStatusEnum, WorkflowFieldStateCode, WorkflowHistoryService, WorkflowPermissionDetailService, WorkflowService, WorkflowSetting, WorkflowSettingNew, WorkflowSettingsService, WorkflowTargetDefaultValue, WrapPickerControlSchema, addDay, addZero, appendDefaultFilter, clearAll, clone, cloneOld, coreDeclaration, coreModuleImport, coreProvider, dataSourceIcon, dateDiff, fileTypeSource, genQueryFromFilters, getDateFromStringDateVN, getDayOfWeek, getEnvironmentByName, getEnvironmentData, getListMenuByName, getMenuData, getMonday, getStringDate, getStringDateTime, getStringDateVN, getStringDateVNLocal, getTimeSpan, isArray, isBoolean, isDate, isFunction, isLiteralObject, isNumber, isObjectOld, isRegular, isSimpleType, isString, isValidDate, isValidTime, keyUserSurveyLocal, loadRemoteModule, loadRemotePageModule, mapProperty, maximumPageSize, mergeJSON, mergeJSONOld, moduleConfigFunc, monthDiff, multipleSort, romanize, ɵ1$1 as ɵ1, ɵ2$1 as ɵ2, ɵ3, ɵ4, LoggerService as ɵa, DropdownService as ɵb, ImageUploaderComponent as ɵba, CheckBoxListComponent as ɵbb, CoCauToChucPickerListComponent as ɵbc, CoCauToChucPickerListNewComponent as ɵbd, FormBuilderComponent as ɵbe, DatetimePickerComponent as ɵbf, DatetimePickerRangeComponent as ɵbg, EntityPickerBoxComponent as ɵbh, EntityPickerDataComponent as ɵbi, EntityPickerSelectedComponent as ɵbj, EntityPickerComponent as ɵbk, EntityPickerSearchFormComponent as ɵbl, EntityPickerDialogComponent as ɵbm, EntityPickerTreeDataComponent as ɵbn, EntityPickerTreeSelectedComponent as ɵbo, EntityPermissionComponent as ɵbp, EquationEditorComponent as ɵbq, MaskComponent as ɵbr, NumberPickerRangeComponent as ɵbs, PagingNextBackOnlyComponent as ɵbt, RadioButtonListComponent as ɵbu, VanBanPickerComponent as ɵbv, VanBanDenService as ɵbw, VanBanDiService as ɵbx, VanBanPickerDialogComponent as ɵby, VanbanDiPickerComponent as ɵbz, EntityPickerService as ɵc, VanbanDenPickerComponent as ɵca, CongViecPickerComponent as ɵcb, SettingsComponent as ɵcc, SettingsRowComponent as ɵcd, ShareLinkByPermissionComponent as ɵce, TnCheckboxComponent as ɵcf, TnDialogComponent as ɵcg, TnColorPickerComponent as ɵch, TnTinymceComponent as ɵci, TnTabViewComponent as ɵcj, TableDetailFormComponent as ɵck, FileIconPipe as ɵcl, FileSizePipe as ɵcm, QuickAddFormComponent as ɵcn, PreventShiftTabDirective as ɵco, TnTemplateDirective as ɵcp, UserPickerComponent as ɵcq, UserPickerBoxComponent as ɵcr, CoCauToChucTestService as ɵcs, TnAppHelpComponent as ɵct, PathNameService as ɵcu, HelperCurrentPageComponent as ɵcv, TnAppNotificationListComponent as ɵcw, TnAppNotificationComponent as ɵcx, FolderFormComponent as ɵcy, FileFormComponent as ɵcz, ExceptionHandlerService as ɵd, FileViewerComponent as ɵda, FileVersionListComponent as ɵdb, ViewDetailComponent as ɵdc, ReferenceTextBoxComponent as ɵdd, QrCodeGeneratorComponent as ɵde, ThongBaoComponent as ɵdf, MyDriveComponent as ɵdg, ChangePasswordComponent as ɵdh, ProfileComponent as ɵdi, AddNewsComponent as ɵdj, ArticleService as ɵdk, NewsCategoryService as ɵdl, UniversalLinkProcessorComponent as ɵdm, SignatureDetailComponent as ɵdn, KySoSimDanhSachChuKyComponent as ɵdo, KySoSimChuKyUserService as ɵdp, FileKySoSimComponent as ɵdq, KySoSimSignPDFService as ɵdr, TaiLieuCuaToiComponent as ɵds, KhaiThacTaiLieuDungChungComponent as ɵdt, DanhMucDungChungService as ɵdu, TnTemplateComponent as ɵdv, DropdownSettingFormComponent as ɵdw, CheckReadyComponent as ɵdx, TnAccordionTabComponent as ɵdy, SettingsWorkflowComponent as ɵdz, ListBase as ɵe, SettingAuthorizeButtonComponent as ɵea, BasePermissionService as ɵeb, SettingsWorkflowNo1Component as ɵec, HtmlPreviewComponent as ɵed, AUTOCOMPLETE_VALUE_ACCESSOR as ɵee, AutoComplete as ɵef, AutoCompleteModule as ɵeg, ListComponentBase as ɵf, TreeTableComponent as ɵg, NotFoundComponent as ɵh, SendAccessTokenInterceptor as ɵi, LogInterceptor as ɵj, PermissionUtilsInterceptor as ɵk, TraceInterceptor as ɵl, EntityPermissionService as ɵm, ChatService as ɵn, MyDriveService as ɵo, ContentsService as ɵp, StatusExtendsService as ɵq, MessageBoardService as ɵr, FileExplorerNewService as ɵs, FileVersionService as ɵt, FileManagerService as ɵu, DM_ChucVuService as ɵv, RoleService as ɵw, AddressComponent as ɵx, AdvanceSearchComponent as ɵy, AutoCompletePickerComponent as ɵz };
49217
49274
  //# sourceMappingURL=tnx-shared.js.map