@chat21/chat21-ionic 3.0.60 → 3.0.61-rc14

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 (162) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/README.md +2 -0
  3. package/angular.json +4 -0
  4. package/config.xml +5 -5
  5. package/deploy_pre.sh +10 -10
  6. package/deploy_prod.sh +5 -1
  7. package/env.sample +3 -1
  8. package/package.json +13 -7
  9. package/resources/{Android → android}/icon/drawable-hdpi-icon.png +0 -0
  10. package/resources/{Android → android}/icon/drawable-ldpi-icon.png +0 -0
  11. package/resources/{Android → android}/icon/drawable-mdpi-icon.png +0 -0
  12. package/resources/{Android → android}/icon/drawable-xhdpi-icon.png +0 -0
  13. package/resources/{Android → android}/icon/drawable-xxhdpi-icon.png +0 -0
  14. package/resources/{Android → android}/icon/drawable-xxxhdpi-icon.png +0 -0
  15. package/resources/{Android → android}/icon.png +0 -0
  16. package/resources/{Android → android}/splash/drawable-land-hdpi-screen.png +0 -0
  17. package/resources/{Android → android}/splash/drawable-land-ldpi-screen.png +0 -0
  18. package/resources/{Android → android}/splash/drawable-land-mdpi-screen.png +0 -0
  19. package/resources/{Android → android}/splash/drawable-land-xhdpi-screen.png +0 -0
  20. package/resources/{Android → android}/splash/drawable-land-xxhdpi-screen.png +0 -0
  21. package/resources/{Android → android}/splash/drawable-land-xxxhdpi-screen.png +0 -0
  22. package/resources/{Android → android}/splash/drawable-port-hdpi-screen.png +0 -0
  23. package/resources/{Android → android}/splash/drawable-port-ldpi-screen.png +0 -0
  24. package/resources/{Android → android}/splash/drawable-port-mdpi-screen.png +0 -0
  25. package/resources/{Android → android}/splash/drawable-port-xhdpi-screen.png +0 -0
  26. package/resources/{Android → android}/splash/drawable-port-xxhdpi-screen.png +0 -0
  27. package/resources/{Android → android}/splash/drawable-port-xxxhdpi-screen.png +0 -0
  28. package/resources/{Android → android}/splash.png +0 -0
  29. package/src/app/app-routing.module.ts +15 -0
  30. package/src/app/app.component.html +14 -4
  31. package/src/app/app.component.scss +18 -1
  32. package/src/app/app.component.ts +50 -16
  33. package/src/app/app.module.ts +12 -3
  34. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +23 -5
  35. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +142 -49
  36. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +101 -18
  37. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +20 -36
  38. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +10 -0
  39. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +35 -40
  40. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +7 -2
  41. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +103 -12
  42. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +39 -36
  43. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +7 -1
  44. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +148 -63
  45. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +59 -22
  46. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +32 -9
  47. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +102 -23
  48. package/src/app/components/ddp-header/ddp-header.component.html +20 -6
  49. package/src/app/components/ddp-header/ddp-header.component.scss +4 -0
  50. package/src/app/components/ddp-header/ddp-header.component.ts +104 -10
  51. package/src/app/components/project-item/project-item.component.html +8 -7
  52. package/src/app/components/project-item/project-item.component.scss +7 -2
  53. package/src/app/components/project-item/project-item.component.ts +15 -2
  54. package/src/app/components/sidebar/sidebar.component.html +275 -0
  55. package/src/app/components/sidebar/sidebar.component.scss +79 -0
  56. package/src/app/components/sidebar/sidebar.component.spec.ts +24 -0
  57. package/src/app/components/sidebar/sidebar.component.ts +539 -0
  58. package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +117 -0
  59. package/src/app/components/sidebar-user-details/sidebar-user-details.component.scss +330 -0
  60. package/src/app/components/sidebar-user-details/sidebar-user-details.component.spec.ts +24 -0
  61. package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +490 -0
  62. package/src/app/pages/conversation-detail/conversation-detail.module.ts +6 -1
  63. package/src/app/pages/conversation-detail/conversation-detail.page.html +20 -10
  64. package/src/app/pages/conversation-detail/conversation-detail.page.scss +28 -0
  65. package/src/app/pages/conversation-detail/conversation-detail.page.ts +1132 -784
  66. package/src/app/pages/conversations-list/conversations-list.module.ts +2 -1
  67. package/src/app/pages/conversations-list/conversations-list.page.html +18 -9
  68. package/src/app/pages/conversations-list/conversations-list.page.scss +9 -1
  69. package/src/app/pages/conversations-list/conversations-list.page.ts +738 -425
  70. package/src/app/pages/create-canned-response/create-canned-response-routing.module.ts +17 -0
  71. package/src/app/pages/create-canned-response/create-canned-response.module.ts +30 -0
  72. package/src/app/pages/create-canned-response/create-canned-response.page.html +150 -0
  73. package/src/app/pages/create-canned-response/create-canned-response.page.scss +55 -0
  74. package/src/app/pages/create-canned-response/create-canned-response.page.spec.ts +24 -0
  75. package/src/app/pages/create-canned-response/create-canned-response.page.ts +319 -0
  76. package/src/app/pages/create-requester/create-requester-routing.module.ts +17 -0
  77. package/src/app/pages/create-requester/create-requester.module.ts +28 -0
  78. package/src/app/pages/create-requester/create-requester.page.html +67 -0
  79. package/src/app/pages/create-requester/create-requester.page.scss +30 -0
  80. package/src/app/pages/create-requester/create-requester.page.spec.ts +24 -0
  81. package/src/app/pages/create-requester/create-requester.page.ts +138 -0
  82. package/src/app/pages/create-ticket/create-ticket-routing.module.ts +17 -0
  83. package/src/app/pages/create-ticket/create-ticket.module.ts +28 -0
  84. package/src/app/pages/create-ticket/create-ticket.page.html +171 -0
  85. package/src/app/pages/create-ticket/create-ticket.page.scss +52 -0
  86. package/src/app/pages/create-ticket/create-ticket.page.spec.ts +24 -0
  87. package/src/app/pages/create-ticket/create-ticket.page.ts +432 -0
  88. package/src/app/pages/loader-preview/loader-preview.page.ts +226 -166
  89. package/src/app/pages/profile-info/profile-info.page.html +4 -4
  90. package/src/app/pages/profile-info/profile-info.page.scss +13 -2
  91. package/src/app/pages/profile-info/profile-info.page.ts +23 -21
  92. package/src/app/services/tiledesk/tiledesk.service.ts +209 -0
  93. package/src/app/shared/shared.module.ts +14 -1
  94. package/src/app/utils/scrollbar-theme.directive.ts +58 -24
  95. package/src/assets/i18n/de.json +69 -13
  96. package/src/assets/i18n/en.json +62 -6
  97. package/src/assets/i18n/es.json +61 -5
  98. package/src/assets/i18n/fr.json +64 -8
  99. package/src/assets/i18n/it.json +61 -5
  100. package/src/assets/i18n/pt.json +61 -5
  101. package/src/assets/i18n/ru.json +62 -6
  102. package/src/assets/i18n/sr.json +265 -0
  103. package/src/assets/i18n/tr.json +61 -5
  104. package/src/assets/images/default-avatar-x-select.png +0 -0
  105. package/src/assets/images/language_flag/ar.png +0 -0
  106. package/src/assets/images/language_flag/bg.png +0 -0
  107. package/src/assets/images/language_flag/ca.png +0 -0
  108. package/src/assets/images/language_flag/cs.png +0 -0
  109. package/src/assets/images/language_flag/da.png +0 -0
  110. package/src/assets/images/language_flag/de.png +0 -0
  111. package/src/assets/images/language_flag/el.png +0 -0
  112. package/src/assets/images/language_flag/en.png +0 -0
  113. package/src/assets/images/language_flag/es.png +0 -0
  114. package/src/assets/images/language_flag/fa.png +0 -0
  115. package/src/assets/images/language_flag/fi.png +0 -0
  116. package/src/assets/images/language_flag/fr.png +0 -0
  117. package/src/assets/images/language_flag/he.png +0 -0
  118. package/src/assets/images/language_flag/hi.png +0 -0
  119. package/src/assets/images/language_flag/hr.png +0 -0
  120. package/src/assets/images/language_flag/hu.png +0 -0
  121. package/src/assets/images/language_flag/id.png +0 -0
  122. package/src/assets/images/language_flag/it.png +0 -0
  123. package/src/assets/images/language_flag/ja.png +0 -0
  124. package/src/assets/images/language_flag/ko.png +0 -0
  125. package/src/assets/images/language_flag/ml-IN.png +0 -0
  126. package/src/assets/images/language_flag/ne-NP.png +0 -0
  127. package/src/assets/images/language_flag/nl.png +0 -0
  128. package/src/assets/images/language_flag/no.png +0 -0
  129. package/src/assets/images/language_flag/pl.png +0 -0
  130. package/src/assets/images/language_flag/pt-BR.png +0 -0
  131. package/src/assets/images/language_flag/pt.png +0 -0
  132. package/src/assets/images/language_flag/ro.png +0 -0
  133. package/src/assets/images/language_flag/ru.png +0 -0
  134. package/src/assets/images/language_flag/sk.png +0 -0
  135. package/src/assets/images/language_flag/sl.png +0 -0
  136. package/src/assets/images/language_flag/sr.png +0 -0
  137. package/src/assets/images/language_flag/sv-SE.png +0 -0
  138. package/src/assets/images/language_flag/ta.png +0 -0
  139. package/src/assets/images/language_flag/th.png +0 -0
  140. package/src/assets/images/language_flag/tr.png +0 -0
  141. package/src/assets/images/language_flag/uk.png +0 -0
  142. package/src/assets/images/language_flag/vi.png +0 -0
  143. package/src/assets/images/language_flag/zh-CN.png +0 -0
  144. package/src/assets/images/language_flag/zh-TW.png +0 -0
  145. package/src/assets/images/no_image_user.png +0 -0
  146. package/src/assets/images/priority_icons/high.svg +3 -0
  147. package/src/assets/images/priority_icons/high_v2.svg +14 -0
  148. package/src/assets/images/priority_icons/low.svg +10 -0
  149. package/src/assets/images/priority_icons/low_v2.svg +14 -0
  150. package/src/assets/images/priority_icons/medium.svg +16 -0
  151. package/src/assets/images/priority_icons/medium_v2.svg +11 -0
  152. package/src/assets/images/priority_icons/urgent.svg +4 -0
  153. package/src/assets/images/priority_icons/urgent_v2.svg +16 -0
  154. package/src/assets/tiledesk-solo-logo.png +0 -0
  155. package/src/chat-config-pre-test.json +3 -1
  156. package/src/chat-config-template.json +3 -1
  157. package/src/chat-config.json +4 -2
  158. package/src/chat21-core/utils/constants.ts +6 -1
  159. package/src/global.scss +405 -3
  160. package/src/index.html +7 -0
  161. package/publish_pre.sh +0 -33
  162. package/publish_prod.sh +0 -33
