@chat21/chat21-web-widget 5.0.86 → 5.0.88
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/CHANGELOG.md +25 -1
- package/package.json +1 -1
- package/src/app/component/conversation-detail/conversation/conversation.component.html +1 -0
- package/src/app/component/conversation-detail/conversation/conversation.component.ts +17 -16
- package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.ts +45 -36
- package/src/app/component/message/bubble-message/bubble-message.component.html +1 -10
- package/src/app/modals/confirm-close/confirm-close.component.html +6 -6
- package/src/app/modals/confirm-close/confirm-close.component.scss +14 -3
- package/src/app/modals/confirm-close/confirm-close.component.ts +19 -4
- package/src/app/utils/utils.ts +45 -0
- package/src/assets/twp/blank.html +3 -6
- package/src/assets/twp/chatbot-panel.html +5 -13
- package/src/assets/twp/index-dev.html +7 -15
- package/src/assets/twp/index.html +7 -13
- package/src/assets/twp/tiledesk_widget_files/bootstrap.min.css +4 -3
- package/src/assets/twp/tiledesk_widget_files/bootstrap.min.js +3 -4
- package/src/assets/twp/tiledesk_widget_files/jquery.min.js +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -6,9 +6,33 @@
|
|
|
6
6
|
### **Copyrigth**:
|
|
7
7
|
*Tiledesk SRL*
|
|
8
8
|
|
|
9
|
+
# 5.0.88 in PROD
|
|
10
|
+
|
|
11
|
+
# 5.0.87 in PROD
|
|
12
|
+
|
|
9
13
|
# 5.0.86 in PROD
|
|
10
14
|
|
|
11
|
-
# 5.0.85
|
|
15
|
+
# 5.0.85-rc.2
|
|
16
|
+
- **added**: loading progress indicator while closing a conversation
|
|
17
|
+
|
|
18
|
+
# 5.0.85-rc.1
|
|
19
|
+
- **added**: hide header restart menu option if conversation is closed
|
|
20
|
+
- **removed**: continueConversationBeforeTime settings property
|
|
21
|
+
|
|
22
|
+
# 5.0.84 in PROD
|
|
23
|
+
|
|
24
|
+
# 5.0.84-rc.4
|
|
25
|
+
- **added**: checkAcceptedFile fn on dragleave event conversation-content component
|
|
26
|
+
- **added**: checkAcceptedFile fn in conversation-footer component
|
|
27
|
+
|
|
28
|
+
# 5.0.84-rc.3
|
|
29
|
+
- **changed**: index-dev lib order import
|
|
30
|
+
|
|
31
|
+
# 5.0.84-rc.2
|
|
32
|
+
- **changed**: bootstrap, jquery and font-awesome libs
|
|
33
|
+
|
|
34
|
+
# 5.0.84-rc.1
|
|
35
|
+
- **removed**: innerHtml from document element
|
|
12
36
|
|
|
13
37
|
# 5.0.83 in PROD
|
|
14
38
|
|
package/package.json
CHANGED
|
@@ -39,6 +39,7 @@ import { CustomTranslateService } from 'src/chat21-core/providers/custom-transla
|
|
|
39
39
|
import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance';
|
|
40
40
|
import { TiledeskRequestsService } from 'src/chat21-core/providers/tiledesk/tiledesk-requests.service';
|
|
41
41
|
import { ConversationContentComponent } from '../conversation-content/conversation-content.component';
|
|
42
|
+
import { checkAcceptedFile } from 'src/app/utils/utils';
|
|
42
43
|
// import { TranslateService } from '@ngx-translate/core';
|
|
43
44
|
|
|
44
45
|
@Component({
|
|
@@ -261,7 +262,8 @@ export class ConversationComponent implements OnInit, AfterViewInit, OnChanges {
|
|
|
261
262
|
const keysCloseChatDialog= [
|
|
262
263
|
'BACK',
|
|
263
264
|
'CLOSE',
|
|
264
|
-
'CLOSE_CHAT'
|
|
265
|
+
'CLOSE_CHAT',
|
|
266
|
+
'CONFIRM_CLOSE_CHAT'
|
|
265
267
|
];
|
|
266
268
|
|
|
267
269
|
|
|
@@ -990,6 +992,7 @@ export class ConversationComponent implements OnInit, AfterViewInit, OnChanges {
|
|
|
990
992
|
onCloseChat(){
|
|
991
993
|
this.logger.debug('[CONV-COMP] close chat with uid ', this.conversation.uid, this.conversationId)
|
|
992
994
|
this.mydialog.nativeElement.showModal();
|
|
995
|
+
// this.isClosingConversation = false;
|
|
993
996
|
this.isMenuShow = false
|
|
994
997
|
}
|
|
995
998
|
/** CALLED BY: confirm-close modal component */
|
|
@@ -1346,34 +1349,32 @@ export class ConversationComponent implements OnInit, AfterViewInit, OnChanges {
|
|
|
1346
1349
|
var mimeType = fileList[0].type
|
|
1347
1350
|
this.logger.log('[CONV-COMP] ----> FILE - DROP mimeType files ', mimeType)
|
|
1348
1351
|
|
|
1349
|
-
// if (mimeType.startsWith("image") || mimeType.startsWith("application")) {
|
|
1350
|
-
// this.logger.log('[CONV-COMP] ----> FILE - DROP mimeType files: ', this.appConfigProvider.getConfig().fileUploadAccept);
|
|
1351
|
-
// this.checkAcceptedFile(mimeType);
|
|
1352
|
-
// const isAccepted = this.checkAcceptedFile(mimeType)
|
|
1353
|
-
// this.logger.log('[CONV-COMP] > checkAcceptedFile - fileUploadAccept isAcceptFile FILE - DROP',isAccepted)
|
|
1354
|
-
// if (isAccepted === true) {
|
|
1355
1352
|
this.dropEvent = event
|
|
1356
|
-
// } else {
|
|
1357
|
-
// this.logger.log( '[CONV-COMP] ----> FILE - DROP mimeType files ', mimeType,'NOT SUPPORTED FILE TYPE')
|
|
1358
|
-
// this.presentToast(this.translationsMap.get('FAILED_TO_UPLOAD_THE_FORMAT_IS_NOT_SUPPORTED'), 'danger','toast-custom-class', 5000 )
|
|
1359
|
-
// // this.presentToastOnlyImageFilesAreAllowedToDrag()
|
|
1360
|
-
// }
|
|
1361
1353
|
|
|
1362
1354
|
}
|
|
1363
1355
|
}
|
|
1364
1356
|
|
|
1365
1357
|
allowDrop(event: any) {
|
|
1366
|
-
event.preventDefault()
|
|
1367
|
-
event.stopPropagation()
|
|
1358
|
+
event.preventDefault();
|
|
1359
|
+
event.stopPropagation();
|
|
1368
1360
|
this.logger.log('[CONV-COMP] ----> FILE - (dragover) allowDrop ev ', event)
|
|
1369
1361
|
this.isHovering = true
|
|
1370
1362
|
}
|
|
1371
1363
|
|
|
1372
1364
|
drag(event){
|
|
1373
|
-
event.preventDefault()
|
|
1365
|
+
event.preventDefault();
|
|
1366
|
+
this.logger.log('[CONV-COMP] ----> FILE - (dragleave) drag ev ', event)
|
|
1367
|
+
if (event.dataTransfer && event.dataTransfer.files) {
|
|
1368
|
+
const files = event.dataTransfer.files;
|
|
1369
|
+
const canUploadFile = checkAcceptedFile(files[0].type, this.appConfigService.getConfig().fileUploadAccept)
|
|
1370
|
+
if(!canUploadFile){
|
|
1371
|
+
this.logger.error('[IMAGE-UPLOAD] detectFiles: can not upload current file type--> NOT ALLOWED', this.appConfigService.getConfig().fileUploadAccept)
|
|
1372
|
+
return;
|
|
1373
|
+
}
|
|
1374
|
+
}
|
|
1374
1375
|
event.stopPropagation()
|
|
1375
|
-
console.log('dragleave-->', event)
|
|
1376
1376
|
this.isHovering = false
|
|
1377
1377
|
}
|
|
1378
1378
|
|
|
1379
1379
|
}
|
|
1380
|
+
|
package/src/app/component/conversation-detail/conversation-footer/conversation-footer.component.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, ComponentFactoryResolver, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild, ViewContainerRef } from '@angular/core';
|
|
2
2
|
import { Globals } from 'src/app/utils/globals';
|
|
3
|
+
import { checkAcceptedFile } from 'src/app/utils/utils';
|
|
3
4
|
import { MessageModel } from 'src/chat21-core/models/message';
|
|
4
5
|
import { UploadModel } from 'src/chat21-core/models/upload';
|
|
5
6
|
import { ConversationHandlerService } from 'src/chat21-core/providers/abstract/conversation-handler.service';
|
|
@@ -129,48 +130,56 @@ export class ConversationFooterComponent implements OnInit, OnChanges {
|
|
|
129
130
|
|
|
130
131
|
const that = this;
|
|
131
132
|
if (event.target.files && event.target.files[0]) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
that.logger.debug('[CONV-FOOTER] onload file');
|
|
157
|
-
const fileXLoad = {
|
|
158
|
-
src: reader.result.toString(),
|
|
159
|
-
title: nameFile
|
|
160
|
-
};
|
|
133
|
+
|
|
134
|
+
const canUploadFile = checkAcceptedFile(event.target.files[0].type, this.fileUploadAccept)
|
|
135
|
+
if(!canUploadFile){
|
|
136
|
+
this.logger.error('[IMAGE-UPLOAD] detectFiles: can not upload current file type--> NOT ALLOWED', this.fileUploadAccept)
|
|
137
|
+
this.isFilePendingToUpload = false;
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const nameFile = event.target.files[0].name;
|
|
142
|
+
const typeFile = event.target.files[0].type;
|
|
143
|
+
const size = event.target.files[0].size
|
|
144
|
+
const reader = new FileReader();
|
|
145
|
+
that.logger.debug('[CONV-FOOTER] OK preload: ', nameFile, typeFile, reader);
|
|
146
|
+
reader.addEventListener('load', function () {
|
|
147
|
+
that.logger.debug('[CONV-FOOTER] addEventListener load', reader.result);
|
|
148
|
+
that.isFileSelected = true;
|
|
149
|
+
// se inizia con image
|
|
150
|
+
if (typeFile.startsWith('image') && !typeFile.includes('svg')) {
|
|
151
|
+
const imageXLoad = new Image;
|
|
152
|
+
that.logger.debug('[CONV-FOOTER] onload ', imageXLoad);
|
|
153
|
+
imageXLoad.src = reader.result.toString();
|
|
154
|
+
imageXLoad.title = nameFile;
|
|
155
|
+
imageXLoad.onload = function () {
|
|
156
|
+
that.logger.debug('[CONV-FOOTER] onload image');
|
|
161
157
|
// that.arrayFilesLoad.push(imageXLoad);
|
|
162
158
|
const uid = (new Date().getTime()).toString(36); // imageXLoad.src.substring(imageXLoad.src.length - 16);
|
|
163
|
-
that.arrayFilesLoad[0] = { uid: uid, file:
|
|
159
|
+
that.arrayFilesLoad[0] = { uid: uid, file: imageXLoad, type: typeFile, size: size };
|
|
164
160
|
that.logger.debug('[CONV-FOOTER] OK: ', that.arrayFilesLoad[0]);
|
|
165
161
|
// SEND MESSAGE
|
|
166
162
|
that.loadFile();
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
163
|
+
};
|
|
164
|
+
} else {
|
|
165
|
+
that.logger.debug('[CONV-FOOTER] onload file');
|
|
166
|
+
const fileXLoad = {
|
|
167
|
+
src: reader.result.toString(),
|
|
168
|
+
title: nameFile
|
|
169
|
+
};
|
|
170
|
+
// that.arrayFilesLoad.push(imageXLoad);
|
|
171
|
+
const uid = (new Date().getTime()).toString(36); // imageXLoad.src.substring(imageXLoad.src.length - 16);
|
|
172
|
+
that.arrayFilesLoad[0] = { uid: uid, file: fileXLoad, type: typeFile, size: size };
|
|
173
|
+
that.logger.debug('[CONV-FOOTER] OK: ', that.arrayFilesLoad[0]);
|
|
174
|
+
// SEND MESSAGE
|
|
175
|
+
that.loadFile();
|
|
173
176
|
}
|
|
177
|
+
}, false);
|
|
178
|
+
|
|
179
|
+
if (event.target.files[0]) {
|
|
180
|
+
reader.readAsDataURL(event.target.files[0]);
|
|
181
|
+
that.logger.debug('[CONV-FOOTER] reader-result: ', event.target.files[0]);
|
|
182
|
+
}
|
|
174
183
|
}
|
|
175
184
|
}
|
|
176
185
|
}
|
|
@@ -69,16 +69,7 @@
|
|
|
69
69
|
[themeColor]="stylesMap.get('themeColor')"
|
|
70
70
|
[foregroundColor]="stylesMap.get('foregroundColor')">
|
|
71
71
|
</chat-html>
|
|
72
|
-
|
|
73
|
-
<!-- <div *ngIf="isPopupUrl(message.text); then contentPopup else contentNewTab">here
|
|
74
|
-
is ignored</div>
|
|
75
|
-
<ng-template #contentPopup>
|
|
76
|
-
<p style="text-decoration: underline; padding:8px; cursor: pointer;"
|
|
77
|
-
(click)="popupUrl(g.windowContext, message.text,'windowName')">{{strip_tags(message.text)}}</p>
|
|
78
|
-
</ng-template>
|
|
79
|
-
<ng-template #contentNewTab>
|
|
80
|
-
<p #messageEl [innerHTML]="printMessage(message, messageEl, this) | linky"></p>
|
|
81
|
-
</ng-template> -->
|
|
72
|
+
|
|
82
73
|
</div>
|
|
83
74
|
|
|
84
75
|
</div>
|
|
@@ -10,20 +10,20 @@
|
|
|
10
10
|
</button>
|
|
11
11
|
</div>
|
|
12
12
|
<div class="content">
|
|
13
|
-
<div class="text">
|
|
13
|
+
<div class="text">{{ translationMap?.get('CONFIRM_CLOSE_CHAT') }}</div>
|
|
14
14
|
<div class="options">
|
|
15
15
|
|
|
16
16
|
<!-- BUTTON CANCEL-->
|
|
17
|
-
<span class="v-align-center c21-label-button back-button" (click)="onBack()">
|
|
17
|
+
<span class="v-align-center c21-label-button back-button" [class.disabled]="isLoadingActive" (click)="onBack()">
|
|
18
18
|
{{translationMap?.get('BACK')}}
|
|
19
19
|
</span>
|
|
20
20
|
|
|
21
21
|
<!-- BUTTON CLOSE-->
|
|
22
|
-
<button tabindex="1040" aflistconv #aflistconv class="c21-button-primary" (click)="onConfirm()" [ngStyle]="{'background-color': stylesMap?.get('themeColor'), 'border-color': stylesMap?.get('themeColor'), 'color': stylesMap?.get('
|
|
23
|
-
<span *ngIf="isLoadingActive"
|
|
24
|
-
<svg xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
22
|
+
<button tabindex="1040" aflistconv #aflistconv class="c21-button-primary" (click)="onConfirm()" [ngStyle]="{'background-color': stylesMap?.get('themeColor'), 'border-color': stylesMap?.get('themeColor'), 'color': stylesMap?.get('foregroundColor') }">
|
|
23
|
+
<span *ngIf="isLoadingActive" class="spinner-container">
|
|
24
|
+
<svg xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="25" height="25" [ngStyle]="{'fill': stylesMap?.get('foregroundColor') }"
|
|
25
25
|
viewBox="0 0 100 100" enable-background="new 0 0 0 0" xml:space="preserve">
|
|
26
|
-
<path fill="
|
|
26
|
+
<path fill="inherit" d="M73,50c0-12.7-10.3-23-23-23S27,37.3,27,50 M30.9,50c0-10.5,8.5-19.1,19.1-19.1S69.1,39.5,69.1,50">
|
|
27
27
|
<animateTransform
|
|
28
28
|
attributeName="transform"
|
|
29
29
|
attributeType="XML"
|
|
@@ -28,12 +28,23 @@
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
.back-button{
|
|
31
|
-
color: #777777
|
|
31
|
+
color: #777777;
|
|
32
|
+
|
|
33
|
+
&.disabled{
|
|
34
|
+
cursor: not-allowed;
|
|
35
|
+
pointer-events: none;
|
|
36
|
+
opacity: 0.6
|
|
37
|
+
}
|
|
32
38
|
}
|
|
33
39
|
|
|
34
|
-
|
|
40
|
+
.spinner-container{
|
|
41
|
+
width: inherit;
|
|
42
|
+
height: inherit;
|
|
43
|
+
display: flex;
|
|
44
|
+
align-items: center;
|
|
45
|
+
}
|
|
35
46
|
|
|
36
|
-
|
|
47
|
+
}
|
|
37
48
|
}
|
|
38
49
|
|
|
39
50
|
.c21-header-button{
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, ElementRef, EventEmitter, Input, OnInit, Output, SimpleChange, SimpleChanges, ViewChild, OnDestroy } from '@angular/core';
|
|
2
|
+
import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service';
|
|
3
|
+
import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance';
|
|
2
4
|
|
|
3
5
|
|
|
4
6
|
@Component({
|
|
@@ -7,20 +9,33 @@ import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild }
|
|
|
7
9
|
styleUrls: ['./confirm-close.component.scss']
|
|
8
10
|
})
|
|
9
11
|
export class ConfirmCloseComponent implements OnInit{
|
|
10
|
-
|
|
11
|
-
isLoadingActive: boolean
|
|
12
|
+
|
|
13
|
+
@Input() isLoadingActive: boolean;
|
|
14
|
+
@Input() conversationId: string;
|
|
12
15
|
|
|
13
16
|
@Input() translationMap: Map< string, string>;
|
|
14
17
|
@Input() stylesMap: Map<string, string>;
|
|
15
18
|
@Output() onDiaglogClosed = new EventEmitter<{type: string, data: any}>();
|
|
16
19
|
|
|
20
|
+
private logger: LoggerService = LoggerInstance.getInstance();
|
|
17
21
|
constructor() { }
|
|
18
22
|
|
|
19
23
|
ngOnInit(): void {
|
|
20
|
-
|
|
24
|
+
this.logger.log('[CONFIRM CLOSE MODAL] onInit', this.isLoadingActive, this.stylesMap);
|
|
21
25
|
// this.dialog.showModal();
|
|
22
26
|
}
|
|
23
27
|
|
|
28
|
+
ngOnChanges(changes: SimpleChanges){
|
|
29
|
+
if(changes &&
|
|
30
|
+
changes['conversationId'] &&
|
|
31
|
+
changes['conversationId'].previousValue !== undefined &&
|
|
32
|
+
(changes['conversationId'].previousValue !== changes['conversationId'].currentValue) &&
|
|
33
|
+
changes['conversationId'].currentValue
|
|
34
|
+
){
|
|
35
|
+
this.isLoadingActive = false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
24
39
|
ngAfterViewInit(){
|
|
25
40
|
}
|
|
26
41
|
|
package/src/app/utils/utils.ts
CHANGED
|
@@ -387,3 +387,48 @@ export function getUnique(arr, comp) {
|
|
|
387
387
|
// eliminate the dead keys & store unique objects
|
|
388
388
|
.filter(e => arr[e]).map(e => arr[e]);
|
|
389
389
|
}
|
|
390
|
+
|
|
391
|
+
export function checkAcceptedFile(fileType, fileUploadAccept ): boolean{
|
|
392
|
+
|
|
393
|
+
if (fileUploadAccept === '*/*') {
|
|
394
|
+
return true
|
|
395
|
+
}
|
|
396
|
+
// Dividi la stringa fileUploadAccept in un array di tipi accettati
|
|
397
|
+
const acceptedTypes = fileUploadAccept.split(',');
|
|
398
|
+
|
|
399
|
+
// Verifica se il tipo di file è accettato
|
|
400
|
+
return acceptedTypes.some((accept) => {
|
|
401
|
+
accept = accept.trim();
|
|
402
|
+
// Controlla per i tipi MIME con wildcard, come image/*
|
|
403
|
+
if (accept.endsWith('/*')) {
|
|
404
|
+
const baseMimeType = fileType.split('/')[0]; // Ottieni la parte principale del MIME type
|
|
405
|
+
return accept.replace('/*', '') === baseMimeType;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
// Controlla se l'accettazione è un MIME type esatto (come image/jpeg)
|
|
409
|
+
if (accept === fileType) {
|
|
410
|
+
return true;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
// Controlla per le estensioni di file specifiche come .pdf o .txt
|
|
414
|
+
return fileType === getMimeTypeFromExtension(accept);
|
|
415
|
+
});
|
|
416
|
+
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
function getMimeTypeFromExtension(extension: string): string {
|
|
420
|
+
// Rimuovi il punto dall'estensione e ottieni il MIME type
|
|
421
|
+
const mimeTypes: { [key: string]: string } = {
|
|
422
|
+
'.jpg': 'image/jpeg',
|
|
423
|
+
'.jpeg': 'image/jpeg',
|
|
424
|
+
'.png': 'image/png',
|
|
425
|
+
'.gif': 'image/gif',
|
|
426
|
+
'.pdf': 'application/pdf',
|
|
427
|
+
'.txt': 'text/plain',
|
|
428
|
+
'.doc': 'application/msword',
|
|
429
|
+
'.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
430
|
+
'.wav' : 'audio/wav'
|
|
431
|
+
// Aggiungi altri tipi MIME se necessario
|
|
432
|
+
};
|
|
433
|
+
return mimeTypes[extension] || '';
|
|
434
|
+
}
|
|
@@ -148,6 +148,9 @@
|
|
|
148
148
|
<meta property="og:image" content="https://tiledesk.com/wp-content/uploads/2022/12/6029654-02-min.png" />
|
|
149
149
|
<meta property="og:locale" content="en">
|
|
150
150
|
|
|
151
|
+
<link href="./tiledesk_widget_files/bootstrap.min.css" rel="stylesheet" type="text/css">
|
|
152
|
+
<link href="./tiledesk_widget_files/website-poly.min.css" rel="stylesheet" type="text/css">
|
|
153
|
+
|
|
151
154
|
|
|
152
155
|
<script type="application/javascript">
|
|
153
156
|
window.tiledeskSettings = {
|
|
@@ -307,11 +310,5 @@
|
|
|
307
310
|
<div id="preloader">
|
|
308
311
|
<div class="loader"></div>
|
|
309
312
|
</div>
|
|
310
|
-
|
|
311
|
-
<div>
|
|
312
|
-
<link href="./tiledesk_widget_files/bootstrap.min.css" rel="stylesheet" type="text/css">
|
|
313
|
-
<!-- <link href="./tiledesk_widget_files/font-awesome.min.css" rel="stylesheet" type="text/css"> -->
|
|
314
|
-
<link href="./tiledesk_widget_files/website-poly.min.css" rel="stylesheet" type="text/css">
|
|
315
|
-
</div>
|
|
316
313
|
</body>
|
|
317
314
|
</html>
|
|
@@ -438,10 +438,12 @@
|
|
|
438
438
|
<meta property="og:locale" content="en">
|
|
439
439
|
|
|
440
440
|
<link rel="icon" type="image/png" href="./tiledesk_widget_files/logo-short.png">
|
|
441
|
-
<link href="https://
|
|
441
|
+
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" rel="stylesheet">
|
|
442
|
+
<link href="./tiledesk_widget_files/bootstrap.min.css" rel="stylesheet" type="text/css">
|
|
443
|
+
<link href="./tiledesk_widget_files/website-poly.min.css" rel="stylesheet" type="text/css">
|
|
442
444
|
<script defer="" src="./tiledesk_widget_files/jquery.min.js"></script>
|
|
443
445
|
<script defer="" src="./tiledesk_widget_files/bootstrap.min.js"></script>
|
|
444
|
-
|
|
446
|
+
|
|
445
447
|
<!-- <script type="application/javascript">
|
|
446
448
|
window.tiledeskSettings = {
|
|
447
449
|
marginX: "100px",
|
|
@@ -592,7 +594,7 @@
|
|
|
592
594
|
}
|
|
593
595
|
|
|
594
596
|
window.onload = function() {
|
|
595
|
-
document.getElementById("tiledesk_widgetTitle").
|
|
597
|
+
document.getElementById("tiledesk_widgetTitle").value = tiledesk_widgetTitle;
|
|
596
598
|
}
|
|
597
599
|
|
|
598
600
|
|
|
@@ -712,15 +714,5 @@
|
|
|
712
714
|
</script>
|
|
713
715
|
|
|
714
716
|
<!-- Google Analytics -->
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
<div>
|
|
720
|
-
<link href="./tiledesk_widget_files/bootstrap.min.css" rel="stylesheet" type="text/css">
|
|
721
|
-
<!-- <link href="./tiledesk_widget_files/font-awesome.min.css" rel="stylesheet" type="text/css"> -->
|
|
722
|
-
<link href="./tiledesk_widget_files/website-poly.min.css" rel="stylesheet" type="text/css">
|
|
723
|
-
<!-- <link href="./tiledesk_widget_files/css" rel="stylesheet" type="text/css"> -->
|
|
724
|
-
</div>
|
|
725
717
|
</body>
|
|
726
718
|
</html>
|
|
@@ -469,6 +469,8 @@
|
|
|
469
469
|
|
|
470
470
|
<link rel="icon" type="image/png" href="./tiledesk_widget_files/logo-short.png">
|
|
471
471
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" rel="stylesheet">
|
|
472
|
+
<link href="./tiledesk_widget_files/bootstrap.min.css" rel="stylesheet" type="text/css">
|
|
473
|
+
<link href="./tiledesk_widget_files/website-poly.min.css" rel="stylesheet" type="text/css">
|
|
472
474
|
<script defer="" src="./tiledesk_widget_files/jquery.min.js"></script>
|
|
473
475
|
<script defer="" src="./tiledesk_widget_files/bootstrap.min.js"></script>
|
|
474
476
|
|
|
@@ -504,8 +506,8 @@
|
|
|
504
506
|
document.getElementById('events').scrollTop = document.getElementById('events').scrollHeight
|
|
505
507
|
}
|
|
506
508
|
|
|
507
|
-
document.getElementById("project_id").
|
|
508
|
-
document.getElementById("project_name").
|
|
509
|
+
document.getElementById("project_id").value = '"' + tiledesk_projectid + '"';
|
|
510
|
+
document.getElementById("project_name").value = project_name;
|
|
509
511
|
});
|
|
510
512
|
|
|
511
513
|
window.Tiledesk('onBeforeInit', function(event_data) {
|
|
@@ -518,7 +520,7 @@
|
|
|
518
520
|
|
|
519
521
|
var enbedJs = event_data.detail.appConfigs.enbedJs? event_data.detail.appConfigs.enbedJs : false;
|
|
520
522
|
document.getElementById("enbed").style.display = enbedJs? "inline-block": "none";
|
|
521
|
-
document.getElementById("base_url").
|
|
523
|
+
document.getElementById("base_url").value = enbedJs ? window.tiledesk.getBaseLocation() + '/launch.js': null;
|
|
522
524
|
|
|
523
525
|
baseUrlConsole = event_data.detail.appConfigs.dashboardUrl? event_data.detail.appConfigs.dashboardUrl : baseUrlConsole;
|
|
524
526
|
}
|
|
@@ -1444,8 +1446,8 @@
|
|
|
1444
1446
|
// console.log('project_name: ', project_name);
|
|
1445
1447
|
|
|
1446
1448
|
// window.onload = function() {
|
|
1447
|
-
// document.getElementById("project_id").
|
|
1448
|
-
// document.getElementById("project_name").
|
|
1449
|
+
// document.getElementById("project_id").value = '"' + tiledesk_projectid + '"';
|
|
1450
|
+
// document.getElementById("project_name").value = project_name;
|
|
1449
1451
|
// }
|
|
1450
1452
|
|
|
1451
1453
|
|
|
@@ -2616,15 +2618,5 @@
|
|
|
2616
2618
|
</script> -->
|
|
2617
2619
|
|
|
2618
2620
|
<!-- Google Analytics -->
|
|
2619
|
-
|
|
2620
|
-
|
|
2621
|
-
|
|
2622
|
-
|
|
2623
|
-
<div>
|
|
2624
|
-
<link href="./tiledesk_widget_files/bootstrap.min.css" rel="stylesheet" type="text/css">
|
|
2625
|
-
<!-- <link href="./tiledesk_widget_files/font-awesome.min.css" rel="stylesheet" type="text/css"> -->
|
|
2626
|
-
<link href="./tiledesk_widget_files/website-poly.min.css" rel="stylesheet" type="text/css">
|
|
2627
|
-
<!-- <link href="./tiledesk_widget_files/css" rel="stylesheet" type="text/css"> -->
|
|
2628
|
-
</div>
|
|
2629
2621
|
</body>
|
|
2630
2622
|
</html>
|
|
@@ -245,7 +245,10 @@
|
|
|
245
245
|
<meta property="og:locale" content="en">
|
|
246
246
|
|
|
247
247
|
<link rel="icon" type="image/png" href="./tiledesk_widget_files/logo-short.png">
|
|
248
|
-
<link href="https://
|
|
248
|
+
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css" rel="stylesheet">
|
|
249
|
+
<!-- <link href="./tiledesk_widget_files/font-awesome.min.css" rel="stylesheet" type="text/css"> -->
|
|
250
|
+
<link href="./tiledesk_widget_files/bootstrap.min.css" rel="stylesheet" type="text/css">
|
|
251
|
+
<link href="./tiledesk_widget_files/website-poly.min.css" rel="stylesheet" type="text/css">
|
|
249
252
|
<script defer="" src="./tiledesk_widget_files/jquery.min.js"></script>
|
|
250
253
|
<script defer="" src="./tiledesk_widget_files/bootstrap.min.js"></script>
|
|
251
254
|
|
|
@@ -297,7 +300,7 @@
|
|
|
297
300
|
|
|
298
301
|
var enbedJs = event_data.detail.appConfigs.enbedJs? event_data.detail.appConfigs.enbedJs : false;
|
|
299
302
|
document.getElementById("enbed").style.display = enbedJs? "inline-block": "none";
|
|
300
|
-
document.getElementById("base_url").
|
|
303
|
+
document.getElementById("base_url").value = enbedJs ? window.tiledesk.getBaseLocation() + '/launch.js': null;
|
|
301
304
|
|
|
302
305
|
baseUrlConsole = event_data.detail.appConfigs.dashboardUrl? event_data.detail.appConfigs.dashboardUrl : baseUrlConsole;
|
|
303
306
|
}
|
|
@@ -436,8 +439,8 @@
|
|
|
436
439
|
// console.log('project_name: ', project_name);
|
|
437
440
|
|
|
438
441
|
window.onload = function() {
|
|
439
|
-
document.getElementById("project_id").
|
|
440
|
-
document.getElementById("project_name").
|
|
442
|
+
document.getElementById("project_id").value = '"' + tiledesk_projectid + '"';
|
|
443
|
+
document.getElementById("project_name").value = project_name;
|
|
441
444
|
|
|
442
445
|
if(role !== 'agent'){
|
|
443
446
|
document.getElementById("testPageButton").style.display = 'block'
|
|
@@ -629,14 +632,5 @@
|
|
|
629
632
|
</script> -->
|
|
630
633
|
|
|
631
634
|
<!-- Google Analytics -->
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
<div>
|
|
637
|
-
<link href="./tiledesk_widget_files/bootstrap.min.css" rel="stylesheet" type="text/css">
|
|
638
|
-
<!-- <link href="./tiledesk_widget_files/font-awesome.min.css" rel="stylesheet" type="text/css"> -->
|
|
639
|
-
<link href="./tiledesk_widget_files/website-poly.min.css" rel="stylesheet" type="text/css">
|
|
640
|
-
</div>
|
|
641
635
|
</body>
|
|
642
636
|
</html>
|