tnx-shared 5.1.26 → 5.1.30

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.
Files changed (120) hide show
  1. package/bundles/tnx-shared.umd.js +1999 -249
  2. package/bundles/tnx-shared.umd.js.map +1 -1
  3. package/bundles/tnx-shared.umd.min.js +1 -1
  4. package/bundles/tnx-shared.umd.min.js.map +1 -1
  5. package/classes/base/data-list-base.d.ts +2 -0
  6. package/classes/base/data-list-base.d.ts.map +1 -1
  7. package/classes/form-schema.d.ts +3 -0
  8. package/classes/form-schema.d.ts.map +1 -1
  9. package/components/chat/chat-box/chat-box.component.d.ts +102 -0
  10. package/components/chat/chat-box/chat-box.component.d.ts.map +1 -0
  11. package/components/chat/chat-box/chat-box.component.ngfactory.d.ts.map +1 -0
  12. package/components/chat/chat-box/chat-box.component.scss.shim.ngstyle.d.ts.map +1 -0
  13. package/components/chat/chat-send-message-box/chat-send-message-box.component.d.ts +37 -0
  14. package/components/chat/chat-send-message-box/chat-send-message-box.component.d.ts.map +1 -0
  15. package/components/chat/chat-send-message-box/chat-send-message-box.component.ngfactory.d.ts.map +1 -0
  16. package/components/chat/chat-send-message-box/chat-send-message-box.component.scss.shim.ngstyle.d.ts.map +1 -0
  17. package/components/chat/common-style.scss.shim.ngstyle.d.ts.map +1 -0
  18. package/components/chat/models/enums.d.ts +11 -0
  19. package/components/chat/models/enums.d.ts.map +1 -0
  20. package/components/chat/models/models.d.ts +10 -0
  21. package/components/chat/models/models.d.ts.map +1 -0
  22. package/components/chat/services/chat.service.d.ts +34 -0
  23. package/components/chat/services/chat.service.d.ts.map +1 -0
  24. package/components/chat/services/chat.service.ngfactory.d.ts.map +1 -0
  25. package/components/chat/services/content.service.d.ts +20 -0
  26. package/components/chat/services/content.service.d.ts.map +1 -0
  27. package/components/chat/services/content.service.ngfactory.d.ts.map +1 -0
  28. package/components/chat/services/message-board.service.d.ts +15 -0
  29. package/components/chat/services/message-board.service.d.ts.map +1 -0
  30. package/components/chat/services/message-board.service.ngfactory.d.ts.map +1 -0
  31. package/components/chat/services/status.service.d.ts +14 -0
  32. package/components/chat/services/status.service.d.ts.map +1 -0
  33. package/components/chat/services/status.service.ngfactory.d.ts.map +1 -0
  34. package/components/crud/crud-list/crud-list.component.d.ts +6 -0
  35. package/components/crud/crud-list/crud-list.component.d.ts.map +1 -1
  36. package/components/file-explorer/file-manager/file-manager.component.d.ts +6 -0
  37. package/components/file-explorer/file-manager/file-manager.component.d.ts.map +1 -1
  38. package/components/file-explorer/models/service-request-model.d.ts +1 -0
  39. package/components/file-explorer/models/service-request-model.d.ts.map +1 -1
  40. package/components/statemachines/models/enums.d.ts +4 -0
  41. package/components/statemachines/models/enums.d.ts.map +1 -1
  42. package/components/statemachines/statemachines-designer/statemachines-designer.component.d.ts +1 -1
  43. package/components/statemachines/statemachines-designer/statemachines-designer.component.d.ts.map +1 -1
  44. package/components/tn-custom-scrollbar/tn-custom-scrollbar.component.d.ts +1 -0
  45. package/components/tn-custom-scrollbar/tn-custom-scrollbar.component.d.ts.map +1 -1
  46. package/components/tn-dialog/tn-dialog.component.d.ts +1 -0
  47. package/components/tn-dialog/tn-dialog.component.d.ts.map +1 -1
  48. package/components/user-picker/user-picker-dialog/user-picker-dialog.component.d.ts +23 -0
  49. package/components/user-picker/user-picker-dialog/user-picker-dialog.component.d.ts.map +1 -0
  50. package/components/user-picker/user-picker-dialog/user-picker-dialog.component.ngfactory.d.ts.map +1 -0
  51. package/components/user-picker/user-picker-dialog/user-picker-dialog.component.scss.shim.ngstyle.d.ts.map +1 -0
  52. package/components/workflow/permission-sharing/permission-sharing.component.d.ts +21 -0
  53. package/components/workflow/permission-sharing/permission-sharing.component.d.ts.map +1 -0
  54. package/components/workflow/permission-sharing/permission-sharing.component.ngfactory.d.ts.map +1 -0
  55. package/components/workflow/permission-sharing/permission-sharing.component.scss.shim.ngstyle.d.ts.map +1 -0
  56. package/components/workflow/services/workflow-permission.service.d.ts +10 -0
  57. package/components/workflow/services/workflow-permission.service.d.ts.map +1 -0
  58. package/components/workflow/services/workflow-permission.service.ngfactory.d.ts.map +1 -0
  59. package/components/workflow/workflow-history-new/workflow-history-new.component.d.ts.map +1 -1
  60. package/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.d.ts +6 -2
  61. package/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.d.ts.map +1 -1
  62. package/congviec/congviec/congviec-form/congviec-form.component.d.ts +9 -1
  63. package/congviec/congviec/congviec-form/congviec-form.component.d.ts.map +1 -1
  64. package/esm2015/classes/base/data-form-base.js +3 -3
  65. package/esm2015/classes/base/data-list-base.js +41 -6
  66. package/esm2015/classes/form-schema.js +1 -1
  67. package/esm2015/components/chat/chat-box/chat-box.component.js +626 -0
  68. package/esm2015/components/chat/chat-send-message-box/chat-send-message-box.component.js +245 -0
  69. package/esm2015/components/chat/models/enums.js +13 -0
  70. package/esm2015/components/chat/models/models.js +12 -0
  71. package/esm2015/components/chat/services/chat.service.js +113 -0
  72. package/esm2015/components/chat/services/content.service.js +57 -0
  73. package/esm2015/components/chat/services/message-board.service.js +40 -0
  74. package/esm2015/components/chat/services/status.service.js +36 -0
  75. package/esm2015/components/crud/crud-list/crud-list.component.js +55 -4
  76. package/esm2015/components/file-explorer/file-manager/file-manager.component.js +69 -16
  77. package/esm2015/components/file-explorer/file-viewer/file-viewer.component.js +2 -2
  78. package/esm2015/components/file-explorer/models/service-request-model.js +5 -2
  79. package/esm2015/components/statemachines/models/enums.js +6 -1
  80. package/esm2015/components/tn-custom-scrollbar/tn-custom-scrollbar.component.js +26 -11
  81. package/esm2015/components/tn-dialog/tn-dialog.component.js +4 -2
  82. package/esm2015/components/user-picker/user-picker-dialog/user-picker-dialog.component.js +52 -0
  83. package/esm2015/components/workflow/permission-sharing/permission-sharing.component.js +123 -0
  84. package/esm2015/components/workflow/services/workflow-permission.service.js +27 -0
  85. package/esm2015/components/workflow/workflow-history-new/workflow-history-new.component.js +4 -1
  86. package/esm2015/congviec/cauhinh-workflow/cauhinh-workflow-detail/cauhinh-workflow-detail.component.js +2 -2
  87. package/esm2015/congviec/congviec/congviec-dinhkem/congviec-dinhkem.component.js +38 -14
  88. package/esm2015/congviec/congviec/congviec-form/congviec-form.component.js +25 -4
  89. package/esm2015/congviec/congviec/congviec.component.js +3 -3
  90. package/esm2015/models/basic-user-info.js +6 -1
  91. package/esm2015/public-api.js +4 -1
  92. package/esm2015/services/base.service.js +33 -9
  93. package/esm2015/services/common.service.js +3 -18
  94. package/esm2015/services/crud.service.js +56 -41
  95. package/esm2015/services/notifier.service.js +2 -2
  96. package/esm2015/services/user.service.js +37 -23
  97. package/esm2015/tnx-shared.js +49 -43
  98. package/esm2015/tnx-shared.module.js +10 -2
  99. package/fesm2015/tnx-shared.js +1705 -202
  100. package/fesm2015/tnx-shared.js.map +1 -1
  101. package/models/basic-user-info.d.ts +2 -3
  102. package/models/basic-user-info.d.ts.map +1 -1
  103. package/package.json +2 -2
  104. package/public-api.d.ts +3 -0
  105. package/public-api.d.ts.map +1 -1
  106. package/services/base.service.d.ts +5 -1
  107. package/services/base.service.d.ts.map +1 -1
  108. package/services/common.service.d.ts +3 -3
  109. package/services/common.service.d.ts.map +1 -1
  110. package/services/crud.service.d.ts.map +1 -1
  111. package/services/notifier.service.d.ts +1 -1
  112. package/services/notifier.service.d.ts.map +1 -1
  113. package/services/user.service.d.ts +14 -2
  114. package/services/user.service.d.ts.map +1 -1
  115. package/tnx-shared.d.ts +48 -42
  116. package/tnx-shared.d.ts.map +1 -1
  117. package/tnx-shared.metadata.json +1 -1
  118. package/tnx-shared.module.d.ts +5 -1
  119. package/tnx-shared.module.d.ts.map +1 -1
  120. package/tnx-shared.module.ngfactory.d.ts.map +1 -1