@@ -1,11 +1,12 @@
1
- import { Component, OnInit, Input, Output, ViewChild, ElementRef, EventEmitter, HostListener, AfterViewInit } from '@angular/core';
2
- import { TYPE_MSG_IMAGE } from 'src/chat21-core/utils/constants';
3
- import { NavParams, ModalController } from '@ionic/angular';
4
- import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
1
+ import {
2
+ Component, OnInit, Input, ViewChild, ElementRef, HostListener, AfterViewInit} from '@angular/core'
3
+ import { TYPE_MSG_IMAGE } from 'src/chat21-core/utils/constants'
4
+ import { ModalController } from '@ionic/angular'
5
+ import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser'
5
6
 
6
7
  // Logger
7
- import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service';
8
- import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance';
8
+ import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service'
9
+ import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance'
9
10
 
10
11
  @Component({
11
12
  selector: 'app-loader-preview',
@@ -13,103 +14,138 @@ import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance'
13
14
  styleUrls: ['./loader-preview.page.scss'],
14
15
  })
15
16
  export class LoaderPreviewPage implements OnInit, AfterViewInit {
16
- @ViewChild('thumbnailsPreview', { static: false }) thumbnailsPreview: ElementRef;
17
- @ViewChild('messageTextArea', { static: false }) messageTextArea: ElementRef;
17
+ @ViewChild('thumbnailsPreview', { static: false })
18
+ thumbnailsPreview: ElementRef
19
+ @ViewChild('messageTextArea', { static: false }) messageTextArea: ElementRef
18
20
  @ViewChild('imageCaptionTexarea', { static: false }) imageCaptionTexarea: any
19
21
  // @Output() eventSendMessage = new EventEmitter<object>();
20
- @Input() files: [any];
21
-
22
- public arrayFiles = [];
23
- public fileSelected: any;
24
- public messageString: string;
25
- public heightPreviewArea = '183';
26
- private selectedFiles: any;
27
- srcData: SafeResourceUrl;
28
- public file_extension: string;
29
- public file_name: string;
30
- public file_name_ellipsis_the_middle: string;
31
- private logger: LoggerService = LoggerInstance.getInstance();
22
+ @Input() files: [any]
23
+ @Input() enableBackdropDismiss: any
24
+ @Input() msg: string
25
+
26
+ public arrayFiles = []
27
+ public fileSelected: any
28
+ public messageString: string
29
+ public heightPreviewArea = '183'
30
+ private selectedFiles: any
31
+ srcData: SafeResourceUrl
32
+ public file_extension: string
33
+ public file_name: string
34
+ public file_name_ellipsis_the_middle: string
35
+ private logger: LoggerService = LoggerInstance.getInstance()
32
36
 
33
37
  constructor(
34
38
  public viewCtrl: ModalController,
35
- private sanitizer: DomSanitizer
36
- ) { }
39
+ private sanitizer: DomSanitizer,
40
+ ) {}
37
41
 
