tnx-shared 5.3.406 → 5.3.407
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 +218 -111
- 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/access-denied-component/access-denied.component.d.ts.map +1 -1
- package/components/file-explorer/file-manager/file-manager.component.d.ts +4 -1
- package/components/file-explorer/file-manager/file-manager.component.d.ts.map +1 -1
- package/components/file-explorer/file-viewer/file-viewer.component.d.ts +4 -0
- package/components/file-explorer/file-viewer/file-viewer.component.d.ts.map +1 -1
- package/esm2015/components/access-denied-component/access-denied.component.js +2 -1
- package/esm2015/components/file-explorer/file-manager/file-manager.component.js +34 -2
- package/esm2015/components/file-explorer/file-viewer/file-viewer.component.js +55 -2
- package/esm2015/services/user-chu-ky-so.service.js +28 -0
- package/esm2015/tnx-shared.js +92 -91
- package/fesm2015/tnx-shared.js +109 -3
- package/fesm2015/tnx-shared.js.map +1 -1
- package/package.json +2 -2
- package/services/user-chu-ky-so.service.d.ts +11 -0
- package/services/user-chu-ky-so.service.d.ts.map +1 -0
- package/services/user-chu-ky-so.service.ngfactory.d.ts.map +1 -0
- package/tnx-shared.d.ts +91 -90
- package/tnx-shared.d.ts.map +1 -1
- package/tnx-shared.metadata.json +1 -1
|
@@ -29946,6 +29946,7 @@
|
|
|
29946
29946
|
]; };
|
|
29947
29947
|
|
|
29948
29948
|
var AccessDeniedComponent = /** @class */ (function () {
|
|
29949
|
+
// Edit for build 1
|
|
29949
29950
|
function AccessDeniedComponent(_federationService) {
|
|
29950
29951
|
this._federationService = _federationService;
|
|
29951
29952
|
}
|
|
@@ -35117,6 +35118,30 @@
|
|
|
35117
35118
|
{ type: ModuleConfigService }
|
|
35118
35119
|
]; };
|
|
35119
35120
|
|
|
35121
|
+
var UserChuKySoService = /** @class */ (function (_super) {
|
|
35122
|
+
__extends(UserChuKySoService, _super);
|
|
35123
|
+
function UserChuKySoService(http, injector, _moduleConfigService) {
|
|
35124
|
+
var _this = _super.call(this, http, injector, _moduleConfigService.getConfig().environment.apiDomain.userOrgEndpoint + "/" + _moduleConfigService.getConfig().environment.apiVersion + "/UserChuKySo") || this;
|
|
35125
|
+
_this._moduleConfigService = _moduleConfigService;
|
|
35126
|
+
_this.entityName = 'UserChuKySo';
|
|
35127
|
+
_this.serviceCode = 'userorg';
|
|
35128
|
+
_this.endPoint = _moduleConfigService.getConfig().environment.apiDomain.userOrgEndpoint;
|
|
35129
|
+
return _this;
|
|
35130
|
+
}
|
|
35131
|
+
return UserChuKySoService;
|
|
35132
|
+
}(BaseService));
|
|
35133
|
+
UserChuKySoService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function UserChuKySoService_Factory() { return new UserChuKySoService(i0__namespace.ɵɵinject(i1__namespace$1.HttpClient), i0__namespace.ɵɵinject(i0__namespace.INJECTOR), i0__namespace.ɵɵinject(ModuleConfigService)); }, token: UserChuKySoService, providedIn: "root" });
|
|
35134
|
+
UserChuKySoService.decorators = [
|
|
35135
|
+
{ type: i0.Injectable, args: [{
|
|
35136
|
+
providedIn: 'root'
|
|
35137
|
+
},] }
|
|
35138
|
+
];
|
|
35139
|
+
UserChuKySoService.ctorParameters = function () { return [
|
|
35140
|
+
{ type: i1$1.HttpClient },
|
|
35141
|
+
{ type: i0.Injector },
|
|
35142
|
+
{ type: ModuleConfigService }
|
|
35143
|
+
]; };
|
|
35144
|
+
|
|
35120
35145
|
var FileExplorerItem = /** @class */ (function () {
|
|
35121
35146
|
function FileExplorerItem() {
|
|
35122
35147
|
}
|
|
@@ -35218,7 +35243,7 @@
|
|
|
35218
35243
|
|
|
35219
35244
|
var FileManagerComponent = /** @class */ (function (_super) {
|
|
35220
35245
|
__extends(FileManagerComponent, _super);
|
|
35221
|
-
function FileManagerComponent(_myDriveService, _injector, _messageService, _authenService, _tnClientService, _fileVersionService, _moduleConfigService, _notifierService, _signalrService, _fileExplorerService, _fileExplorerNewService, _deviceDetectorService, _folderService, _fileObjectService, _downloadLinkService, _fileManagerService) {
|
|
35246
|
+
function FileManagerComponent(_myDriveService, _injector, _messageService, _authenService, _tnClientService, _fileVersionService, _moduleConfigService, _notifierService, _signalrService, _fileExplorerService, _fileExplorerNewService, _deviceDetectorService, _folderService, _fileObjectService, _downloadLinkService, _userChuKySoService, _fileManagerService) {
|
|
35222
35247
|
var _this = _super.call(this, _injector) || this;
|
|
35223
35248
|
_this._myDriveService = _myDriveService;
|
|
35224
35249
|
_this._injector = _injector;
|
|
@@ -35235,6 +35260,7 @@
|
|
|
35235
35260
|
_this._folderService = _folderService;
|
|
35236
35261
|
_this._fileObjectService = _fileObjectService;
|
|
35237
35262
|
_this._downloadLinkService = _downloadLinkService;
|
|
35263
|
+
_this._userChuKySoService = _userChuKySoService;
|
|
35238
35264
|
_this._fileManagerService = _fileManagerService;
|
|
35239
35265
|
_this.control = new FileManagerControlSchema();
|
|
35240
35266
|
_this.layout = exports.EnumFileLayout.LIST;
|
|
@@ -35730,6 +35756,13 @@
|
|
|
35730
35756
|
visible: (this._fileObjectService.isTypeFileKySo(item.name)
|
|
35731
35757
|
&& this.layout !== exports.EnumFileLayout.SIMPLE_FOR_LIST && !this.parentSetting.hiddenKySoSimCaNhan),
|
|
35732
35758
|
},
|
|
35759
|
+
{
|
|
35760
|
+
label: 'Ký số SmartCA',
|
|
35761
|
+
icon: 'fas fa-signature',
|
|
35762
|
+
command: function () {
|
|
35763
|
+
_this.signFileSmartCA(item);
|
|
35764
|
+
},
|
|
35765
|
+
},
|
|
35733
35766
|
{
|
|
35734
35767
|
label: 'Ký số cá nhân (USB)', icon: 'fas fa-signature',
|
|
35735
35768
|
command: function () {
|
|
@@ -36777,6 +36810,36 @@
|
|
|
36777
36810
|
this.forms.kySoSim.show = true;
|
|
36778
36811
|
this.model.advanceData = file;
|
|
36779
36812
|
};
|
|
36813
|
+
FileManagerComponent.prototype.signFileSmartCA = function (rowData) {
|
|
36814
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
36815
|
+
var dataKySo;
|
|
36816
|
+
return __generator(this, function (_b) {
|
|
36817
|
+
switch (_b.label) {
|
|
36818
|
+
case 0: return [4 /*yield*/, this._userChuKySoService.getDetailByFilter([
|
|
36819
|
+
this.newFilter('provider', exports.Operator.equal, 'SmartCA'),
|
|
36820
|
+
this.newFilter('userId', exports.Operator.equal, this._userService.getCurrentUser().userId),
|
|
36821
|
+
])];
|
|
36822
|
+
case 1:
|
|
36823
|
+
dataKySo = (_b.sent()).data;
|
|
36824
|
+
if (!dataKySo) {
|
|
36825
|
+
this._notifierService.showWarning('Người dùng chưa cấu hình thông tin ký số');
|
|
36826
|
+
}
|
|
36827
|
+
this.forms.fileViewer.formData.data = {
|
|
36828
|
+
fileId: rowData.id,
|
|
36829
|
+
isFileVersion: false,
|
|
36830
|
+
fileName: rowData.name,
|
|
36831
|
+
service: rowData.serviceCode,
|
|
36832
|
+
entity: rowData.entity,
|
|
36833
|
+
entityKey: rowData.entityKey,
|
|
36834
|
+
fileBase64Content: dataKySo.fileBase64Content,
|
|
36835
|
+
showKySoButton: true,
|
|
36836
|
+
};
|
|
36837
|
+
this.forms.fileViewer.show = true;
|
|
36838
|
+
return [2 /*return*/];
|
|
36839
|
+
}
|
|
36840
|
+
});
|
|
36841
|
+
});
|
|
36842
|
+
};
|
|
36780
36843
|
FileManagerComponent.prototype.shareFolder = function (file) {
|
|
36781
36844
|
return __awaiter(this, void 0, void 0, function () {
|
|
36782
36845
|
return __generator(this, function (_b) {
|
|
@@ -37050,6 +37113,7 @@
|
|
|
37050
37113
|
{ type: FolderService },
|
|
37051
37114
|
{ type: FileObjectService },
|
|
37052
37115
|
{ type: DownloadLinkService },
|
|
37116
|
+
{ type: UserChuKySoService },
|
|
37053
37117
|
{ type: FileManagerService }
|
|
37054
37118
|
]; };
|
|
37055
37119
|
FileManagerComponent.propDecorators = {
|
|
@@ -50058,13 +50122,13 @@
|
|
|
50058
50122
|
};
|
|
50059
50123
|
FileViewerComponent.prototype.init = function () {
|
|
50060
50124
|
return __awaiter(this, void 0, void 0, function () {
|
|
50061
|
-
return __generator(this, function (
|
|
50062
|
-
switch (
|
|
50125
|
+
return __generator(this, function (_b) {
|
|
50126
|
+
switch (_b.label) {
|
|
50063
50127
|
case 0:
|
|
50064
50128
|
this.initForm();
|
|
50065
50129
|
return [4 /*yield*/, this.getDetail()];
|
|
50066
50130
|
case 1:
|
|
50067
|
-
|
|
50131
|
+
_b.sent();
|
|
50068
50132
|
this.showFile();
|
|
50069
50133
|
return [2 /*return*/];
|
|
50070
50134
|
}
|
|
@@ -50074,8 +50138,8 @@
|
|
|
50074
50138
|
FileViewerComponent.prototype.getDetail = function () {
|
|
50075
50139
|
return __awaiter(this, void 0, void 0, function () {
|
|
50076
50140
|
var data, fileVersion, fileObject;
|
|
50077
|
-
return __generator(this, function (
|
|
50078
|
-
switch (
|
|
50141
|
+
return __generator(this, function (_b) {
|
|
50142
|
+
switch (_b.label) {
|
|
50079
50143
|
case 0:
|
|
50080
50144
|
this.data = this.model.data;
|
|
50081
50145
|
if (!this.data.fileId && !this.data.fileVersionId) {
|
|
@@ -50089,16 +50153,16 @@
|
|
|
50089
50153
|
if (!this.data.fileVersionId) return [3 /*break*/, 3];
|
|
50090
50154
|
return [4 /*yield*/, this._fileVersionService.getDetail(this.data.fileVersionId)];
|
|
50091
50155
|
case 1:
|
|
50092
|
-
fileVersion = (
|
|
50156
|
+
fileVersion = (_b.sent()).data || {};
|
|
50093
50157
|
return [4 /*yield*/, this._fileObjectService.getDetail(fileVersion.fileId)];
|
|
50094
50158
|
case 2:
|
|
50095
|
-
fileObject = (
|
|
50159
|
+
fileObject = (_b.sent()).data || {};
|
|
50096
50160
|
data = fileObject;
|
|
50097
50161
|
return [3 /*break*/, 5];
|
|
50098
50162
|
case 3: return [4 /*yield*/, this._fileObjectService.getDetail(this.data.fileId)];
|
|
50099
50163
|
case 4:
|
|
50100
|
-
data = (
|
|
50101
|
-
|
|
50164
|
+
data = (_b.sent()).data || {};
|
|
50165
|
+
_b.label = 5;
|
|
50102
50166
|
case 5:
|
|
50103
50167
|
data.extension = this._fileObjectService.getFileExtension(data.name);
|
|
50104
50168
|
data.fileType = this._fileObjectService.getFileType(data.extension);
|
|
@@ -50230,16 +50294,16 @@
|
|
|
50230
50294
|
FileViewerComponent.prototype.getOrientation = function (imageUrl, callback) {
|
|
50231
50295
|
return __awaiter(this, void 0, void 0, function () {
|
|
50232
50296
|
var reader, res, blob;
|
|
50233
|
-
return __generator(this, function (
|
|
50234
|
-
switch (
|
|
50297
|
+
return __generator(this, function (_b) {
|
|
50298
|
+
switch (_b.label) {
|
|
50235
50299
|
case 0:
|
|
50236
50300
|
reader = new FileReader();
|
|
50237
50301
|
return [4 /*yield*/, fetch(imageUrl)];
|
|
50238
50302
|
case 1:
|
|
50239
|
-
res =
|
|
50303
|
+
res = _b.sent();
|
|
50240
50304
|
return [4 /*yield*/, res.blob()];
|
|
50241
50305
|
case 2:
|
|
50242
|
-
blob =
|
|
50306
|
+
blob = _b.sent();
|
|
50243
50307
|
reader.onload = function (event) {
|
|
50244
50308
|
var view = new DataView(event.target.result);
|
|
50245
50309
|
if (view.getUint16(0, false) != 0xFFD8) {
|
|
@@ -50283,7 +50347,7 @@
|
|
|
50283
50347
|
return __awaiter(this, void 0, void 0, function () {
|
|
50284
50348
|
var reader;
|
|
50285
50349
|
var _this = this;
|
|
50286
|
-
return __generator(this, function (
|
|
50350
|
+
return __generator(this, function (_b) {
|
|
50287
50351
|
reader = new FileReader();
|
|
50288
50352
|
// const res = await fetch(imageUrl);
|
|
50289
50353
|
// const blob = await res.blob();
|
|
@@ -50405,13 +50469,13 @@
|
|
|
50405
50469
|
FileViewerComponent.prototype.onSavedRenameFile = function () {
|
|
50406
50470
|
return __awaiter(this, void 0, void 0, function () {
|
|
50407
50471
|
var file;
|
|
50408
|
-
return __generator(this, function (
|
|
50409
|
-
switch (
|
|
50472
|
+
return __generator(this, function (_b) {
|
|
50473
|
+
switch (_b.label) {
|
|
50410
50474
|
case 0:
|
|
50411
50475
|
this.renameFileForm.show = false;
|
|
50412
50476
|
return [4 /*yield*/, this._fileObjectService.getDetail(this.data.id)];
|
|
50413
50477
|
case 1:
|
|
50414
|
-
file = (
|
|
50478
|
+
file = (_b.sent()).data;
|
|
50415
50479
|
if (file) {
|
|
50416
50480
|
this.data.name = file.name;
|
|
50417
50481
|
}
|
|
@@ -50475,12 +50539,54 @@
|
|
|
50475
50539
|
}
|
|
50476
50540
|
return styleClass;
|
|
50477
50541
|
};
|
|
50542
|
+
FileViewerComponent.prototype.kySoHandle = function () {
|
|
50543
|
+
};
|
|
50544
|
+
FileViewerComponent.prototype.ngAfterViewInit = function () {
|
|
50545
|
+
var _this = this;
|
|
50546
|
+
// Access the PDF.js viewer instance
|
|
50547
|
+
setTimeout(function () {
|
|
50548
|
+
var _a;
|
|
50549
|
+
var pdfViewer = (_a = window.PDFViewerApplication) === null || _a === void 0 ? void 0 : _a.pdfViewer;
|
|
50550
|
+
if (pdfViewer) {
|
|
50551
|
+
// Add click listener to each page canvas
|
|
50552
|
+
var container = document.querySelector('#viewerContainer');
|
|
50553
|
+
container === null || container === void 0 ? void 0 : container.addEventListener('click', function (e) {
|
|
50554
|
+
_this.handlePageClick(e, pdfViewer);
|
|
50555
|
+
});
|
|
50556
|
+
}
|
|
50557
|
+
}, 1000);
|
|
50558
|
+
};
|
|
50559
|
+
FileViewerComponent.prototype.handlePageClick = function (event, pdfViewer) {
|
|
50560
|
+
var target = event.target;
|
|
50561
|
+
var marker = document.getElementById("custom-marker");
|
|
50562
|
+
if (marker) {
|
|
50563
|
+
marker.remove();
|
|
50564
|
+
}
|
|
50565
|
+
if (target.classList.contains('canvasWrapper') ||
|
|
50566
|
+
target.tagName === 'CANVAS') {
|
|
50567
|
+
// Get page number and coordinates
|
|
50568
|
+
var pageDiv = target.closest('.page');
|
|
50569
|
+
var pageNumber = parseInt((pageDiv === null || pageDiv === void 0 ? void 0 : pageDiv.getAttribute('data-page-number')) || '1');
|
|
50570
|
+
var rect = target.getBoundingClientRect();
|
|
50571
|
+
var x = event.clientX - rect.left;
|
|
50572
|
+
var y = event.clientY - rect.top;
|
|
50573
|
+
// Create marker at this position
|
|
50574
|
+
this.createMarker(target, x, y, pageNumber);
|
|
50575
|
+
}
|
|
50576
|
+
};
|
|
50577
|
+
FileViewerComponent.prototype.createMarker = function (parent, x, y, page) {
|
|
50578
|
+
var marker = document.createElement('div');
|
|
50579
|
+
marker.id = 'custom-marker';
|
|
50580
|
+
marker.style.cssText = "\n position: absolute;\n left: " + x + "px;\n top: " + y + "px;\n width: 100px;\n height: 100px;\n background-image: url(" + this.model.data.fileBase64Content + ");\n pointer-events: none;\n background-size: contain; /* Fits the image */\n background-repeat: no-repeat; /* No tiling */\n background-position: center top; /* Positioning */\n z-index: 999;\n ";
|
|
50581
|
+
var pageContainer = parent.closest('.page');
|
|
50582
|
+
pageContainer === null || pageContainer === void 0 ? void 0 : pageContainer.appendChild(marker);
|
|
50583
|
+
};
|
|
50478
50584
|
return FileViewerComponent;
|
|
50479
50585
|
}(ComponentBase));
|
|
50480
50586
|
FileViewerComponent.decorators = [
|
|
50481
50587
|
{ type: i0.Component, args: [{
|
|
50482
50588
|
selector: 'file-viewer',
|
|
50483
|
-
template: "<p-sidebar #sidebar [showCloseIcon]=\"false\" [fullScreen]=\"fullScreen\" [appendTo]=\"'body'\" [modal]=\"showModal\"\n [styleClass]=\"getStyleClassByDocumentType(data.fileType)\" [(visible)]=\"show\">\n <ng-container *ngIf=\"data.fileType == fileTypes.PDF\">\n <div id=\"fileViewerHolder\" class=\"file-viewer-holder\">\n <div #headerdialogmaterial class=\"header-dialog-material\">\n <div class=\"flex-item\" style=\"margin: 0px auto;\">\n <a *ngIf=\"isDesktop()\" (click)=\"!isReadonly && renameFile()\" style=\"color: white;\"\n class=\"btn btn-secondary\">\n <i class=\"fas fa-file-alt\"></i><span class=\"cursor-pointer\">\n {{ data.name }}\n </span>\n </a>\n </div>\n <div class=\"flex-item\">\n <!-- UD-2450 - TuDN -->\n <!-- <a *ngIf=\"_deviceDetectorService.isDesktop() && showPrint\" pTooltip=\"In t\u00E0i li\u1EC7u\"\n tooltipPosition=\"bottom\" placeholder=\"Bottom\" style=\"color: white;\" (click)=\"print()\"\n class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-print\"></i></a> -->\n <a *ngIf=\"showDownload\" pTooltip=\"T\u1EA3i xu\u1ED1ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\"\n style=\"color: white;\" (click)=\"download()\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-download\"></i></a>\n <!-- End UD-2450 - TuDN -->\n <a *ngIf=\"!_deviceDetectorService.isDesktop() && !readonly\" pTooltip=\"\u0110\u1ED5i t\u00EAn\"\n tooltipPosition=\"bottom\" (click)=\"renameFile()\"\n class=\"cursor-pointer button-link btn btn-secondary\" style=\"color: white;\"><i\n class=\"fas fa-eraser\"></i></a>\n <a *ngIf=\"showDelete && !readonly\" pTooltip=\"X\u00F3a t\u1EC7p tin\" tooltipPosition=\"bottom\"\n (click)=\"deleteFile()\" class=\"cursor-pointer button-link btn btn-secondary\"\n style=\"color: white;\"><i class=\"far fa-trash-alt\"></i></a>\n <a (click)=\"onTopbarItemClick($event)\" role=\"menuitem\" style=\"color: white;\"\n *ngIf=\"!readonly && _deviceDetectorService.isDesktop()\"\n class=\"cursor-pointer button-link btn btn-secondary submenu\"> <i class=\"fas fa-ellipsis-v\"></i>\n <ul class=\"layout-menu fadeInDown\" *ngIf=\"model.activeTopbarItem\">\n <li *ngIf=\"_deviceDetectorService.isDesktop()\" role=\"menuitem\" class=\"cursor-pointer\">\n <a (click)=\"editFile()\" class=\"file-row-action\"><i class=\"fas fa-pen-square\"></i>S\u1EEDa\n file\n tr\u1EF1c\n tuy\u1EBFn</a>\n </li>\n <li *ngIf=\"!isReadonly\" role=\"menuitem\" class=\"cursor-pointer\">\n <a (click)=\"renameFile()\" class=\"file-row-action\"><i class=\"fas fa-eraser\"></i>\u0110\u1ED5i\n t\u00EAn</a>\n </li>\n <li *ngIf=\"!isReadonly\" role=\"menuitem\" class=\"cursor-pointer\">\n <a (click)=\"deleteFile()\" class=\"file-row-action\"><i class=\"far fa-trash-alt\"></i>X\u00F3a\n t\u1EC7p\n tin</a>\n </li>\n </ul>\n </a>\n <a pTooltip=\"\u0110\u00F3ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\" style=\"color: white;\"\n (click)=\"closeSidebar(null)\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-times\"></i></a>\n </div>\n </div>\n </div>\n <ngx-extended-pdf-viewer [src]=\"model.fileUrl\" useBrowserLocale=\"true\" height=\"calc(100vh - 50px)\"\n [enablePinchOnMobile]=\"true\" [filenameForDownload]=\"data.fileName\" [language]=\"'vi-VN'\"\n [showBookmarkButton]=\"false\" [showHandToolButton]=\"false\" [showOpenFileButton]=\"false\"\n [showUnverifiedSignatures]=\"true\">\n </ngx-extended-pdf-viewer>\n </ng-container>\n\n <ng-container\n *ngIf=\"data.fileType != fileTypes.IMAGE && data.fileType != fileTypes.VIDEO && data.fileType != fileTypes.AUDIO && data.fileType != fileTypes.PDF\">\n <div id=\"fileViewerHolder\" class=\"file-viewer-holder\">\n <div #headerdialogmaterial class=\"header-dialog-material\">\n <div class=\"flex-item\">\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"isDesktop()\" (click)=\"!isReadonly && renameFile()\" style=\"color: white;\"\n class=\"btn btn-secondary\">\n <i class=\"fas fa-file-alt\"></i><span class=\"cursor-pointer\">\n {{ data.name }}\n </span>\n </a>\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"isDesktop() && showPrint\" pTooltip=\"In t\u00E0i li\u1EC7u\" tooltipPosition=\"bottom\"\n placeholder=\"Bottom\" style=\"color: white;\" (click)=\"print()\"\n class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-print\"></i></a>\n <a *ngIf=\"showDownload\" pTooltip=\"T\u1EA3i xu\u1ED1ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\"\n style=\"color: white;\" (click)=\"download()\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-download\"></i></a>\n <a *ngIf=\"!readonly && showDelete && isDesktop()\" pTooltip=\"X\u00F3a t\u1EC7p tin\" tooltipPosition=\"bottom\"\n (click)=\"deleteFile()\" class=\"cursor-pointer button-link btn btn-secondary\"\n style=\"color: white;\"><i class=\"pi pi-trash\"></i></a>\n <a *ngIf=\"!readonly && isDesktop()\" pTooltip=\"S\u1EEDa file tr\u1EF1c tuy\u1EBFn\" (click)=\"editFile()\"\n placeholder=\"Bottom\" class=\"cursor-pointer button-link btn btn-secondary\" style=\"color: white;\">\n <i class=\"fas fa-pen-square\"></i></a>\n\n <a (click)=\"onTopbarItemClick($event)\" role=\"menuitem\" style=\"color: white;\" *ngIf=\"!isDesktop()\"\n class=\"cursor-pointer button-link btn btn-secondary submenu\">\n <i class=\"fas fa-ellipsis-v\"></i>\n <ul class=\"layout-menu fadeInDown\" *ngIf=\"model.activeTopbarItem\">\n <li *ngIf=\"!isReadonly\" role=\"menuitem\" class=\"cursor-pointer\">\n <a (click)=\"editFile()\" class=\"file-row-action\">\n <i class=\"fas fa-pen-square\"></i>S\u1EEDa file tr\u1EF1c tuy\u1EBFn</a>\n </li>\n <li *ngIf=\"!isReadonly\" role=\"menuitem\" class=\"cursor-pointer\">\n <a (click)=\"renameFile()\" class=\"file-row-action\"><i class=\"fas fa-eraser\"></i>\u0110\u1ED5i\n t\u00EAn</a>\n </li>\n <li *ngIf=\"!isReadonly && showDelete\" role=\"menuitem\" class=\"cursor-pointer\">\n <a (click)=\"deleteFile()\" class=\"file-row-action\"><i class=\"pi pi-trash\"></i>X\u00F3a\n t\u1EC7p tin</a>\n </li>\n </ul>\n </a>\n <a pTooltip=\"\u0110\u00F3ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\" style=\"color: white;\"\n (click)=\"closeSidebar(null)\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-times\"></i></a>\n </div>\n </div>\n\n <div class=\"dialog-material\" [class.view-file]=\"true\" [class.mobile]=\"!isDesktop()\"\n [class.view-file-text]=\"isFileType(fileTypes.TEXT)\"\n [class.view-file-spreadsheet]=\"isFileType(fileTypes.SPREADSHEET)\"\n [class.view-file-presentation]=\"isFileType(fileTypes.PRESENTATION)\">\n <div id=\"file-viewer\"></div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"data.fileType == fileTypes.IMAGE && model.images.length > 0\">\n <div class=\"image-container\">\n <div #headerdialogmaterial class=\"header-dialog-material\">\n <div class=\"flex-item\">\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"isDesktop()\" (click)=\"!isReadonly && renameFile()\" style=\"color: white;\"\n class=\"btn btn-secondary\">\n <i class=\"fas fa-file-alt\"></i><span class=\"cursor-pointer\">\n {{ data.name }}\n </span>\n </a>\n </div>\n <div class=\"flex-item\">\n <a pTooltip=\"\u0110\u00F3ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\" style=\"color: white;\"\n (click)=\"closeSidebar(null)\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-times\"></i></a>\n </div>\n </div>\n\n <img *ngIf=\"model.images && model.images.length\" src=\"{{model.images[0]}}\" alt=\"Ch\u01B0a c\u00F3 \u1EA3nh\">\n </div>\n <!-- <app-image-viewer [showPDFOnlyLabel]=\"false\" [showPDFOnlyOption]=\"false\" [fullscreen]=\"false\"\n [images]=\"model.images\" [primaryColor]=\"'#3192e1'\" [idContainer]=\"'image-view-list'\"\n (mousedown)=\"closeSidebar($event)\" id=\"fileViewerHolder\" [loadOnInit]=\"true\">\n </app-image-viewer>\n <a style=\"color: white;\" (click)=\"closeSidebar(null)\" class=\"mobile-image-viewer-close\">\n <i class=\"far fa-times-circle\"></i></a> -->\n </ng-container>\n\n <ng-container *ngIf=\"data.fileType == fileTypes.VIDEO\">\n <div id=\"fileViewerHolder\" class=\"file-viewer-holder\" style=\"height: 100%;\">\n <div #headerdialogmaterial class=\"header-dialog-material\">\n <div class=\"flex-item\">\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"isDesktop()\" (click)=\"!isReadonly && renameFile()\" style=\"color: white;\"\n class=\"btn btn-secondary\">\n <i class=\"fas fa-file-alt\"></i><span class=\"cursor-pointer\">\n {{ data.name }}\n </span>\n </a>\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"showDownload\" pTooltip=\"T\u1EA3i xu\u1ED1ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\"\n style=\"color: white;\" (click)=\"download()\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-download\"></i>\n </a>\n <a *ngIf=\"!isReadonly && !isDesktop()\" (click)=\"renameFile()\" style=\"color: white;\"\n class=\"btn btn-secondary\">\n <i class=\"fas fa-file-alt\"></i><span class=\"cursor-pointer\">\n {{ data.name }}\n </span>\n </a>\n <a *ngIf=\"!readonly && showDelete\" pTooltip=\"X\u00F3a t\u1EC7p tin\" tooltipPosition=\"bottom\"\n (click)=\"deleteFile()\" class=\"cursor-pointer button-link btn btn-secondary\"\n style=\"color: white;\"><i class=\"pi pi-trash\"></i></a>\n <a pTooltip=\"\u0110\u00F3ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\" style=\"color: white;\"\n (click)=\"closeSidebar(null)\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-times\"></i></a>\n </div>\n </div>\n\n <div class=\"dialog-material\" [class.view-file]=\"true\" [class.mobile]=\"!isDesktop()\"\n style=\"width: 80%; margin: auto; height: 100%; border-radius: 0px;\">\n <video width=\"100%\" height=\"100%\" style=\"margin-top: 50px;\" autoplay controls src=\"{{model.fileUrl}}\">\n Tr\u00ECnh duy\u1EC7t kh\u00F4ng h\u1ED7 tr\u1EE3 m\u1EDF video.\n </video>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"data.fileType == fileTypes.AUDIO\">\n <div id=\"fileViewerHolder\" class=\"file-viewer-holder\" (mousedown)=\"closeSidebar($event)\" style=\"height: 100%;\">\n <div #headerdialogmaterial class=\"header-dialog-material\">\n <div class=\"flex-item\">\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"isDesktop()\" (click)=\"!isReadonly && renameFile()\" style=\"color: white;\"\n class=\"btn btn-secondary\">\n <i class=\"fas fa-file-alt\"></i><span class=\"cursor-pointer\">\n {{ data.name }}\n </span>\n </a>\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"showDownload\" pTooltip=\"T\u1EA3i xu\u1ED1ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\"\n style=\"color: white;\" (click)=\"download()\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-download\"></i></a>\n <a *ngIf=\"!isReadonly && showDelete\" pTooltip=\"X\u00F3a t\u1EC7p tin\" tooltipPosition=\"bottom\"\n (click)=\"deleteFile()\" class=\"cursor-pointer button-link btn btn-secondary\"\n style=\"color: white;\"><i class=\"pi pi-trash\"></i></a>\n <a pTooltip=\"\u0110\u00F3ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\" style=\"color: white;\"\n (click)=\"closeSidebar(null)\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-times\"></i></a>\n </div>\n </div>\n <audio controls autoplay src=\"{{model.fileUrl}}\"\n style=\"margin: auto;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);\">\n Tr\u00ECnh duy\u1EC7t kh\u00F4ng h\u1ED7 tr\u1EE3 ph\u00E1t audio. </audio>\n </div>\n </ng-container>\n\n</p-sidebar>\n\n<tn-dialog *ngIf=\"renameFileForm.show\" #dialog [styleClass]=\"'address-form'\"\n [header]=\"renameFileForm.header | translate\" [popupSize]=\"renameFileForm.popupSize\" (onHide)=\"onCancelRenameFile()\">\n <file-form #formBase [parentModel]=\"model\" [parentContext]=\"context\" [model]=\"renameFileForm.formData\"\n (onSaved)=\"onSavedRenameFile()\" (onCancel)=\"onCancelRenameFile()\">\n </file-form>\n</tn-dialog>",
|
|
50589
|
+
template: "<p-sidebar #sidebar [showCloseIcon]=\"false\" [fullScreen]=\"fullScreen\" [appendTo]=\"'body'\" [modal]=\"showModal\"\n [styleClass]=\"getStyleClassByDocumentType(data.fileType)\" [(visible)]=\"show\">\n <ng-container *ngIf=\"data.fileType == fileTypes.PDF\">\n <div id=\"fileViewerHolder\" class=\"file-viewer-holder\">\n <div #headerdialogmaterial class=\"header-dialog-material\">\n <div class=\"flex-item\" style=\"margin: 0px auto;\">\n <a *ngIf=\"isDesktop()\" (click)=\"!isReadonly && renameFile()\" style=\"color: white;\"\n class=\"btn btn-secondary\">\n <i class=\"fas fa-file-alt\"></i><span class=\"cursor-pointer\">\n {{ data.name }}\n </span>\n </a>\n </div>\n <div class=\"flex-item\">\n <!-- UD-2450 - TuDN -->\n <!-- <a *ngIf=\"_deviceDetectorService.isDesktop() && showPrint\" pTooltip=\"In t\u00E0i li\u1EC7u\"\n tooltipPosition=\"bottom\" placeholder=\"Bottom\" style=\"color: white;\" (click)=\"print()\"\n class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-print\"></i></a> -->\n <a *ngIf=\"showDownload\" pTooltip=\"T\u1EA3i xu\u1ED1ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\"\n style=\"color: white;\" (click)=\"download()\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-download\"></i></a>\n <!-- End UD-2450 - TuDN -->\n <a *ngIf=\"!_deviceDetectorService.isDesktop() && !readonly\" pTooltip=\"\u0110\u1ED5i t\u00EAn\"\n tooltipPosition=\"bottom\" (click)=\"renameFile()\"\n class=\"cursor-pointer button-link btn btn-secondary\" style=\"color: white;\"><i\n class=\"fas fa-eraser\"></i></a>\n <a *ngIf=\"showDelete && !readonly\" pTooltip=\"X\u00F3a t\u1EC7p tin\" tooltipPosition=\"bottom\"\n (click)=\"deleteFile()\" class=\"cursor-pointer button-link btn btn-secondary\"\n style=\"color: white;\"><i class=\"far fa-trash-alt\"></i></a>\n <a (click)=\"onTopbarItemClick($event)\" role=\"menuitem\" style=\"color: white;\"\n *ngIf=\"!readonly && _deviceDetectorService.isDesktop()\"\n class=\"cursor-pointer button-link btn btn-secondary submenu\"> <i class=\"fas fa-ellipsis-v\"></i>\n <ul class=\"layout-menu fadeInDown\" *ngIf=\"model.activeTopbarItem\">\n <li *ngIf=\"_deviceDetectorService.isDesktop()\" role=\"menuitem\" class=\"cursor-pointer\">\n <a (click)=\"editFile()\" class=\"file-row-action\"><i class=\"fas fa-pen-square\"></i>S\u1EEDa\n file\n tr\u1EF1c\n tuy\u1EBFn</a>\n </li>\n <li *ngIf=\"!isReadonly\" role=\"menuitem\" class=\"cursor-pointer\">\n <a (click)=\"renameFile()\" class=\"file-row-action\"><i class=\"fas fa-eraser\"></i>\u0110\u1ED5i\n t\u00EAn</a>\n </li>\n <li *ngIf=\"!isReadonly\" role=\"menuitem\" class=\"cursor-pointer\">\n <a (click)=\"deleteFile()\" class=\"file-row-action\"><i class=\"far fa-trash-alt\"></i>X\u00F3a\n t\u1EC7p\n tin</a>\n </li>\n </ul>\n </a>\n <a *ngIf=\"model.data?.showKySoButton\" pTooltip=\"K\u00FD s\u1ED1\" tooltipPosition=\"bottom\" placeholder=\"Bottom\"\n style=\"color: white;\" (click)=\"kySoHandle()\"\n class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-signature\"></i></a>\n <a pTooltip=\"\u0110\u00F3ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\" style=\"color: white;\"\n (click)=\"closeSidebar(null)\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-times\"></i></a>\n </div>\n </div>\n </div>\n <ngx-extended-pdf-viewer [src]=\"model.fileUrl\" useBrowserLocale=\"true\" height=\"calc(100vh - 50px)\"\n [enablePinchOnMobile]=\"true\" [filenameForDownload]=\"data.fileName\" [language]=\"'vi-VN'\"\n [showBookmarkButton]=\"false\" [showHandToolButton]=\"false\" [showOpenFileButton]=\"false\"\n [showUnverifiedSignatures]=\"true\">\n </ngx-extended-pdf-viewer>\n </ng-container>\n\n <ng-container\n *ngIf=\"data.fileType != fileTypes.IMAGE && data.fileType != fileTypes.VIDEO && data.fileType != fileTypes.AUDIO && data.fileType != fileTypes.PDF\">\n <div id=\"fileViewerHolder\" class=\"file-viewer-holder\">\n <div #headerdialogmaterial class=\"header-dialog-material\">\n <div class=\"flex-item\">\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"isDesktop()\" (click)=\"!isReadonly && renameFile()\" style=\"color: white;\"\n class=\"btn btn-secondary\">\n <i class=\"fas fa-file-alt\"></i><span class=\"cursor-pointer\">\n {{ data.name }}\n </span>\n </a>\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"isDesktop() && showPrint\" pTooltip=\"In t\u00E0i li\u1EC7u\" tooltipPosition=\"bottom\"\n placeholder=\"Bottom\" style=\"color: white;\" (click)=\"print()\"\n class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-print\"></i></a>\n <a *ngIf=\"showDownload\" pTooltip=\"T\u1EA3i xu\u1ED1ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\"\n style=\"color: white;\" (click)=\"download()\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-download\"></i></a>\n <a *ngIf=\"!readonly && showDelete && isDesktop()\" pTooltip=\"X\u00F3a t\u1EC7p tin\" tooltipPosition=\"bottom\"\n (click)=\"deleteFile()\" class=\"cursor-pointer button-link btn btn-secondary\"\n style=\"color: white;\"><i class=\"pi pi-trash\"></i></a>\n <a *ngIf=\"!readonly && isDesktop()\" pTooltip=\"S\u1EEDa file tr\u1EF1c tuy\u1EBFn\" (click)=\"editFile()\"\n placeholder=\"Bottom\" class=\"cursor-pointer button-link btn btn-secondary\" style=\"color: white;\">\n <i class=\"fas fa-pen-square\"></i></a>\n\n <a (click)=\"onTopbarItemClick($event)\" role=\"menuitem\" style=\"color: white;\" *ngIf=\"!isDesktop()\"\n class=\"cursor-pointer button-link btn btn-secondary submenu\">\n <i class=\"fas fa-ellipsis-v\"></i>\n <ul class=\"layout-menu fadeInDown\" *ngIf=\"model.activeTopbarItem\">\n <li *ngIf=\"!isReadonly\" role=\"menuitem\" class=\"cursor-pointer\">\n <a (click)=\"editFile()\" class=\"file-row-action\">\n <i class=\"fas fa-pen-square\"></i>S\u1EEDa file tr\u1EF1c tuy\u1EBFn</a>\n </li>\n <li *ngIf=\"!isReadonly\" role=\"menuitem\" class=\"cursor-pointer\">\n <a (click)=\"renameFile()\" class=\"file-row-action\"><i class=\"fas fa-eraser\"></i>\u0110\u1ED5i\n t\u00EAn</a>\n </li>\n <li *ngIf=\"!isReadonly && showDelete\" role=\"menuitem\" class=\"cursor-pointer\">\n <a (click)=\"deleteFile()\" class=\"file-row-action\"><i class=\"pi pi-trash\"></i>X\u00F3a\n t\u1EC7p tin</a>\n </li>\n </ul>\n </a>\n <a pTooltip=\"\u0110\u00F3ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\" style=\"color: white;\"\n (click)=\"closeSidebar(null)\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-times\"></i></a>\n </div>\n </div>\n\n <div class=\"dialog-material\" [class.view-file]=\"true\" [class.mobile]=\"!isDesktop()\"\n [class.view-file-text]=\"isFileType(fileTypes.TEXT)\"\n [class.view-file-spreadsheet]=\"isFileType(fileTypes.SPREADSHEET)\"\n [class.view-file-presentation]=\"isFileType(fileTypes.PRESENTATION)\">\n <div id=\"file-viewer\"></div>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"data.fileType == fileTypes.IMAGE && model.images.length > 0\">\n <div class=\"image-container\">\n <div #headerdialogmaterial class=\"header-dialog-material\">\n <div class=\"flex-item\">\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"isDesktop()\" (click)=\"!isReadonly && renameFile()\" style=\"color: white;\"\n class=\"btn btn-secondary\">\n <i class=\"fas fa-file-alt\"></i><span class=\"cursor-pointer\">\n {{ data.name }}\n </span>\n </a>\n </div>\n <div class=\"flex-item\">\n <a pTooltip=\"\u0110\u00F3ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\" style=\"color: white;\"\n (click)=\"closeSidebar(null)\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-times\"></i></a>\n </div>\n </div>\n\n <img *ngIf=\"model.images && model.images.length\" src=\"{{model.images[0]}}\" alt=\"Ch\u01B0a c\u00F3 \u1EA3nh\">\n </div>\n <!-- <app-image-viewer [showPDFOnlyLabel]=\"false\" [showPDFOnlyOption]=\"false\" [fullscreen]=\"false\"\n [images]=\"model.images\" [primaryColor]=\"'#3192e1'\" [idContainer]=\"'image-view-list'\"\n (mousedown)=\"closeSidebar($event)\" id=\"fileViewerHolder\" [loadOnInit]=\"true\">\n </app-image-viewer>\n <a style=\"color: white;\" (click)=\"closeSidebar(null)\" class=\"mobile-image-viewer-close\">\n <i class=\"far fa-times-circle\"></i></a> -->\n </ng-container>\n\n <ng-container *ngIf=\"data.fileType == fileTypes.VIDEO\">\n <div id=\"fileViewerHolder\" class=\"file-viewer-holder\" style=\"height: 100%;\">\n <div #headerdialogmaterial class=\"header-dialog-material\">\n <div class=\"flex-item\">\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"isDesktop()\" (click)=\"!isReadonly && renameFile()\" style=\"color: white;\"\n class=\"btn btn-secondary\">\n <i class=\"fas fa-file-alt\"></i><span class=\"cursor-pointer\">\n {{ data.name }}\n </span>\n </a>\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"showDownload\" pTooltip=\"T\u1EA3i xu\u1ED1ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\"\n style=\"color: white;\" (click)=\"download()\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-download\"></i>\n </a>\n <a *ngIf=\"!isReadonly && !isDesktop()\" (click)=\"renameFile()\" style=\"color: white;\"\n class=\"btn btn-secondary\">\n <i class=\"fas fa-file-alt\"></i><span class=\"cursor-pointer\">\n {{ data.name }}\n </span>\n </a>\n <a *ngIf=\"!readonly && showDelete\" pTooltip=\"X\u00F3a t\u1EC7p tin\" tooltipPosition=\"bottom\"\n (click)=\"deleteFile()\" class=\"cursor-pointer button-link btn btn-secondary\"\n style=\"color: white;\"><i class=\"pi pi-trash\"></i></a>\n <a pTooltip=\"\u0110\u00F3ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\" style=\"color: white;\"\n (click)=\"closeSidebar(null)\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-times\"></i></a>\n </div>\n </div>\n\n <div class=\"dialog-material\" [class.view-file]=\"true\" [class.mobile]=\"!isDesktop()\"\n style=\"width: 80%; margin: auto; height: 100%; border-radius: 0px;\">\n <video width=\"100%\" height=\"100%\" style=\"margin-top: 50px;\" autoplay controls src=\"{{model.fileUrl}}\">\n Tr\u00ECnh duy\u1EC7t kh\u00F4ng h\u1ED7 tr\u1EE3 m\u1EDF video.\n </video>\n </div>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"data.fileType == fileTypes.AUDIO\">\n <div id=\"fileViewerHolder\" class=\"file-viewer-holder\" (mousedown)=\"closeSidebar($event)\" style=\"height: 100%;\">\n <div #headerdialogmaterial class=\"header-dialog-material\">\n <div class=\"flex-item\">\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"isDesktop()\" (click)=\"!isReadonly && renameFile()\" style=\"color: white;\"\n class=\"btn btn-secondary\">\n <i class=\"fas fa-file-alt\"></i><span class=\"cursor-pointer\">\n {{ data.name }}\n </span>\n </a>\n </div>\n <div class=\"flex-item\">\n <a *ngIf=\"showDownload\" pTooltip=\"T\u1EA3i xu\u1ED1ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\"\n style=\"color: white;\" (click)=\"download()\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-download\"></i></a>\n <a *ngIf=\"!isReadonly && showDelete\" pTooltip=\"X\u00F3a t\u1EC7p tin\" tooltipPosition=\"bottom\"\n (click)=\"deleteFile()\" class=\"cursor-pointer button-link btn btn-secondary\"\n style=\"color: white;\"><i class=\"pi pi-trash\"></i></a>\n <a pTooltip=\"\u0110\u00F3ng\" tooltipPosition=\"bottom\" placeholder=\"Bottom\" style=\"color: white;\"\n (click)=\"closeSidebar(null)\" class=\"cursor-pointer button-link btn btn-secondary\">\n <i class=\"fas fa-times\"></i></a>\n </div>\n </div>\n <audio controls autoplay src=\"{{model.fileUrl}}\"\n style=\"margin: auto;position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);\">\n Tr\u00ECnh duy\u1EC7t kh\u00F4ng h\u1ED7 tr\u1EE3 ph\u00E1t audio. </audio>\n </div>\n </ng-container>\n\n</p-sidebar>\n\n<tn-dialog *ngIf=\"renameFileForm.show\" #dialog [styleClass]=\"'address-form'\"\n [header]=\"renameFileForm.header | translate\" [popupSize]=\"renameFileForm.popupSize\" (onHide)=\"onCancelRenameFile()\">\n <file-form #formBase [parentModel]=\"model\" [parentContext]=\"context\" [model]=\"renameFileForm.formData\"\n (onSaved)=\"onSavedRenameFile()\" (onCancel)=\"onCancelRenameFile()\">\n </file-form>\n</tn-dialog>",
|
|
50484
50590
|
providers: [ComponentContextService],
|
|
50485
50591
|
styles: ["::ng-deep .pdf-container ngx-extended-pdf-viewer #outerContainer{top:51px}.view-file{height:92vh}.dialog-material{display:block;border-radius:4px;box-sizing:border-box;overflow:hidden;outline:0;min-height:inherit;max-height:inherit;width:50vw;width:100%}.dialog-material.view-file-text{width:85%;margin:0 auto}.dialog-material.view-file-text.mobile{width:100%;margin:0 auto}.header-dialog-material{display:flex;flex-direction:row;justify-content:space-between;padding:5px 15px;box-sizing:border-box;outline:0;height:50px;line-height:50px;background:#3192e1;position:absolute;pointer-events:auto;left:0;right:0;top:0;width:auto}.header-dialog-material .flex-item{line-height:40px}.header-dialog-material .flex-item .cursor-pointer{cursor:pointer;display:inline-block;padding:0 15px}.header-dialog-material .flex-item .cursor-pointer.submenu{position:relative}.header-dialog-material .flex-item .cursor-pointer.submenu ul{display:flex;position:absolute;top:25px;right:0;align-content:flex-end;flex-direction:column;width:230px;border-radius:2px;padding:5px 0;background:#fff;box-shadow:0 6px 12px rgba(0,0,0,.175);z-index:1}.header-dialog-material .flex-item .cursor-pointer.submenu ul li{padding:0}.header-dialog-material .flex-item .cursor-pointer.submenu ul li a{padding:0 0 0 5px;line-height:40px}.header-dialog-material .flex-item .cursor-pointer.submenu ul li a:hover{background:#f5f5f5}.header-dialog-material ul:before{top:-8px;right:8px;left:auto;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:10px solid #fff;content:\" \";position:absolute}.mat-dialog-content{display:block;margin:0;padding:0;max-height:100vh;max-width:50vw;overflow:auto;-webkit-overflow-scrolling:touch}::ng-deep .cdk-overlay-container{position:fixed;z-index:1000;background:rgba(0,0,0,.7)!important}::ng-deep .cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}::ng-deep .mat-dialog-container{display:block;padding:0!important}::ng-deep .cdk-overlay-pane{max-height:100%}.button-link:hover{transition:background-color .1s,opacity .1s;background-image:none;background-color:hsla(0,0%,100%,.25)}.file-row-action i{margin-right:5px;width:40px;text-align:center}.file-row-action{line-height:34px;width:100%;display:block;color:#212529}.layout-menu li a{border:none;text-align:left}.layout-menu li a i:first-child{color:#666;font-size:1em}.footer-page{position:absolute;left:50%;margin-right:-50%;transform:translate(-50%);border-radius:3px;bottom:12px;z-index:3;overflow:hidden}.footer-page-label{border-right:1px solid hsla(0,0%,100%,.2);display:inline-block;font-size:13px;line-height:44px;height:44px;vertical-align:middle;background:#000}.footer-page-label-page{display:inline-block;margin-left:12px;vertical-align:middle;background:rgba(0,0,0,.75);color:#fff}.footer-page-label-numberpage{display:inline-block;text-align:center;vertical-align:middle;width:48px;color:#fff}.footer-page-label-space{display:inline-block;margin-left:12px;vertical-align:middle;color:#fff}.footer-page-label-totalpage{display:inline-block;text-align:center;vertical-align:middle;width:48px;color:#fff}::ng-deep p-table .ui-table-tbody>tr>td{overflow:unset}::ng-deep .ui-sidebar-left.ui-sidebar-active{padding-top:55px;background:rgba(0,0,0,.4);border:0}::ng-deep .layout-wrapper .layout-menu-container{border-radius:unset}::ng-deep .p-sidebar{padding:0!important;background-color:#000}@media print{::ng-deep body *{visibility:visible!important}}::ng-deep .image-container{display:flex;justify-content:center;background-color:#000}::ng-deep .image-container .image-container-toolbar{display:flex;justify-content:flex-end}::ng-deep .image-container>img{height:calc(100ch - 50px)!important;max-height:100%!important;margin-top:50px}"]
|
|
50486
50592
|
},] }
|
|
@@ -58410,95 +58516,96 @@
|
|
|
58410
58516
|
exports["ɵ4"] = ɵ4;
|
|
58411
58517
|
exports["ɵa"] = LoggerService;
|
|
58412
58518
|
exports["ɵb"] = DropdownService;
|
|
58413
|
-
exports["ɵba"] =
|
|
58414
|
-
exports["ɵbb"] =
|
|
58415
|
-
exports["ɵbc"] =
|
|
58416
|
-
exports["ɵbd"] =
|
|
58417
|
-
exports["ɵbe"] =
|
|
58418
|
-
exports["ɵbf"] =
|
|
58419
|
-
exports["ɵbg"] =
|
|
58420
|
-
exports["ɵbh"] =
|
|
58421
|
-
exports["ɵbi"] =
|
|
58422
|
-
exports["ɵbj"] =
|
|
58423
|
-
exports["ɵbk"] =
|
|
58424
|
-
exports["ɵbl"] =
|
|
58425
|
-
exports["ɵbm"] =
|
|
58426
|
-
exports["ɵbn"] =
|
|
58427
|
-
exports["ɵbo"] =
|
|
58428
|
-
exports["ɵbp"] =
|
|
58429
|
-
exports["ɵbq"] =
|
|
58430
|
-
exports["ɵbr"] =
|
|
58431
|
-
exports["ɵbs"] =
|
|
58432
|
-
exports["ɵbt"] =
|
|
58433
|
-
exports["ɵbu"] =
|
|
58434
|
-
exports["ɵbv"] =
|
|
58435
|
-
exports["ɵbw"] =
|
|
58436
|
-
exports["ɵbx"] =
|
|
58437
|
-
exports["ɵby"] =
|
|
58438
|
-
exports["ɵbz"] =
|
|
58519
|
+
exports["ɵba"] = AdvanceSearchComponent;
|
|
58520
|
+
exports["ɵbb"] = AutoCompletePickerComponent;
|
|
58521
|
+
exports["ɵbc"] = ImageUploaderComponent;
|
|
58522
|
+
exports["ɵbd"] = CheckBoxListComponent;
|
|
58523
|
+
exports["ɵbe"] = CoCauToChucPickerListComponent;
|
|
58524
|
+
exports["ɵbf"] = CoCauToChucPickerListNewComponent;
|
|
58525
|
+
exports["ɵbg"] = FormBuilderComponent;
|
|
58526
|
+
exports["ɵbh"] = DatetimePickerComponent;
|
|
58527
|
+
exports["ɵbi"] = DatetimePickerRangeComponent;
|
|
58528
|
+
exports["ɵbj"] = EntityPickerBoxComponent;
|
|
58529
|
+
exports["ɵbk"] = EntityPickerDataComponent;
|
|
58530
|
+
exports["ɵbl"] = EntityPickerSelectedComponent;
|
|
58531
|
+
exports["ɵbm"] = EntityPickerComponent;
|
|
58532
|
+
exports["ɵbn"] = EntityPickerSearchFormComponent;
|
|
58533
|
+
exports["ɵbo"] = EntityPickerDialogComponent;
|
|
58534
|
+
exports["ɵbp"] = EntityPickerTreeDataComponent;
|
|
58535
|
+
exports["ɵbq"] = EntityPickerTreeSelectedComponent;
|
|
58536
|
+
exports["ɵbr"] = EntityPermissionComponent;
|
|
58537
|
+
exports["ɵbs"] = EquationEditorComponent;
|
|
58538
|
+
exports["ɵbt"] = MaskComponent;
|
|
58539
|
+
exports["ɵbu"] = NumberPickerRangeComponent;
|
|
58540
|
+
exports["ɵbv"] = PagingNextBackOnlyComponent;
|
|
58541
|
+
exports["ɵbw"] = RadioButtonListComponent;
|
|
58542
|
+
exports["ɵbx"] = VanBanPickerComponent;
|
|
58543
|
+
exports["ɵby"] = VanBanDenService;
|
|
58544
|
+
exports["ɵbz"] = VanBanDiService;
|
|
58439
58545
|
exports["ɵc"] = EntityPickerService;
|
|
58440
|
-
exports["ɵca"] =
|
|
58441
|
-
exports["ɵcb"] =
|
|
58442
|
-
exports["ɵcc"] =
|
|
58443
|
-
exports["ɵcd"] =
|
|
58444
|
-
exports["ɵce"] =
|
|
58445
|
-
exports["ɵcf"] =
|
|
58446
|
-
exports["ɵcg"] =
|
|
58447
|
-
exports["ɵch"] =
|
|
58448
|
-
exports["ɵci"] =
|
|
58449
|
-
exports["ɵcj"] =
|
|
58450
|
-
exports["ɵck"] =
|
|
58451
|
-
exports["ɵcl"] =
|
|
58452
|
-
exports["ɵcm"] =
|
|
58453
|
-
exports["ɵcn"] =
|
|
58454
|
-
exports["ɵco"] =
|
|
58455
|
-
exports["ɵcp"] =
|
|
58456
|
-
exports["ɵcq"] =
|
|
58457
|
-
exports["ɵcr"] =
|
|
58458
|
-
exports["ɵcs"] =
|
|
58459
|
-
exports["ɵct"] =
|
|
58460
|
-
exports["ɵcu"] =
|
|
58461
|
-
exports["ɵcv"] =
|
|
58462
|
-
exports["ɵcw"] =
|
|
58463
|
-
exports["ɵcx"] =
|
|
58464
|
-
exports["ɵcy"] =
|
|
58465
|
-
exports["ɵcz"] =
|
|
58546
|
+
exports["ɵca"] = VanBanPickerDialogComponent;
|
|
58547
|
+
exports["ɵcb"] = VanbanDiPickerComponent;
|
|
58548
|
+
exports["ɵcc"] = VanbanDenPickerComponent;
|
|
58549
|
+
exports["ɵcd"] = CongViecPickerComponent;
|
|
58550
|
+
exports["ɵce"] = SettingsComponent;
|
|
58551
|
+
exports["ɵcf"] = SettingsRowComponent;
|
|
58552
|
+
exports["ɵcg"] = ShareLinkByPermissionComponent;
|
|
58553
|
+
exports["ɵch"] = TnCheckboxComponent;
|
|
58554
|
+
exports["ɵci"] = TnDialogComponent;
|
|
58555
|
+
exports["ɵcj"] = TnColorPickerComponent;
|
|
58556
|
+
exports["ɵck"] = TnTinymceComponent;
|
|
58557
|
+
exports["ɵcl"] = TnTabViewComponent;
|
|
58558
|
+
exports["ɵcm"] = TableDetailFormComponent;
|
|
58559
|
+
exports["ɵcn"] = FileIconPipe;
|
|
58560
|
+
exports["ɵco"] = FileSizePipe;
|
|
58561
|
+
exports["ɵcp"] = QuickAddFormComponent;
|
|
58562
|
+
exports["ɵcq"] = PreventShiftTabDirective;
|
|
58563
|
+
exports["ɵcr"] = TnTemplateDirective;
|
|
58564
|
+
exports["ɵcs"] = UserPickerComponent;
|
|
58565
|
+
exports["ɵct"] = UserPickerBoxComponent;
|
|
58566
|
+
exports["ɵcu"] = CoCauToChucTestService;
|
|
58567
|
+
exports["ɵcv"] = TnAppHelpComponent;
|
|
58568
|
+
exports["ɵcw"] = PathNameService;
|
|
58569
|
+
exports["ɵcx"] = HelperCurrentPageComponent;
|
|
58570
|
+
exports["ɵcy"] = TnAppNotificationListComponent;
|
|
58571
|
+
exports["ɵcz"] = TnAppNotificationComponent;
|
|
58466
58572
|
exports["ɵd"] = ExceptionHandlerService;
|
|
58467
|
-
exports["ɵda"] =
|
|
58468
|
-
exports["ɵdb"] =
|
|
58469
|
-
exports["ɵdc"] =
|
|
58470
|
-
exports["ɵdd"] =
|
|
58471
|
-
exports["ɵde"] =
|
|
58472
|
-
exports["ɵdf"] =
|
|
58473
|
-
exports["ɵdg"] =
|
|
58474
|
-
exports["ɵdh"] =
|
|
58475
|
-
exports["ɵdi"] =
|
|
58476
|
-
exports["ɵdj"] =
|
|
58477
|
-
exports["ɵdk"] =
|
|
58478
|
-
exports["ɵdl"] =
|
|
58479
|
-
exports["ɵdm"] =
|
|
58480
|
-
exports["ɵdn"] =
|
|
58481
|
-
exports["ɵdo"] =
|
|
58482
|
-
exports["ɵdp"] =
|
|
58483
|
-
exports["ɵdq"] =
|
|
58484
|
-
exports["ɵdr"] =
|
|
58485
|
-
exports["ɵds"] =
|
|
58486
|
-
exports["ɵdt"] =
|
|
58487
|
-
exports["ɵdu"] =
|
|
58488
|
-
exports["ɵdv"] =
|
|
58489
|
-
exports["ɵdw"] =
|
|
58490
|
-
exports["ɵdx"] =
|
|
58491
|
-
exports["ɵdy"] =
|
|
58492
|
-
exports["ɵdz"] =
|
|
58573
|
+
exports["ɵda"] = FolderFormComponent;
|
|
58574
|
+
exports["ɵdb"] = FileFormComponent;
|
|
58575
|
+
exports["ɵdc"] = FileViewerComponent;
|
|
58576
|
+
exports["ɵdd"] = FileVersionListComponent;
|
|
58577
|
+
exports["ɵde"] = ViewDetailComponent;
|
|
58578
|
+
exports["ɵdf"] = ReferenceTextBoxComponent;
|
|
58579
|
+
exports["ɵdg"] = QrCodeGeneratorComponent;
|
|
58580
|
+
exports["ɵdh"] = ThongBaoComponent;
|
|
58581
|
+
exports["ɵdi"] = MyDriveComponent;
|
|
58582
|
+
exports["ɵdj"] = ChangePasswordComponent;
|
|
58583
|
+
exports["ɵdk"] = ProfileComponent;
|
|
58584
|
+
exports["ɵdl"] = AddNewsComponent;
|
|
58585
|
+
exports["ɵdm"] = ArticleService;
|
|
58586
|
+
exports["ɵdn"] = NewsCategoryService;
|
|
58587
|
+
exports["ɵdo"] = UniversalLinkProcessorComponent;
|
|
58588
|
+
exports["ɵdp"] = SignatureDetailComponent;
|
|
58589
|
+
exports["ɵdq"] = KySoSimDanhSachChuKyComponent;
|
|
58590
|
+
exports["ɵdr"] = KySoSimChuKyUserService;
|
|
58591
|
+
exports["ɵds"] = FileKySoSimComponent;
|
|
58592
|
+
exports["ɵdt"] = KySoSimSignPDFService;
|
|
58593
|
+
exports["ɵdu"] = TaiLieuCuaToiComponent;
|
|
58594
|
+
exports["ɵdv"] = KhaiThacTaiLieuDungChungComponent;
|
|
58595
|
+
exports["ɵdw"] = DanhMucDungChungService;
|
|
58596
|
+
exports["ɵdx"] = TnTemplateComponent;
|
|
58597
|
+
exports["ɵdy"] = DropdownSettingFormComponent;
|
|
58598
|
+
exports["ɵdz"] = CheckReadyComponent;
|
|
58493
58599
|
exports["ɵe"] = ListBase;
|
|
58494
|
-
exports["ɵea"] =
|
|
58495
|
-
exports["ɵeb"] =
|
|
58496
|
-
exports["ɵec"] =
|
|
58497
|
-
exports["ɵed"] =
|
|
58498
|
-
exports["ɵee"] =
|
|
58499
|
-
exports["ɵef"] =
|
|
58500
|
-
exports["ɵeg"] =
|
|
58501
|
-
exports["ɵeh"] =
|
|
58600
|
+
exports["ɵea"] = TnAccordionTabComponent;
|
|
58601
|
+
exports["ɵeb"] = SettingsWorkflowComponent;
|
|
58602
|
+
exports["ɵec"] = SettingAuthorizeButtonComponent;
|
|
58603
|
+
exports["ɵed"] = BasePermissionService;
|
|
58604
|
+
exports["ɵee"] = SettingsWorkflowNo1Component;
|
|
58605
|
+
exports["ɵef"] = HtmlPreviewComponent;
|
|
58606
|
+
exports["ɵeg"] = AUTOCOMPLETE_VALUE_ACCESSOR;
|
|
58607
|
+
exports["ɵeh"] = AutoComplete;
|
|
58608
|
+
exports["ɵei"] = AutoCompleteModule;
|
|
58502
58609
|
exports["ɵf"] = ListComponentBase;
|
|
58503
58610
|
exports["ɵg"] = TreeTableComponent;
|
|
58504
58611
|
exports["ɵh"] = NotFoundComponent;
|
|
@@ -58514,12 +58621,12 @@
|
|
|
58514
58621
|
exports["ɵr"] = MessageBoardService;
|
|
58515
58622
|
exports["ɵs"] = FileExplorerNewService;
|
|
58516
58623
|
exports["ɵt"] = FileVersionService;
|
|
58517
|
-
exports["ɵu"] =
|
|
58518
|
-
exports["ɵv"] =
|
|
58519
|
-
exports["ɵw"] =
|
|
58520
|
-
exports["ɵx"] =
|
|
58521
|
-
exports["ɵy"] =
|
|
58522
|
-
exports["ɵz"] =
|
|
58624
|
+
exports["ɵu"] = UserChuKySoService;
|
|
58625
|
+
exports["ɵv"] = FileManagerService;
|
|
58626
|
+
exports["ɵw"] = DM_ChucVuService;
|
|
58627
|
+
exports["ɵx"] = RoleService;
|
|
58628
|
+
exports["ɵy"] = AddressComponent;
|
|
58629
|
+
exports["ɵz"] = AddressNewComponent;
|
|
58523
58630
|
|
|
58524
58631
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
58525
58632
|
|