@@ -0,0 +1,245 @@
1
+ import { Component, ElementRef, Injector, ViewChild } from '@angular/core';
2
+ import { FileUpload } from 'tn-custom-primeng/fileupload';
3
+ import { ComponentBase } from '../../../classes/base/component-base';
4
+ import { FileExplorerNewService } from '../../file-explorer/services/file-explorer-new.service';
5
+ import { FileUploadComponent } from '../../file-upload/file-upload.component';
6
+ import { ChatService } from '../services/chat.service';
7
+ import { ComponentContextService } from '../../../app-context/component-context.service';
8
+ import { ComCtxConstants } from '../../../configs/component-context.constant';
9
+ import { CheckControlVisibleService } from '../../../services/check-control-visible.service';
10
+ import { NotifierService } from '../../../services/notifier.service';
11
+ // fix for prod build
12
+ // const objectToFormData = objectToFormData_;
13
+ export class ChatSendMessageBoxComponent extends ComponentBase {
14
+ constructor(injector, _chatService, _checkControlVisible, _fileExplorerNewService, _notifierService) {
15
+ super(injector);
16
+ this._chatService = _chatService;
17
+ this._checkControlVisible = _checkControlVisible;
18
+ this._fileExplorerNewService = _fileExplorerNewService;
19
+ this._notifierService = _notifierService;
20
+ this.model.driveFileDialog = { popupSize: {} };
21
+ }
22
+ ngOnInit() {
23
+ console.log('inside ChatSendMessageBoxComponent');
24
+ this.model.dataSource = [];
25
+ this.model.correlationIds = [];
26
+ this.model.attachments = [];
27
+ this.model.maxFileSize = 3000000;
28
+ this.model.fileViewer = {};
29
+ this._checkControlVisible.checkDisplayStatus(this.input.nativeElement).then(rs => {
30
+ this.input.nativeElement.focus();
31
+ });
32
+ this.rootContext.subscribe(ComCtxConstants.ROOT.CHAT_INSTANCE_ID_LOADED, data => {
33
+ if (data) {
34
+ this.model.id = data;
35
+ this.chatInstanceId = data;
36
+ this.notifiUserOnline(this.model.id);
37
+ }
38
+ });
39
+ this.rootContext.subscribe(ComCtxConstants.ROOT.CHAT_MOUSE_UP, data => {
40
+ if (data) {
41
+ this.onMouseUp(null);
42
+ }
43
+ });
44
+ this.rootContext.subscribe('DRIVE_FILE_DIALOG.CLOSE_POPUP', response => {
45
+ if (response != null) {
46
+ const type = this._commonService.isImage(response.name) ? 'image' : 'file';
47
+ const attachmentItem = {
48
+ type: type,
49
+ fileId: response.id,
50
+ fileName: response.name
51
+ };
52
+ if (attachmentItem.type == 'image') {
53
+ // Get preview url
54
+ this._fileExplorerNewService.getImageFileBase64(response.id).then(result => {
55
+ attachmentItem.url = result;
56
+ });
57
+ }
58
+ this.model.attachments.push(attachmentItem);
59
+ this.input.nativeElement.focus();
60
+ this.model.classHasAttachment = 'attached-file';
61
+ this.rootContext.fireEvent(ComCtxConstants.ROOT.CHAT_MESSAGE_ATTACH_FILE, true);
62
+ }
63
+ this.model.driveFileDialog.show = false;
64
+ });
65
+ this.rootContext.subscribe(ComCtxConstants.ROOT.DESTROY_TASK_DETAIL_COMPONENT, data => {
66
+ if (this.model.userOnlineId) {
67
+ this.removeUserOnline(this.model.userOnlineId);
68
+ }
69
+ });
70
+ }
71
+ browseFileFromPersonal() {
72
+ this.model.driveFileDialog = {
73
+ show: true
74
+ };
75
+ }
76
+ onSendMessage(message) {
77
+ if ((!message || message.trim() == '') && this.model.attachments.length === 0) {
78
+ return;
79
+ }
80
+ if (!message) {
81
+ message = '';
82
+ }
83
+ message = message.trim();
84
+ const objToSend = {
85
+ chatId: this.model.id,
86
+ messageContent: message,
87
+ correlationId: this._commonService.guid()
88
+ };
89
+ const formData = new FormData();
90
+ for (const key in objToSend) {
91
+ formData.append(key, objToSend[key]);
92
+ }
93
+ for (const item of this.model.attachments) {
94
+ // const item = this.model.attachments[itejm];
95
+ if (item.fileId != null) {
96
+ formData.append('fileId', item.fileId);
97
+ }
98
+ else {
99
+ if (item.type == 'image') {
100
+ formData.append('files', item.data, item.fileName);
101
+ }
102
+ else {
103
+ formData.append('files', item.data);
104
+ }
105
+ }
106
+ }
107
+ this.rootContext.fireEvent(ComCtxConstants.ROOT.CHAT_MESSAGE_SENDING, {
108
+ message: objToSend,
109
+ attachments: this.model.attachments
110
+ });
111
+ // reset attachment list
112
+ this.model.attachments.length = 0;
113
+ this.model.content = '';
114
+ this.rootContext.fireEvent(ComCtxConstants.ROOT.CHAT_MESSAGE_ATTACH_FILE, false);
115
+ this.model.classHasAttachment = '';
116
+ this._chatService.sendMessage(formData).then(rs => {
117
+ this.rootContext.fireEvent(ComCtxConstants.ROOT.CHAT_MESSAGE_SENT, { message: objToSend, status: true });
118
+ }).catch((err) => {
119
+ this.rootContext.fireEvent(ComCtxConstants.ROOT.CHAT_MESSAGE_SENT, {
120
+ message: objToSend,
121
+ status: false,
122
+ error: err.error
123
+ });
124
+ this._notifierService.showWarningByResponse(err);
125
+ });
126
+ }
127
+ handlePaste(event) {
128
+ // console.log(event.clipboardData);
129
+ const objectData = this.getImageClipboardData(event);
130
+ if (objectData) {
131
+ this.model.attachments.push({
132
+ type: 'image',
133
+ url: objectData.url,
134
+ data: objectData.blob, fileName: this._commonService.guid() + '.png'
135
+ });
136
+ this.rootContext.fireEvent(ComCtxConstants.ROOT.CHAT_MESSAGE_ATTACH_FILE, true);
137
+ this.model.classHasAttachment = 'attached-file';
138
+ }
139
+ }
140
+ getImageClipboardData(e) {
141
+ for (let i = 0; i < e.clipboardData.items.length; i++) {
142
+ const item = e.clipboardData.items[i];
143
+ if (item.type.indexOf('image') != -1) {
144
+ const imageObj = item.getAsFile();
145
+ if (imageObj.size < this.model.maxFileSize) {
146
+ return { url: URL.createObjectURL(imageObj), blob: imageObj };
147
+ }
148
+ else {
149
+ return null;
150
+ }
151
+ }
152
+ }
153
+ return null;
154
+ }
155
+ browseFileFromComputer() {
156
+ this.fileElement.advancedFileInput.nativeElement.click();
157
+ }
158
+ onSelectFileFromComputer(evt) {
159
+ try {
160
+ if (evt.files && evt.files.length > 0) {
161
+ for (let index = 0; index < evt.files.length; index++) {
162
+ const fileName = evt.files[index].name;
163
+ const type = this._commonService.isImage(fileName) ? 'image' : 'file';
164
+ const attachmentItem = {
165
+ type: type,
166
+ data: evt.files[index], fileName: fileName
167
+ };
168
+ if (attachmentItem.type == 'image') {
169
+ attachmentItem.url = evt.files[index].objectURL.changingThisBreaksApplicationSecurity;
170
+ }
171
+ this.model.attachments.push(attachmentItem);
172
+ }
173
+ this.input.nativeElement.focus();
174
+ this.model.classHasAttachment = 'attached-file';
175
+ this.rootContext.fireEvent(ComCtxConstants.ROOT.CHAT_MESSAGE_ATTACH_FILE, true);
176
+ }
177
+ }
178
+ catch (e) {
179
+ console.error('error on process select file computer', e);
180
+ }
181
+ this.fileElement.clear();
182
+ }
183
+ removeAttachment(item) {
184
+ const attachments = this.model.attachments;
185
+ const index = attachments.findIndex(x => x.url == item.url);
186
+ this.model.attachments.splice(index, 1);
187
+ if (this.model.attachments.length === 0) {
188
+ this.model.classHasAttachment = '';
189
+ this.rootContext.fireEvent(ComCtxConstants.ROOT.CHAT_MESSAGE_ATTACH_FILE, false);
190
+ }
191
+ }
192
+ onMouseUp($event) {
193
+ this.input.nativeElement.focus();
194
+ }
195
+ cancelBlur(event) {
196
+ event.preventDefault();
197
+ }
198
+ ngOnDestroy() {
199
+ this.rootContext.unSubscribe(ComCtxConstants.ROOT.CHAT_INSTANCE_ID_LOADED);
200
+ this.rootContext.unSubscribe(ComCtxConstants.ROOT.CHAT_MOUSE_UP);
201
+ }
202
+ notifiUserOnline(chatId) {
203
+ this._chatService.insertUserOnline(chatId).then(rs => {
204
+ if (rs.success) {
205
+ this.model.userOnlineId = rs.data;
206
+ }
207
+ });
208
+ }
209
+ removeUserOnline(userOnlineId) {
210
+ this.chatInstanceId = '';
211
+ this._chatService.removeUserOnline(userOnlineId).then(rs => {
212
+ if (rs.success) {
213
+ this._notifierService.showWarning('Đã bỏ người dùng thành công');
214
+ }
215
+ });
216
+ }
217
+ clickInputText() {
218
+ if (this.model.instanceId) {
219
+ this._chatService.markAsReadAllContents(this.model.id).then(rs => {
220
+ console.log('markAsReadAllContents');
221
+ });
222
+ }
223
+ }
224
+ }
225
+ ChatSendMessageBoxComponent.decorators = [
226
+ { type: Component, args: [{
227
+ selector: 'chat-send-message-box',
228
+ template: "<div class=\"dashboard\" (mouseup)=\"onMouseUp($event)\">\r\n <div class=\"chat\">\r\n <div class=\"new-message\">\r\n <div class=\"message-emotion\">\r\n <i class=\"far fa-smile\" style=\"color: gray;\" disabled=\"true\"></i>\r\n </div>\r\n <div class=\"message-attachment\" pTooltip=\"\u0110\u00EDnh k\u00E8m file\" tooltipPosition=\"top\" (click)=\"op.toggle($event)\">\r\n <i class=\"fas fa-paperclip\"></i>\r\n </div>\r\n <p-overlayPanel #op [dismissable]=\"true\" [appendTo]=\"'body'\" [styleClass]=\"'paging-advance-overlay'\"\r\n (mouseup)=\"onMouseUp($event)\">\r\n <ul class=\"paging-advance\">\r\n <li (click)=\"browseFileFromPersonal()\">T\u1EEB file c\u00E1 nh\u00E2n</li>\r\n <li (click)=\"browseFileFromComputer()\">T\u1EA3i l\u00EAn t\u1EEB m\u00E1y t\u00EDnh</li>\r\n </ul>\r\n </p-overlayPanel>\r\n <div class=\"message-input p-float-label\">\r\n <input #input pInputText\r\n id=\"message\"\r\n autocomplete=\"off\" autocorrect=\"off\"\r\n spellcheck=\"false\" class=\"ui-inputtext\"\r\n type=\"text\" placeholder=\"N\u1ED9i dung tin nh\u1EAFn\"\r\n [(ngModel)]=\"model.content\"\r\n (keyup.enter)=\"onSendMessage($event.target.value)\" (keydown.shift.tab)=\"cancelBlur($event)\"\r\n (keydown.tab)=\"cancelBlur($event)\" (paste)=\"handlePaste($event)\" (click)=\"clickInputText()\"/>\r\n </div>\r\n <div>\r\n <button pButton class=\"p-button-danger\" icon=\"fas fa-send\" type=\"button\" label=\"G\u1EEDi\"\r\n (click)=\"onSendMessage(model.content)\">\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"attachment-list\" [ngClass]=\"model.classHasAttachment\">\r\n <tn-custom-scrollbar #scrollbar [style]=\"{'height': '100px'}\">\r\n <div *ngFor=\"let item of model.attachments\" class=\"attachment-item\">\r\n <img *ngIf=\"item.type == 'image'\" [src]=\"item.url | safeUrl\"/>\r\n <span *ngIf=\"item.type == 'file'\">{{item.fileName}}</span>\r\n <i class=\"far fa-times-circle label-danger remove-file-attachment\"\r\n (click)=\"removeAttachment(item)\"></i>\r\n </div>\r\n </tn-custom-scrollbar>\r\n <!-- <div class=\"clearfix\"></div>-->\r\n </div>\r\n </div>\r\n</div>\r\n<p-fileUpload [ngStyle]=\"{'display': 'none'}\" #fileElement (onSelect)=\"onSelectFileFromComputer($event)\"\r\n multiple=\"multiple\" name=\"fileUpload\" [maxFileSize]=\"model.maxFileSize\" auto=\"false\">\r\n</p-fileUpload>\r\n\r\n<!-- <app-drive-file-dialog *ngIf=\"model.driveFileDialog.show\" [parentDataContext]=\"dataContext\"\r\n []=\"model.driveFileDialog\" #driveFileDialog>\r\n</app-drive-file-dialog> -->\r\n",
229
+ providers: [ComponentContextService],
230
+ styles: ["", "@charset \"UTF-8\";@import url(C:\\Users\\vietp\\source\\repos\\5.1\\shared\\AppSharedV5\\node_modules\\@angular\\material\\prebuilt-themes\\indigo-pink.css);@import url(C:\\Users\\vietp\\source\\repos\\5.1\\shared\\AppSharedV5\\node_modules\\jsoneditor\\dist\\jsoneditor.min.css);.flex{display:flex}.flex .fit{flex:1 1}.flex.flex-column{flex-direction:column}.flex.flex-wrap{flex-wrap:wrap}.flex.center-v{align-items:center}.flex.center-all,.flex.center-h{justify-content:center}.flex.center-all{align-items:center}.validate-item{color:#e00000;display:inline-block;font-size:.9em;white-space:nowrap}.tn-scroll-bar.bgWhite>div,.validate-item{background-color:#fff}.label-primary{background-color:#1ab394;padding:2px}.label-danger,.label-primary{border-radius:.25em;color:#fff;display:inline-block;font-size:12px;margin-left:3px;margin-right:3px;min-width:60px}.label-danger{background-color:#ed5565;padding:2px 5px}.label-warning{background-color:#b8860b}.label-secondary,.label-warning{border-radius:.25em;color:#fff;display:inline-block;font-size:12px;margin-left:3px;margin-right:3px;min-width:60px;padding:2px}.label-secondary{background-color:#a9a9a9}.label-done{background-color:#3b1ef7;border-radius:.25em;color:#fff;display:inline-block;font-size:12px;margin-left:3px;margin-right:3px;min-width:60px;padding:2px}.text-navy{color:#1ab394!important}.text-danger{color:red!important}.fa-user-edit{font-size:14px}.flexcolumn{border:1px solid #eee;border-radius:5px;min-height:80px;overflow-x:hidden;overflow-y:hidden}.flexcolumn,.has2ScrollZone2 .flexcolumn{max-height:calc(100vh - 180px)}.headerNoBorder>th{border:none!important;border-bottom:1px solid #eee!important}.cellNoBorder table tr td{border:0!important}.layout-wrapper .layout-main{overflow:hidden;padding:60px 0 0}div.circleButton{border-radius:50%;display:inline-block;height:32px;line-height:32px;margin-bottom:4px;margin-top:4px;overflow:hidden;position:relative;text-align:center;transform:perspective(1px);width:32px}div.circleButton>a{line-height:32px;padding:0!important}div.circleButton>a>i{width:24px!important}div.circleButton:before{background:#e6e6e6;border-radius:50%;bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;transform:scale(0);transition:all .3s cubic-bezier(.4,.34,.01,.97);z-index:-1}div.circleButton:hover:before{transform:scale(1)}.message-notice{background:#e0e0e0;text-align:center}.message-created-by{color:#888;font-size:.82em;font-weight:400;margin-bottom:3px;margin-left:45px;margin-top:5px}.message-created{color:#495057;display:inline-block;font-size:.82em;margin-bottom:0;margin-top:0}.message-own .message-created{padding-left:10px;padding-right:6px}.message-from .message-created{padding-left:6px;padding-right:10px}.message-content{color:#000;line-height:20px;margin-bottom:6px;margin-top:3px;position:relative}.message-content i{display:none}.message-content:hover i{display:block}.message-content:hover{padding-right:20px!important}.chat-box-content{max-height:500px}.attachment-list .attachment-item{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background:#f1f1f1;border:1px solid #ccc;border-radius:8px;box-shadow:1px 2px 3px rgba(0,0,0,.06);float:left;height:84px;margin:8px;overflow:hidden;position:relative;text-align:center;user-select:none;width:84px}.attachment-list .attachment-item img{height:100%;width:100%}.attachment-list .attachment-item span{left:0;padding:5px;position:absolute;top:25px;width:100%;word-break:break-all}.clearfix{clear:both}.dashboard .chat ul li img.message-img{float:none;height:120px;margin-left:0;width:auto}.message-attachment{cursor:pointer;font-size:1.5em;margin:0 5px 0 0;position:relative}.hidden{display:none}.message-input{width:100%}.message-input label{font-size:1.2rem}.remove-file-attachment{background:#495057;border-radius:50%;color:#fff;cursor:pointer;font-size:20px;position:absolute;right:5px;top:5px}.attachment-list{background:#fff;bottom:51px;box-shadow:0 -2px 3px -3px rgba(0,0,0,.21176470588235294);display:none;height:100px;left:-15px;position:absolute;width:calc(100% + 30px)}.attachment-list.attached-file{display:block}.dashboard{margin-bottom:-15px;margin-top:-5px}.dashboard .timeline>.ui-g .ui-g-9 .event-text{color:#555;white-space:nowrap}.dashboard .timeline>.ui-g .ui-g-9 .event-text.event-text2{line-height:18px;padding-left:30px;text-align:justify;white-space:pre-wrap}.dashboard .timeline>.ui-g .ui-g-9 .event-text.event-text2 i{left:20px;margin-top:3px;position:absolute}.new-message{align-items:center;justify-content:center}.dashboard .chat .new-message{border:0;display:flex;margin:0;padding:0;text-align:left}.dashboard .chat .new-message i{color:#495057}.dashboard .chat .new-message .message-attachment{border:0}.dashboard .chat .new-message .button-send{display:inline-block;line-height:40px;position:relative}.dashboard .chat .new-message .button-send .p-button-label{text-align:center}.dashboard .chat .new-message .message-emotion{display:inline-block;height:100%;line-height:40px;text-align:center;width:40px}.dashboard .chat .new-message .message-emotion i{font-size:24px;line-height:inherit}.dashboard .chat .new-message .message-input{width:calc(100% - 155px)}.dashboard .chat ul li.message-from,.dashboard .chat ul li.message-own{padding:0}.dashboard .chat ul li.message-from>span{background-color:#f0e3fd;border:0;border-radius:2px 20px 20px 2px}.dashboard .chat ul li.message-from>.first,.dashboard .chat ul li.message-from>.middle{margin-left:45px!important}.dashboard .chat ul li.message-from>.last{border-radius:2px 20px 20px 20px;margin-left:45px!important}.dashboard .chat ul li.message-from>img{border-radius:50%;margin-top:5px;position:absolute;width:36px}.dashboard .chat ul li.message-own>span{background-color:#def6f8;border:0;border-radius:20px 2px 2px 20px;text-align:right}.dashboard .chat ul li.message-own>span.sending{background-color:#eee}.dashboard .chat ul li.message-own>span.last{border-radius:20px 2px 20px 20px}.dashboard .chat ul li.message-own .attachment span.attachment-item{background-color:#f1f1f1!important;border:0!important;padding-left:0;padding-right:0}.dashboard .chat ul li.message-own .attachment span.attachment-item a{color:#555;cursor:pointer;display:inline-block;font-weight:700}.dashboard .chat ul li.message-own>div.file{background:#f1f1f1;border:1px solid #e4e4e4;border-radius:6px;display:inline-block;margin:1px;overflow:hidden;text-align:right}.dashboard .chat ul li.message-from .attachment span.attachment-item{background-color:#f1f1f1!important;border:0!important;padding-left:0;padding-right:0}.dashboard .chat ul li.message-from .attachment span.attachment-item a{color:#555;cursor:pointer;display:inline-block;font-weight:700}.dashboard .chat ul li.message-from .attachment span.attachment-item a img{margin-right:0}.dashboard .chat ul li.message-from>div.file{background:#f1f1f1;border:1px solid #e4e4e4;border-radius:6px;display:inline-block;margin:1px;overflow:hidden;text-align:left}.dashboard .chat ul li .attachment span.attachment-item a>i{padding-right:8px}.dashboard .chat ul li div.file p.attachment{display:inline-block;margin-bottom:5px}.dashboard .chat ul li.message-from{text-align:left}.dashboard .chat ul li.message-own{text-align:right}.dashboard .chat ul li>div.file.image{height:170px;max-width:100%;padding:15px;transition:width .15s linear;width:220px}.dashboard .chat ul li>div.file.image p.attachment{height:120px}.dashboard .chat ul li>div.file{padding:15px}.dashboard .chat ul li>div.file p,.dashboard .chat ul li>div.file span{display:inline-block;margin:0;padding:0}.visible{opacity:1;transition:opacity .15s linear;visibility:visible}.hidden{opacity:0;transition:visibility 0s .1s,opacity .1s linear;visibility:hidden}.visible2{opacity:1;transition:opacity .35s linear;visibility:visible}.hidden2{opacity:0;transition:visibility 0s .3s,opacity .3s linear;visibility:hidden}.dashboard .chat{position:relative}.dashboard .chat .scroll-to-bottom{bottom:6px;min-height:40px;padding-right:12px;position:sticky;text-align:right}.dashboard .chat .scroll-to-bottom span{background:#495057;border:2px solid #fff;border-radius:50%;box-shadow:0 0 10px rgba(0,0,0,.34901960784313724);color:#fff;cursor:pointer;display:inline-block;font-size:20px;height:35px;line-height:35px;overflow:hidden;text-align:center;width:35px}.dashboard .chat .group-info{line-height:30px;margin:-10px;padding:5px 10px;top:0;z-index:99}.dashboard .chat .group-info,.dashboard .chat .pin{background:#fff;box-shadow:0 0 3px -1px rgba(0,0,0,.21176470588235294);position:sticky}.dashboard .chat .pin{margin-bottom:10px;margin-left:-10px;top:40px;width:calc(100% + 20px);z-index:98}.dashboard .chat ul li.message-from.pin>span,.dashboard .chat ul li.message-own.pin>span{background-color:transparent}.dashboard .chat ul li.message-from.pin>span{margin-left:0}.dashboard .chat .message-content i{color:#495057;cursor:pointer;font-size:11px}.dashboard .chat .pin .message-content i{display:block}.dashboard .chat li.message-from .message-content{padding-left:6px}.dashboard .chat li.message-from .message-content i{padding:5px}.dashboard .chat li.message-own .message-content i{padding:5px;position:absolute;right:-15px}.dashboard .chat .group-info .circleButton{float:right;margin-bottom:0;margin-top:0}.dashboard .chat ul{margin-top:20px;padding:0}.dashboard .chat .new-message .message-input input.ui-inputtext:focus{box-shadow:none;outline:none}.dashboard .chat ul.hasPin{margin-top:10px}.dashboard .chat .group-info a{color:#495057}.normalHtml,.normalHtml b,.normalHtml strong{font-weight:400}.normalHtml{display:inline-block}.avatar-viewer .profile-image{border:1px solid #fff;border-radius:50%;height:40px;margin-top:-6px;width:40px}a.button>i{margin-right:5px}.dashboard .timeline{padding-top:20px}.ui-inputgroup .ui-inputtext{padding-right:0}.new-message .ui-inputtext{width:100%}.full-screen,.full-screen>.p-dialog{height:100%!important;left:0!important;max-height:100%;min-height:unset!important;min-width:100%!important;top:0!important;width:100%!important}#image-view-list.image-gallery-2{background-color:rgba(0,0,0,.4);height:calc(100vh - 41px);margin:-14px auto 0;touch-action:none;width:100%}#image-view-list.image-gallery-2 .image-container{background-color:transparent;border:0;bottom:0;height:85%;margin:auto}#image-view-list.image-gallery-2 .image-container .iv-snap-view{bottom:20px;left:calc(50% - 75px);top:auto}#image-view-list.image-gallery-2 .image-container .iv-image-view img{touch-action:auto}#image-view-list .inline-icon{margin-top:-41px}#image-view-list .footer-info,#image-view-list .material-icons.next,#image-view-list .material-icons.prev{display:none}#image-view-list .options-image-viewer{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;margin-right:37px;user-select:none}.mobile-image-viewer-close{color:#fff;cursor:pointer;font-size:x-large;height:42px;line-height:42px;padding-right:7px;padding-top:2px;position:absolute;right:0;text-align:center;top:0;vertical-align:middle;width:37px}.mobile-image-viewer-close:hover{color:#feca37!important}.hide-holder{padding:0}.file-ex-name{word-break:break-all}.box-function{background:#fff;border-radius:0 0 5px 5px;border-top:1px solid #e8e8e8;bottom:0;left:0;padding:8px 30px;position:absolute;text-align:right;width:100%}.box-function button{margin-left:5px}.quick-note-button-holder{bottom:40px;display:none;height:50px;position:absolute;right:50px;width:50px;z-index:99}.quick-note-button{background:#ffc107;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 5px 0 #b9b9b9;color:#fff;display:block;font-size:2em;height:50px;line-height:50px;outline:none;text-align:center;width:50px}.quick-note-button:hover{color:#fff}.all-note-button{background:#ffd24b;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 5px 0 #b9b9b9;color:#fff;display:block;font-size:1.5em;height:40px;line-height:40px;outline:none;position:absolute;right:5px;text-align:center;top:5px;transition:right;transition-duration:.16s;transition-timing-function:ease-in;width:40px;z-index:-1}.all-note-button:hover{color:#fff}.setting-note-button{background:#ffd24b;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 5px 0 #b9b9b9;color:#fff;display:block;font-size:1.5em;height:40px;line-height:40px;outline:none;position:absolute;right:5px;text-align:center;top:5px;transition:right;transition-duration:.16s;transition-timing-function:ease-in;width:40px;z-index:-1}.setting-note-button:hover{color:#fff}.pinned-notes-holder{bottom:20px;display:none;left:20px;position:absolute;width:250px;z-index:98}.pinned-notes{background:transparent;display:block;outline:none;padding:0}.pinned-notes-header{font-size:1rem;font-weight:700}.pinned-notes-setting{position:absolute;right:.5rem}.pinned-note{background-color:#fff1ac;box-shadow:1px 2px 3px rgba(185,139,6,.6313725490196078);font-size:.8rem;margin-bottom:10px;padding:0;position:relative}.pinned-note:last-child{margin-bottom:0}.pinned-notes-minimize-button{background:#ffc003;border:1px solid #fff;border-radius:50%;box-shadow:1px 2px 3px rgba(185,139,6,.6313725490196078);color:#fff;cursor:pointer;height:25px;padding-top:5px;position:absolute;right:-15px;text-align:center;top:-15px;width:25px;z-index:1}.pinned-note-header-line{border:1px solid #fff;box-shadow:1px 1px 2px rgba(0,0,0,.4);height:calc(100% - 1rem);left:3px;margin-bottom:.5rem;margin-top:.5rem;max-height:20px;position:absolute;width:13px}.pinned-note-header-right{cursor:pointer;float:right;margin-left:3px;width:32px}.pinned-note-header-time{font-size:.6rem}.pinned-note-header-button-unpin{display:none;float:left;height:14px;margin-right:2px;opacity:.8;width:14px}.pinned-note-header-button-complete{display:none;padding-top:2px}.pinned-note-body{float:right;padding:.5rem .5rem .5rem 25px;width:100%}.pinned-note-body:hover{background-color:#feeb82}.pinned-note-body:hover .pinned-note-header-time{display:none}.pinned-note-body:hover .pinned-note-header-button-complete,.pinned-note-body:hover .pinned-note-header-button-unpin{display:block}.pinned-note-line-title{color:#333;display:block;font-weight:700;padding-bottom:6px}.pinned-note-line{display:block}.view-port{border-radius:5px;box-shadow:0 0 0 9999px rgba(0,0,0,.5882352941176471);display:none;height:0;width:0;z-index:999}.view-port,.view-port-mask{background:transparent;position:absolute}.view-port-mask{display:block;height:100%;left:0;top:0;width:100%;z-index:9998}.tinymce-control{border:1px solid #ccc;display:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;width:100%}.input-tab-trap{filter:alpha(opacity=0)!important;opacity:0!important;overflow:hidden!important;width:0!important}.color-value input{font-size:.8em;line-height:16px}.dialog-material.mobile{width:100%!important}audio,audio:focus,video,video:focus{outline:none}.iv-image-view img.iv-image{-webkit-animation:fadein .5s;animation:fadein .5s;visibility:hidden!important}@-webkit-keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes fadein{0%{opacity:0}to{opacity:1}}.iv-image-view img.iv-image.show{visibility:visible!important}.row-line{padding-bottom:0;padding-top:0}.fc-ltr{padding-bottom:7px}.padding-bottom-5px{padding-bottom:5px}.no-margin{margin:0!important}.no-padding{padding:0}.no-padding-left{padding-left:0}.float-left{float:left}body .fc .fc-toolbar .fc-button{background-color:#007ad9;border:1px solid #007ad9;border-radius:3px;color:#fff;font-size:14px;transition:background-color .2s,box-shadow .2s}body .fc .fc-toolbar .fc-button:enabled:hover{background-color:#116fbf;border-color:#116fbf;color:#fff}body .fc .fc-toolbar .fc-button:focus{box-shadow:0 0 0 .2em #8dcdff;outline:0 none;outline-offset:0}body .fc .fc-toolbar .fc-button-group .fc-button{border-radius:0}body .fc .fc-toolbar .fc-button-group .fc-button:first-child{border-bottom-left-radius:3px;border-top-left-radius:3px}body .fc .fc-toolbar .fc-button-group .fc-button:last-child{border-bottom-right-radius:3px;border-top-right-radius:3px}body .fc .fc-toolbar .fc-right .fc-button{border-radius:0}body .fc .fc-toolbar .fc-right .fc-button:first-child{border-bottom-left-radius:3px;border-top-left-radius:3px}body .fc .fc-toolbar .fc-right .fc-button:last-child{border-bottom-right-radius:3px;border-top-right-radius:3px}.fc-toolbar>*>:not(:first-child){margin-left:0}.fc-axis,.fc-dayGridMonth-button,.fc-timeGridDay-button,.fc-timeGridWeek-button,.old-content{line-height:0;text-indent:-9999px}.fc-axis:after,.fc-dayGridMonth-button:after,.fc-timeGridDay-button:after,.fc-timeGridWeek-button:after,.new-content{display:block;line-height:normal;text-indent:0}.fc-dayGridMonth-button:after{content:\"Th\u00E1ng\";padding:.2em}.fc-timeGridWeek-button:after{content:\"Tu\u1EA7n\";padding:.2em}.fc-timeGridDay-button:after{content:\"Ng\u00E0y\";padding:.2em}body .fc th{background-color:#f4f4f4;border:1px solid #c8c8c8;color:#333;padding:.571em 1em}.ui-fluid .button-group button,.ui-fluid .button-group p-button{margin-right:.5em!important;text-align:left;width:auto}.layout-wrapper .layout-menu-container{z-index:97}.base-status,.base-status-aborted,.base-status-approved,.base-status-completed,.base-status-create-new,.base-status-ended,.base-status-high,.base-status-immediately,.base-status-low,.base-status-medium,.base-status-on-conducting,.base-status-on-going,.base-status-pending,.base-status-rejected,.base-status-returned,.base-status-urgent{border-radius:.25em;color:#fff;font-size:.8em;padding:3px;text-align:center}.base-status-create-new{background-color:#f2f2f2;color:#666}.base-status-on-conducting,.base-status-on-going{background-color:#337ab7}.base-status-pending{background-color:#ffba01}.base-status-approved{background-color:#34a835}.base-status-returned{background-color:#ffba01}.base-status-rejected{background-color:#d9534f}.base-status-completed{background-color:#34a835}.base-status-aborted{background-color:#ffba01}.base-status-ended{background-color:#34a835}.base-status-low,.base-status-medium{background-color:#f2f2f2;color:#666}.base-status-high{background-color:#ffba01}.base-status-immediately,.base-status-urgent{background-color:#d9534f}.text-align-center{text-align:center}.font-weight-bold{font-weight:700}.landing-body .landing-menu li a:hover{border-bottom:none}.landing-body .landing-menu li:first-child{margin-left:8px}.crud-form .label-control p{margin:0;padding:0}.crud-form .tn-check-box-list .p-row{display:block;padding:.5em;width:100%}.crud-form dropdown,.crud-form tn-mask{width:100%}.crud-form .tn-dropdown{min-height:32px}.crud-form .tn-dropdown.free-text.horizontal{display:flex}.crud-form .tn-dropdown.free-text.horizontal>div{flex-grow:1;padding-left:.5em;padding-right:.5em}.crud-form .tn-dropdown.free-text.horizontal>div:first-child{padding-left:0}.crud-form .tn-dropdown.free-text.horizontal>div:last-child{padding-right:0}.crud-form .tn-dropdown.free-text.vertical input.ui-inputtext.input-free-text{margin-top:.5em}.crud-form.assessment .label-control{font-weight:700}.crud-form.assessment .label-control.haveIndex{display:block;margin-bottom:5px;padding-left:20px;position:relative}.crud-form.assessment .label-control.haveIndex:before{content:\" \" attr(label-index) \".\";left:0;position:absolute;top:0}.crud-form.assessment .ViewMode{border-bottom:none}.crud-form.assessment .ViewMode .label-control{margin-bottom:0}body .ui-inputtext.min-width{padding:6px}.ps__rail-x,.ps__rail-y{z-index:2}.zIndex5 .ps__rail-x,.zIndex5 .ps__rail-y{z-index:5}.table-sticky table{border-collapse:separate;border-spacing:0}.table-sticky tr td,.table-sticky tr th{border:1px solid #eee!important;border-left:none!important;border-top:none!important}.table-sticky tr td:first-child,.table-sticky tr th:first-child{border-left:1px solid #eee!important}.table-sticky tr td:last-child,.table-sticky tr th:last-child{border-right:none!important}.table-sticky tr:first-child th{border-top:1px solid #eee!important}.table-sticky th{background:#eee}.table-sticky tbody td.disabled{background:#eee!important}.table-sticky tbody td.disabled:not(:last-child){border-right:1px solid #fff!important}.table-sticky.fix-height tr:first-child th{position:sticky;top:0;z-index:2}.container-flex{align-items:center;display:flex}.container-flex>div:first-child{flex:0 0 auto;margin-right:.5em}.container-flex>div:last-child{flex-grow:1}.container-control{display:flex}.container-control>span.label{flex:0 0 auto;padding-right:.5em;padding-top:.5em}.container-control>span.label+*{flex-grow:1;flex-shrink:1;position:relative}.container-control>span.label+* .tn-dropdown,.container-control>span.label+* .ui-autocomplete-multiple,.container-control>span.label+* .ui-inputgroup .ui-inputtext{width:100%}.container-control>span.label+* .validation-container{margin-top:3px}.container-control>span.label+* .validation-container .validate-item{white-space:unset}.container-control>span.label+*>div{left:0;position:absolute;top:0;width:100%}.container-control.no-label>span.label{display:none}.container-control.inline{display:inline-flex}.align-flex-center{align-items:center;display:flex;justify-content:center}@media print{.isPrinting>*{display:none}.isPrinting app-print-layout{display:block}}.layout-wrapper .topbar .topbar-left,.layout-wrapper .topbar .topbar-right{background:#397ac3}#searchResultPanel-holder{padding:0 .5em}.cus-dropdown{line-height:normal;margin-right:1em}.tn-thumbnail{padding:.5rem}.tn-thumbnail.tn-thumbnail.tn-thumbnail{box-sizing:border-box}.fa-10:before{content:\"A+\";font-family:cursive;font-weight:700}.layout-wrapper .topbar .topbar-right #menu-button i{font-size:20px;margin-top:4px}.layout-wrapper .layout-menu li a i.menuitem-toggle-icon{font-size:15px;margin-left:auto}.flex-container-main-content{display:flex;flex-direction:column}.flex-container-main-content>div:last-child{background-color:#f4f4f4;display:flex;flex:1 1;overflow:hidden;position:relative}.flex-container-main-content>div:last-child>div{height:100%;left:0;overflow:hidden;padding-top:.5em;position:absolute;top:0;width:100%}.flex-container-main-content .block-with-button-search{display:flex;justify-content:flex-end}.flex-container-main-content .block-with-button-search>*{margin-left:.5em}.flex-container-main-content .block-with-button-search>input{height:26px;margin-left:0;max-width:200px;width:100%}.flex-container-main-content .block-with-button-search>dropdown{max-width:140px;width:100%}.flex-container-main-content .title-main-component{border-bottom:2px solid #1ca7ff}.clickable-table.clickable-table{cursor:pointer}.main-crud-container{height:calc(100vh - 76px)}.flex-container-fit-child{display:flex;flex-direction:column;height:100%;overflow:hidden}.flex-container-fit-child>div.fit-content{flex:1 1;position:relative}.flex-container-fit-child>div.fit-content>div{height:100%;overflow:auto;position:absolute;width:100%}.waiting-box{display:none;height:100%;left:0;position:fixed;top:0;width:100%;z-index:9999}.waiting-box .overlay{background-color:red;background-color:hsla(0,0%,42.7%,.5019607843137255);height:100%;width:100%}.waiting-box .content-loading{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.waiting-box.show{display:block}.function-topbar>*{vertical-align:top}.function-topbar button{width:auto}.function-topbar p-fileUpload{margin-right:1em}.function-topbar .container-control{display:inline-flex;line-height:normal}.function-topbar .container-control dropdown{width:100%}:focus{outline-color:#a6d5fa!important}address{font-style:normal}body .p-toast .p-toast-message{border-radius:0;border-width:0 0 0 4px!important}.__status span,.status span{font-size:.8rem}p-table.single-check .p-datatable .p-datatable-tbody>tr{cursor:pointer}p-table.single-check .p-datatable .p-datatable-tbody>tr.ui-state-highlight{background:#e3f2fd!important;outline:2px solid #a6d5fa}p-table.single-check .p-datatable .p-datatable-tbody>tr td.sticky .fix-sticky.top{display:none}p-table.multi-check .p-datatable .p-datatable-tbody>tr.ui-state-highlight{background:#e3f2fd!important}p-table.multi-check .p-datatable .p-datatable-tbody>tr.ui-state-highlight td{border-color:#fff}p-table.multi-check .p-datatable .p-datatable-tbody>tr.ui-state-highlight td .fix-sticky{background-color:#fff}.tn-animated-left-arrow-icon,.tn-animated-right-arrow-icon{height:32px;position:relative;width:14px;z-index:10}.tn-animated-right-arrow-icon{-webkit-animation:arrowBounceToRight .8s ease-in-out infinite alternate;animation:arrowBounceToRight .8s ease-in-out infinite alternate}.tn-animated-left-arrow-icon{-webkit-animation:arrowBounceToLeft .8s ease-in-out infinite alternate;animation:arrowBounceToLeft .8s ease-in-out infinite alternate}.tn-animated-left-arrow-icon:after,.tn-animated-left-arrow-icon:before,.tn-animated-right-arrow-icon:after,.tn-animated-right-arrow-icon:before{background-color:#88b0dd;content:\"\";display:block;height:20px;position:absolute;width:5px}.tn-animated-right-arrow-icon:before{left:4px;top:0;transform:rotate(-35deg)}.tn-animated-right-arrow-icon:after{left:4px;top:14px;transform:rotate(35deg)}.tn-animated-left-arrow-icon:before{right:4px;top:0;transform:rotate(35deg)}.tn-animated-left-arrow-icon:after{right:4px;top:14px;transform:rotate(-35deg)}@-webkit-keyframes arrowBounceToLeft{0%{transform:translateX(-3px)}to{transform:translateX(3px)}}@keyframes arrowBounceToLeft{0%{transform:translateX(-3px)}to{transform:translateX(3px)}}@-webkit-keyframes arrowBounceToRight{0%{transform:translateX(3px)}to{transform:translateX(-3px)}}@keyframes arrowBounceToRight{0%{transform:translateX(3px)}to{transform:translateX(-3px)}}.pass{color:#49c949}.not-pass,.pass{margin:5px;text-align:center}.not-pass{color:red}"]
231
+ },] }
232
+ ];
233
+ ChatSendMessageBoxComponent.ctorParameters = () => [
234
+ { type: Injector },
235
+ { type: ChatService },
236
+ { type: CheckControlVisibleService },
237
+ { type: FileExplorerNewService },
238
+ { type: NotifierService }
239
+ ];
240
+ ChatSendMessageBoxComponent.propDecorators = {
241
+ fileElement: [{ type: ViewChild, args: ['fileElement', { static: false },] }],
242
+ input: [{ type: ViewChild, args: ['input', { static: true },] }],
243
+ driveFileDialog: [{ type: ViewChild, args: ['driveFileDialog', { static: false },] }]
244
+ };
245
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1zZW5kLW1lc3NhZ2UtYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2NoYXQvY2hhdC1zZW5kLW1lc3NhZ2UtYm94L2NoYXQtc2VuZC1tZXNzYWdlLWJveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTlFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVyRSxxQkFBcUI7QUFDckIsOENBQThDO0FBUTlDLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxhQUFhO0lBTTFELFlBQ0ksUUFBa0IsRUFDVixZQUF5QixFQUN6QixvQkFBZ0QsRUFDaEQsdUJBQStDLEVBQy9DLGdCQUFpQztRQUV6QyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFMUixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENB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LENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUN2RCxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO2FBQ3BFO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDN0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDOzs7WUFyUUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLHFuR0FBcUQ7Z0JBRXJELFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDOzthQUN2Qzs7O1lBckIrQixRQUFRO1lBTS9CLFdBQVc7WUFJWCwwQkFBMEI7WUFOMUIsc0JBQXNCO1lBT3RCLGVBQWU7OzswQkFZbkIsU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7b0JBQzFDLFNBQVMsU0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOzhCQUNuQyxTQUFTLFNBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3RvciwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkIH0gZnJvbSAndG4tY3VzdG9tLXByaW1lbmcvZmlsZXVwbG9hZCc7XHJcblxyXG5pbXBvcnQgeyBDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vY2xhc3Nlcy9iYXNlL2NvbXBvbmVudC1iYXNlJztcclxuaW1wb3J0IHsgRmlsZUV4cGxvcmVyTmV3U2VydmljZSB9IGZyb20gJy4uLy4uL2ZpbGUtZXhwbG9yZXIvc2VydmljZXMvZmlsZS1leHBsb3Jlci1uZXcuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGF0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NoYXQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXBwLWNvbnRleHQvY29tcG9uZW50LWNvbnRleHQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbUN0eENvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3MvY29tcG9uZW50LWNvbnRleHQuY29uc3RhbnQnO1xyXG5pbXBvcnQgeyBSZXNwb25zZVJlc3VsdCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9yZXNwb25zZS1yZXN1bHQnO1xyXG5pbXBvcnQgeyBDaGVja0NvbnRyb2xWaXNpYmxlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2NoZWNrLWNvbnRyb2wtdmlzaWJsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbm90aWZpZXIuc2VydmljZSc7XHJcblxyXG4vLyBmaXggZm9yIHByb2QgYnVpbGRcclxuLy8gY29uc3Qgb2JqZWN0VG9Gb3JtRGF0YSA9IG9iamVjdFRvRm9ybURhdGFfO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NoYXQtc2VuZC1tZXNzYWdlLWJveCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2hhdC1zZW5kLW1lc3NhZ2UtYm94LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2NoYXQtc2VuZC1tZXNzYWdlLWJveC5jb21wb25lbnQuc2NzcycsICcuLi9jb21tb24tc3R5bGUuc2NzcyddLFxyXG4gICAgcHJvdmlkZXJzOiBbQ29tcG9uZW50Q29udGV4dFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGF0U2VuZE1lc3NhZ2VCb3hDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgQFZpZXdDaGlsZCgnZmlsZUVsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgZmlsZUVsZW1lbnQ6IEZpbGVVcGxvYWQ7XHJcbiAgICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0OiBFbGVtZW50UmVmO1xyXG4gICAgQFZpZXdDaGlsZCgnZHJpdmVGaWxlRGlhbG9nJywgeyBzdGF0aWM6IGZhbHNlIH0pIGRyaXZlRmlsZURpYWxvZzogRmlsZVVwbG9hZENvbXBvbmVudDtcclxuICAgIGNoYXRJbnN0YW5jZUlkOiBzdHJpbmc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHByaXZhdGUgX2NoYXRTZXJ2aWNlOiBDaGF0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9jaGVja0NvbnRyb2xWaXNpYmxlOiBDaGVja0NvbnRyb2xWaXNpYmxlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9maWxlRXhwbG9yZXJOZXdTZXJ2aWNlOiBGaWxlRXhwbG9yZXJOZXdTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX25vdGlmaWVyU2VydmljZTogTm90aWZpZXJTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgICAgIHRoaXMubW9kZWwuZHJpdmVGaWxlRGlhbG9nID0geyBwb3B1cFNpemU6IDxhbnk+e30gfTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnaW5zaWRlIENoYXRTZW5kTWVzc2FnZUJveENvbXBvbmVudCcpO1xyXG4gICAgICAgIHRoaXMubW9kZWwuZGF0YVNvdXJjZSA9IFtdO1xyXG4gICAgICAgIHRoaXMubW9kZWwuY29ycmVsYXRpb25JZHMgPSBbXTtcclxuICAgICAgICB0aGlzLm1vZGVsLmF0dGFjaG1lbnRzID0gW107XHJcbiAgICAgICAgdGhpcy5tb2RlbC5tYXhGaWxlU2l6ZSA9IDMwMDAwMDA7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5maWxlVmlld2VyID0ge307XHJcblxyXG4gICAgICAgIHRoaXMuX2NoZWNrQ29udHJvbFZpc2libGUuY2hlY2tEaXNwbGF5U3RhdHVzKHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCkudGhlbihycyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLnJvb3RDb250ZXh0LnN1YnNjcmliZShDb21DdHhDb25zdGFudHMuUk9PVC5DSEFUX0lOU1RBTkNFX0lEX0xPQURFRCwgZGF0YSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLmlkID0gZGF0YTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2hhdEluc3RhbmNlSWQgPSBkYXRhO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub3RpZmlVc2VyT25saW5lKHRoaXMubW9kZWwuaWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMucm9vdENvbnRleHQuc3Vic2NyaWJlKENvbUN0eENvbnN0YW50cy5ST09ULkNIQVRfTU9VU0VfVVAsIGRhdGEgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vbk1vdXNlVXAobnVsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5yb290Q29udGV4dC5zdWJzY3JpYmUoJ0RSSVZFX0ZJTEVfRElBTE9HLkNMT1NFX1BPUFVQJywgcmVzcG9uc2UgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzcG9uc2UgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IHRoaXMuX2NvbW1vblNlcnZpY2UuaXNJbWFnZShyZXNwb25zZS5uYW1lKSA/ICdpbWFnZScgOiAnZmlsZSc7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgYXR0YWNobWVudEl0ZW06IGFueSA9IHtcclxuICAgICAgICAgICAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGVJZDogcmVzcG9uc2UuaWQsXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsZU5hbWU6IHJlc3BvbnNlLm5hbWVcclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGF0dGFjaG1lbnRJdGVtLnR5cGUgPT0gJ2ltYWdlJykge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEdldCBwcmV2aWV3IHVybFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbGVFeHBsb3Jlck5ld1NlcnZpY2UuZ2V0SW1hZ2VGaWxlQmFzZTY0KHJlc3BvbnNlLmlkKS50aGVuKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dGFjaG1lbnRJdGVtLnVybCA9IHJlc3VsdDtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLmF0dGFjaG1lbnRzLnB1c2goYXR0YWNobWVudEl0ZW0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5jbGFzc0hhc0F0dGFjaG1lbnQgPSAnYXR0YWNoZWQtZmlsZSc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvb3RDb250ZXh0LmZpcmVFdmVudChDb21DdHhDb25zdGFudHMuUk9PVC5DSEFUX01FU1NBR0VfQVRUQUNIX0ZJTEUsIHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwuZHJpdmVGaWxlRGlhbG9nLnNob3cgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5yb290Q29udGV4dC5zdWJzY3JpYmUoQ29tQ3R4Q29uc3RhbnRzLlJPT1QuREVTVFJPWV9UQVNLX0RFVEFJTF9DT01QT05FTlQsIGRhdGEgPT4ge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tb2RlbC51c2VyT25saW5lSWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlVXNlck9ubGluZSh0aGlzLm1vZGVsLnVzZXJPbmxpbmVJZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBicm93c2VGaWxlRnJvbVBlcnNvbmFsKCkge1xyXG4gICAgICAgIHRoaXMubW9kZWwuZHJpdmVGaWxlRGlhbG9nID0ge1xyXG4gICAgICAgICAgICBzaG93OiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBvblNlbmRNZXNzYWdlKG1lc3NhZ2UpIHtcclxuICAgICAgICBpZiAoKCFtZXNzYWdlIHx8IG1lc3NhZ2UudHJpbSgpID09ICcnKSAmJiB0aGlzLm1vZGVsLmF0dGFjaG1lbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIW1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgbWVzc2FnZSA9ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtZXNzYWdlID0gbWVzc2FnZS50cmltKCk7XHJcblxyXG4gICAgICAgIGNvbnN0IG9ialRvU2VuZCA9IHtcclxuICAgICAgICAgICAgY2hhdElkOiB0aGlzLm1vZGVsLmlkLFxyXG4gICAgICAgICAgICBtZXNzYWdlQ29udGVudDogbWVzc2FnZSxcclxuICAgICAgICAgICAgY29ycmVsYXRpb25JZDogdGhpcy5fY29tbW9uU2VydmljZS5ndWlkKClcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9ialRvU2VuZCkge1xyXG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoa2V5LCBvYmpUb1NlbmRba2V5XSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5tb2RlbC5hdHRhY2htZW50cykge1xyXG4gICAgICAgICAgICAvLyBjb25zdCBpdGVtID0gdGhpcy5tb2RlbC5hdHRhY2htZW50c1tpdGVqbV07XHJcblxyXG4gICAgICAgICAgICBpZiAoaXRlbS5maWxlSWQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdmaWxlSWQnLCBpdGVtLmZpbGVJZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS50eXBlID09ICdpbWFnZScpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGVzJywgaXRlbS5kYXRhLCBpdGVtLmZpbGVOYW1lKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZXMnLCBpdGVtLmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJvb3RDb250ZXh0LmZpcmVFdmVudChDb21DdHhDb25zdGFudHMuUk9PVC5DSEFUX01FU1NBR0VfU0VORElORywge1xyXG4gICAgICAgICAgICBtZXNzYWdlOiBvYmpUb1NlbmQsXHJcbiAgICAgICAgICAgIGF0dGFjaG1lbnRzOiB0aGlzLm1vZGVsLmF0dGFjaG1lbnRzXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIHJlc2V0IGF0dGFjaG1lbnQgbGlzdFxyXG4gICAgICAgIHRoaXMubW9kZWwuYXR0YWNobWVudHMubGVuZ3RoID0gMDtcclxuICAgICAgICB0aGlzLm1vZGVsLmNvbnRlbnQgPSAnJztcclxuICAgICAgICB0aGlzLnJvb3RDb250ZXh0LmZpcmVFdmVudChDb21DdHhDb25zdGFudHMuUk9PVC5DSEFUX01FU1NBR0VfQVRUQUNIX0ZJTEUsIGZhbHNlKTtcclxuICAgICAgICB0aGlzLm1vZGVsLmNsYXNzSGFzQXR0YWNobWVudCA9ICcnO1xyXG5cclxuICAgICAgICB0aGlzLl9jaGF0U2VydmljZS5zZW5kTWVzc2FnZShmb3JtRGF0YSkudGhlbihycyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucm9vdENvbnRleHQuZmlyZUV2ZW50KENvbUN0eENvbnN0YW50cy5ST09ULkNIQVRfTUVTU0FHRV9TRU5ULCB7IG1lc3NhZ2U6IG9ialRvU2VuZCwgc3RhdHVzOiB0cnVlIH0pO1xyXG4gICAgICAgIH0pLmNhdGNoKChlcnI6IFJlc3BvbnNlUmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMucm9vdENvbnRleHQuZmlyZUV2ZW50KENvbUN0eENvbnN0YW50cy5ST09ULkNIQVRfTUVTU0FHRV9TRU5ULCB7XHJcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiBvYmpUb1NlbmQsXHJcbiAgICAgICAgICAgICAgICBzdGF0dXM6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgZXJyb3I6IGVyci5lcnJvclxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5fbm90aWZpZXJTZXJ2aWNlLnNob3dXYXJuaW5nQnlSZXNwb25zZShlcnIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkge1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGV2ZW50LmNsaXBib2FyZERhdGEpO1xyXG4gICAgICAgIGNvbnN0IG9iamVjdERhdGEgPSB0aGlzLmdldEltYWdlQ2xpcGJvYXJkRGF0YShldmVudCk7XHJcbiAgICAgICAgaWYgKG9iamVjdERhdGEpIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5hdHRhY2htZW50cy5wdXNoKHtcclxuICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZScsXHJcbiAgICAgICAgICAgICAgICB1cmw6IG9iamVjdERhdGEudXJsLFxyXG4gICAgICAgICAgICAgICAgZGF0YTogb2JqZWN0RGF0YS5ibG9iLCBmaWxlTmFtZTogdGhpcy5fY29tbW9uU2VydmljZS5ndWlkKCkgKyAnLnBuZydcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMucm9vdENvbnRleHQuZmlyZUV2ZW50KENvbUN0eENvbnN0YW50cy5ST09ULkNIQVRfTUVTU0FHRV9BVFRBQ0hfRklMRSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwuY2xhc3NIYXNBdHRhY2htZW50ID0gJ2F0dGFjaGVkLWZpbGUnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBnZXRJbWFnZUNsaXBib2FyZERhdGEoZSkge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZS5jbGlwYm9hcmREYXRhLml0ZW1zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBlLmNsaXBib2FyZERhdGEuaXRlbXNbaV07XHJcbiAgICAgICAgICAgIGlmIChpdGVtLnR5cGUuaW5kZXhPZignaW1hZ2UnKSAhPSAtMSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaW1hZ2VPYmogPSBpdGVtLmdldEFzRmlsZSgpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGltYWdlT2JqLnNpemUgPCB0aGlzLm1vZGVsLm1heEZpbGVTaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgdXJsOiBVUkwuY3JlYXRlT2JqZWN0VVJMKGltYWdlT2JqKSwgYmxvYjogaW1hZ2VPYmogfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBicm93c2VGaWxlRnJvbUNvbXB1dGVyKCkge1xyXG4gICAgICAgIHRoaXMuZmlsZUVsZW1lbnQuYWR2YW5jZWRGaWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0RmlsZUZyb21Db21wdXRlcihldnQpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBpZiAoZXZ0LmZpbGVzICYmIGV2dC5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgZXZ0LmZpbGVzLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVOYW1lID0gZXZ0LmZpbGVzW2luZGV4XS5uYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLl9jb21tb25TZXJ2aWNlLmlzSW1hZ2UoZmlsZU5hbWUpID8gJ2ltYWdlJyA6ICdmaWxlJztcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhdHRhY2htZW50SXRlbTogYW55ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiB0eXBlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBldnQuZmlsZXNbaW5kZXhdLCBmaWxlTmFtZTogZmlsZU5hbWVcclxuICAgICAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoYXR0YWNobWVudEl0ZW0udHlwZSA9PSAnaW1hZ2UnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dGFjaG1lbnRJdGVtLnVybCA9IGV2dC5maWxlc1tpbmRleF0ub2JqZWN0VVJMLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1vZGVsLmF0dGFjaG1lbnRzLnB1c2goYXR0YWNobWVudEl0ZW0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5jbGFzc0hhc0F0dGFjaG1lbnQgPSAnYXR0YWNoZWQtZmlsZSc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvb3RDb250ZXh0LmZpcmVFdmVudChDb21DdHhDb25zdGFudHMuUk9PVC5DSEFUX01FU1NBR0VfQVRUQUNIX0ZJTEUsIHRydWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2Vycm9yIG9uIHByb2Nlc3Mgc2VsZWN0IGZpbGUgY29tcHV0ZXInLCBlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZmlsZUVsZW1lbnQuY2xlYXIoKTtcclxuICAgIH1cclxuXHJcbiAgICByZW1vdmVBdHRhY2htZW50KGl0ZW0pIHtcclxuICAgICAgICBjb25zdCBhdHRhY2htZW50cyA9IHRoaXMubW9kZWwuYXR0YWNobWVudHMgYXMgYW55W107XHJcbiAgICAgICAgY29uc3QgaW5kZXggPSBhdHRhY2htZW50cy5maW5kSW5kZXgoeCA9PiB4LnVybCA9PSBpdGVtLnVybCk7XHJcblxyXG4gICAgICAgIHRoaXMubW9kZWwuYXR0YWNobWVudHMuc3BsaWNlKGluZGV4LCAxKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMubW9kZWwuYXR0YWNobWVudHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWwuY2xhc3NIYXNBdHRhY2htZW50ID0gJyc7XHJcbiAgICAgICAgICAgIHRoaXMucm9vdENvbnRleHQuZmlyZUV2ZW50KENvbUN0eENvbnN0YW50cy5ST09ULkNIQVRfTUVTU0FHRV9BVFRBQ0hfRklMRSwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbk1vdXNlVXAoJGV2ZW50KSB7XHJcbiAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FuY2VsQmx1cihldmVudCkge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5yb290Q29udGV4dC51blN1YnNjcmliZShDb21DdHhDb25zdGFudHMuUk9PVC5DSEFUX0lOU1RBTkNFX0lEX0xPQURFRCk7XHJcbiAgICAgICAgdGhpcy5yb290Q29udGV4dC51blN1YnNjcmliZShDb21DdHhDb25zdGFudHMuUk9PVC5DSEFUX01PVVNFX1VQKTtcclxuICAgIH1cclxuXHJcbiAgICBub3RpZmlVc2VyT25saW5lKGNoYXRJZDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fY2hhdFNlcnZpY2UuaW5zZXJ0VXNlck9ubGluZShjaGF0SWQpLnRoZW4ocnMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocnMuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbC51c2VyT25saW5lSWQgPSBycy5kYXRhO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlVXNlck9ubGluZSh1c2VyT25saW5lSWQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuY2hhdEluc3RhbmNlSWQgPSAnJztcclxuICAgICAgICB0aGlzLl9jaGF0U2VydmljZS5yZW1vdmVVc2VyT25saW5lKHVzZXJPbmxpbmVJZCkudGhlbihycyA9PiB7XHJcbiAgICAgICAgICAgIGlmIChycy5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9ub3RpZmllclNlcnZpY2Uuc2hvd1dhcm5pbmcoJ8SQw6MgYuG7jyBuZ8aw4budaSBkw7luZyB0aMOgbmggY8O0bmcnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGNsaWNrSW5wdXRUZXh0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLm1vZGVsLmluc3RhbmNlSWQpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hhdFNlcnZpY2UubWFya0FzUmVhZEFsbENvbnRlbnRzKHRoaXMubW9kZWwuaWQpLnRoZW4ocnMgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ21hcmtBc1JlYWRBbGxDb250ZW50cycpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,13 @@
1
+ export const NEW_MESSAGE = 'NewMessage';
2
+ export const PINNED_CHANGED = 'PinnedChanged';
3
+ export var NotificationType;
4
+ (function (NotificationType) {
5
+ NotificationType[NotificationType["NewMessage"] = 0] = "NewMessage";
6
+ NotificationType[NotificationType["PinnedChanged"] = 1] = "PinnedChanged";
7
+ })(NotificationType || (NotificationType = {}));
8
+ export var MessageType;
9
+ (function (MessageType) {
10
+ MessageType[MessageType["TEXT"] = 0] = "TEXT";
11
+ MessageType[MessageType["FILE"] = 1] = "FILE";
12
+ })(MessageType || (MessageType = {}));
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvdG54LXNoYXJlZC9zcmMvbGliLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9jaGF0L21vZGVscy9lbnVtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUM7QUFFOUMsTUFBTSxDQUFOLElBQVksZ0JBR1g7QUFIRCxXQUFZLGdCQUFnQjtJQUN4QixtRUFBYyxDQUFBO0lBQ2QseUVBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ25CLDZDQUFRLENBQUE7SUFDUiw2Q0FBUSxDQUFBO0FBQ1osQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IE5FV19NRVNTQUdFID0gJ05ld01lc3NhZ2UnO1xyXG5leHBvcnQgY29uc3QgUElOTkVEX0NIQU5HRUQgPSAnUGlubmVkQ2hhbmdlZCc7XHJcblxyXG5leHBvcnQgZW51bSBOb3RpZmljYXRpb25UeXBlIHtcclxuICAgIE5ld01lc3NhZ2UgPSAwLFxyXG4gICAgUGlubmVkQ2hhbmdlZCA9IDFcclxufVxyXG5cclxuZXhwb3J0IGVudW0gTWVzc2FnZVR5cGUge1xyXG4gICAgVEVYVCA9IDAsXHJcbiAgICBGSUxFID0gMSxcclxufVxyXG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { PopupSize } from '../../../classes/form-schema';
2
+ export class EditFormModel {
3
+ constructor(init) {
4
+ this.multiple = false;
5
+ this.popupSize = new PopupSize({ height: 600, width: 800 });
6
+ this.show = false;
7
+ for (const key in init) {
8
+ this[key] = init[key];
9
+ }
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY2hhdC9tb2RlbHMvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUV6RCxNQUFNLE9BQU8sYUFBYTtJQU90QixZQUFZLElBQW1CO1FBTC9CLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFDM0IsY0FBUyxHQUFlLElBQUksU0FBUyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUVuRSxTQUFJLEdBQWEsS0FBSyxDQUFDO1FBR25CLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDekI7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3B1cFNpemUgfSBmcm9tICcuLi8uLi8uLi9jbGFzc2VzL2Zvcm0tc2NoZW1hJztcclxuXHJcbmV4cG9ydCBjbGFzcyBFZGl0Rm9ybU1vZGVsIHtcclxuICAgIHNlbGVjdGVkVmFsdWU6IGFueVtdO1xyXG4gICAgbXVsdGlwbGU/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwb3B1cFNpemU/OiBQb3B1cFNpemUgPSBuZXcgUG9wdXBTaXplKHsgaGVpZ2h0OiA2MDAsIHdpZHRoOiA4MDAgfSk7XHJcbiAgICBkYXRhOiBhbnk7XHJcbiAgICBzaG93PzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGluaXQ6IEVkaXRGb3JtTW9kZWwpIHtcclxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBpbml0KSB7XHJcbiAgICAgICAgICAgIHRoaXNba2V5XSA9IGluaXRba2V5XTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,113 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Injectable, Injector } from '@angular/core';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { ModuleConfigService } from '../../../services/module-config.service';
5
+ import { ServiceRequestModel } from '../../file-explorer/models/service-request-model';
6
+ import { BaseService } from '../../../services/base.service';
7
+ import { ContentsService } from './content.service';
8
+ import { StatusExtendsService } from './status.service';
9
+ import { FolderService } from '../../file-explorer/services/folder.service';
10
+ import { FileExplorerService } from '../../file-explorer/services/file-explorer.service';
11
+ import { MyDriveService } from '../../file-explorer/services/my-drive.service';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/common/http";
14
+ import * as i2 from "../../../services/module-config.service";
15
+ import * as i3 from "../../file-explorer/services/folder.service";
16
+ import * as i4 from "../../file-explorer/services/my-drive.service";
17
+ import * as i5 from "../../file-explorer/services/file-explorer.service";
18
+ import * as i6 from "./content.service";
19
+ import * as i7 from "./status.service";
20
+ export class ChatService extends BaseService {
21
+ constructor(_injector, _httpClient, _moduleConfigService, _folderService, _myDriveService, _fileService, _contentService, _statusService) {
22
+ super(_httpClient, _injector, `${_moduleConfigService.getConfig().environment.apiDomain.chatEndpoint}/${_moduleConfigService.getConfig().environment.apiVersion}/Instances`);
23
+ this._moduleConfigService = _moduleConfigService;
24
+ this._folderService = _folderService;
25
+ this._myDriveService = _myDriveService;
26
+ this._fileService = _fileService;
27
+ this._contentService = _contentService;
28
+ this._statusService = _statusService;
29
+ this.entityName = 'Instances';
30
+ this.serviceCode = 'chat';
31
+ this.SERVICE = 'chat';
32
+ this.ENTITY_CONTENT = 'contents';
33
+ this.endPoint = `${_moduleConfigService.getConfig().environment.apiDomain.chatEndpoint}`;
34
+ }
35
+ getListAttachment(id) {
36
+ return __awaiter(this, void 0, void 0, function* () {
37
+ const request = new ServiceRequestModel({
38
+ service: this.SERVICE,
39
+ serviceCode: this.SERVICE,
40
+ entity: this.ENTITY_CONTENT,
41
+ entityInstanceId: id,
42
+ entityKey: 'id',
43
+ });
44
+ // const result = await this._folderService.getServiceFolderId(request);
45
+ // if (!result.success || !result.data) {
46
+ // return [];
47
+ // }
48
+ // const folder = await this._folderService.getDetail(result.data);
49
+ // // const folder = await this._myDriveService.getByFolderId(result.data);
50
+ // if (result.success) {
51
+ // if (folder.data.length > 0) {
52
+ // return folder.data.map(x => {
53
+ // const item = <any>{
54
+ // id: x.id,
55
+ // fileName: x.name,
56
+ // type: this._commonService.isImage(x.name) ? 'image' : ''
57
+ // };
58
+ //
59
+ // item.url = this._fileService.getFileDownloadUrl(x.id);
60
+ //
61
+ // return item;
62
+ // });
63
+ // }
64
+ // }
65
+ return [];
66
+ });
67
+ }
68
+ getChatId(model) {
69
+ const { serviceCode, entity, entityKey } = model;
70
+ const url = `${this.serviceUri}/GetIdByService?serviceCode=${serviceCode}&entity=${entity}&entityKey=${entityKey}`;
71
+ return this.defaultGet(url);
72
+ }
73
+ getChatIdByTask(serviceRequest, taskId) {
74
+ const { serviceCode, entity, entityKey } = serviceRequest;
75
+ const url = `${this.serviceUri}/GetIdByTaskId?serviceCode=${serviceCode}&entity=${entity}&entityKey=${entityKey}&taskId=${taskId}`;
76
+ return this.defaultGet(url);
77
+ }
78
+ getByService(model, page = 0) {
79
+ return this._contentService.getByService(model, page);
80
+ }
81
+ getContentByTaskId(serviceRequest, taskId) {
82
+ return this._contentService.getByTaskId(serviceRequest, taskId);
83
+ }
84
+ markAsReadAllContents(chatId) {
85
+ return this._contentService.markAsReadAllContents(chatId);
86
+ }
87
+ sendMessage(messageContent) {
88
+ return this._contentService.sendMessage(messageContent);
89
+ }
90
+ insertUserOnline(chatId) {
91
+ return this._statusService.insertUserOnline(chatId);
92
+ }
93
+ removeUserOnline(id) {
94
+ return this._statusService.removeUserOnline(id);
95
+ }
96
+ }
97
+ ChatService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ChatService_Factory() { return new ChatService(i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ModuleConfigService), i0.ɵɵinject(i3.FolderService), i0.ɵɵinject(i4.MyDriveService), i0.ɵɵinject(i5.FileExplorerService), i0.ɵɵinject(i6.ContentsService), i0.ɵɵinject(i7.StatusExtendsService)); }, token: ChatService, providedIn: "root" });
98
+ ChatService.decorators = [
99
+ { type: Injectable, args: [{
100
+ providedIn: 'root'
101
+ },] }
102
+ ];
103
+ ChatService.ctorParameters = () => [
104
+ { type: Injector },
105
+ { type: HttpClient },
106
+ { type: ModuleConfigService },
107
+ { type: FolderService },
108
+ { type: MyDriveService },
109
+ { type: FileExplorerService },
110
+ { type: ContentsService },
111
+ { type: StatusExtendsService }
112
+ ];
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY2hhdC9zZXJ2aWNlcy9jaGF0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7Ozs7OztBQUsvRSxNQUFNLE9BQU8sV0FBWSxTQUFRLFdBQVc7SUFPeEMsWUFDSSxTQUFtQixFQUNuQixXQUF1QixFQUNmLG9CQUF5QyxFQUN6QyxjQUE2QixFQUM3QixlQUErQixFQUMvQixZQUFpQyxFQUNqQyxlQUFnQyxFQUNoQyxjQUFvQztRQUU1QyxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsWUFBWSxJQUFJLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxVQUFVLFlB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T0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFVO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs7O1lBM0ZKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBZG9CLFFBQVE7WUFDcEIsVUFBVTtZQUNWLG1CQUFtQjtZQU1uQixhQUFhO1lBRWIsY0FBYztZQURkLG1CQUFtQjtZQUhuQixlQUFlO1lBQ2Ysb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTW9kdWxlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL21vZHVsZS1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IFJlc3BvbnNlUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Jlc3BvbnNlLXJlc3VsdCc7XHJcbmltcG9ydCB7IFNlcnZpY2VSZXF1ZXN0TW9kZWwgfSBmcm9tICcuLi8uLi9maWxlLWV4cGxvcmVyL21vZGVscy9zZXJ2aWNlLXJlcXVlc3QtbW9kZWwnO1xyXG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Jhc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbnRlbnRzU2VydmljZSB9IGZyb20gJy4vY29udGVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RhdHVzRXh0ZW5kc1NlcnZpY2UgfSBmcm9tICcuL3N0YXR1cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9sZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2ZpbGUtZXhwbG9yZXIvc2VydmljZXMvZm9sZGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWxlRXhwbG9yZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZmlsZS1leHBsb3Jlci9zZXJ2aWNlcy9maWxlLWV4cGxvcmVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNeURyaXZlU2VydmljZSB9IGZyb20gJy4uLy4uL2ZpbGUtZXhwbG9yZXIvc2VydmljZXMvbXktZHJpdmUuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENoYXRTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2Uge1xyXG4gICAgZW50aXR5TmFtZSA9ICdJbnN0YW5jZXMnO1xyXG4gICAgc2VydmljZUNvZGUgPSAnY2hhdCc7XHJcbiAgICByZWFkb25seSBTRVJWSUNFID0gJ2NoYXQnO1xyXG4gICAgcmVhZG9ubHkgRU5USVRZX0NPTlRFTlQgPSAnY29udGVudHMnO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIF9odHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgICAgIHByaXZhdGUgX21vZHVsZUNvbmZpZ1NlcnZpY2U6IE1vZHVsZUNvbmZpZ1NlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfZm9sZGVyU2VydmljZTogRm9sZGVyU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9teURyaXZlU2VydmljZTogTXlEcml2ZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfZmlsZVNlcnZpY2U6IEZpbGVFeHBsb3JlclNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfY29udGVudFNlcnZpY2U6IENvbnRlbnRzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIF9zdGF0dXNTZXJ2aWNlOiBTdGF0dXNFeHRlbmRzU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKF9odHRwQ2xpZW50LCBfaW5qZWN0b3IsIGAke19tb2R1bGVDb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmVudmlyb25tZW50LmFwaURvbWFpbi5jaGF0RW5kcG9pbnR9LyR7X21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBpVmVyc2lvbn0vSW5zdGFuY2VzYCk7XHJcbiAgICAgICAgdGhpcy5lbmRQb2ludCA9IGAke19tb2R1bGVDb25maWdTZXJ2aWNlLmdldENvbmZpZygpLmVudmlyb25tZW50LmFwaURvbWFpbi5jaGF0RW5kcG9pbnR9YDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBnZXRMaXN0QXR0YWNobWVudChpZCkge1xyXG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgU2VydmljZVJlcXVlc3RNb2RlbCh7XHJcbiAgICAgICAgICAgIHNlcnZpY2U6IHRoaXMuU0VSVklDRSxcclxuICAgICAgICAgICAgc2VydmljZUNvZGU6IHRoaXMuU0VSVklDRSxcclxuICAgICAgICAgICAgZW50aXR5OiB0aGlzLkVOVElUWV9DT05URU5ULFxyXG4gICAgICAgICAgICBlbnRpdHlJbnN0YW5jZUlkOiBpZCxcclxuICAgICAgICAgICAgZW50aXR5S2V5OiAnaWQnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuX2ZvbGRlclNlcnZpY2UuZ2V0U2VydmljZUZvbGRlcklkKHJlcXVlc3QpO1xyXG4gICAgICAgIC8vIGlmICghcmVzdWx0LnN1Y2Nlc3MgfHwgIXJlc3VsdC5kYXRhKSB7XHJcbiAgICAgICAgLy8gICAgIHJldHVybiBbXTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gY29uc3QgZm9sZGVyID0gYXdhaXQgdGhpcy5fZm9sZGVyU2VydmljZS5nZXREZXRhaWwocmVzdWx0LmRhdGEpO1xyXG4gICAgICAgIC8vIC8vIGNvbnN0IGZvbGRlciA9IGF3YWl0IHRoaXMuX215RHJpdmVTZXJ2aWNlLmdldEJ5Rm9sZGVySWQocmVzdWx0LmRhdGEpO1xyXG4gICAgICAgIC8vIGlmIChyZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgIC8vICAgICBpZiAoZm9sZGVyLmRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIC8vICAgICAgICAgcmV0dXJuIGZvbGRlci5kYXRhLm1hcCh4ID0+IHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBjb25zdCBpdGVtID0gPGFueT57XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIGlkOiB4LmlkLFxyXG4gICAgICAgIC8vICAgICAgICAgICAgICAgICBmaWxlTmFtZTogeC5uYW1lLFxyXG4gICAgICAgIC8vICAgICAgICAgICAgICAgICB0eXBlOiB0aGlzLl9jb21tb25TZXJ2aWNlLmlzSW1hZ2UoeC5uYW1lKSA/ICdpbWFnZScgOiAnJ1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIH07XHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyAgICAgICAgICAgICBpdGVtLnVybCA9IHRoaXMuX2ZpbGVTZXJ2aWNlLmdldEZpbGVEb3dubG9hZFVybCh4LmlkKTtcclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgICAgIC8vICAgICAgICAgfSk7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDaGF0SWQobW9kZWw6IFNlcnZpY2VSZXF1ZXN0TW9kZWwpOiBQcm9taXNlPFJlc3BvbnNlUmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgeyBzZXJ2aWNlQ29kZSwgZW50aXR5LCBlbnRpdHlLZXkgfSA9IG1vZGVsO1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2VydmljZVVyaX0vR2V0SWRCeVNlcnZpY2U/c2VydmljZUNvZGU9JHtzZXJ2aWNlQ29kZX0mZW50aXR5PSR7ZW50aXR5fSZlbnRpdHlLZXk9JHtlbnRpdHlLZXl9YDtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0R2V0KHVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q2hhdElkQnlUYXNrKHNlcnZpY2VSZXF1ZXN0OiBTZXJ2aWNlUmVxdWVzdE1vZGVsLCB0YXNrSWQ6IHN0cmluZyk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCB7IHNlcnZpY2VDb2RlLCBlbnRpdHksIGVudGl0eUtleSB9ID0gc2VydmljZVJlcXVlc3Q7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9HZXRJZEJ5VGFza0lkP3NlcnZpY2VDb2RlPSR7c2VydmljZUNvZGV9JmVudGl0eT0ke2VudGl0eX0mZW50aXR5S2V5PSR7ZW50aXR5S2V5fSZ0YXNrSWQ9JHt0YXNrSWR9YDtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0R2V0KHVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QnlTZXJ2aWNlKG1vZGVsOiBTZXJ2aWNlUmVxdWVzdE1vZGVsLCBwYWdlID0gMCk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudFNlcnZpY2UuZ2V0QnlTZXJ2aWNlKG1vZGVsLCBwYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDb250ZW50QnlUYXNrSWQoc2VydmljZVJlcXVlc3Q6IFNlcnZpY2VSZXF1ZXN0TW9kZWwsIHRhc2tJZDogc3RyaW5nKTogUHJvbWlzZTxSZXNwb25zZVJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50U2VydmljZS5nZXRCeVRhc2tJZChzZXJ2aWNlUmVxdWVzdCwgdGFza0lkKTtcclxuICAgIH1cclxuXHJcbiAgICBtYXJrQXNSZWFkQWxsQ29udGVudHMoY2hhdElkOiBzdHJpbmcpOiBQcm9taXNlPFJlc3BvbnNlUmVzdWx0PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRTZXJ2aWNlLm1hcmtBc1JlYWRBbGxDb250ZW50cyhjaGF0SWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbmRNZXNzYWdlKG1lc3NhZ2VDb250ZW50KTogUHJvbWlzZTxSZXNwb25zZVJlc3VsdD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50U2VydmljZS5zZW5kTWVzc2FnZShtZXNzYWdlQ29udGVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5zZXJ0VXNlck9ubGluZShjaGF0SWQ6IHN0cmluZyk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RhdHVzU2VydmljZS5pbnNlcnRVc2VyT25saW5lKGNoYXRJZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlVXNlck9ubGluZShpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXR1c1NlcnZpY2UucmVtb3ZlVXNlck9ubGluZShpZCk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -0,0 +1,57 @@
1
+ import { Injectable, Injector } from '@angular/core';
2
+ import { BaseService } from '../../../services/base.service';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { ModuleConfigService } from '../../../services/module-config.service';
5
+ import { FileExplorerService } from '../../file-explorer/services/file-explorer.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "../../../services/module-config.service";
9
+ import * as i3 from "../../file-explorer/services/file-explorer.service";
10
+ export class ContentsService extends BaseService {
11
+ constructor(_injector, _httpClient, _moduleConfigService, _fileService) {
12
+ super(_httpClient, _injector, `${_moduleConfigService.getConfig().environment.apiDomain.chatEndpoint}/${_moduleConfigService.getConfig().environment.apiVersion}/Contents`);
13
+ this._moduleConfigService = _moduleConfigService;
14
+ this._fileService = _fileService;
15
+ this.entityName = 'Contents';
16
+ this.serviceCode = 'chat';
17
+ this.endPoint = `${_moduleConfigService.getConfig().environment.apiDomain.chatEndpoint}`;
18
+ }
19
+ getByService(model, page = 0) {
20
+ const { serviceCode, entity, entityKey } = model;
21
+ const url = `${this.serviceUri}/GetByService?serviceCode=${serviceCode}&entity=${entity}&entityKey=${entityKey}&page=${page}`;
22
+ return this.defaultGet(url);
23
+ }
24
+ getByTaskId(model, taskId) {
25
+ const { serviceCode, entity, entityKey } = model;
26
+ const url = `${this.serviceUri}/GetByTaskId?serviceCode=${serviceCode}&entity=${entity}&entityKey=${entityKey}&taskId=${taskId}`;
27
+ return this.defaultGet(url);
28
+ }
29
+ getContentById(data) {
30
+ let url = `${this.serviceUri}/GetByChatId/${data.instanceId}`;
31
+ if (data.page) {
32
+ url += `${url}?page=${data.page}`;
33
+ }
34
+ return this.defaultGet(url);
35
+ }
36
+ sendMessage(messageContent) {
37
+ const url = `${this.serviceUri}/SendMessage`;
38
+ return this.defaultPost(url, messageContent);
39
+ }
40
+ markAsReadAllContents(chatId) {
41
+ const url = `${this.serviceUri}ReadInfo/MarkAsReadAllContents/${chatId}`;
42
+ return this.defaultPost(url, chatId);
43
+ }
44
+ }
45
+ ContentsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ContentsService_Factory() { return new ContentsService(i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ModuleConfigService), i0.ɵɵinject(i3.FileExplorerService)); }, token: ContentsService, providedIn: "root" });
46
+ ContentsService.decorators = [
47
+ { type: Injectable, args: [{
48
+ providedIn: 'root'
49
+ },] }
50
+ ];
51
+ ContentsService.ctorParameters = () => [
52
+ { type: Injector },
53
+ { type: HttpClient },
54
+ { type: ModuleConfigService },
55
+ { type: FileExplorerService }
56
+ ];
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL3RueC1zaGFyZWQvc3JjL2xpYi8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY2hhdC9zZXJ2aWNlcy9jb250ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7Ozs7QUFPekYsTUFBTSxPQUFPLGVBQWdCLFNBQVEsV0FBVztJQUk1QyxZQUNJLFNBQW1CLEVBQ25CLFdBQXVCLEVBQ2Ysb0JBQXlDLEVBQ3pDLFlBQWlDO1FBRXpDLEtBQUssQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksb0JBQW9CLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsV0FBVyxDQUFDLENBQUM7UUFIcEsseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFxQjtRQUN6QyxpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFQN0MsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUN4QixnQkFBVyxHQUFHLE1BQU0sQ0FBQztRQVNqQixJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM3RixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQTBCLEVBQUUsSUFBSSxHQUFHLENBQUM7UUFDN0MsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQ2pELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsNkJBQTZCLFdBQVcsV0FBVyxNQUFNLGNBQWMsU0FBUyxTQUFTLElBQUksRUFBRSxDQUFDO1FBQzlILE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQTBCLEVBQUUsTUFBYztRQUNsRCxNQUFNLEVBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDaEQsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSw0QkFBNEIsV0FBVyxXQUFXLE1BQU0sY0FBYyxTQUFTLFdBQVcsTUFBTSxFQUFFLENBQUM7UUFDakksT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxjQUFjLENBQUMsSUFBSTtRQUNmLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsZ0JBQWdCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUU5RCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxHQUFHLElBQUksR0FBRyxHQUFHLFNBQVMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3JDO1FBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXLENBQUMsY0FBYztRQUN0QixNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLGNBQWMsQ0FBQztRQUM3QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUFjO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsa0NBQWtDLE1BQU0sRUFBRSxDQUFDO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7OztZQS9DSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckI7OztZQVZvQixRQUFRO1lBRXBCLFVBQVU7WUFDVixtQkFBbUI7WUFDbkIsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9iYXNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNb2R1bGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbW9kdWxlLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZUV4cGxvcmVyU2VydmljZSB9IGZyb20gJy4uLy4uL2ZpbGUtZXhwbG9yZXIvc2VydmljZXMvZmlsZS1leHBsb3Jlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2VydmljZVJlcXVlc3RNb2RlbCB9IGZyb20gJy4uLy4uL2ZpbGUtZXhwbG9yZXIvbW9kZWxzL3NlcnZpY2UtcmVxdWVzdC1tb2RlbCc7XHJcbmltcG9ydCB7IFJlc3BvbnNlUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Jlc3BvbnNlLXJlc3VsdCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRlbnRzU2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlIHtcclxuICAgIGVudGl0eU5hbWUgPSAnQ29udGVudHMnO1xyXG4gICAgc2VydmljZUNvZGUgPSAnY2hhdCc7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgICAgICBfaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgICAgICBwcml2YXRlIF9tb2R1bGVDb25maWdTZXJ2aWNlOiBNb2R1bGVDb25maWdTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2ZpbGVTZXJ2aWNlOiBGaWxlRXhwbG9yZXJTZXJ2aWNlLFxyXG4gICAgKSB7XHJcbiAgICAgICAgc3VwZXIoX2h0dHBDbGllbnQsIF9pbmplY3RvciwgYCR7X21vZHVsZUNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCkuZW52aXJvbm1lbnQuYXBpRG9tYWluLmNoYXRFbmRwb2ludH0vJHtfbW9kdWxlQ29uZmlnU2VydmljZS5nZXRDb25maWcoKS5lbnZpcm9ubWVudC5hcGlWZXJzaW9ufS9Db250ZW50c2ApO1xyXG4gICAgICAgIHRoaXMuZW5kUG9pbnQgPSBgJHtfbW9kdWxlQ29uZmlnU2VydmljZS5nZXRDb25maWcoKS5lbnZpcm9ubWVudC5hcGlEb21haW4uY2hhdEVuZHBvaW50fWA7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0QnlTZXJ2aWNlKG1vZGVsOiBTZXJ2aWNlUmVxdWVzdE1vZGVsLCBwYWdlID0gMCk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCB7IHNlcnZpY2VDb2RlLCBlbnRpdHksIGVudGl0eUtleSB9ID0gbW9kZWw7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9HZXRCeVNlcnZpY2U/c2VydmljZUNvZGU9JHtzZXJ2aWNlQ29kZX0mZW50aXR5PSR7ZW50aXR5fSZlbnRpdHlLZXk9JHtlbnRpdHlLZXl9JnBhZ2U9JHtwYWdlfWA7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdEdldCh1cmwpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEJ5VGFza0lkKG1vZGVsOiBTZXJ2aWNlUmVxdWVzdE1vZGVsLCB0YXNrSWQ6IHN0cmluZyk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCB7c2VydmljZUNvZGUsIGVudGl0eSwgZW50aXR5S2V5IH0gPSBtb2RlbDtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L0dldEJ5VGFza0lkP3NlcnZpY2VDb2RlPSR7c2VydmljZUNvZGV9JmVudGl0eT0ke2VudGl0eX0mZW50aXR5S2V5PSR7ZW50aXR5S2V5fSZ0YXNrSWQ9JHt0YXNrSWR9YDtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0R2V0KHVybCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0Q29udGVudEJ5SWQoZGF0YSk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBsZXQgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfS9HZXRCeUNoYXRJZC8ke2RhdGEuaW5zdGFuY2VJZH1gO1xyXG5cclxuICAgICAgICBpZiAoZGF0YS5wYWdlKSB7XHJcbiAgICAgICAgICAgIHVybCArPSBgJHt1cmx9P3BhZ2U9JHtkYXRhLnBhZ2V9YDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRHZXQodXJsKTtcclxuICAgIH1cclxuXHJcbiAgICBzZW5kTWVzc2FnZShtZXNzYWdlQ29udGVudCk6IFByb21pc2U8UmVzcG9uc2VSZXN1bHQ+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnNlcnZpY2VVcml9L1NlbmRNZXNzYWdlYDtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZWZhdWx0UG9zdCh1cmwsIG1lc3NhZ2VDb250ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBtYXJrQXNSZWFkQWxsQ29udGVudHMoY2hhdElkOiBzdHJpbmcpOiBQcm9taXNlPFJlc3BvbnNlUmVzdWx0PiB7XHJcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5zZXJ2aWNlVXJpfVJlYWRJbmZvL01hcmtBc1JlYWRBbGxDb250ZW50cy8ke2NoYXRJZH1gO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRlZmF1bHRQb3N0KHVybCwgY2hhdElkKTtcclxuICAgIH1cclxufVxyXG4iXX0=