38
42
  ngOnInit() {
39
- this.logger.log('[LOADER-PREVIEW-PAGE] Hello!');
43
+ this.logger.log('[LOADER-PREVIEW-PAGE] Hello!')
40
44
  // tslint:disable-next-line: prefer-for-of
41
- this.selectedFiles = this.files;
45
+ this.selectedFiles = this.files
42
46
  for (let i = 0; i < this.files.length; i++) {
43
- this.readAsDataURL(this.files[i]);
47
+ this.readAsDataURL(this.files[i])
44
48
  //this.fileChange(this.files[i]);
45
49
  }
46
50
  }
47
51
  ngAfterViewInit() {
52
+ this.logger.log('[LOADER-PREVIEW-PAGE] this.files', this.files)
53
+ this.logger.log(
54
+ '[LOADER-PREVIEW-PAGE] enableBackdropDismiss',
55
+ this.enableBackdropDismiss,
56
+ )
57
+ this.logger.log('[LOADER-PREVIEW-PAGE] msg', this.msg)
58
+ if (this.msg) {
59
+ this.messageString = this.msg
60
+ }
61
+
48
62
  if (this.imageCaptionTexarea) {
49
63
  setTimeout(() => {
50
64
  // this.logger.log("[CONVS-DETAIL][MSG-TEXT-AREA] set focus on ", this.messageTextArea);
51
65
  // Keyboard.show() // for android
52
- this.logger.log("[CONVS-DETAIL][MSG-TEXT-AREA] ngAfterViewInit this.imageCaptionTexarea ", this.imageCaptionTexarea);
53
- this.imageCaptionTexarea.setFocus();
54
-
55
- }, 1000); //a least 150ms.
66
+ this.logger.log(
67
+ '[CONVS-DETAIL][MSG-TEXT-AREA] ngAfterViewInit this.imageCaptionTexarea ',
68
+ this.imageCaptionTexarea,
69
+ )
70
+ this.imageCaptionTexarea.setFocus()
71
+ }, 1000) //a least 150ms.
56
72
  }
