tnx-shared 5.0.64 → 5.0.66
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 +166 -39
- 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/components/file-explorer/file-manager/file-manager.component.d.ts.map +1 -1
- package/components/file-explorer/signature-detail/signature-detail.component.d.ts +8 -0
- package/components/file-explorer/signature-detail/signature-detail.component.d.ts.map +1 -0
- package/components/file-explorer/signature-detail/signature-detail.component.ngfactory.d.ts.map +1 -0
- package/components/file-explorer/signature-detail/signature-detail.component.scss.shim.ngstyle.d.ts.map +1 -0
- package/esm2015/components/file-explorer/file-manager/file-manager.component.js +60 -10
- package/esm2015/components/file-explorer/signature-detail/signature-detail.component.js +66 -0
- package/esm2015/tnx-shared.js +6 -5
- package/esm2015/tnx-shared.module.js +4 -2
- package/fesm2015/tnx-shared.js +125 -11
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/tnx-shared.d.ts +5 -4
- package/tnx-shared.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
- package/tnx-shared.module.d.ts +2 -1
- package/tnx-shared.module.d.ts.map +1 -1
- package/tnx-shared.module.ngfactory.d.ts.map +1 -1
|
@@ -28,6 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
var stringify__default = /*#__PURE__*/_interopDefaultLegacy(stringify);
|
|
30
30
|
var moment___namespace = /*#__PURE__*/_interopNamespace(moment_);
|
|
31
|
+
var moment___default = /*#__PURE__*/_interopDefaultLegacy(moment_);
|
|
31
32
|
var FileSaver__default = /*#__PURE__*/_interopDefaultLegacy(FileSaver);
|
|
32
33
|
var printJS___default = /*#__PURE__*/_interopDefaultLegacy(printJS_);
|
|
33
34
|
var printJS___namespace = /*#__PURE__*/_interopNamespace(printJS_);
|
|
@@ -32546,7 +32547,24 @@
|
|
|
32546
32547
|
if (dataSource === void 0) { dataSource = []; }
|
|
32547
32548
|
this._dataSource = dataSource;
|
|
32548
32549
|
this._oldValue = this._value;
|
|
32549
|
-
|
|
32550
|
+
var value = [];
|
|
32551
|
+
dataSource.forEach(function (item) {
|
|
32552
|
+
value.push(item.id);
|
|
32553
|
+
if (item.name) {
|
|
32554
|
+
item.nameWithoutExtension = item.name;
|
|
32555
|
+
var index = item.name.lastIndexOf('.');
|
|
32556
|
+
if (index > -1) {
|
|
32557
|
+
item.nameWithoutExtension = item.name.substring(0, index);
|
|
32558
|
+
}
|
|
32559
|
+
if (item.extension) {
|
|
32560
|
+
item.extension = item.extension.toLowerCase();
|
|
32561
|
+
}
|
|
32562
|
+
item.tailFile = item.name.substring(index);
|
|
32563
|
+
item.tailFileUpper = item.tailFile.toUpperCase();
|
|
32564
|
+
item.isFile = item.fileExplorerItemType == FileExplorerItemType.File;
|
|
32565
|
+
}
|
|
32566
|
+
});
|
|
32567
|
+
this._value = value;
|
|
32550
32568
|
if (this._oldValue != null) {
|
|
32551
32569
|
if (JSON.stringify(this._oldValue) != JSON.stringify(this._value)) {
|
|
32552
32570
|
this.fireEventChange();
|
|
@@ -32666,6 +32684,10 @@
|
|
|
32666
32684
|
show: false,
|
|
32667
32685
|
formData: {}
|
|
32668
32686
|
};
|
|
32687
|
+
this.forms[this.formIds.signatureDetail] = {
|
|
32688
|
+
header: 'Thông tin chữ ký số',
|
|
32689
|
+
show: false,
|
|
32690
|
+
};
|
|
32669
32691
|
this.forms[this.formIds.fileVersionList] = {
|
|
32670
32692
|
header: 'Danh sách phiên bản',
|
|
32671
32693
|
show: false,
|
|
@@ -33179,32 +33201,71 @@
|
|
|
33179
33201
|
// TODO: Lưu ý xử lý trường double click vào nút
|
|
33180
33202
|
FileManagerComponent.prototype.signFile = function (file) {
|
|
33181
33203
|
var _this = this;
|
|
33182
|
-
this._notifierService.showConfirm('Bạn có chắc chắn muốn ký số văn bản này?').then(function (rs) {
|
|
33183
|
-
|
|
33184
|
-
|
|
33185
|
-
|
|
33186
|
-
|
|
33187
|
-
|
|
33188
|
-
|
|
33189
|
-
|
|
33190
|
-
|
|
33191
|
-
|
|
33192
|
-
|
|
33193
|
-
|
|
33194
|
-
|
|
33195
|
-
|
|
33196
|
-
|
|
33197
|
-
|
|
33198
|
-
|
|
33199
|
-
|
|
33200
|
-
})
|
|
33201
|
-
|
|
33202
|
-
|
|
33204
|
+
this._notifierService.showConfirm('Bạn có chắc chắn muốn ký số văn bản này?').then(function (rs) { return __awaiter(_this, void 0, void 0, function () {
|
|
33205
|
+
var sourceFileId, sourceFile_1, rsConvert, e_1;
|
|
33206
|
+
var _this = this;
|
|
33207
|
+
return __generator(this, function (_b) {
|
|
33208
|
+
switch (_b.label) {
|
|
33209
|
+
case 0:
|
|
33210
|
+
if (!rs) return [3 /*break*/, 5];
|
|
33211
|
+
sourceFileId = file.id;
|
|
33212
|
+
sourceFile_1 = file;
|
|
33213
|
+
if (!this._fileExplorerService.needConvertBeforeSign(file.name)) return [3 /*break*/, 4];
|
|
33214
|
+
_b.label = 1;
|
|
33215
|
+
case 1:
|
|
33216
|
+
_b.trys.push([1, 3, , 4]);
|
|
33217
|
+
return [4 /*yield*/, this._fileExplorerService.convertDocumentToPdfAndSave({
|
|
33218
|
+
id: sourceFileId,
|
|
33219
|
+
name: this._fileExplorerService.changeFileExtension(file.name, 'pdf'),
|
|
33220
|
+
folderId: file.parentFolderId,
|
|
33221
|
+
ownerType: this._userService.getCurrentUser().userId.toString(),
|
|
33222
|
+
})];
|
|
33223
|
+
case 2:
|
|
33224
|
+
rsConvert = _b.sent();
|
|
33225
|
+
if (!rsConvert || !rsConvert.success) {
|
|
33226
|
+
this._notifierService.showWarning("C\u00F3 l\u1ED7i x\u1EA3y ra khi chuy\u1EC3n \u0111\u1ED5i t\u00E0i li\u1EC7u " + file.name + " th\u00E0nh pdf \u0111\u1EC3 k\u00FD. Vui l\u00F2ng th\u1EED l\u1EA1i sau");
|
|
33227
|
+
return [2 /*return*/];
|
|
33203
33228
|
}
|
|
33204
|
-
|
|
33205
|
-
|
|
33206
|
-
|
|
33207
|
-
|
|
33229
|
+
else {
|
|
33230
|
+
this._notifierService.showSuccess("Chuy\u1EC3n \u0111\u1ED5i t\u00E0i li\u1EC7u " + file.name + " th\u00E0nh pdf th\u00E0nh c\u00F4ng");
|
|
33231
|
+
sourceFileId = rsConvert.data;
|
|
33232
|
+
sourceFile_1 = { id: sourceFileId };
|
|
33233
|
+
this._triggerProcessData();
|
|
33234
|
+
}
|
|
33235
|
+
return [3 /*break*/, 4];
|
|
33236
|
+
case 3:
|
|
33237
|
+
e_1 = _b.sent();
|
|
33238
|
+
this._notifierService.showWarning("C\u00F3 l\u1ED7i x\u1EA3y ra khi chuy\u1EC3n \u0111\u1ED5i t\u00E0i li\u1EC7u " + file.name + " th\u00E0nh pdf \u0111\u1EC3 k\u00FD. Vui l\u00F2ng th\u1EED l\u1EA1i sau");
|
|
33239
|
+
return [2 /*return*/];
|
|
33240
|
+
case 4:
|
|
33241
|
+
this._fileExplorerService.generateLinkDownload({
|
|
33242
|
+
fileId: sourceFileId,
|
|
33243
|
+
}).then(function (rs) {
|
|
33244
|
+
var url = _this._downloadLinkService.getDownloadForSignUrl(rs.data);
|
|
33245
|
+
var prms = {};
|
|
33246
|
+
prms['FileUploadHandler'] = _this._moduleConfig.environment.apiDomain.fileEndpoint + "/" + _this._moduleConfig.environment.apiVersion + "/KySoFile/SavePhysicalSignedFile";
|
|
33247
|
+
prms['SessionId'] = '';
|
|
33248
|
+
prms['FileName'] = url;
|
|
33249
|
+
// tslint:disable-next-line: variable-name
|
|
33250
|
+
var json_prms = JSON.stringify(prms);
|
|
33251
|
+
vgca_sign_approved(json_prms, function (result) {
|
|
33252
|
+
var resultObj = JSON.parse(result);
|
|
33253
|
+
if (resultObj.FileServer != '') {
|
|
33254
|
+
_this._fileExplorerService.saveSignedFile({
|
|
33255
|
+
sourceFile: sourceFile_1,
|
|
33256
|
+
tempFileId: resultObj.FileServer,
|
|
33257
|
+
}).then(function (rss) {
|
|
33258
|
+
_this._triggerProcessData();
|
|
33259
|
+
_this._notifierService.showSuccess('Ký số thành công');
|
|
33260
|
+
});
|
|
33261
|
+
}
|
|
33262
|
+
});
|
|
33263
|
+
});
|
|
33264
|
+
_b.label = 5;
|
|
33265
|
+
case 5: return [2 /*return*/];
|
|
33266
|
+
}
|
|
33267
|
+
});
|
|
33268
|
+
}); });
|
|
33208
33269
|
};
|
|
33209
33270
|
FileManagerComponent.prototype.shareFolder = function (file) {
|
|
33210
33271
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -33231,7 +33292,7 @@
|
|
|
33231
33292
|
};
|
|
33232
33293
|
FileManagerComponent.prototype.viewListSign = function (e, signatures) {
|
|
33233
33294
|
e.stopPropagation();
|
|
33234
|
-
this.
|
|
33295
|
+
this.model.advanceData = signatures;
|
|
33235
33296
|
this.forms.signatureDetail.show = true;
|
|
33236
33297
|
};
|
|
33237
33298
|
FileManagerComponent.prototype.onRowSelect = function (evt) {
|
|
@@ -33257,8 +33318,8 @@
|
|
|
33257
33318
|
};
|
|
33258
33319
|
FileManagerComponent.prototype.signFileMultiple = function (lstFile) {
|
|
33259
33320
|
return __awaiter(this, void 0, void 0, function () {
|
|
33260
|
-
var prms, rs, lstFile_1, lstFile_1_1, file, sourceFileId, sourceFile, rsConvert, result, url,
|
|
33261
|
-
var
|
|
33321
|
+
var prms, rs, lstFile_1, lstFile_1_1, file, sourceFileId, sourceFile, rsConvert, result, url, e_2, result, url, e_3_1, json_prms;
|
|
33322
|
+
var e_3, _b;
|
|
33262
33323
|
var _this = this;
|
|
33263
33324
|
return __generator(this, function (_c) {
|
|
33264
33325
|
switch (_c.label) {
|
|
@@ -33312,7 +33373,7 @@
|
|
|
33312
33373
|
_c.label = 8;
|
|
33313
33374
|
case 8: return [3 /*break*/, 10];
|
|
33314
33375
|
case 9:
|
|
33315
|
-
|
|
33376
|
+
e_2 = _c.sent();
|
|
33316
33377
|
this._notifierService.showWarning("C\u00F3 l\u1ED7i x\u1EA3y ra khi chuy\u1EC3n \u0111\u1ED5i t\u00E0i li\u1EC7u " + file.name + " th\u00E0nh pdf \u0111\u1EC3 k\u00FD. Vui l\u00F2ng th\u1EED l\u1EA1i sau");
|
|
33317
33378
|
return [3 /*break*/, 13];
|
|
33318
33379
|
case 10: return [3 /*break*/, 13];
|
|
@@ -33333,14 +33394,14 @@
|
|
|
33333
33394
|
return [3 /*break*/, 3];
|
|
33334
33395
|
case 14: return [3 /*break*/, 17];
|
|
33335
33396
|
case 15:
|
|
33336
|
-
|
|
33337
|
-
|
|
33397
|
+
e_3_1 = _c.sent();
|
|
33398
|
+
e_3 = { error: e_3_1 };
|
|
33338
33399
|
return [3 /*break*/, 17];
|
|
33339
33400
|
case 16:
|
|
33340
33401
|
try {
|
|
33341
33402
|
if (lstFile_1_1 && !lstFile_1_1.done && (_b = lstFile_1.return)) _b.call(lstFile_1);
|
|
33342
33403
|
}
|
|
33343
|
-
finally { if (
|
|
33404
|
+
finally { if (e_3) throw e_3.error; }
|
|
33344
33405
|
return [7 /*endfinally*/];
|
|
33345
33406
|
case 17:
|
|
33346
33407
|
json_prms = JSON.stringify(prms);
|
|
@@ -33378,7 +33439,7 @@
|
|
|
33378
33439
|
{ type: i0.Component, args: [{
|
|
33379
33440
|
// tslint:disable-next-line: component-selector
|
|
33380
33441
|
selector: 'file-manager',
|
|
33381
|
-
template: "<div *ngIf=\"layout == _layout.LIST\" class=\"full-layout\" [class.readonly]=\"readonly\">\r\n <div class=\"p-grid fm-toolbar\">\r\n <div class=\"fm-toolbar-path\">\r\n <p-breadcrumb class=\"customBreadCrumb\" [model]=\"data.breadcrumbs\"></p-breadcrumb>\r\n </div>\r\n <div *ngIf=\"!readonly && rootFolderId\" class=\"fm-toolbar-buttons\">\r\n <button *ngIf=\"!hiddenCreateFolder\" pButton type=\"button\" pTooltip=\"T\u1EA1o th\u01B0 m\u1EE5c\" tooltipPosition=\"top\"\r\n icon=\"pi pi-folder\" class=\"p-button-text p-button-rounded\" iconPos=\"left\" (click)=\"createFolder()\">\r\n </button>\r\n\r\n <button pButton icon=\"pi pi-cloud-upload\" pTooltip=\"T\u1EA3i l\u00EAn\" tooltipPosition=\"top\" type=\"button\"\r\n class=\"p-button-rounded p-button-text p-button-primary\" (click)=\"selectFile()\"></button>\r\n\r\n <button *ngIf=\"canSelect()\" class=\"p-button-rounded p-button-text p-button-success\" pButton type=\"button\"\r\n pTooltip=\"Di chuy\u1EC3n\" tooltipPosition=\"top\" icon=\"fas fa-arrows-alt\" iconPos=\"left\"\r\n (click)=\"moveExplorerItems()\">\r\n </button>\r\n\r\n <ng-container *ngIf=\"canSetMove()\">\r\n <button class=\"p-button-rounded p-button-text p-button-success\" pButton type=\"button\"\r\n pTooltip=\"\u0110\u1EB7t \u1EDF \u0111\u00E2y\" tooltipPosition=\"top\" icon=\"far fa-hand-paper\" iconPos=\"left\"\r\n (click)=\"setMoveExplorerItems()\">\r\n </button>\r\n\r\n <button icon=\"pi pi-undo\" pButton class=\"p-button-rounded p-button-text p-button-secondary\"\r\n type=\"button\" pTooltip=\"B\u1ECF qua\" tooltipPosition=\"top\" (click)=\"cancelMove()\">\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"hasSelect()\">\r\n <button class=\"p-button-rounded p-button-text p-button-secondary\" pButton type=\"button\"\r\n pTooltip=\"N\u00E9n & t\u1EA3i v\u1EC1\" tooltipPosition=\"top\" icon=\"fas fa-file-archive\" iconPos=\"left\"\r\n (click)=\"downloadMultiple()\">\r\n </button>\r\n <button *ngIf=\"!control.uploadOnly\" class=\"p-button-text p-button-success\" pButton type=\"button\"\r\n pTooltip=\"K\u00FD s\u1ED1 nhi\u1EC1u\" tooltipPosition=\"top\" icon=\"fas fa-signature\" iconPos=\"left\"\r\n label=\"K\u00FD s\u1ED1 nhi\u1EC1u\" (click)=\"signMultiple()\">\r\n </button>\r\n <button pButton type=\"button\" pTooltip=\"{{ 'X\u00F3a' | translate }}\" tooltipPosition=\"top\"\r\n icon=\"pi pi-trash\" iconPos=\"left\" class=\"p-button-rounded p-button-text p-button-danger\"\r\n (click)=\"deleteMutiple(model.selectedItems)\"></button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"fm-grid\">\r\n <crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"_dataSource\"\r\n [disableKeypressControl]=\"true\" [showScrollBar]=\"false\" class=\"--auto-height-content --no-wrapper-padding\"\r\n (onReload)=\"_triggerProcessData($event)\" (onRowSelect)=\"onRowSelect($event)\">\r\n\r\n <ng-template #explorerItem let-rowData='rowData' let-col='col'>\r\n <span class=\"pull-left file-ex-icon\" [innerHTML]=\"rowData.name | fileIcon : !rowData.isFile\"\r\n (click)=\"openObject(rowData)\">\r\n </span>\r\n\r\n <span class=\"{{rowData.class}} file-ex-name\" (click)=\"openObject(rowData)\">\r\n {{rowData.name}}\r\n <div *ngIf=\"rowData.signatures\" class=\"pull-right signature\" pTooltip=\"Xem chi ti\u1EBFt k\u00FD s\u1ED1\"\r\n tooltipPosition=\"top\" (click)=\"viewListSign($event, rowData.signatures)\">\r\n <i class=\"fas fa-signature\"></i>\r\n </div>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template #fileSize let-rowData='rowData'>\r\n <div *ngIf=\"rowData.isFile\">{{rowData.fileSize | fileSize}}</div>\r\n </ng-template>\r\n\r\n <ng-template #function let-rowData=\"rowData\" let-crudList=\"crudList\">\r\n <div class=\"function-list\">\r\n <button class=\"p-button-rounded p-button-text\" pButton type=\"button\" tooltipPosition=\"top\"\r\n pTooltip=\"{{getButtonTooltip(rowData)}}\" icon=\"{{getButtonIcon(rowData)}}\"\r\n (click)=\"onButtonClick(rowData)\"></button>\r\n\r\n <ng-container *ngIf=\"!readonly\">\r\n <button class=\"p-button-danger p-button-rounded p-button-text\" pButton type=\"button\"\r\n pTooltip=\"X\u00F3a\" tooltipPosition=\"top\" icon=\"pi pi-trash\"\r\n (click)=\"deleteFile(rowData)\"></button>\r\n\r\n <button type=\"button\" pButton icon=\"pi pi-ellipsis-v\"\r\n class=\"link-or-action p-button-text p-button-rounded\" pTooltip=\"Th\u00EAm\" tooltipPosition=\"top\"\r\n (click)=\"showContextMenu($event, rowData)\"></button>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n </crud-list>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"layout == _layout.SIMPLE\" class=\"not-full-layout\" [class.readonly]=\"readonly\">\r\n <div class=\"nfl-toolbar\">\r\n <button *ngIf=\"!readonly\" type=\"button\" pButton class=\"p-button-text p-button-info link-or-action\"\r\n icon=\"fas fa-cloud-upload-alt\" label=\"T\u1EA3i l\u00EAn\" (click)=\"selectFile()\"></button>\r\n </div>\r\n\r\n <div class=\"nfl-grid\">\r\n <div *ngFor=\"let rowData of _dataSource; index as i\" class=\"nfl-item\">\r\n <div class=\"nfl-no\">\r\n {{i + 1}}.\r\n </div>\r\n\r\n <div class=\"nfl-name\">\r\n <span class=\"pull-left file-ex-icon\" [innerHTML]=\"rowData.name | fileIcon\">\r\n </span>\r\n <a class=\"{{rowData.class}} file-ex-name\" (click)=\"openObject(rowData)\">\r\n <span>{{rowData.name}}</span>\r\n <div *ngIf=\"rowData.signatures\" class=\"signature\" pTooltip=\"Xem chi ti\u1EBFt k\u00FD s\u1ED1\"\r\n tooltipPosition=\"top\" (click)=\"viewListSign($event, rowData.signatures)\">\r\n <i class=\"fas fa-signature\"></i>\r\n </div>\r\n </a>\r\n </div>\r\n\r\n <div class=\"nfl-version\">\r\n v{{rowData.currentFileVersion}}\r\n </div>\r\n\r\n <div class=\"nfl-function\">\r\n <ng-container *ngIf=\"!readonly\">\r\n <button class=\"p-button-rounded p-button-text\" pButton type=\"button\" tooltipPosition=\"top\"\r\n pTooltip=\"{{getButtonTooltip(rowData)}}\" icon=\"{{getButtonIcon(rowData)}}\"\r\n (click)=\"onButtonClick(rowData)\"></button>\r\n\r\n <button class=\"p-button-danger p-button-rounded p-button-text\" pButton type=\"button\" pTooltip=\"X\u00F3a\"\r\n tooltipPosition=\"top\" icon=\"pi pi-trash\" (click)=\"deleteFile(rowData)\"></button>\r\n\r\n <button type=\"button\" pButton icon=\"pi pi-ellipsis-v\"\r\n class=\"link-or-action p-button-text p-button-rounded\" pTooltip=\"Th\u00EAm\" tooltipPosition=\"top\"\r\n (click)=\"showContextMenu($event, rowData)\"></button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!_dataSource || !_dataSource.length\" class=\"nfl-no-item\">\r\n Ch\u01B0a c\u00F3 t\u00E0i li\u1EC7u \u0111\u01B0\u1EE3c t\u1EA3i l\u00EAn\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-fileUpload #fileControl [name]=\"fileInForm\" mode=\"basic\" [ngStyle]=\"{'display': 'none'}\" [chooseLabel]=\"chooseLabel\"\r\n [multiple]=\"control?control.multiple:false\" [url]=\"apiUploadUrl\" [maxFileSize]=\"maxFileSize\" auto=\"true\"\r\n [invalidFileSizeMessageSummary]=\"invalidFileSizeMessageSummary\"\r\n [invalidFileSizeMessageDetail]=\"invalidFileSizeMessageDetail\"\r\n [invalidFileTypeMessageSummary]=\"invalidFileTypeMessageSummary\"\r\n [invalidFileTypeMessageDetail]=\"invalidFileTypeMessageDetail\"\r\n [invalidFileLimitMessageSummary]=\"invalidFileLimitMessageSummary\"\r\n [invalidFileLimitMessageDetail]=\"invalidFileLimitMessageDetail\" (onProgress)=\"onUploadProgress($event)\"\r\n (onBeforeUpload)=\"onBeforeUpload($event)\" (onSelect)=\"handleSelectFile($event)\" (onUpload)=\"onUploaded($event)\">\r\n</p-fileUpload>\r\n<p-contextMenu #contextMenu [appendTo]=\"'body'\" [model]=\"data.itemsMenuFile\" styleClass=\"fm-contextMenu-panel\">\r\n</p-contextMenu>\r\n\r\n<!-- T\u1EA1o m\u1EDBi/ \u0111\u1ED5i t\u00EAn th\u01B0 m\u1EE5c -->\r\n<tn-dialog *ngIf=\"forms.createFolder.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.createFolder.header | translate\" [popupSize]=\"forms[formIds.createFolder].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.createFolder)\">\r\n <folder-form #formBase [parentModel]=\"model\" [parentContext]=\"context\"\r\n [model]=\"forms[formIds.createFolder].formData\" (onSaved)=\"onSavedForm(formIds.createFolder)\"\r\n (onCancel)=\"onCancelForm(formIds.createFolder)\">\r\n </folder-form>\r\n</tn-dialog>\r\n\r\n<!-- \u0110\u1ED5i t\u00EAn file -->\r\n<tn-dialog *ngIf=\"forms.renameFile.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.renameFile.header | translate\" [popupSize]=\"forms[formIds.renameFile].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.renameFile)\">\r\n <file-form #formBase [parentModel]=\"model\" [parentContext]=\"context\" [model]=\"forms[formIds.renameFile].formData\"\r\n (onSaved)=\"onSavedForm(formIds.renameFile)\" (onCancel)=\"onCancelForm(formIds.renameFile)\">\r\n </file-form>\r\n</tn-dialog>\r\n\r\n<!-- Xem file tr\u1EF1c tuy\u1EBFn -->\r\n<file-viewer *ngIf=\"forms.fileViewer.show\" [parentModel]=\"model\" [parentContext]=\"context\"\r\n [model]=\"forms.fileViewer.formData\" [readonly]=\"readonly\" (onClose)=\"closeFileViewer()\">\r\n</file-viewer>\r\n\r\n<!-- Xem phi\u00EAn b\u1EA3n -->\r\n<tn-dialog *ngIf=\"forms.fileVersionList.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.fileVersionList.header | translate\" [popupSize]=\"forms[formIds.fileVersionList].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.fileVersionList)\">\r\n <file-version-list *ngIf=\"forms.fileVersionList.show\" [parentModel]=\"model\" [parentContext]=\"context\"\r\n [fileId]=\"forms[formIds.fileVersionList].fileId\" [readonly]=\"readonly\">\r\n </file-version-list>\r\n</tn-dialog>\r\n\r\n<!--<share-file *ngIf=\"forms.shareFile.show\" [parentDataModel]=\"model\" [parentDataContext]=\"context\"\r\n [model]=\"forms.shareFile.formData\">\r\n</share-file>\r\n\r\n<share-folder *ngIf=\"forms.shareFolder.show\" [parentDataModel]=\"model\" [parentDataContext]=\"context\"\r\n [model]=\"forms.shareFolder.formData\">\r\n</share-folder>\r\n\r\n<signature-detail *ngIf=\"forms.signatureDetail.show\" [parentDataModel]=\"model\" [parentDataContext]=\"context\"\r\n [model]=\"forms.signatureDetail.formData\">\r\n</signature-detail> -->",
|
|
33442
|
+
template: "<div *ngIf=\"layout == _layout.LIST\" class=\"full-layout\" [class.readonly]=\"readonly\">\r\n <div class=\"p-grid fm-toolbar\">\r\n <div class=\"fm-toolbar-path\">\r\n <p-breadcrumb class=\"customBreadCrumb\" [model]=\"data.breadcrumbs\"></p-breadcrumb>\r\n </div>\r\n <div *ngIf=\"!readonly && rootFolderId\" class=\"fm-toolbar-buttons\">\r\n <button *ngIf=\"!hiddenCreateFolder\" pButton type=\"button\" pTooltip=\"T\u1EA1o th\u01B0 m\u1EE5c\" tooltipPosition=\"top\"\r\n icon=\"pi pi-folder\" class=\"p-button-text p-button-rounded\" iconPos=\"left\" (click)=\"createFolder()\">\r\n </button>\r\n\r\n <button pButton icon=\"pi pi-cloud-upload\" pTooltip=\"T\u1EA3i l\u00EAn\" tooltipPosition=\"top\" type=\"button\"\r\n class=\"p-button-rounded p-button-text p-button-primary\" (click)=\"selectFile()\"></button>\r\n\r\n <button *ngIf=\"canSelect()\" class=\"p-button-rounded p-button-text p-button-success\" pButton type=\"button\"\r\n pTooltip=\"Di chuy\u1EC3n\" tooltipPosition=\"top\" icon=\"fas fa-arrows-alt\" iconPos=\"left\"\r\n (click)=\"moveExplorerItems()\">\r\n </button>\r\n\r\n <ng-container *ngIf=\"canSetMove()\">\r\n <button class=\"p-button-rounded p-button-text p-button-success\" pButton type=\"button\"\r\n pTooltip=\"\u0110\u1EB7t \u1EDF \u0111\u00E2y\" tooltipPosition=\"top\" icon=\"far fa-hand-paper\" iconPos=\"left\"\r\n (click)=\"setMoveExplorerItems()\">\r\n </button>\r\n\r\n <button icon=\"pi pi-undo\" pButton class=\"p-button-rounded p-button-text p-button-secondary\"\r\n type=\"button\" pTooltip=\"B\u1ECF qua\" tooltipPosition=\"top\" (click)=\"cancelMove()\">\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"hasSelect()\">\r\n <button class=\"p-button-rounded p-button-text p-button-secondary\" pButton type=\"button\"\r\n pTooltip=\"N\u00E9n & t\u1EA3i v\u1EC1\" tooltipPosition=\"top\" icon=\"fas fa-file-archive\" iconPos=\"left\"\r\n (click)=\"downloadMultiple()\">\r\n </button>\r\n <button *ngIf=\"!control.uploadOnly\" class=\"p-button-text p-button-success\" pButton type=\"button\"\r\n pTooltip=\"K\u00FD s\u1ED1 nhi\u1EC1u\" tooltipPosition=\"top\" icon=\"fas fa-signature\" iconPos=\"left\"\r\n label=\"K\u00FD s\u1ED1 nhi\u1EC1u\" (click)=\"signMultiple()\">\r\n </button>\r\n <button pButton type=\"button\" pTooltip=\"{{ 'X\u00F3a' | translate }}\" tooltipPosition=\"top\"\r\n icon=\"pi pi-trash\" iconPos=\"left\" class=\"p-button-rounded p-button-text p-button-danger\"\r\n (click)=\"deleteMutiple(model.selectedItems)\"></button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div class=\"fm-grid\">\r\n <crud-list #crudList [model]=\"model\" [setting]=\"setting\" [dataSource]=\"_dataSource\"\r\n [disableKeypressControl]=\"true\" [showScrollBar]=\"false\" class=\"--auto-height-content --no-wrapper-padding\"\r\n (onReload)=\"_triggerProcessData($event)\" (onRowSelect)=\"onRowSelect($event)\">\r\n\r\n <ng-template #explorerItem let-rowData='rowData' let-col='col'>\r\n <span class=\"pull-left file-ex-icon\" [innerHTML]=\"rowData.name | fileIcon : !rowData.isFile\"\r\n (click)=\"openObject(rowData)\">\r\n </span>\r\n\r\n <span class=\"{{rowData.class}} file-ex-name\" (click)=\"openObject(rowData)\">\r\n {{rowData.name}}\r\n <div *ngIf=\"rowData.signatures\" class=\"pull-right signature\" pTooltip=\"Xem chi ti\u1EBFt k\u00FD s\u1ED1\"\r\n tooltipPosition=\"top\" (click)=\"viewListSign($event, rowData.signatures)\">\r\n <i class=\"fas fa-signature\"></i>\r\n </div>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template #fileSize let-rowData='rowData'>\r\n <div *ngIf=\"rowData.isFile\">{{rowData.fileSize | fileSize}}</div>\r\n </ng-template>\r\n\r\n <ng-template #function let-rowData=\"rowData\" let-crudList=\"crudList\">\r\n <div class=\"function-list\">\r\n <button class=\"p-button-rounded p-button-text\" pButton type=\"button\" tooltipPosition=\"top\"\r\n pTooltip=\"{{getButtonTooltip(rowData)}}\" icon=\"{{getButtonIcon(rowData)}}\"\r\n (click)=\"onButtonClick(rowData)\"></button>\r\n\r\n <ng-container *ngIf=\"!readonly\">\r\n <button class=\"p-button-danger p-button-rounded p-button-text\" pButton type=\"button\"\r\n pTooltip=\"X\u00F3a\" tooltipPosition=\"top\" icon=\"pi pi-trash\"\r\n (click)=\"deleteFile(rowData)\"></button>\r\n\r\n <button type=\"button\" pButton icon=\"pi pi-ellipsis-v\"\r\n class=\"link-or-action p-button-text p-button-rounded\" pTooltip=\"Th\u00EAm\" tooltipPosition=\"top\"\r\n (click)=\"showContextMenu($event, rowData)\"></button>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n </crud-list>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"layout == _layout.SIMPLE\" class=\"not-full-layout\" [class.readonly]=\"readonly\">\r\n <div class=\"nfl-toolbar\">\r\n <button *ngIf=\"!readonly\" type=\"button\" pButton class=\"p-button-text p-button-info link-or-action\"\r\n icon=\"fas fa-cloud-upload-alt\" label=\"T\u1EA3i l\u00EAn\" (click)=\"selectFile()\"></button>\r\n </div>\r\n\r\n <div class=\"nfl-grid\">\r\n <div *ngFor=\"let rowData of _dataSource; index as i\" class=\"nfl-item\">\r\n <div class=\"nfl-no\">\r\n {{i + 1}}.\r\n </div>\r\n\r\n <div class=\"nfl-name\">\r\n <span class=\"pull-left file-ex-icon\" [innerHTML]=\"rowData.name | fileIcon\">\r\n </span>\r\n <a class=\"{{rowData.class}} file-ex-name\" (click)=\"openObject(rowData)\">\r\n <span>{{rowData.name}}</span>\r\n <div *ngIf=\"rowData.signatures\" class=\"signature\" pTooltip=\"Xem chi ti\u1EBFt k\u00FD s\u1ED1\"\r\n tooltipPosition=\"top\" (click)=\"viewListSign($event, rowData.signatures)\">\r\n <i class=\"fas fa-signature\"></i>\r\n </div>\r\n </a>\r\n </div>\r\n\r\n <div class=\"nfl-version\">\r\n v{{rowData.currentFileVersion}}\r\n </div>\r\n\r\n <div class=\"nfl-function\">\r\n <ng-container *ngIf=\"!readonly\">\r\n <button class=\"p-button-rounded p-button-text\" pButton type=\"button\" tooltipPosition=\"top\"\r\n pTooltip=\"{{getButtonTooltip(rowData)}}\" icon=\"{{getButtonIcon(rowData)}}\"\r\n (click)=\"onButtonClick(rowData)\"></button>\r\n\r\n <button class=\"p-button-danger p-button-rounded p-button-text\" pButton type=\"button\" pTooltip=\"X\u00F3a\"\r\n tooltipPosition=\"top\" icon=\"pi pi-trash\" (click)=\"deleteFile(rowData)\"></button>\r\n\r\n <button type=\"button\" pButton icon=\"pi pi-ellipsis-v\"\r\n class=\"link-or-action p-button-text p-button-rounded\" pTooltip=\"Th\u00EAm\" tooltipPosition=\"top\"\r\n (click)=\"showContextMenu($event, rowData)\"></button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!_dataSource || !_dataSource.length\" class=\"nfl-no-item\">\r\n Ch\u01B0a c\u00F3 t\u00E0i li\u1EC7u \u0111\u01B0\u1EE3c t\u1EA3i l\u00EAn\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<p-fileUpload #fileControl [name]=\"fileInForm\" mode=\"basic\" [ngStyle]=\"{'display': 'none'}\" [chooseLabel]=\"chooseLabel\"\r\n [multiple]=\"control?control.multiple:false\" [url]=\"apiUploadUrl\" [maxFileSize]=\"maxFileSize\" auto=\"true\"\r\n [invalidFileSizeMessageSummary]=\"invalidFileSizeMessageSummary\"\r\n [invalidFileSizeMessageDetail]=\"invalidFileSizeMessageDetail\"\r\n [invalidFileTypeMessageSummary]=\"invalidFileTypeMessageSummary\"\r\n [invalidFileTypeMessageDetail]=\"invalidFileTypeMessageDetail\"\r\n [invalidFileLimitMessageSummary]=\"invalidFileLimitMessageSummary\"\r\n [invalidFileLimitMessageDetail]=\"invalidFileLimitMessageDetail\" (onProgress)=\"onUploadProgress($event)\"\r\n (onBeforeUpload)=\"onBeforeUpload($event)\" (onSelect)=\"handleSelectFile($event)\" (onUpload)=\"onUploaded($event)\">\r\n</p-fileUpload>\r\n<p-contextMenu #contextMenu [appendTo]=\"'body'\" [model]=\"data.itemsMenuFile\" styleClass=\"fm-contextMenu-panel\">\r\n</p-contextMenu>\r\n\r\n<!-- T\u1EA1o m\u1EDBi/ \u0111\u1ED5i t\u00EAn th\u01B0 m\u1EE5c -->\r\n<tn-dialog *ngIf=\"forms.createFolder.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.createFolder.header | translate\" [popupSize]=\"forms[formIds.createFolder].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.createFolder)\">\r\n <folder-form #formBase [parentModel]=\"model\" [parentContext]=\"context\"\r\n [model]=\"forms[formIds.createFolder].formData\" (onSaved)=\"onSavedForm(formIds.createFolder)\"\r\n (onCancel)=\"onCancelForm(formIds.createFolder)\">\r\n </folder-form>\r\n</tn-dialog>\r\n\r\n<!-- \u0110\u1ED5i t\u00EAn file -->\r\n<tn-dialog *ngIf=\"forms.renameFile.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.renameFile.header | translate\" [popupSize]=\"forms[formIds.renameFile].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.renameFile)\">\r\n <file-form #formBase [parentModel]=\"model\" [parentContext]=\"context\" [model]=\"forms[formIds.renameFile].formData\"\r\n (onSaved)=\"onSavedForm(formIds.renameFile)\" (onCancel)=\"onCancelForm(formIds.renameFile)\">\r\n </file-form>\r\n</tn-dialog>\r\n\r\n<!-- Xem file tr\u1EF1c tuy\u1EBFn -->\r\n<file-viewer *ngIf=\"forms.fileViewer.show\" [parentModel]=\"model\" [parentContext]=\"context\"\r\n [model]=\"forms.fileViewer.formData\" [readonly]=\"readonly\" (onClose)=\"closeFileViewer()\">\r\n</file-viewer>\r\n\r\n<!-- Xem phi\u00EAn b\u1EA3n -->\r\n<tn-dialog *ngIf=\"forms.fileVersionList.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.fileVersionList.header | translate\" [popupSize]=\"forms[formIds.fileVersionList].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.fileVersionList)\">\r\n <file-version-list *ngIf=\"forms.fileVersionList.show\" [parentModel]=\"model\" [parentContext]=\"context\"\r\n [fileId]=\"forms[formIds.fileVersionList].fileId\" [readonly]=\"readonly\">\r\n </file-version-list>\r\n</tn-dialog>\r\n\r\n<!--<share-file *ngIf=\"forms.shareFile.show\" [parentDataModel]=\"model\" [parentDataContext]=\"context\"\r\n [model]=\"forms.shareFile.formData\">\r\n</share-file>\r\n\r\n<share-folder *ngIf=\"forms.shareFolder.show\" [parentDataModel]=\"model\" [parentDataContext]=\"context\"\r\n [model]=\"forms.shareFolder.formData\">\r\n</share-folder>-->\r\n\r\n<!-- Xem ch\u1EEF k\u00FD s\u1ED1 -->\r\n<tn-dialog *ngIf=\"forms.signatureDetail.show\" #dialog [styleClass]=\"'address-form'\"\r\n [header]=\"forms.signatureDetail.header | translate\" [popupSize]=\"forms[formIds.signatureDetail].popupSize\"\r\n (onHide)=\"onCancelForm(formIds.signatureDetail)\">\r\n <signature-detail [parentModel]=\"model\" [parentContext]=\"context\">\r\n </signature-detail>\r\n</tn-dialog>",
|
|
33382
33443
|
providers: [
|
|
33383
33444
|
{
|
|
33384
33445
|
provide: forms.NG_VALUE_ACCESSOR,
|
|
@@ -45451,6 +45512,70 @@
|
|
|
45451
45512
|
{ type: UserService }
|
|
45452
45513
|
]; };
|
|
45453
45514
|
|
|
45515
|
+
// fix for build prod
|
|
45516
|
+
var moment$1 = moment___default['default'];
|
|
45517
|
+
var SignatureDetailComponent = /** @class */ (function (_super) {
|
|
45518
|
+
__extends(SignatureDetailComponent, _super);
|
|
45519
|
+
function SignatureDetailComponent(injector) {
|
|
45520
|
+
return _super.call(this, injector) || this;
|
|
45521
|
+
}
|
|
45522
|
+
SignatureDetailComponent.prototype.ngOnInit = function () {
|
|
45523
|
+
this.model.data = this.parentModel.advanceData;
|
|
45524
|
+
this.buildTree();
|
|
45525
|
+
};
|
|
45526
|
+
SignatureDetailComponent.prototype.buildTree = function () {
|
|
45527
|
+
var nodes = [];
|
|
45528
|
+
for (var ind in this.model.data) {
|
|
45529
|
+
var item = this.model.data[ind];
|
|
45530
|
+
var childNodes = { expanded: true, children: [] };
|
|
45531
|
+
childNodes.label = "" + item.reason;
|
|
45532
|
+
childNodes.expandedIcon = 'fas fa-signature';
|
|
45533
|
+
childNodes.collapsedIcon = 'fas fa-signature';
|
|
45534
|
+
childNodes.leaf = false;
|
|
45535
|
+
if (item.reason) {
|
|
45536
|
+
childNodes.children.push({
|
|
45537
|
+
label: 'Người ký: ' + item.certificate.subject.nameOfSigner,
|
|
45538
|
+
expandedIcon: 'fas fa-user-tag',
|
|
45539
|
+
collapsedIcon: 'fas fa-user-tag',
|
|
45540
|
+
leaf: true
|
|
45541
|
+
});
|
|
45542
|
+
}
|
|
45543
|
+
childNodes.children.push({
|
|
45544
|
+
label: 'Đơn vị: ' + item.certificate.subject.organizationUnit + ' - ' + item.certificate.subject.organization,
|
|
45545
|
+
expandedIcon: 'fas fa-building',
|
|
45546
|
+
collapsedIcon: 'fas fa-building',
|
|
45547
|
+
leaf: true
|
|
45548
|
+
});
|
|
45549
|
+
childNodes.children.push({
|
|
45550
|
+
label: 'Chứng thư cấp bởi: ' + item.certificate.issuerDN.nameOfIssuer,
|
|
45551
|
+
expandedIcon: 'fas fa-certificate',
|
|
45552
|
+
collapsedIcon: 'fas fa-certificate',
|
|
45553
|
+
leaf: true
|
|
45554
|
+
});
|
|
45555
|
+
childNodes.children.push({
|
|
45556
|
+
label: 'Thời gian ký: ' + moment$1(item.signDate).format('D/MM/Y hh:mm:ss Z'),
|
|
45557
|
+
expandedIcon: 'fas fa-clock',
|
|
45558
|
+
collapsedIcon: 'fas fa-clock',
|
|
45559
|
+
leaf: true
|
|
45560
|
+
});
|
|
45561
|
+
nodes.push(childNodes);
|
|
45562
|
+
}
|
|
45563
|
+
this.model.dataSource = nodes;
|
|
45564
|
+
};
|
|
45565
|
+
return SignatureDetailComponent;
|
|
45566
|
+
}(ComponentBase));
|
|
45567
|
+
SignatureDetailComponent.decorators = [
|
|
45568
|
+
{ type: i0.Component, args: [{
|
|
45569
|
+
selector: 'signature-detail',
|
|
45570
|
+
template: "<div class=\"tree-signature\">\r\n <p-tree [value]=\"model.dataSource\" [filter]=\"true\" [emptyMessage]=\"'Kh\u00F4ng c\u00F3 ch\u1EEF k\u00FD'\" styleClass=\"signature-tree\">\r\n </p-tree>\r\n</div>",
|
|
45571
|
+
providers: [ComponentContextService],
|
|
45572
|
+
styles: [":host::ng-deep .signature-tree{border:none;width:100%}:host::ng-deep .signature-tree .ui-treenode-icon{color:#888;padding-right:10px}:host::ng-deep .signature-tree span.fas.fa-signature+span{font-weight:700}:host::ng-deep .signature-tree span.ui-treenode-icon.fas.fa-signature{color:#212529!important;padding-left:5px}:host::ng-deep .signature-tree span.ui-tree-toggler{color:#212529!important}"]
|
|
45573
|
+
},] }
|
|
45574
|
+
];
|
|
45575
|
+
SignatureDetailComponent.ctorParameters = function () { return [
|
|
45576
|
+
{ type: i0.Injector }
|
|
45577
|
+
]; };
|
|
45578
|
+
|
|
45454
45579
|
function coreDeclaration() {
|
|
45455
45580
|
return [
|
|
45456
45581
|
AddressComponent,
|
|
@@ -45580,7 +45705,8 @@
|
|
|
45580
45705
|
FilePickerDialogComponent,
|
|
45581
45706
|
AddNewsComponent,
|
|
45582
45707
|
CommonDashboardComponent,
|
|
45583
|
-
NotFoundComponent
|
|
45708
|
+
NotFoundComponent,
|
|
45709
|
+
SignatureDetailComponent
|
|
45584
45710
|
];
|
|
45585
45711
|
}
|
|
45586
45712
|
function coreModuleImport() {
|
|
@@ -47933,10 +48059,11 @@
|
|
|
47933
48059
|
exports.ɵds = AddNewsComponent;
|
|
47934
48060
|
exports.ɵdt = ArticleService;
|
|
47935
48061
|
exports.ɵdu = NewsCategoryService;
|
|
47936
|
-
exports.ɵdv =
|
|
47937
|
-
exports.ɵdw =
|
|
47938
|
-
exports.ɵdx =
|
|
47939
|
-
exports.ɵdy =
|
|
48062
|
+
exports.ɵdv = SignatureDetailComponent;
|
|
48063
|
+
exports.ɵdw = CheckReadyComponent;
|
|
48064
|
+
exports.ɵdx = SendAccessTokenInterceptor;
|
|
48065
|
+
exports.ɵdy = LogInterceptor;
|
|
48066
|
+
exports.ɵdz = PermissionUtilsInterceptor;
|
|
47940
48067
|
exports.ɵe = CanBo_HoSoService;
|
|
47941
48068
|
exports.ɵf = AfterViewCheckedComponent;
|
|
47942
48069
|
exports.ɵg = AdvanceSearchComponent;
|