tnx-shared 5.3.193 → 5.3.194
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.
- package/bundles/tnx-shared.umd.js +313 -707
- package/bundles/tnx-shared.umd.js.map +1 -1
- package/bundles/tnx-shared.umd.min.js +1 -1
- package/bundles/tnx-shared.umd.min.js.map +1 -1
- package/esm2015/public-api.js +2 -2
- package/esm2015/tnx-shared.module.js +3 -3
- package/fesm2015/tnx-shared.js +230 -569
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +0 -1
- package/public-api.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
- package/tnx-shared.module.d.ts +1 -2
- package/tnx-shared.module.d.ts.map +1 -1
- package/tnx-shared.module.ngfactory.d.ts.map +1 -1
- package/components/report-queue/base-job/job-item.d.ts +0 -44
- package/components/report-queue/base-job/job-item.d.ts.map +0 -1
- package/components/report-queue/report-queue.component.d.ts +0 -67
- package/components/report-queue/report-queue.component.d.ts.map +0 -1
- package/components/report-queue/report-queue.component.ngfactory.d.ts.map +0 -1
- package/components/report-queue/report-queue.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/esm2015/components/report-queue/base-job/job-item.js +0 -54
- package/esm2015/components/report-queue/report-queue.component.js +0 -301
package/fesm2015/tnx-shared.js
CHANGED
|
@@ -32912,573 +32912,6 @@ CommonLibComponent.propDecorators = {
|
|
|
32912
32912
|
cancelButton: [{ type: ViewChild, args: ['cancelButton',] }]
|
|
32913
32913
|
};
|
|
32914
32914
|
|
|
32915
|
-
class HighPerformanceService {
|
|
32916
|
-
constructor(_signalrService, _commonService, _httpClient, _moduleConfigService) {
|
|
32917
|
-
this._signalrService = _signalrService;
|
|
32918
|
-
this._commonService = _commonService;
|
|
32919
|
-
this._httpClient = _httpClient;
|
|
32920
|
-
this._moduleConfigService = _moduleConfigService;
|
|
32921
|
-
}
|
|
32922
|
-
createProcess(queueName, callBackOnMessage = null, data = null, returnSequenceNumber = false) {
|
|
32923
|
-
const internalClientKey = this._commonService.guid();
|
|
32924
|
-
const model = {
|
|
32925
|
-
queueName,
|
|
32926
|
-
data,
|
|
32927
|
-
clientKey: internalClientKey
|
|
32928
|
-
};
|
|
32929
|
-
this._signalrService.start(null, internalClientKey, (data) => {
|
|
32930
|
-
if (callBackOnMessage) {
|
|
32931
|
-
callBackOnMessage(data);
|
|
32932
|
-
}
|
|
32933
|
-
this._signalrService.unSubscribeViewCode(null, internalClientKey);
|
|
32934
|
-
});
|
|
32935
|
-
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
32936
|
-
this.env = this._moduleConfigService.getConfig().environment;
|
|
32937
|
-
const highPerformanceEndpoint = `${this.env.apiDomain.highPerformanceEndpoint}/HighPerformance/DoWork?returnSequenceNumber=${returnSequenceNumber}`;
|
|
32938
|
-
try {
|
|
32939
|
-
const rs = yield this._httpClient.post(highPerformanceEndpoint, model).toPromise();
|
|
32940
|
-
if (rs.success) {
|
|
32941
|
-
resolve(rs.data);
|
|
32942
|
-
}
|
|
32943
|
-
}
|
|
32944
|
-
catch (_a) {
|
|
32945
|
-
}
|
|
32946
|
-
resolve(null);
|
|
32947
|
-
}));
|
|
32948
|
-
}
|
|
32949
|
-
cancelProcess(queueName, uniqueKey) {
|
|
32950
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
32951
|
-
try {
|
|
32952
|
-
const highPerformanceEndpoint = `${this.env.apiDomain.highPerformanceEndpoint}/HighPerformance/CancelWork?queueName=${queueName}&uniqueKey=${uniqueKey}`;
|
|
32953
|
-
const rs = yield this._httpClient.post(highPerformanceEndpoint, {}).toPromise();
|
|
32954
|
-
if (rs.success) {
|
|
32955
|
-
return rs.data;
|
|
32956
|
-
}
|
|
32957
|
-
}
|
|
32958
|
-
catch (_a) {
|
|
32959
|
-
}
|
|
32960
|
-
return false;
|
|
32961
|
-
});
|
|
32962
|
-
}
|
|
32963
|
-
}
|
|
32964
|
-
HighPerformanceService.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighPerformanceService_Factory() { return new HighPerformanceService(i0.ɵɵinject(SignalRService), i0.ɵɵinject(CommonService), i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(ModuleConfigService)); }, token: HighPerformanceService, providedIn: "root" });
|
|
32965
|
-
HighPerformanceService.decorators = [
|
|
32966
|
-
{ type: Injectable, args: [{
|
|
32967
|
-
providedIn: 'root'
|
|
32968
|
-
},] }
|
|
32969
|
-
];
|
|
32970
|
-
HighPerformanceService.ctorParameters = () => [
|
|
32971
|
-
{ type: SignalRService },
|
|
32972
|
-
{ type: CommonService },
|
|
32973
|
-
{ type: HttpClient },
|
|
32974
|
-
{ type: ModuleConfigService }
|
|
32975
|
-
];
|
|
32976
|
-
|
|
32977
|
-
class TemplateService {
|
|
32978
|
-
constructor(_moduleConfigService, _httpClient, _printService, _fileService, _notifierService, _crudService, _commonService) {
|
|
32979
|
-
this._httpClient = _httpClient;
|
|
32980
|
-
this._printService = _printService;
|
|
32981
|
-
this._fileService = _fileService;
|
|
32982
|
-
this._notifierService = _notifierService;
|
|
32983
|
-
this._crudService = _crudService;
|
|
32984
|
-
this._commonService = _commonService;
|
|
32985
|
-
this._moduleConfig = _moduleConfigService.getConfig();
|
|
32986
|
-
this.environment = this._moduleConfig.environment;
|
|
32987
|
-
this.serviceUri = `${this.environment.apiDomain.templateEndpoint}/template`;
|
|
32988
|
-
}
|
|
32989
|
-
laTexToBase64Image(laTex, font = 54) {
|
|
32990
|
-
const api = `${this.serviceUri}/LatexToBase64`;
|
|
32991
|
-
return this._httpClient.post(api, { laTex, font }).toPromise();
|
|
32992
|
-
}
|
|
32993
|
-
/**
|
|
32994
|
-
* Description: Xuất file sử dụng thư viện CX, xuất xong tự động mở popup để lưu file.
|
|
32995
|
-
*/
|
|
32996
|
-
exportCxExcelByCode(model) {
|
|
32997
|
-
const url = `${this.serviceUri}/ExportCxExcelByCode`;
|
|
32998
|
-
this.setFileInfo(model);
|
|
32999
|
-
return this._httpClient
|
|
33000
|
-
.post(url, model, { responseType: 'blob' })
|
|
33001
|
-
.toPromise()
|
|
33002
|
-
.then(res => {
|
|
33003
|
-
FileSaver.saveAs(res, this.getFullFileName(model.fileName || model.code));
|
|
33004
|
-
}).catch((err) => __awaiter(this, void 0, void 0, function* () {
|
|
33005
|
-
const errorText = yield err.error.text();
|
|
33006
|
-
this._crudService.processErrorResponse(JSON.parse(errorText || ''));
|
|
33007
|
-
}));
|
|
33008
|
-
}
|
|
33009
|
-
exportManyCxExcelByCode(model) {
|
|
33010
|
-
const url = `${this.serviceUri}/ExportManyCxExcelByCode`;
|
|
33011
|
-
this.setManyFileInfo(model);
|
|
33012
|
-
return this._httpClient
|
|
33013
|
-
.post(url, model)
|
|
33014
|
-
.toPromise()
|
|
33015
|
-
.then(res => {
|
|
33016
|
-
if (res.success) {
|
|
33017
|
-
this._fileService.downloadFolder(res.data.folderId);
|
|
33018
|
-
}
|
|
33019
|
-
else {
|
|
33020
|
-
this._crudService.processErrorResponse(res);
|
|
33021
|
-
}
|
|
33022
|
-
}).catch((err) => __awaiter(this, void 0, void 0, function* () {
|
|
33023
|
-
const errorText = yield err.error.text();
|
|
33024
|
-
this._crudService.processErrorResponse(JSON.parse(errorText || ''));
|
|
33025
|
-
}));
|
|
33026
|
-
}
|
|
33027
|
-
getFullFileName(fileName, extension = TemplateConstant.EXCEL_EXTENSION) {
|
|
33028
|
-
return `${fileName}${extension}`;
|
|
33029
|
-
}
|
|
33030
|
-
/**
|
|
33031
|
-
* Description: Export sử dung ClosedXml.Report (Cx) với signalR, sử dụng cho file dữ liệu lớn.
|
|
33032
|
-
* Param: model chứa
|
|
33033
|
-
* - code : code của template cấu hình bên Quản trị > Biểu mẫu > Biểu mẫu excel.
|
|
33034
|
-
* - data : object chứa dữ liệu đã chuyền thành dạng json.
|
|
33035
|
-
* - fileName: tên file sau khi export.
|
|
33036
|
-
* - topic: guid dùng để subscribe.
|
|
33037
|
-
*/
|
|
33038
|
-
ExportCxExcelByCodeWithSignalR(model) {
|
|
33039
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33040
|
-
const url = `${this.serviceUri}/ExportCxExcelByCodeWithSignalR`;
|
|
33041
|
-
return this._httpClient.post(url, model)
|
|
33042
|
-
.toPromise();
|
|
33043
|
-
});
|
|
33044
|
-
}
|
|
33045
|
-
/**
|
|
33046
|
-
* Description: Export sử dung ClosedXml.Report (Cx) với HighPerformanceService, sử dụng cho file dữ liệu lớn.
|
|
33047
|
-
* Param: model chứa
|
|
33048
|
-
* - code : code của template cấu hình bên Quản trị > Biểu mẫu > Biểu mẫu excel.
|
|
33049
|
-
* - data : object chứa dữ liệu đã chuyền thành dạng json.
|
|
33050
|
-
* - fileName: tên file sau khi export.
|
|
33051
|
-
* - queueName: queue của topic.
|
|
33052
|
-
* - uniqueKey: unique key cho task.
|
|
33053
|
-
*/
|
|
33054
|
-
ExportCxExcelByCodeWithHPS(model) {
|
|
33055
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33056
|
-
const url = `${this.serviceUri}/ExportWithHighPerformanceService`;
|
|
33057
|
-
return this._httpClient.post(url, model)
|
|
33058
|
-
.toPromise();
|
|
33059
|
-
});
|
|
33060
|
-
}
|
|
33061
|
-
exportCxExcelByCodePromise(model) {
|
|
33062
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33063
|
-
const url = `${this.serviceUri}/ExportCxExcelByCode`;
|
|
33064
|
-
return this._httpClient
|
|
33065
|
-
.post(url, model, { responseType: 'blob' })
|
|
33066
|
-
.toPromise();
|
|
33067
|
-
});
|
|
33068
|
-
}
|
|
33069
|
-
fillTemplateByCodeAndGetPdf(templateCode, data, onLoadingDataPdf = null, onEndLoadingDataPdf = null) {
|
|
33070
|
-
const url = `${this.serviceUri}/fillWordByTemplateCode/${templateCode}?isPrint=true`;
|
|
33071
|
-
return this._httpClient
|
|
33072
|
-
.post(url, data)
|
|
33073
|
-
.toPromise().then(res => {
|
|
33074
|
-
if (res.data) {
|
|
33075
|
-
this._printService.printBase64Pdf(res.data, onLoadingDataPdf, onEndLoadingDataPdf);
|
|
33076
|
-
}
|
|
33077
|
-
});
|
|
33078
|
-
}
|
|
33079
|
-
fillWordByTemplateCodeMultiData(templateCode, data, onLoadingDataPdf = null, onEndLoadingDataPdf = null) {
|
|
33080
|
-
const url = `${this.serviceUri}/fillWordByTemplateCodeMultiData/${templateCode}?isPrint=true`;
|
|
33081
|
-
return this._httpClient
|
|
33082
|
-
.post(url, data)
|
|
33083
|
-
.toPromise().then(res => {
|
|
33084
|
-
if (res.data) {
|
|
33085
|
-
this._printService.printBase64Pdf(res.data, onLoadingDataPdf, onEndLoadingDataPdf);
|
|
33086
|
-
}
|
|
33087
|
-
});
|
|
33088
|
-
}
|
|
33089
|
-
setFileInfo(model) {
|
|
33090
|
-
model.data = model.data ? model.data : JSON.stringify(model.dataObject);
|
|
33091
|
-
delete model.dataObject;
|
|
33092
|
-
}
|
|
33093
|
-
setManyFileInfo(manyModel) {
|
|
33094
|
-
let hasModel = manyModel && manyModel.lstFileInfo && manyModel.lstFileInfo.length;
|
|
33095
|
-
if (!hasModel) {
|
|
33096
|
-
return;
|
|
33097
|
-
}
|
|
33098
|
-
manyModel.lstFileInfo.forEach(fileInfo => {
|
|
33099
|
-
this.setFileInfo(fileInfo);
|
|
33100
|
-
fileInfo.fileName = `${fileInfo.fileName}_${this._commonService.guid()}.${TemplateConstant.EXCEL_EXTENSION}`;
|
|
33101
|
-
});
|
|
33102
|
-
}
|
|
33103
|
-
/**
|
|
33104
|
-
* Export dữ liệu không dùng template.
|
|
33105
|
-
*/
|
|
33106
|
-
exportCxExcel(model) {
|
|
33107
|
-
const url = `${this.serviceUri}/ExportCxExcel`;
|
|
33108
|
-
return this._httpClient
|
|
33109
|
-
.post(url, model, { responseType: 'blob' })
|
|
33110
|
-
.toPromise()
|
|
33111
|
-
.then(res => {
|
|
33112
|
-
FileSaver.saveAs(res, this.getFullFileName(model.fileName || 'Export'));
|
|
33113
|
-
}).catch((err) => __awaiter(this, void 0, void 0, function* () {
|
|
33114
|
-
const errorText = yield err.error.text();
|
|
33115
|
-
this._crudService.processErrorResponse(JSON.parse(errorText || ''));
|
|
33116
|
-
}));
|
|
33117
|
-
}
|
|
33118
|
-
exportCxExcelPromise(model) {
|
|
33119
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33120
|
-
const url = `${this.serviceUri}/ExportCxExcel`;
|
|
33121
|
-
return this._httpClient
|
|
33122
|
-
.post(url, model, { responseType: 'blob' })
|
|
33123
|
-
.toPromise();
|
|
33124
|
-
});
|
|
33125
|
-
}
|
|
33126
|
-
}
|
|
33127
|
-
TemplateService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TemplateService_Factory() { return new TemplateService(i0.ɵɵinject(ModuleConfigService), i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(PrintService), i0.ɵɵinject(FileExplorerService), i0.ɵɵinject(NotifierService), i0.ɵɵinject(CrudService), i0.ɵɵinject(CommonService)); }, token: TemplateService, providedIn: "root" });
|
|
33128
|
-
TemplateService.decorators = [
|
|
33129
|
-
{ type: Injectable, args: [{
|
|
33130
|
-
providedIn: 'root'
|
|
33131
|
-
},] }
|
|
33132
|
-
];
|
|
33133
|
-
TemplateService.ctorParameters = () => [
|
|
33134
|
-
{ type: ModuleConfigService },
|
|
33135
|
-
{ type: HttpClient },
|
|
33136
|
-
{ type: PrintService },
|
|
33137
|
-
{ type: FileExplorerService },
|
|
33138
|
-
{ type: NotifierService },
|
|
33139
|
-
{ type: CrudService },
|
|
33140
|
-
{ type: CommonService }
|
|
33141
|
-
];
|
|
33142
|
-
|
|
33143
|
-
class JobItem {
|
|
33144
|
-
constructor(code, data, fileName = 'BaoCao', status = REPORT_QUEUE_CONSTANT.statuses.Waiting) {
|
|
33145
|
-
// Loại export.
|
|
33146
|
-
this._type = JobTypes.SingnalR;
|
|
33147
|
-
this._code = code;
|
|
33148
|
-
const datepipe = new DatePipe('en-US');
|
|
33149
|
-
let formattedDate = datepipe.transform(new Date(), 'ddMMyyyy_hhmmss');
|
|
33150
|
-
this._fileName = `${fileName}_${formattedDate}${TemplateConstant.EXCEL_EXTENSION}`;
|
|
33151
|
-
this._data = data || {};
|
|
33152
|
-
this._status = status;
|
|
33153
|
-
}
|
|
33154
|
-
}
|
|
33155
|
-
class REPORT_QUEUE_CONSTANT {
|
|
33156
|
-
}
|
|
33157
|
-
REPORT_QUEUE_CONSTANT.statuses = {
|
|
33158
|
-
Waiting: 1,
|
|
33159
|
-
Exporting: 2,
|
|
33160
|
-
Success: 3,
|
|
33161
|
-
Error: 4,
|
|
33162
|
-
Downloaded: 5
|
|
33163
|
-
};
|
|
33164
|
-
REPORT_QUEUE_CONSTANT.dicStatus = new SimpleDictionary([
|
|
33165
|
-
new SimpleDicItem(REPORT_QUEUE_CONSTANT.statuses.Waiting, 'Chờ để xử lý'),
|
|
33166
|
-
new SimpleDicItem(REPORT_QUEUE_CONSTANT.statuses.Exporting, 'Đang xử lý'),
|
|
33167
|
-
new SimpleDicItem(REPORT_QUEUE_CONSTANT.statuses.Success, 'Tải xuống'),
|
|
33168
|
-
new SimpleDicItem(REPORT_QUEUE_CONSTANT.statuses.Error, 'Xuất file chưa thành công'),
|
|
33169
|
-
new SimpleDicItem(REPORT_QUEUE_CONSTANT.statuses.Downloaded, 'Đã tải'),
|
|
33170
|
-
]);
|
|
33171
|
-
var JobTypes;
|
|
33172
|
-
(function (JobTypes) {
|
|
33173
|
-
JobTypes[JobTypes["Normal"] = 1] = "Normal";
|
|
33174
|
-
JobTypes[JobTypes["SingnalR"] = 2] = "SingnalR";
|
|
33175
|
-
JobTypes[JobTypes["Many"] = 3] = "Many"; // Export nhiều file cùng một lúc và nén vào file zip, mỗi file có thể là các loại biểu mẫu khác nhau.
|
|
33176
|
-
})(JobTypes || (JobTypes = {}));
|
|
33177
|
-
class ExportJob {
|
|
33178
|
-
constructor(templateCode, // code template cấu hình bên quản trị
|
|
33179
|
-
dataPromise, // promise dùng để lấy dữ liệu, trả về dạng ResponseResult
|
|
33180
|
-
fileName, // tên của file được lưu
|
|
33181
|
-
rootName = '', // tên thuộc tính của lst dữ liệu ngoài cùng
|
|
33182
|
-
cb = null, // dùng để xử lý dữ liệu sau khi lấy xong
|
|
33183
|
-
type = JobTypes.Normal // Loại export.
|
|
33184
|
-
) {
|
|
33185
|
-
this.templateCode = templateCode;
|
|
33186
|
-
this.dataPromise = dataPromise;
|
|
33187
|
-
this.fileName = fileName;
|
|
33188
|
-
this.rootName = rootName;
|
|
33189
|
-
this.cb = cb;
|
|
33190
|
-
this.type = type;
|
|
33191
|
-
}
|
|
33192
|
-
}
|
|
33193
|
-
|
|
33194
|
-
class ReportQueueComponent {
|
|
33195
|
-
constructor(_notifierService, _commonService, _fileService, _tempateService, _signalRService, _highPerformanceService, _crudService) {
|
|
33196
|
-
this._notifierService = _notifierService;
|
|
33197
|
-
this._commonService = _commonService;
|
|
33198
|
-
this._fileService = _fileService;
|
|
33199
|
-
this._tempateService = _tempateService;
|
|
33200
|
-
this._signalRService = _signalRService;
|
|
33201
|
-
this._highPerformanceService = _highPerformanceService;
|
|
33202
|
-
this._crudService = _crudService;
|
|
33203
|
-
this.name = 'reportQueue';
|
|
33204
|
-
this.header = 'Xuất báo cáo';
|
|
33205
|
-
this.autoDownload = false;
|
|
33206
|
-
this.maxNameLength = 40;
|
|
33207
|
-
this.expand = true;
|
|
33208
|
-
this.queueName = 'REPORT_QUEUE';
|
|
33209
|
-
this.hub = 'CommonHub';
|
|
33210
|
-
this.dicStatus = REPORT_QUEUE_CONSTANT.dicStatus;
|
|
33211
|
-
this.statuses = REPORT_QUEUE_CONSTANT.statuses;
|
|
33212
|
-
this._queue = [];
|
|
33213
|
-
this.maxHeight = 200;
|
|
33214
|
-
this.itemHeight = 50;
|
|
33215
|
-
this.popupHeight = this.itemHeight;
|
|
33216
|
-
}
|
|
33217
|
-
ngOnInit() {
|
|
33218
|
-
if (this.parentDataModel && this.name) {
|
|
33219
|
-
this.parentDataModel[this.name] = this;
|
|
33220
|
-
}
|
|
33221
|
-
}
|
|
33222
|
-
toggleExpand() {
|
|
33223
|
-
this.expand = !this.expand;
|
|
33224
|
-
}
|
|
33225
|
-
/**
|
|
33226
|
-
* Thêm job vào để thực hiện
|
|
33227
|
-
*/
|
|
33228
|
-
addJob(exportJob) {
|
|
33229
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33230
|
-
var foundIndex = this._queue.findIndex(job => job._code == exportJob.templateCode && job._status == this.statuses.Exporting);
|
|
33231
|
-
if (foundIndex !== -1) {
|
|
33232
|
-
this._notifierService.showWarning("File cùng loại đang được xử lý, thử lại sau khi xử lý xong!");
|
|
33233
|
-
return;
|
|
33234
|
-
}
|
|
33235
|
-
var job = new JobItem(exportJob.templateCode, {}, exportJob.fileName || exportJob.templateCode, this.statuses.Exporting);
|
|
33236
|
-
this._queue.push(job);
|
|
33237
|
-
this.updatePopupHeight();
|
|
33238
|
-
setTimeout(() => {
|
|
33239
|
-
this.scrollbar.scrollToBottom();
|
|
33240
|
-
}, 100);
|
|
33241
|
-
var rsData = yield exportJob.dataPromise;
|
|
33242
|
-
if (rsData.data == null) {
|
|
33243
|
-
job._status = this.statuses.Error;
|
|
33244
|
-
return this._crudService.processErrorResponse(rsData);
|
|
33245
|
-
}
|
|
33246
|
-
if (exportJob.cb) {
|
|
33247
|
-
job._data = exportJob.cb(rsData.data);
|
|
33248
|
-
}
|
|
33249
|
-
else if (exportJob.rootName) {
|
|
33250
|
-
job._data[exportJob.rootName] = rsData.data;
|
|
33251
|
-
}
|
|
33252
|
-
else {
|
|
33253
|
-
job._data = rsData.data;
|
|
33254
|
-
}
|
|
33255
|
-
switch (exportJob.type) {
|
|
33256
|
-
case JobTypes.Normal:
|
|
33257
|
-
this.Export(job);
|
|
33258
|
-
break;
|
|
33259
|
-
case JobTypes.SingnalR:
|
|
33260
|
-
this.ExportWithSignalR(job);
|
|
33261
|
-
break;
|
|
33262
|
-
case JobTypes.Many:
|
|
33263
|
-
break;
|
|
33264
|
-
}
|
|
33265
|
-
});
|
|
33266
|
-
}
|
|
33267
|
-
/**
|
|
33268
|
-
* Thêm job vào để thực hiện
|
|
33269
|
-
* - templateCode: code template cấu hình bên quản trị
|
|
33270
|
-
* - data: dữ liệu export
|
|
33271
|
-
* - fileName: tên của file được lưu
|
|
33272
|
-
* - useSignalR: thay vì gọi request và chờ đến khi thực hiện xong
|
|
33273
|
-
* trả về binaryFile thì tạo tiến trình riêng để export, và dùng signalR thông
|
|
33274
|
-
* báo kết quả export, trả về fileId để tải.
|
|
33275
|
-
*/
|
|
33276
|
-
addJobWithData(templateCode, data, fileName, useSignalR = false) {
|
|
33277
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33278
|
-
var foundIndex = this._queue.findIndex(job => job._code == templateCode && job._status == this.statuses.Exporting);
|
|
33279
|
-
if (foundIndex !== -1) {
|
|
33280
|
-
this._notifierService.showWarning("File cùng loại đang được xử lý, thử lại sau khi xử lý xong!");
|
|
33281
|
-
return;
|
|
33282
|
-
}
|
|
33283
|
-
var job = new JobItem(templateCode, data, fileName || templateCode, this.statuses.Exporting);
|
|
33284
|
-
this._queue.push(job);
|
|
33285
|
-
if (useSignalR) {
|
|
33286
|
-
this.ExportWithSignalR(job);
|
|
33287
|
-
}
|
|
33288
|
-
else {
|
|
33289
|
-
this.Export(job);
|
|
33290
|
-
}
|
|
33291
|
-
});
|
|
33292
|
-
}
|
|
33293
|
-
Export(job) {
|
|
33294
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33295
|
-
this._tempateService.exportCxExcelByCodePromise({ code: job._code, data: JSON.stringify(job._data), fileName: job._fileName })
|
|
33296
|
-
.then(file => {
|
|
33297
|
-
job._status = this.statuses.Success;
|
|
33298
|
-
job._binaryFile = file;
|
|
33299
|
-
if (this.autoDownload) {
|
|
33300
|
-
this.download(job);
|
|
33301
|
-
}
|
|
33302
|
-
}).catch((err) => __awaiter(this, void 0, void 0, function* () {
|
|
33303
|
-
job._status = this.statuses.Error;
|
|
33304
|
-
const errorText = yield err.error.text();
|
|
33305
|
-
this._crudService.processErrorResponse(JSON.parse(errorText || ''));
|
|
33306
|
-
}));
|
|
33307
|
-
});
|
|
33308
|
-
}
|
|
33309
|
-
ExportWithSignalR(job) {
|
|
33310
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33311
|
-
const topic = this._commonService.guid();
|
|
33312
|
-
job._uniqueKey = topic;
|
|
33313
|
-
this._signalRService.start(this.hub, topic, (message) => {
|
|
33314
|
-
var rs = JSON.parse(message);
|
|
33315
|
-
if (rs.success) {
|
|
33316
|
-
job._status = this.statuses.Success;
|
|
33317
|
-
job._fileId = rs.data;
|
|
33318
|
-
if (this.autoDownload) {
|
|
33319
|
-
this.download(job);
|
|
33320
|
-
}
|
|
33321
|
-
}
|
|
33322
|
-
else {
|
|
33323
|
-
job._status = this.statuses.Error;
|
|
33324
|
-
this._crudService.processErrorResponse(rs);
|
|
33325
|
-
}
|
|
33326
|
-
});
|
|
33327
|
-
this._tempateService.ExportCxExcelByCodeWithSignalR({ code: job._code, data: JSON.stringify(job._data), fileName: job._fileName, topic: topic })
|
|
33328
|
-
.then(rs => {
|
|
33329
|
-
if (!rs.success) {
|
|
33330
|
-
job._status = this.statuses.Error;
|
|
33331
|
-
this._crudService.processErrorResponse(rs);
|
|
33332
|
-
}
|
|
33333
|
-
}).catch((err) => __awaiter(this, void 0, void 0, function* () {
|
|
33334
|
-
job._status = this.statuses.Error;
|
|
33335
|
-
this._crudService.processErrorResponse(err.error);
|
|
33336
|
-
}));
|
|
33337
|
-
;
|
|
33338
|
-
});
|
|
33339
|
-
}
|
|
33340
|
-
ExportCxExcelByCodeWithHPS(job) {
|
|
33341
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33342
|
-
this._highPerformanceService.createProcess(this.queueName, (arrMessage) => {
|
|
33343
|
-
var message = arrMessage.pop();
|
|
33344
|
-
var rs = JSON.parse(message);
|
|
33345
|
-
if (rs.success) {
|
|
33346
|
-
job._status = this.statuses.Success;
|
|
33347
|
-
job._fileId = rs.data;
|
|
33348
|
-
if (this.autoDownload) {
|
|
33349
|
-
this._fileService.downloadFile(job._fileId);
|
|
33350
|
-
job._status = this.statuses.Downloaded;
|
|
33351
|
-
job._fileId = null;
|
|
33352
|
-
}
|
|
33353
|
-
}
|
|
33354
|
-
else {
|
|
33355
|
-
job._status = this.statuses.Error;
|
|
33356
|
-
this._crudService.processErrorResponse(rs);
|
|
33357
|
-
}
|
|
33358
|
-
}).then(rs => {
|
|
33359
|
-
job._uniqueKey = rs;
|
|
33360
|
-
this._tempateService.ExportCxExcelByCodeWithHPS({
|
|
33361
|
-
code: job._code,
|
|
33362
|
-
data: JSON.stringify(job._data),
|
|
33363
|
-
fileName: job._fileName,
|
|
33364
|
-
topic: this.queueName,
|
|
33365
|
-
uniqueKey: job._uniqueKey
|
|
33366
|
-
}).then(rs => {
|
|
33367
|
-
if (!rs.success) {
|
|
33368
|
-
job._status = this.statuses.Error;
|
|
33369
|
-
this._crudService.processErrorResponse(rs);
|
|
33370
|
-
}
|
|
33371
|
-
}, err => {
|
|
33372
|
-
job._status = this.statuses.Error;
|
|
33373
|
-
console.log("Lỗi gọi api server export");
|
|
33374
|
-
});
|
|
33375
|
-
}, err => {
|
|
33376
|
-
job._status = this.statuses.Error;
|
|
33377
|
-
console.log("Lỗi gọi HPS service :(");
|
|
33378
|
-
});
|
|
33379
|
-
});
|
|
33380
|
-
}
|
|
33381
|
-
download(job) {
|
|
33382
|
-
if (job._status == this.statuses.Downloaded) {
|
|
33383
|
-
return;
|
|
33384
|
-
}
|
|
33385
|
-
if (job._fileId) {
|
|
33386
|
-
this._fileService.downloadFile(job._fileId, false, job._fileName);
|
|
33387
|
-
}
|
|
33388
|
-
else if (job._binaryFile) {
|
|
33389
|
-
FileSaver.saveAs(job._binaryFile, job._fileName);
|
|
33390
|
-
}
|
|
33391
|
-
job._status = this.statuses.Downloaded;
|
|
33392
|
-
job._binaryFile = null;
|
|
33393
|
-
job._fileId = null;
|
|
33394
|
-
}
|
|
33395
|
-
showQueue() {
|
|
33396
|
-
let show = this._queue && this._queue.length > 0;
|
|
33397
|
-
return show;
|
|
33398
|
-
}
|
|
33399
|
-
getName(job) {
|
|
33400
|
-
var name = job._fileName.length > this.maxNameLength ? `${job._fileName.substr(0, this.maxNameLength - 10)}[...]${TemplateConstant.EXCEL_EXTENSION}` : job._fileName;
|
|
33401
|
-
return name;
|
|
33402
|
-
}
|
|
33403
|
-
cancelJob(job) {
|
|
33404
|
-
let foundIndex = this._queue.findIndex(j => j._code == job._code);
|
|
33405
|
-
if (foundIndex == -1) {
|
|
33406
|
-
return;
|
|
33407
|
-
}
|
|
33408
|
-
let foundJob = this._queue[foundIndex];
|
|
33409
|
-
if (foundJob._status == this.statuses.Exporting) {
|
|
33410
|
-
this._notifierService
|
|
33411
|
-
.showConfirm('File này đang được xử lý. Bạn có muốn dừng lại?', 'Hủy xuất file')
|
|
33412
|
-
.then(rs => {
|
|
33413
|
-
if (!rs) {
|
|
33414
|
-
return;
|
|
33415
|
-
}
|
|
33416
|
-
let needUnsubscribe = foundJob._type == JobTypes.SingnalR && foundJob._uniqueKey;
|
|
33417
|
-
if (needUnsubscribe) {
|
|
33418
|
-
this._signalRService.unSubscribeViewCode(foundJob._uniqueKey, this.hub);
|
|
33419
|
-
}
|
|
33420
|
-
this._queue.splice(foundIndex, 1);
|
|
33421
|
-
this.updatePopupHeight();
|
|
33422
|
-
});
|
|
33423
|
-
}
|
|
33424
|
-
else if (foundJob._status != this.statuses.Exporting) {
|
|
33425
|
-
this._queue.splice(foundIndex, 1);
|
|
33426
|
-
this.updatePopupHeight();
|
|
33427
|
-
}
|
|
33428
|
-
}
|
|
33429
|
-
close() {
|
|
33430
|
-
var hasExporting = this._queue && this._queue.filter(item => item._status == this.statuses.Exporting).length > 0;
|
|
33431
|
-
if (hasExporting) {
|
|
33432
|
-
this._notifierService
|
|
33433
|
-
.showConfirm('Có file đang được xử lý. Bạn có muốn dừng lại?', 'Hủy xuất file')
|
|
33434
|
-
.then(rs => {
|
|
33435
|
-
if (!rs) {
|
|
33436
|
-
return;
|
|
33437
|
-
}
|
|
33438
|
-
let needUnsubscribe = false;
|
|
33439
|
-
this._queue.forEach(job => {
|
|
33440
|
-
needUnsubscribe = job._type == JobTypes.SingnalR && job._uniqueKey;
|
|
33441
|
-
if (needUnsubscribe) {
|
|
33442
|
-
this._signalRService.unSubscribeViewCode(job._uniqueKey, this.hub);
|
|
33443
|
-
}
|
|
33444
|
-
});
|
|
33445
|
-
this._queue = [];
|
|
33446
|
-
this.updatePopupHeight();
|
|
33447
|
-
});
|
|
33448
|
-
}
|
|
33449
|
-
else {
|
|
33450
|
-
this._queue = [];
|
|
33451
|
-
}
|
|
33452
|
-
}
|
|
33453
|
-
updatePopupHeight() {
|
|
33454
|
-
let height = (this._queue || []).length * this.itemHeight;
|
|
33455
|
-
this.popupHeight = height > this.maxHeight ? this.maxHeight : height;
|
|
33456
|
-
}
|
|
33457
|
-
}
|
|
33458
|
-
ReportQueueComponent.decorators = [
|
|
33459
|
-
{ type: Component, args: [{
|
|
33460
|
-
selector: 'report-queue',
|
|
33461
|
-
template: "<div class=\"rq-container\" *ngIf=\"showQueue()\">\n <div class=\"rq-header\">\n <div>{{header | translate}}</div>\n <div>\n\n <p-checkbox [(ngModel)]=\"autoDownload\" binary=\"true\" pTooltip=\"T\u1EF1 \u0111\u1ED9ng t\u1EA3i\" tooltipPosition=\"left\">\n </p-checkbox>\n\n <a href=\"javascript:;\" (click)=\"toggleExpand()\" pTooltip=\"{{expand ? 'Thu g\u1ECDn' : 'M\u1EDF r\u1ED9ng'}}\"\n tooltipPosition=\"left\">\n <i class=\"fas\" [ngClass]=\"{'fa-compress' : expand, 'fa-expand': !expand}\"></i>\n </a>\n\n <a href=\"javascript:;\" (click)=\"close()\" pTooltip=\"\u0110\u00F3ng\">\n <i class=\"fas fa-times\"></i>\n </a>\n </div>\n </div>\n <div class=\"rq-body\" *ngIf=\"expand\">\n <tn-custom-scrollbar [style]=\"{'height.px': popupHeight}\" #scrollbar>\n <div class=\"re-job\" *ngFor=\"let job of _queue\">\n <div class=\"re-job-title\">\n <div>{{getName(job)}}</div>\n <div>\n <a href=\"javascript:;\" (click)=\"cancelJob(job)\">\n <i class=\"fas fa-times\"></i>\n </a>\n </div>\n </div>\n <div class=\"re-job-result\"\n [ngClass]=\"{'job-success': job._status == statuses.Success, 'job-error': job._status == statuses.Error, 'job-exporting' : job._status == statuses.Exporting, 'job-downloaded': job._status == statuses.Downloaded}\">\n <span *ngIf=\"job._status != statuses.Success && job._status != statuses.Exporting\">\n {{dicStatus.get(job._status) | translate}}\n </span>\n\n <span *ngIf=\"job._status == statuses.Exporting\">\n <div class=\"loader\"></div>\n {{dicStatus.get(job._status) | translate}}\n </span>\n\n <a href=\"javascript:;\" (click)=\"download(job)\" class=\"job-success\"\n *ngIf=\"job._status == statuses.Success\">\n <i class=\"fas fa-download\"></i> {{dicStatus.get(job._status) | translate}}\n </a>\n </div>\n </div>\n </tn-custom-scrollbar>\n </div>\n</div>\n",
|
|
33462
|
-
styles: ["::ng-deep .rq-container{width:350px;border:1px solid #3192e1;border-radius:3px;background-color:#fff}::ng-deep .rq-container .rq-header{background-color:#3192e1;padding:5px 10px;display:flex;border-radius:3px 3px 0 0;color:#fff;font-weight:400;font-size:15px}::ng-deep .rq-container .rq-header>div:first-child{flex-grow:1}::ng-deep .rq-container .rq-header>div:last-child>a{font-weight:200;margin-left:10px;color:#fff}::ng-deep .rq-container .rq-header>div:last-child>a>i{font-size:13px}::ng-deep .rq-container .rq-header>div:last-child .ui-chkbox-box{width:14px;height:14px;margin-top:-2px}::ng-deep .rq-container .rq-header>div:last-child .ui-chkbox-icon{font-size:13px;line-height:13px}::ng-deep .rq-container .rq-body .re-job{padding:6px 10px;display:flex;flex-direction:column}::ng-deep .rq-container .rq-body .re-job:first-child{padding-top:6px}::ng-deep .rq-container .rq-body .re-job .re-job-title{display:flex;font-size:13px}::ng-deep .rq-container .rq-body .re-job .re-job-title>div:first-child{flex-grow:1;padding-bottom:3px}::ng-deep .rq-container .rq-body .re-job .re-job-title>div a{color:#3192e1}::ng-deep .rq-container .rq-body .re-job .re-job-result{font-size:11px}::ng-deep .rq-container .rq-body .re-job .re-job-result>span{display:flex;align-items:center;height:20px}::ng-deep .rq-container .rq-body .re-job .re-job-result.job-exporting{color:#3192e1}::ng-deep .rq-container .rq-body .re-job .re-job-result.job-exporting>span>div{margin-right:5px}::ng-deep .rq-container .rq-body .re-job .re-job-result.job-success{color:#1ab91a}::ng-deep .rq-container .rq-body .re-job .re-job-result.job-success>a>i{margin-right:2px}::ng-deep .rq-container .rq-body .re-job .re-job-result.job-error{color:#e95353}::ng-deep .rq-container .rq-body .re-job .re-job-result.job-downloaded{color:#b2b2b2}::ng-deep .loader{border-radius:50%;border:2px solid #bcdbf5;border-top-color:#3192e1;width:12px;height:12px;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:host{position:absolute;bottom:1px;right:2px;z-index:1000}"]
|
|
33463
|
-
},] }
|
|
33464
|
-
];
|
|
33465
|
-
ReportQueueComponent.ctorParameters = () => [
|
|
33466
|
-
{ type: NotifierService },
|
|
33467
|
-
{ type: CommonService },
|
|
33468
|
-
{ type: FileExplorerService },
|
|
33469
|
-
{ type: TemplateService },
|
|
33470
|
-
{ type: SignalRService },
|
|
33471
|
-
{ type: HighPerformanceService },
|
|
33472
|
-
{ type: CrudService }
|
|
33473
|
-
];
|
|
33474
|
-
ReportQueueComponent.propDecorators = {
|
|
33475
|
-
parentDataModel: [{ type: Input }],
|
|
33476
|
-
name: [{ type: Input }],
|
|
33477
|
-
header: [{ type: Input }],
|
|
33478
|
-
autoDownload: [{ type: Input }],
|
|
33479
|
-
scrollbar: [{ type: ViewChild, args: ['scrollbar',] }]
|
|
33480
|
-
};
|
|
33481
|
-
|
|
33482
32915
|
class AfterViewCheckedComponent extends ComponentBase {
|
|
33483
32916
|
constructor(injector, ref) {
|
|
33484
32917
|
super(injector);
|
|
@@ -35612,6 +35045,68 @@ GuardService.ctorParameters = () => [
|
|
|
35612
35045
|
{ type: NotifierService }
|
|
35613
35046
|
];
|
|
35614
35047
|
|
|
35048
|
+
class HighPerformanceService {
|
|
35049
|
+
constructor(_signalrService, _commonService, _httpClient, _moduleConfigService) {
|
|
35050
|
+
this._signalrService = _signalrService;
|
|
35051
|
+
this._commonService = _commonService;
|
|
35052
|
+
this._httpClient = _httpClient;
|
|
35053
|
+
this._moduleConfigService = _moduleConfigService;
|
|
35054
|
+
}
|
|
35055
|
+
createProcess(queueName, callBackOnMessage = null, data = null, returnSequenceNumber = false) {
|
|
35056
|
+
const internalClientKey = this._commonService.guid();
|
|
35057
|
+
const model = {
|
|
35058
|
+
queueName,
|
|
35059
|
+
data,
|
|
35060
|
+
clientKey: internalClientKey
|
|
35061
|
+
};
|
|
35062
|
+
this._signalrService.start(null, internalClientKey, (data) => {
|
|
35063
|
+
if (callBackOnMessage) {
|
|
35064
|
+
callBackOnMessage(data);
|
|
35065
|
+
}
|
|
35066
|
+
this._signalrService.unSubscribeViewCode(null, internalClientKey);
|
|
35067
|
+
});
|
|
35068
|
+
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
|
|
35069
|
+
this.env = this._moduleConfigService.getConfig().environment;
|
|
35070
|
+
const highPerformanceEndpoint = `${this.env.apiDomain.highPerformanceEndpoint}/HighPerformance/DoWork?returnSequenceNumber=${returnSequenceNumber}`;
|
|
35071
|
+
try {
|
|
35072
|
+
const rs = yield this._httpClient.post(highPerformanceEndpoint, model).toPromise();
|
|
35073
|
+
if (rs.success) {
|
|
35074
|
+
resolve(rs.data);
|
|
35075
|
+
}
|
|
35076
|
+
}
|
|
35077
|
+
catch (_a) {
|
|
35078
|
+
}
|
|
35079
|
+
resolve(null);
|
|
35080
|
+
}));
|
|
35081
|
+
}
|
|
35082
|
+
cancelProcess(queueName, uniqueKey) {
|
|
35083
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35084
|
+
try {
|
|
35085
|
+
const highPerformanceEndpoint = `${this.env.apiDomain.highPerformanceEndpoint}/HighPerformance/CancelWork?queueName=${queueName}&uniqueKey=${uniqueKey}`;
|
|
35086
|
+
const rs = yield this._httpClient.post(highPerformanceEndpoint, {}).toPromise();
|
|
35087
|
+
if (rs.success) {
|
|
35088
|
+
return rs.data;
|
|
35089
|
+
}
|
|
35090
|
+
}
|
|
35091
|
+
catch (_a) {
|
|
35092
|
+
}
|
|
35093
|
+
return false;
|
|
35094
|
+
});
|
|
35095
|
+
}
|
|
35096
|
+
}
|
|
35097
|
+
HighPerformanceService.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighPerformanceService_Factory() { return new HighPerformanceService(i0.ɵɵinject(SignalRService), i0.ɵɵinject(CommonService), i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(ModuleConfigService)); }, token: HighPerformanceService, providedIn: "root" });
|
|
35098
|
+
HighPerformanceService.decorators = [
|
|
35099
|
+
{ type: Injectable, args: [{
|
|
35100
|
+
providedIn: 'root'
|
|
35101
|
+
},] }
|
|
35102
|
+
];
|
|
35103
|
+
HighPerformanceService.ctorParameters = () => [
|
|
35104
|
+
{ type: SignalRService },
|
|
35105
|
+
{ type: CommonService },
|
|
35106
|
+
{ type: HttpClient },
|
|
35107
|
+
{ type: ModuleConfigService }
|
|
35108
|
+
];
|
|
35109
|
+
|
|
35615
35110
|
class ImageService {
|
|
35616
35111
|
constructor(_moduleConfigService) {
|
|
35617
35112
|
this._moduleConfigService = _moduleConfigService;
|
|
@@ -36168,6 +35663,172 @@ TemplateTextV4Service.ctorParameters = () => [
|
|
|
36168
35663
|
{ type: Injector }
|
|
36169
35664
|
];
|
|
36170
35665
|
|
|
35666
|
+
class TemplateService {
|
|
35667
|
+
constructor(_moduleConfigService, _httpClient, _printService, _fileService, _notifierService, _crudService, _commonService) {
|
|
35668
|
+
this._httpClient = _httpClient;
|
|
35669
|
+
this._printService = _printService;
|
|
35670
|
+
this._fileService = _fileService;
|
|
35671
|
+
this._notifierService = _notifierService;
|
|
35672
|
+
this._crudService = _crudService;
|
|
35673
|
+
this._commonService = _commonService;
|
|
35674
|
+
this._moduleConfig = _moduleConfigService.getConfig();
|
|
35675
|
+
this.environment = this._moduleConfig.environment;
|
|
35676
|
+
this.serviceUri = `${this.environment.apiDomain.templateEndpoint}/template`;
|
|
35677
|
+
}
|
|
35678
|
+
laTexToBase64Image(laTex, font = 54) {
|
|
35679
|
+
const api = `${this.serviceUri}/LatexToBase64`;
|
|
35680
|
+
return this._httpClient.post(api, { laTex, font }).toPromise();
|
|
35681
|
+
}
|
|
35682
|
+
/**
|
|
35683
|
+
* Description: Xuất file sử dụng thư viện CX, xuất xong tự động mở popup để lưu file.
|
|
35684
|
+
*/
|
|
35685
|
+
exportCxExcelByCode(model) {
|
|
35686
|
+
const url = `${this.serviceUri}/ExportCxExcelByCode`;
|
|
35687
|
+
this.setFileInfo(model);
|
|
35688
|
+
return this._httpClient
|
|
35689
|
+
.post(url, model, { responseType: 'blob' })
|
|
35690
|
+
.toPromise()
|
|
35691
|
+
.then(res => {
|
|
35692
|
+
FileSaver.saveAs(res, this.getFullFileName(model.fileName || model.code));
|
|
35693
|
+
}).catch((err) => __awaiter(this, void 0, void 0, function* () {
|
|
35694
|
+
const errorText = yield err.error.text();
|
|
35695
|
+
this._crudService.processErrorResponse(JSON.parse(errorText || ''));
|
|
35696
|
+
}));
|
|
35697
|
+
}
|
|
35698
|
+
exportManyCxExcelByCode(model) {
|
|
35699
|
+
const url = `${this.serviceUri}/ExportManyCxExcelByCode`;
|
|
35700
|
+
this.setManyFileInfo(model);
|
|
35701
|
+
return this._httpClient
|
|
35702
|
+
.post(url, model)
|
|
35703
|
+
.toPromise()
|
|
35704
|
+
.then(res => {
|
|
35705
|
+
if (res.success) {
|
|
35706
|
+
this._fileService.downloadFolder(res.data.folderId);
|
|
35707
|
+
}
|
|
35708
|
+
else {
|
|
35709
|
+
this._crudService.processErrorResponse(res);
|
|
35710
|
+
}
|
|
35711
|
+
}).catch((err) => __awaiter(this, void 0, void 0, function* () {
|
|
35712
|
+
const errorText = yield err.error.text();
|
|
35713
|
+
this._crudService.processErrorResponse(JSON.parse(errorText || ''));
|
|
35714
|
+
}));
|
|
35715
|
+
}
|
|
35716
|
+
getFullFileName(fileName, extension = TemplateConstant.EXCEL_EXTENSION) {
|
|
35717
|
+
return `${fileName}${extension}`;
|
|
35718
|
+
}
|
|
35719
|
+
/**
|
|
35720
|
+
* Description: Export sử dung ClosedXml.Report (Cx) với signalR, sử dụng cho file dữ liệu lớn.
|
|
35721
|
+
* Param: model chứa
|
|
35722
|
+
* - code : code của template cấu hình bên Quản trị > Biểu mẫu > Biểu mẫu excel.
|
|
35723
|
+
* - data : object chứa dữ liệu đã chuyền thành dạng json.
|
|
35724
|
+
* - fileName: tên file sau khi export.
|
|
35725
|
+
* - topic: guid dùng để subscribe.
|
|
35726
|
+
*/
|
|
35727
|
+
ExportCxExcelByCodeWithSignalR(model) {
|
|
35728
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35729
|
+
const url = `${this.serviceUri}/ExportCxExcelByCodeWithSignalR`;
|
|
35730
|
+
return this._httpClient.post(url, model)
|
|
35731
|
+
.toPromise();
|
|
35732
|
+
});
|
|
35733
|
+
}
|
|
35734
|
+
/**
|
|
35735
|
+
* Description: Export sử dung ClosedXml.Report (Cx) với HighPerformanceService, sử dụng cho file dữ liệu lớn.
|
|
35736
|
+
* Param: model chứa
|
|
35737
|
+
* - code : code của template cấu hình bên Quản trị > Biểu mẫu > Biểu mẫu excel.
|
|
35738
|
+
* - data : object chứa dữ liệu đã chuyền thành dạng json.
|
|
35739
|
+
* - fileName: tên file sau khi export.
|
|
35740
|
+
* - queueName: queue của topic.
|
|
35741
|
+
* - uniqueKey: unique key cho task.
|
|
35742
|
+
*/
|
|
35743
|
+
ExportCxExcelByCodeWithHPS(model) {
|
|
35744
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35745
|
+
const url = `${this.serviceUri}/ExportWithHighPerformanceService`;
|
|
35746
|
+
return this._httpClient.post(url, model)
|
|
35747
|
+
.toPromise();
|
|
35748
|
+
});
|
|
35749
|
+
}
|
|
35750
|
+
exportCxExcelByCodePromise(model) {
|
|
35751
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35752
|
+
const url = `${this.serviceUri}/ExportCxExcelByCode`;
|
|
35753
|
+
return this._httpClient
|
|
35754
|
+
.post(url, model, { responseType: 'blob' })
|
|
35755
|
+
.toPromise();
|
|
35756
|
+
});
|
|
35757
|
+
}
|
|
35758
|
+
fillTemplateByCodeAndGetPdf(templateCode, data, onLoadingDataPdf = null, onEndLoadingDataPdf = null) {
|
|
35759
|
+
const url = `${this.serviceUri}/fillWordByTemplateCode/${templateCode}?isPrint=true`;
|
|
35760
|
+
return this._httpClient
|
|
35761
|
+
.post(url, data)
|
|
35762
|
+
.toPromise().then(res => {
|
|
35763
|
+
if (res.data) {
|
|
35764
|
+
this._printService.printBase64Pdf(res.data, onLoadingDataPdf, onEndLoadingDataPdf);
|
|
35765
|
+
}
|
|
35766
|
+
});
|
|
35767
|
+
}
|
|
35768
|
+
fillWordByTemplateCodeMultiData(templateCode, data, onLoadingDataPdf = null, onEndLoadingDataPdf = null) {
|
|
35769
|
+
const url = `${this.serviceUri}/fillWordByTemplateCodeMultiData/${templateCode}?isPrint=true`;
|
|
35770
|
+
return this._httpClient
|
|
35771
|
+
.post(url, data)
|
|
35772
|
+
.toPromise().then(res => {
|
|
35773
|
+
if (res.data) {
|
|
35774
|
+
this._printService.printBase64Pdf(res.data, onLoadingDataPdf, onEndLoadingDataPdf);
|
|
35775
|
+
}
|
|
35776
|
+
});
|
|
35777
|
+
}
|
|
35778
|
+
setFileInfo(model) {
|
|
35779
|
+
model.data = model.data ? model.data : JSON.stringify(model.dataObject);
|
|
35780
|
+
delete model.dataObject;
|
|
35781
|
+
}
|
|
35782
|
+
setManyFileInfo(manyModel) {
|
|
35783
|
+
let hasModel = manyModel && manyModel.lstFileInfo && manyModel.lstFileInfo.length;
|
|
35784
|
+
if (!hasModel) {
|
|
35785
|
+
return;
|
|
35786
|
+
}
|
|
35787
|
+
manyModel.lstFileInfo.forEach(fileInfo => {
|
|
35788
|
+
this.setFileInfo(fileInfo);
|
|
35789
|
+
fileInfo.fileName = `${fileInfo.fileName}_${this._commonService.guid()}.${TemplateConstant.EXCEL_EXTENSION}`;
|
|
35790
|
+
});
|
|
35791
|
+
}
|
|
35792
|
+
/**
|
|
35793
|
+
* Export dữ liệu không dùng template.
|
|
35794
|
+
*/
|
|
35795
|
+
exportCxExcel(model) {
|
|
35796
|
+
const url = `${this.serviceUri}/ExportCxExcel`;
|
|
35797
|
+
return this._httpClient
|
|
35798
|
+
.post(url, model, { responseType: 'blob' })
|
|
35799
|
+
.toPromise()
|
|
35800
|
+
.then(res => {
|
|
35801
|
+
FileSaver.saveAs(res, this.getFullFileName(model.fileName || 'Export'));
|
|
35802
|
+
}).catch((err) => __awaiter(this, void 0, void 0, function* () {
|
|
35803
|
+
const errorText = yield err.error.text();
|
|
35804
|
+
this._crudService.processErrorResponse(JSON.parse(errorText || ''));
|
|
35805
|
+
}));
|
|
35806
|
+
}
|
|
35807
|
+
exportCxExcelPromise(model) {
|
|
35808
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
35809
|
+
const url = `${this.serviceUri}/ExportCxExcel`;
|
|
35810
|
+
return this._httpClient
|
|
35811
|
+
.post(url, model, { responseType: 'blob' })
|
|
35812
|
+
.toPromise();
|
|
35813
|
+
});
|
|
35814
|
+
}
|
|
35815
|
+
}
|
|
35816
|
+
TemplateService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TemplateService_Factory() { return new TemplateService(i0.ɵɵinject(ModuleConfigService), i0.ɵɵinject(i1$1.HttpClient), i0.ɵɵinject(PrintService), i0.ɵɵinject(FileExplorerService), i0.ɵɵinject(NotifierService), i0.ɵɵinject(CrudService), i0.ɵɵinject(CommonService)); }, token: TemplateService, providedIn: "root" });
|
|
35817
|
+
TemplateService.decorators = [
|
|
35818
|
+
{ type: Injectable, args: [{
|
|
35819
|
+
providedIn: 'root'
|
|
35820
|
+
},] }
|
|
35821
|
+
];
|
|
35822
|
+
TemplateService.ctorParameters = () => [
|
|
35823
|
+
{ type: ModuleConfigService },
|
|
35824
|
+
{ type: HttpClient },
|
|
35825
|
+
{ type: PrintService },
|
|
35826
|
+
{ type: FileExplorerService },
|
|
35827
|
+
{ type: NotifierService },
|
|
35828
|
+
{ type: CrudService },
|
|
35829
|
+
{ type: CommonService }
|
|
35830
|
+
];
|
|
35831
|
+
|
|
36171
35832
|
class UniqueNumberService {
|
|
36172
35833
|
constructor(_http, _moduleConfigService) {
|
|
36173
35834
|
this._http = _http;
|
|
@@ -47065,7 +46726,7 @@ function coreDeclaration() {
|
|
|
47065
46726
|
VanbanDiPickerComponent,
|
|
47066
46727
|
VanbanDenPickerComponent,
|
|
47067
46728
|
CongViecPickerComponent,
|
|
47068
|
-
ReportQueueComponent,
|
|
46729
|
+
// ReportQueueComponent,
|
|
47069
46730
|
SettingsComponent,
|
|
47070
46731
|
SettingsRowComponent,
|
|
47071
46732
|
ShareLinkByPermissionComponent,
|
|
@@ -47319,5 +46980,5 @@ class Pair {
|
|
|
47319
46980
|
* Generated bundle index. Do not edit.
|
|
47320
46981
|
*/
|
|
47321
46982
|
|
|
47322
|
-
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, 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, EnumFileLayout, EnumGetRefType, EnumGioiTinh, EnumHocHamHocVi, EnumLoaiVanBanBase$1 as EnumLoaiVanBanBase, 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, HttpOptions, ImageService, ImageUploaderControlSchema, Include, KeyFieldGetRefType, KeyFilterStateByMenuCongViec, KeyFlashShow, KeyFunctionReload, KeyValueComponent, KeyValueControlSchema, LabelSchema, LabelWFNhomTrangThai, LabelWorkflowCoreStatus, LengthValidator, ListHelperService, LoaiPhieuDeXuat, LocalCacheService, LowerCorrector, MA_THONG_BAO_PHAN_HE, MaActionBatDauQuyTrinh, ManagerType, MaskControlSchema, MasterDataItem, MasterDataPipe, MasterDataService, MenuService, MenuSource, MergeConfigModel, MethodResult, ModelKySoDonVi, ModelSchema, ModuleConfigService, MultiTranslateHttpLoader, MultipleReferenceDataFormatPipe, NameValidator, NotificationObjectType, 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, ReportQueueComponent, RequiredFieldsValidator, RequiredValidator, RowColorOption, RowExcel, 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, 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, ɵ0$2 as ɵ0, ɵ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, AddNewsComponent as ɵdf, ArticleService as ɵdg, NewsCategoryService as ɵdh, UniversalLinkProcessorComponent as ɵdi, SignatureDetailComponent as ɵdj, KySoSimDanhSachChuKyComponent as ɵdk, KySoSimChuKyUserService as ɵdl, FileKySoSimComponent as ɵdm, KySoSimSignPDFService as ɵdn, TaiLieuCuaToiComponent as ɵdo, KhaiThacTaiLieuDungChungComponent as ɵdp, DanhMucDungChungService as ɵdq, TnTemplateComponent as ɵdr, DropdownSettingFormComponent as ɵds, CheckReadyComponent as ɵdt, TnAccordionTabComponent as ɵdu, SettingsWorkflowComponent as ɵdv, SettingAuthorizeButtonComponent as ɵdw, BasePermissionService as ɵdx, SettingsWorkflowNo1Component as ɵdy, ListBase as ɵe, 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 };
|
|
46983
|
+
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, 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, EnumFileLayout, EnumGetRefType, EnumGioiTinh, EnumHocHamHocVi, EnumLoaiVanBanBase$1 as EnumLoaiVanBanBase, 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, HttpOptions, ImageService, ImageUploaderControlSchema, Include, KeyFieldGetRefType, KeyFilterStateByMenuCongViec, KeyFlashShow, KeyFunctionReload, KeyValueComponent, KeyValueControlSchema, LabelSchema, LabelWFNhomTrangThai, LabelWorkflowCoreStatus, LengthValidator, ListHelperService, LoaiPhieuDeXuat, LocalCacheService, LowerCorrector, MA_THONG_BAO_PHAN_HE, MaActionBatDauQuyTrinh, ManagerType, MaskControlSchema, MasterDataItem, MasterDataPipe, MasterDataService, MenuService, MenuSource, MergeConfigModel, MethodResult, ModelKySoDonVi, ModelSchema, ModuleConfigService, MultiTranslateHttpLoader, MultipleReferenceDataFormatPipe, NameValidator, NotificationObjectType, 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, 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, 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, ɵ0$2 as ɵ0, ɵ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, AddNewsComponent as ɵdf, ArticleService as ɵdg, NewsCategoryService as ɵdh, UniversalLinkProcessorComponent as ɵdi, SignatureDetailComponent as ɵdj, KySoSimDanhSachChuKyComponent as ɵdk, KySoSimChuKyUserService as ɵdl, FileKySoSimComponent as ɵdm, KySoSimSignPDFService as ɵdn, TaiLieuCuaToiComponent as ɵdo, KhaiThacTaiLieuDungChungComponent as ɵdp, DanhMucDungChungService as ɵdq, TnTemplateComponent as ɵdr, DropdownSettingFormComponent as ɵds, CheckReadyComponent as ɵdt, TnAccordionTabComponent as ɵdu, SettingsWorkflowComponent as ɵdv, SettingAuthorizeButtonComponent as ɵdw, BasePermissionService as ɵdx, SettingsWorkflowNo1Component as ɵdy, ListBase as ɵe, 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 };
|
|
47323
46984
|
//# sourceMappingURL=tnx-shared.js.map
|