57
73
  }
58
74
 
59
75
  ionViewDidEnter() {
60
- this.logger.log('[LOADER-PREVIEW-PAGE] ionViewDidEnter thumbnailsPreview.nativeElement.offsetHeight', this.thumbnailsPreview.nativeElement.offsetHeight);
61
- this.calculateHeightPreviewArea();
76
+ this.logger.log(
77
+ '[LOADER-PREVIEW-PAGE] ionViewDidEnter thumbnailsPreview.nativeElement.offsetHeight',
78
+ this.thumbnailsPreview.nativeElement.offsetHeight,
79
+ )
80
+ this.calculateHeightPreviewArea()
62
81
  }
63
82
 
64
83
  readAsDataURL(file: any) {
65
- this.logger.log('[LOADER-PREVIEW-PAGE] readAsDataURL file', file);
84
+ this.logger.log('[LOADER-PREVIEW-PAGE] readAsDataURL file', file)
66
85
  // ---------------------------------------------------------------------
67
86
  // USE CASE IMAGE
68
87
  // ---------------------------------------------------------------------
69
- if (file.type.startsWith("image") && (!file.type.includes('svg'))) {
70
-
71
- this.logger.log('[LOADER-PREVIEW-PAGE] - readAsDataURL - USE CASE IMAGE file TYPE', file.type);
72
- const reader = new FileReader();
88
+ if (file.type.startsWith('image') && !file.type.includes('svg')) {
89
+ this.logger.log(
90
+ '[LOADER-PREVIEW-PAGE] - readAsDataURL - USE CASE IMAGE file TYPE',
91
+ file.type,
92
+ )
93
+ const reader = new FileReader()
73
94
  reader.onloadend = (evt) => {
74
- const img = reader.result.toString();
75
- this.logger.log('[LOADER-PREVIEW-PAGE] - readAsDataURL - FileReader success ', img);
76
- this.arrayFiles.push(img);
95
+ const img = reader.result.toString()
96
+ this.logger.log(
97
+ '[LOADER-PREVIEW-PAGE] - readAsDataURL - FileReader success ',
98
+ img,
99
+ )
100
+ this.arrayFiles.push(img)
77
101
  if (!this.fileSelected) {
78
- this.fileSelected = img;
102
+ this.fileSelected = img
79
103
  }
80
- };
104
+ }
81
105
 
82
- reader.readAsDataURL(file);
106
+ reader.readAsDataURL(file)
83
107
  // ---------------------------------------------------------------------
84
- // USE CASE SVG
108
+ // USE CASE SVG
85
109
  // ---------------------------------------------------------------------
86
- } else if (file.type.startsWith("image") && (file.type.includes('svg'))) {
110
+ } else if (file.type.startsWith('image') && file.type.includes('svg')) {
87
111
  // this.previewFiles(file)
88
112
 
89
- this.logger.log('[LOADER-PREVIEW-PAGE] - readAsDataURL file TYPE', file.type);
90
- this.logger.log('[LOADER-PREVIEW-PAGE] - readAsDataURL file ', file);
91
- const preview = document.querySelector('#img-preview') as HTMLImageElement;
92
-
93
-
94
- const reader = new FileReader();
95
- const that = this;
96
- reader.addEventListener("load", function () {
97
- // convert image file to base64 string
98
- // const img = reader.result as string;
99
- const img = reader.result.toString();
100
- that.logger.log('FIREBASE-UPLOAD USE CASE SVG LoaderPreviewPage readAsDataURL img ', img);
101
-
102
- // that.fileSelected = that.sanitizer.bypassSecurityTrustResourceUrl(img);
103
-
104
- that.arrayFiles.push(that.sanitizer.bypassSecurityTrustResourceUrl(img));
105
- if (!that.fileSelected) {
106
- that.fileSelected = that.sanitizer.bypassSecurityTrustResourceUrl(img);
107
- }
108
- }, false);
113
+ this.logger.log(
114
+ '[LOADER-PREVIEW-PAGE] - readAsDataURL file TYPE',
115
+ file.type,
116
+ )
117
+ this.logger.log('[LOADER-PREVIEW-PAGE] - readAsDataURL file ', file)
118
+ const preview = document.querySelector('#img-preview') as HTMLImageElement
119
+
120
+ const reader = new FileReader()
121
+ const that = this
122
+ reader.addEventListener(
123
+ 'load',
124
+ function () {
125
+ // convert image file to base64 string
126
+ // const img = reader.result as string;
127
+ const img = reader.result.toString()
128
+ that.logger.log(
129
+ 'FIREBASE-UPLOAD USE CASE SVG LoaderPreviewPage readAsDataURL img ',
130
+ img,
131
+ )
132
+
133
+ // that.fileSelected = that.sanitizer.bypassSecurityTrustResourceUrl(img);
134
+
135
+ that.arrayFiles.push(
136
+ that.sanitizer.bypassSecurityTrustResourceUrl(img),
137
+ )
138
+ if (!that.fileSelected) {
139
+ that.fileSelected = that.sanitizer.bypassSecurityTrustResourceUrl(
140
+ img,
141
+ )
142
+ }
143
+ },
144
+ false,
145
+ )
109
146
 
110
147
  if (file) {
111
-
112
- reader.readAsDataURL(file);
148
+ reader.readAsDataURL(file)
113
149
  }
114
150
 
115
151
  // ---------------------------------------------------------------------
@@ -117,13 +153,27 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
117
153
  // ---------------------------------------------------------------------
118
154
  // } else if (file.type.startsWith("application") || file.type.startsWith("video") || file.type.startsWith("audio") ) {
119
155
  } else {
120
- this.logger.log('[LOADER-PREVIEW-PAGE] - readAsDataURL - USE CASE FILE - FILE ', file);
121
- this.logger.log('[LOADER-PREVIEW-PAGE] - readAsDataURL - USE CASE FILE - FILE TYPE', file.type);
122
- this.file_extension = file.name.substring(file.name.lastIndexOf('.') + 1, file.name.length) || file.name;
123
- this.logger.log('[LOADER-PREVIEW-PAGE] - readAsDataURL - USE CASE FILE - FILE EXTENSION', this.file_extension);
156
+ this.logger.log(
157
+ '[LOADER-PREVIEW-PAGE] - readAsDataURL - USE CASE FILE - FILE ',
158
+ file,
159
+ )
160
+ this.logger.log(
161
+ '[LOADER-PREVIEW-PAGE] - readAsDataURL - USE CASE FILE - FILE TYPE',
162
+ file.type,
163
+ )
164
+ this.file_extension =
165
+ file.name.substring(file.name.lastIndexOf('.') + 1, file.name.length) ||
166
+ file.name
167
+ this.logger.log(
168
+ '[LOADER-PREVIEW-PAGE] - readAsDataURL - USE CASE FILE - FILE EXTENSION',
169
+ this.file_extension,
170
+ )
124
171
  this.file_name = file.name
125
172
  this.file_name_ellipsis_the_middle = this.start_and_end(file.name)
126
- this.logger.log('[LOADER-PREVIEW-PAGE] - readAsDataURL - USE CASE FILE - FILE NAME', this.file_name);
173
+ this.logger.log(
174
+ '[LOADER-PREVIEW-PAGE] - readAsDataURL - USE CASE FILE - FILE NAME',
175
+ this.file_name,
176
+ )
127
177
  // if (file.type) {
128
178
  // const file_type_array = file.type.split('/');
129
179
  // this.logger.log('FIREBASE-UPLOAD USE CASE FILE LoaderPreviewPage readAsDataURL file_type_array', file_type_array);
@@ -132,38 +182,40 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
132
182
  // this.file_type = file.name.substring(file.name.lastIndexOf('.')+1, file.name.length) || file.name;
133
183
 
134
184
  // }
135
- this.createFile();
185
+ this.createFile()
136
186
  }
137
187
  }
138
188
 
139
189
  start_and_end(str) {
140
190
  if (str.length > 70) {
141
- return str.substr(0, 20) + '...' + str.substr(str.length - 10, str.length);
191
+ return str.substr(0, 20) + '...' + str.substr(str.length - 10, str.length)
142
192
  }
143
- return str;
193
+ return str
144
194
  }
145
195
  // file-alt-solid.png
146
196
  async createFile() {
147
- let response = await fetch('./assets/images/file-alt-solid.png');
148
- let data = await response.blob();
197
+ let response = await fetch('./assets/images/file-alt-solid.png')
198
+ let data = await response.blob()
149
199
  let metadata = {
150
- type: 'image/png'
151
- };
152
- let file = new File([data], "test.png", metadata);
153
- this.logger.log('[LOADER-PREVIEW-PAGE] - createFile file - file', file);
154
- const reader = new FileReader();
200
+ type: 'image/png',
201
+ }
202
+ let file = new File([data], 'test.png', metadata)
203
+ this.logger.log('[LOADER-PREVIEW-PAGE] - createFile file - file', file)
204
+ const reader = new FileReader()
155
205
  reader.onloadend = (evt) => {
156
- const img = reader.result.toString();
157
- this.logger.log('[LOADER-PREVIEW-PAGE] - createFile file - FileReader success img', img);
158
- this.arrayFiles.push(img);
206
+ const img = reader.result.toString()
207
+ this.logger.log(
208
+ '[LOADER-PREVIEW-PAGE] - createFile file - FileReader success img',
209
+ img,
210
+ )
211
+ this.arrayFiles.push(img)
159
212
  if (!this.fileSelected) {
160
- this.fileSelected = img;
213
+ this.fileSelected = img
161
214
  }
162
- };
163
- reader.readAsDataURL(file);
215
+ }
216
+ reader.readAsDataURL(file)
164
217
  }
165
218
 
166
-
167
219
  // for svg
168
220
 
169
221
  // previewFiles(file) {
@@ -174,7 +226,6 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
174
226
  // this.readAndPreview(file, preview)
175
227
  // }
176
228
 
177
-
178
229
  // readAndPreview(file, preview) {
179
230
  // this.logger.log('LoaderPreviewPage readAsDataURL preview HERE 1');
180
231
  // // Make sure `file.name` matches our extensions criteria
@@ -201,51 +252,52 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
201
252
 
202
253
  // }
203
254
 
204
-
205
- // NOT USED
255
+ // NOT USED
206
256
  fileChange(file) {
207
- this.logger.log('fileChange');
208
- const that = this;
257
+ this.logger.log('fileChange')
258
+ const that = this
209
259
  if (file) {
210
- const nameImg = file.name;
211
- const typeFile = file.type;
212
- this.logger.log('nameImg: ', nameImg);
213
- this.logger.log('typeFile: ', typeFile);
214
-
215
- const reader = new FileReader();
216
- reader.addEventListener('load', function () {
217
- const img = reader.result.toString();
218
- that.logger.log('FileReader success');
219
- that.arrayFiles.push(img);
220
- if (!that.fileSelected) {
221
- that.fileSelected = img;
222
- }
223
-
224
- if (typeFile.indexOf('image') !== -1) {
225
- const file4Load = new Image;
226
- file4Load.src = reader.result.toString();
227
- file4Load.title = nameImg;
228
- file4Load.onload = function () {
229
- that.logger.log('that.file4Load: ', file4Load);
230
- //that.arrayFiles.push(file4Load);
231
- const uid = file4Load.src.substring(file4Load.src.length - 16);
232
- const metadata = {
233
- 'name': file4Load.title,
234
- 'src': file4Load.src,
235
- 'width': file4Load.width,
236
- 'height': file4Load.height,
237
- 'type': typeFile,
238
- 'uid': uid
239
- };
240
- // const type_msg = 'image';
241
- // 1 - invio messaggio
242
- //that.viewCtrl.dismiss({fileSelected: file4Load, messageString: that.messageString});
243
- //that.addLocalMessage(metadata, type_msg);
244
- // 2 - carico immagine
245
- //that.uploadSingle(metadata, type_msg);
246
- };
247
- }
248
- /*
260
+ const nameImg = file.name
261
+ const typeFile = file.type
262
+ this.logger.log('nameImg: ', nameImg)
263
+ this.logger.log('typeFile: ', typeFile)
264
+
265
+ const reader = new FileReader()
266
+ reader.addEventListener(
267
+ 'load',
268
+ function () {
269
+ const img = reader.result.toString()
270
+ that.logger.log('FileReader success')
271
+ that.arrayFiles.push(img)
272
+ if (!that.fileSelected) {
273
+ that.fileSelected = img
274
+ }
275
+
276
+ if (typeFile.indexOf('image') !== -1) {
277
+ const file4Load = new Image()
278
+ file4Load.src = reader.result.toString()
279
+ file4Load.title = nameImg
280
+ file4Load.onload = function () {
281
+ that.logger.log('that.file4Load: ', file4Load)
282
+ //that.arrayFiles.push(file4Load);
283
+ const uid = file4Load.src.substring(file4Load.src.length - 16)
284
+ const metadata = {
285
+ name: file4Load.title,
286
+ src: file4Load.src,
287
+ width: file4Load.width,
288
+ height: file4Load.height,
289
+ type: typeFile,
290
+ uid: uid,
291
+ }
292
+ // const type_msg = 'image';
293
+ // 1 - invio messaggio
294
+ //that.viewCtrl.dismiss({fileSelected: file4Load, messageString: that.messageString});
295
+ //that.addLocalMessage(metadata, type_msg);
296
+ // 2 - carico immagine
297
+ //that.uploadSingle(metadata, type_msg);
298
+ }
299
+ }
300
+ /*
249
301
  else if (typeFile.indexOf('application') !== -1) {
250
302
  const type_msg = 'file';
251
303
  const file = that.selectedFiles.item(0);
@@ -261,29 +313,34 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
261
313
  that.uploadSingle(metadata, type_msg);
262
314
  }
263
315
  */
264
- }, false);
316
+ },
317
+ false,
318
+ )
265
319
  if (file) {
266
- reader.readAsDataURL(file);
320
+ reader.readAsDataURL(file)
267
321
  }
268
322
  }
269
323
  }
270
324
 
271
325
  calculateHeightPreviewArea() {
272
- const heightThumbnailsPreview = this.thumbnailsPreview.nativeElement.offsetHeight;
273
- const heightMessageTextArea = this.messageTextArea.nativeElement.offsetHeight;
274
- this.heightPreviewArea = (heightMessageTextArea + heightThumbnailsPreview).toString();
326
+ const heightThumbnailsPreview = this.thumbnailsPreview.nativeElement
327
+ .offsetHeight
328
+ const heightMessageTextArea = this.messageTextArea.nativeElement
329
+ .offsetHeight
330
+ this.heightPreviewArea = (
331
+ heightMessageTextArea + heightThumbnailsPreview
332
+ ).toString()
275
333
  // this.logger.log('heightThumbnailsPreview', heightThumbnailsPreview);
276
334
  // this.logger.log('heightMessageTextArea', this.messageTextArea);
277
335
  // this.logger.log('heightPreviewArea', this.heightPreviewArea);
278
336
  }
279
337
 
280
- uploadImages() { }
281
-
338
+ uploadImages() {}
282
339
 
283
340
  /** */
284
341
  onChangeTextArea(e: any) {
285
- this.logger.log('onChangeTextArea', e.target.clientHeight);
286
- this.calculateHeightPreviewArea();
342
+ this.logger.log('onChangeTextArea', e.target.clientHeight)
343
+ this.calculateHeightPreviewArea()
287
344
  // try {
288
345
  // let height: number = e.target.offsetHeight;
289
346
  // if (height < 37 ) {
@@ -297,20 +354,18 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
297
354
 
298
355
  /** */
299
356
  onSelectImage(file: any) {
300
- this.fileSelected = file;
357
+ this.fileSelected = file
301
358
  }
302
359
 
303
360
  @HostListener('document:keydown', ['$event'])
304
361
  handleKeyboardEvent(event: KeyboardEvent) {
305
362
  if (event.key === 'Enter') {
306
-
307
363
  this.onSendMessage()
308
364
  }
309
-
310
365
  }
311
366
 
312
367
  pressedOnKeyboard(e: any, text: string) {
313
- this.logger.log('[LOADER-PREVIEW-PAGE] pressedOnKeyboard - event:: ', e);
368
+ this.logger.log('[LOADER-PREVIEW-PAGE] pressedOnKeyboard - event:: ', e)
314
369
  // const message = e.target.textContent.trim();
315
370
  // if (e.inputType === 'insertLineBreak' && message === '') {
316
371
  // this.messageString = '';
@@ -322,32 +377,37 @@ export class LoaderPreviewPage implements OnInit, AfterViewInit {
322
377
  this.onSendMessage()
323
378
  }
324
379
 
325
-
326
-
327
380
  /** */
328
381
  onSendMessage() {
329
- this.logger.log('[LOADER-PREVIEW-PAGE] onSendMessage messageString:', this.messageString);
330
- let file = this.selectedFiles.item(0);
331
- const file4Load = new Image;
332
- const nameImg = file.name;
333
- const typeFile = file.type;
334
-
335
- file4Load.src = this.fileSelected;
336
- file4Load.title = nameImg;
337
- const uid = file4Load.src.substring(file4Load.src.length - 16);
382
+ this.logger.log(
383
+ '[LOADER-PREVIEW-PAGE] onSendMessage messageString:',
384
+ this.messageString,
385
+ )
386
+ let file = this.selectedFiles.item(0)
387
+ const file4Load = new Image()
388
+ const nameImg = file.name
389
+ const typeFile = file.type
390
+
391
+ file4Load.src = this.fileSelected
392
+ file4Load.title = nameImg
393
+ const uid = file4Load.src.substring(file4Load.src.length - 16)
338
394
  const metadata = {
339
- 'name': file4Load.title,
340
- 'src': file4Load.src,
341
- 'width': file4Load.width,
342
- 'height': file4Load.height,
343
- 'type': typeFile,
344
- 'uid': uid
345
- };
346
- this.viewCtrl.dismiss({ fileSelected: file, messageString: this.messageString, metadata: metadata, type: TYPE_MSG_IMAGE });
347
-
395
+ name: file4Load.title,
396
+ src: file4Load.src,
397
+ width: file4Load.width,
398
+ height: file4Load.height,
399
+ type: typeFile,
400
+ uid: uid,
401
+ }
402
+ this.viewCtrl.dismiss({
403
+ fileSelected: file,
404
+ messageString: this.messageString,
405
+ metadata: metadata,
406
+ type: TYPE_MSG_IMAGE,
407
+ })
348
408
  }
349
409
 
350
410
  async onClose() {
351
- this.viewCtrl.dismiss();
411
+ this.viewCtrl.dismiss()
352
412
  }
353
413
  }
@@ -55,13 +55,13 @@
55
55
  </div>
56
56
 
57
57
  <ion-list *ngIf="loggedUser">
58
- <ion-item lines="none" class="sidebar-items" (click)="onClickArchivedConversation()">
58
+ <!-- <ion-item lines="none" class="sidebar-items" (click)="onClickArchivedConversation()">
59
59
  <div tabindex="0"></div>
60
60
  <ion-icon name="archive-outline" class="sidebar-icons"></ion-icon>
61
61
  <ion-label class="sidebar-labels">
62
62
  <h3>{{ 'LABEL_ARCHIVED' | translate }}</h3>
63
63
  </ion-label>
64
- </ion-item>
64
+ </ion-item> -->
65
65
 
66
66
  <ion-item lines="none" class="sidebar-items" (click)="onLogout()">
67
67
  <div tabindex="0"></div>
@@ -77,10 +77,10 @@
77
77
 
78
78
 
79
79
  <ion-footer class="ion-no-border">
80
- <ion-toolbar>
80
+ <!-- <ion-toolbar style="background-color: #1e2129 !important"> -->
81
81
  <div class="content-chat-version">
82
82
  <!-- <p class="chat-title">Tiledesk Chat</p> -->
83
83
  <p class="chat-version">{{ 'LABEL_VERSION' | translate }} {{version}}</p>
84
84
  </div>
85
- </ion-toolbar>
85
+ <!-- </ion-toolbar> -->
86
86
  </ion-footer>
@@ -74,7 +74,7 @@
74
74
  .current-user-profile {
75
75
  width: 100%;
76
76
  height: 100%;
77
- font-family: "Google Sans",sans-serif;
77
+ font-family: "Poppins";
78
78
  --ion-background-color:#2d323e;
79
79
 
80
80
  .buttons-header{
@@ -114,6 +114,15 @@
114
114
  margin-top: 15px;
115
115
  margin-bottom: 5px;
116
116
  }
117
+
118
+ // ion-toolbar {
119
+ // --padding-bottom: 0px;
120
+ // --background: #1e2129 !important;
121
+ // div.toolbar-container {
122
+ // padding: 0px !important;
123
+ // background: #1e2129 !important;
124
+ // }
125
+ // }
117
126
  }
118
127
 
119
128
  .avatar-container {
@@ -250,6 +259,7 @@ ion-footer{
250
259
  .content-chat-version {
251
260
  color: white;
252
261
  padding: 20px;
262
+ background-color: #1e2129;
253
263
  }
254
264
  .chat-title{
255
265
  font-size: 14px;
@@ -261,4 +271,5 @@ ion-footer{
261
271
  font-weight: 400;
262
272
  margin: 0;
263
273
  }
264
- }
274
+ }
275
+