@chat21/chat21-ionic 2.0.13 → 3.0.5-9.2

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 (716) hide show
  1. package/.github/workflows/docker-community-push-latest.yml +22 -0
  2. package/.github/workflows/docker-image-tag-community-tag-push.yml +21 -0
  3. package/CHANGELOG.md +637 -212
  4. package/Dockerfile +1 -2
  5. package/LICENSE +21 -661
  6. package/README.md +40 -9
  7. package/angular.json +230 -0
  8. package/browserslist +12 -0
  9. package/config.xml +60 -47
  10. package/deploy_pre.sh +14 -12
  11. package/deploy_prod.sh +26 -6
  12. package/env.sample +28 -9
  13. package/ionic.config.json +2 -2
  14. package/karma.conf.js +31 -0
  15. package/nginx.conf +1 -1
  16. package/package.json +91 -105
  17. package/publish_pre.sh +33 -0
  18. package/publish_prod.sh +33 -0
  19. package/resources/Android/icon/drawable-hdpi-icon.png +0 -0
  20. package/resources/Android/icon/drawable-ldpi-icon.png +0 -0
  21. package/resources/Android/icon/drawable-mdpi-icon.png +0 -0
  22. package/resources/Android/icon/drawable-xhdpi-icon.png +0 -0
  23. package/resources/Android/icon/drawable-xxhdpi-icon.png +0 -0
  24. package/resources/Android/icon/drawable-xxxhdpi-icon.png +0 -0
  25. package/resources/Android/icon.png +0 -0
  26. package/resources/Android/splash/drawable-land-hdpi-screen.png +0 -0
  27. package/resources/Android/splash/drawable-land-ldpi-screen.png +0 -0
  28. package/resources/Android/splash/drawable-land-mdpi-screen.png +0 -0
  29. package/resources/Android/splash/drawable-land-xhdpi-screen.png +0 -0
  30. package/resources/Android/splash/drawable-land-xxhdpi-screen.png +0 -0
  31. package/resources/Android/splash/drawable-land-xxxhdpi-screen.png +0 -0
  32. package/resources/Android/splash/drawable-port-hdpi-screen.png +0 -0
  33. package/resources/Android/splash/drawable-port-ldpi-screen.png +0 -0
  34. package/resources/Android/splash/drawable-port-mdpi-screen.png +0 -0
  35. package/resources/Android/splash/drawable-port-xhdpi-screen.png +0 -0
  36. package/resources/Android/splash/drawable-port-xxhdpi-screen.png +0 -0
  37. package/resources/Android/splash/drawable-port-xxxhdpi-screen.png +0 -0
  38. package/resources/Android/splash.png +0 -0
  39. package/src/app/app-routing.module.ts +90 -0
  40. package/src/app/app.component.html +26 -0
  41. package/src/app/app.component.scss +11 -0
  42. package/src/app/app.component.spec.ts +47 -0
  43. package/src/app/app.component.ts +1154 -128
  44. package/src/app/app.module.ts +314 -135
  45. package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.html +143 -0
  46. package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.scss +335 -0
  47. package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.spec.ts +179 -0
  48. package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.ts +303 -0
  49. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +149 -0
  50. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +199 -0
  51. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.spec.ts +24 -0
  52. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +97 -0
  53. package/src/app/chatlib/conversation-detail/message/avatar/avatar.component.html +17 -0
  54. package/src/app/chatlib/conversation-detail/message/avatar/avatar.component.scss +83 -0
  55. package/src/app/chatlib/conversation-detail/message/avatar/avatar.component.spec.ts +27 -0
  56. package/src/app/chatlib/conversation-detail/message/avatar/avatar.component.ts +43 -0
  57. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +76 -0
  58. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +51 -0
  59. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.spec.ts +84 -0
  60. package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +215 -0
  61. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.html +3 -0
  62. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.scss +83 -0
  63. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.spec.ts +25 -0
  64. package/src/app/chatlib/conversation-detail/message/buttons/action-button/action-button.component.ts +37 -0
  65. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.html +24 -0
  66. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.scss +61 -0
  67. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.spec.ts +25 -0
  68. package/src/app/chatlib/conversation-detail/message/buttons/link-button/link-button.component.ts +30 -0
  69. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.html +3 -0
  70. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.scss +47 -0
  71. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.spec.ts +25 -0
  72. package/src/app/chatlib/conversation-detail/message/buttons/text-button/text-button.component.ts +29 -0
  73. package/src/app/chatlib/conversation-detail/message/frame/frame.component.html +3 -0
  74. package/{bin/chat21-ionic → src/app/chatlib/conversation-detail/message/frame/frame.component.scss} +0 -0
  75. package/src/app/chatlib/conversation-detail/message/frame/frame.component.spec.ts +25 -0
  76. package/src/app/chatlib/conversation-detail/message/frame/frame.component.ts +33 -0
  77. package/src/app/chatlib/conversation-detail/message/image/image.component.html +10 -0
  78. package/src/app/chatlib/conversation-detail/message/image/image.component.scss +34 -0
  79. package/src/app/chatlib/conversation-detail/message/image/image.component.spec.ts +35 -0
  80. package/src/app/chatlib/conversation-detail/message/image/image.component.ts +78 -0
  81. package/src/app/chatlib/conversation-detail/message/info-message/info-message.component.html +2 -0
  82. package/src/app/chatlib/conversation-detail/message/info-message/info-message.component.scss +15 -0
  83. package/src/app/chatlib/conversation-detail/message/info-message/info-message.component.spec.ts +27 -0
  84. package/src/app/chatlib/conversation-detail/message/info-message/info-message.component.ts +35 -0
  85. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.html +56 -0
  86. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.scss +169 -0
  87. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.spec.ts +33 -0
  88. package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.ts +80 -0
  89. package/src/app/chatlib/conversation-detail/message/return-receipt/return-receipt.component.html +18 -0
  90. package/src/app/chatlib/conversation-detail/message/return-receipt/return-receipt.component.scss +27 -0
  91. package/src/app/chatlib/conversation-detail/message/return-receipt/return-receipt.component.spec.ts +25 -0
  92. package/src/app/chatlib/conversation-detail/message/return-receipt/return-receipt.component.ts +24 -0
  93. package/src/app/chatlib/conversation-detail/message/text/text.component.html +5 -0
  94. package/src/app/chatlib/conversation-detail/message/text/text.component.scss +26 -0
  95. package/src/app/chatlib/conversation-detail/message/text/text.component.spec.ts +33 -0
  96. package/src/app/chatlib/conversation-detail/message/text/text.component.ts +56 -0
  97. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +154 -0
  98. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.scss +222 -0
  99. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.spec.ts +24 -0
  100. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +113 -0
  101. package/src/app/chatlib/list-conversations-component/list-conversations/list-conversations.component.html +46 -0
  102. package/src/app/chatlib/list-conversations-component/list-conversations/list-conversations.component.scss +200 -0
  103. package/src/app/chatlib/list-conversations-component/list-conversations/list-conversations.component.spec.ts +27 -0
  104. package/src/app/chatlib/list-conversations-component/list-conversations/list-conversations.component.ts +135 -0
  105. package/src/app/components/authentication/login/login.component.html +65 -0
  106. package/src/app/components/authentication/login/login.component.scss +85 -0
  107. package/src/app/components/authentication/login/login.component.spec.ts +24 -0
  108. package/src/app/components/authentication/login/login.component.ts +174 -0
  109. package/src/app/components/contacts-directory/contacts-directory.component.html +22 -0
  110. package/src/app/components/contacts-directory/contacts-directory.component.scss +123 -0
  111. package/src/app/components/contacts-directory/contacts-directory.component.spec.ts +24 -0
  112. package/src/app/components/contacts-directory/contacts-directory.component.ts +109 -0
  113. package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.html +3 -0
  114. package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.scss +21 -0
  115. package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.spec.ts +24 -0
  116. package/src/app/components/conversation-detail/bubble-day-message/bubble-day-message.component.ts +14 -0
  117. package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.html +54 -0
  118. package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.scss +98 -0
  119. package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.spec.ts +24 -0
  120. package/src/app/components/conversation-detail/bubble-my-message/bubble-my-message.component.ts +84 -0
  121. package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.html +30 -0
  122. package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.scss +83 -0
  123. package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.spec.ts +24 -0
  124. package/src/app/components/conversation-detail/bubble-others-message/bubble-others-message.component.ts +68 -0
  125. package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.html +3 -0
  126. package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.scss +10 -0
  127. package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.spec.ts +24 -0
  128. package/src/app/components/conversation-detail/bubble-system-message/bubble-system-message.component.ts +14 -0
  129. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +71 -0
  130. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +161 -0
  131. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.spec.ts +24 -0
  132. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +133 -0
  133. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +64 -0
  134. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +124 -0
  135. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.spec.ts +25 -0
  136. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +685 -0
  137. package/src/app/components/conversation-detail/option-header/option-header.component.html +13 -0
  138. package/src/app/components/conversation-detail/option-header/option-header.component.scss +0 -0
  139. package/src/app/components/conversation-detail/option-header/option-header.component.spec.ts +24 -0
  140. package/src/app/components/conversation-detail/option-header/option-header.component.ts +24 -0
  141. package/src/app/components/conversation-info/advanced-info-accordion/advanced-info-accordion.component.html +64 -0
  142. package/src/app/components/conversation-info/advanced-info-accordion/advanced-info-accordion.component.scss +135 -0
  143. package/src/app/components/conversation-info/advanced-info-accordion/advanced-info-accordion.component.spec.ts +24 -0
  144. package/src/app/components/conversation-info/advanced-info-accordion/advanced-info-accordion.component.ts +53 -0
  145. package/src/app/components/conversation-info/conversation-info.module.ts +13 -0
  146. package/src/app/components/conversation-info/info-content/info-content.component.html +18 -0
  147. package/src/app/components/conversation-info/info-content/info-content.component.scss +5 -0
  148. package/src/app/components/conversation-info/info-content/info-content.component.spec.ts +24 -0
  149. package/src/app/components/conversation-info/info-content/info-content.component.ts +395 -0
  150. package/src/app/components/conversation-info/info-direct/info-direct.component.html +57 -0
  151. package/src/app/components/conversation-info/info-direct/info-direct.component.scss +62 -0
  152. package/src/app/components/conversation-info/info-direct/info-direct.component.spec.ts +24 -0
  153. package/src/app/components/conversation-info/info-direct/info-direct.component.ts +67 -0
  154. package/src/app/components/conversation-info/info-group/info-group.component.html +115 -0
  155. package/src/app/components/conversation-info/info-group/info-group.component.scss +80 -0
  156. package/src/app/components/conversation-info/info-group/info-group.component.spec.ts +24 -0
  157. package/src/app/components/conversation-info/info-group/info-group.component.ts +218 -0
  158. package/src/app/components/conversation-info/info-support-group/info-support-group.component.html +6 -0
  159. package/src/app/components/conversation-info/info-support-group/info-support-group.component.scss +0 -0
  160. package/src/app/components/conversation-info/info-support-group/info-support-group.component.spec.ts +24 -0
  161. package/src/app/components/conversation-info/info-support-group/info-support-group.component.ts +29 -0
  162. package/src/app/components/ddp-header/ddp-header.component.html +31 -0
  163. package/src/app/components/ddp-header/ddp-header.component.scss +26 -0
  164. package/src/app/components/ddp-header/ddp-header.component.spec.ts +24 -0
  165. package/src/app/components/ddp-header/ddp-header.component.ts +33 -0
  166. package/src/app/components/image-viewer/image-viewer.component.html +23 -0
  167. package/src/app/components/image-viewer/image-viewer.component.scss +107 -0
  168. package/src/app/components/image-viewer/image-viewer.component.spec.ts +24 -0
  169. package/src/app/components/image-viewer/image-viewer.component.ts +38 -0
  170. package/src/app/components/project-item/project-item.component.html +147 -0
  171. package/src/app/components/project-item/project-item.component.scss +669 -0
  172. package/src/app/components/project-item/project-item.component.spec.ts +24 -0
  173. package/src/app/components/project-item/project-item.component.ts +350 -0
  174. package/src/app/components/utils/avatar-profile/avatar-profile.component.html +12 -0
  175. package/src/app/components/utils/avatar-profile/avatar-profile.component.scss +29 -0
  176. package/src/app/components/utils/avatar-profile/avatar-profile.component.spec.ts +24 -0
  177. package/src/app/components/utils/avatar-profile/avatar-profile.component.ts +41 -0
  178. package/src/app/components/utils/user-presence/user-presence.component.html +2 -0
  179. package/src/app/components/utils/user-presence/user-presence.component.scss +24 -0
  180. package/src/app/components/utils/user-presence/user-presence.component.spec.ts +24 -0
  181. package/src/app/components/utils/user-presence/user-presence.component.ts +159 -0
  182. package/src/app/directives/autofocus.directive.ts +41 -0
  183. package/src/app/directives/html-entities-encode.pipe.spec.ts +8 -0
  184. package/src/app/directives/html-entities-encode.pipe.ts +17 -0
  185. package/src/app/directives/marked.pipe.spec.ts +8 -0
  186. package/src/app/directives/marked.pipe.ts +27 -0
  187. package/src/app/directives/safe-html.pipe.ts +16 -0
  188. package/src/app/pages/authentication/login/login-routing.module.ts +17 -0
  189. package/src/app/pages/authentication/login/login.module.ts +39 -0
  190. package/src/app/pages/authentication/login/login.page.html +7 -0
  191. package/src/app/pages/authentication/login/login.page.scss +5 -0
  192. package/src/app/pages/authentication/login/login.page.spec.ts +24 -0
  193. package/src/app/pages/authentication/login/login.page.ts +187 -0
  194. package/src/app/pages/contacts-directory/contacts-directory-routing.module.ts +17 -0
  195. package/src/app/pages/contacts-directory/contacts-directory.module.ts +42 -0
  196. package/src/app/pages/contacts-directory/contacts-directory.page.html +19 -0
  197. package/src/app/pages/contacts-directory/contacts-directory.page.scss +0 -0
  198. package/src/app/pages/contacts-directory/contacts-directory.page.spec.ts +24 -0
  199. package/src/app/pages/contacts-directory/contacts-directory.page.ts +125 -0
  200. package/src/app/pages/conversation-detail/conversation-detail-routing.module.ts +17 -0
  201. package/src/app/pages/conversation-detail/conversation-detail.module.ts +69 -0
  202. package/src/app/pages/conversation-detail/conversation-detail.page.html +191 -0
  203. package/src/app/pages/conversation-detail/conversation-detail.page.scss +492 -0
  204. package/src/app/pages/conversation-detail/conversation-detail.page.spec.ts +24 -0
  205. package/src/app/pages/conversation-detail/conversation-detail.page.ts +1525 -0
  206. package/src/app/pages/conversations-list/conversations-list-routing.module.ts +17 -0
  207. package/src/app/pages/conversations-list/conversations-list.module.ts +43 -0
  208. package/src/app/pages/conversations-list/conversations-list.page.html +112 -0
  209. package/src/app/pages/conversations-list/conversations-list.page.scss +302 -0
  210. package/src/app/pages/conversations-list/conversations-list.page.spec.ts +24 -0
  211. package/src/app/pages/conversations-list/conversations-list.page.ts +1032 -0
  212. package/src/app/pages/details/details-routing.module.ts +17 -0
  213. package/src/app/pages/details/details.module.ts +21 -0
  214. package/src/app/pages/details/details.page.html +28 -0
  215. package/src/app/pages/details/details.page.scss +23 -0
  216. package/src/app/pages/details/details.page.spec.ts +24 -0
  217. package/src/app/pages/details/details.page.ts +65 -0
  218. package/src/app/pages/loader-preview/loader-preview-routing.module.ts +17 -0
  219. package/src/app/pages/loader-preview/loader-preview.module.ts +29 -0
  220. package/src/app/pages/loader-preview/loader-preview.page.html +62 -0
  221. package/src/app/pages/loader-preview/loader-preview.page.scss +117 -0
  222. package/src/app/pages/loader-preview/loader-preview.page.spec.ts +24 -0
  223. package/src/app/pages/loader-preview/loader-preview.page.ts +353 -0
  224. package/src/app/pages/profile-info/profile-info-routing.module.ts +17 -0
  225. package/src/app/pages/profile-info/profile-info.module.ts +41 -0
  226. package/src/app/pages/profile-info/profile-info.page.html +86 -0
  227. package/src/app/pages/profile-info/profile-info.page.scss +264 -0
  228. package/src/app/pages/profile-info/profile-info.page.spec.ts +24 -0
  229. package/src/app/pages/profile-info/profile-info.page.ts +223 -0
  230. package/src/app/pages/unassigned-conversations/unassigned-conversations-routing.module.ts +17 -0
  231. package/src/app/pages/unassigned-conversations/unassigned-conversations.module.ts +22 -0
  232. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.html +22 -0
  233. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.scss +79 -0
  234. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.spec.ts +24 -0
  235. package/src/app/pages/unassigned-conversations/unassigned-conversations.page.ts +116 -0
  236. package/src/app/services/app-config.ts +107 -0
  237. package/src/app/services/canned-responses/canned-responses.service.spec.ts +12 -0
  238. package/src/app/services/canned-responses/canned-responses.service.ts +49 -0
  239. package/src/app/services/contacts/contacts.service.spec.ts +12 -0
  240. package/src/app/services/contacts/contacts.service.ts +172 -0
  241. package/src/app/services/events-service.ts +79 -0
  242. package/src/app/services/nav-proxy.service.spec.ts +12 -0
  243. package/src/app/services/nav-proxy.service.ts +80 -0
  244. package/src/app/services/network-service/network.service.spec.ts +12 -0
  245. package/src/app/services/network-service/network.service.ts +46 -0
  246. package/src/app/services/tiledesk/tiledesk.service.spec.ts +12 -0
  247. package/src/app/services/tiledesk/tiledesk.service.ts +99 -0
  248. package/src/app/services/websocket/websocket-js.ts +560 -0
  249. package/src/app/services/websocket/websocket.service.spec.ts +12 -0
  250. package/src/app/services/websocket/websocket.service.ts +292 -0
  251. package/src/app/shared/shared-conversation-info.module.ts +33 -0
  252. package/src/app/shared/shared.module.ts +130 -0
  253. package/src/{utils → app/utils}/constants.ts-e +0 -0
  254. package/src/app/utils/scrollbar-theme.directive.ts +63 -0
  255. package/src/assets/i18n/en.json +122 -38
  256. package/src/assets/i18n/it.json +101 -10
  257. package/src/assets/icon/favicon.ico +0 -0
  258. package/src/assets/icon/ionic_favicon.png +0 -0
  259. package/src/assets/images/f21ico-done.svg +1 -0
  260. package/src/assets/images/f21ico-done_all.svg +1 -0
  261. package/src/assets/images/f21ico-schedule.svg +1 -0
  262. package/src/assets/images/file-alt-solid.png +0 -0
  263. package/src/assets/images/no_conversation.jpg +0 -0
  264. package/src/assets/{img → images}/no_image.png +0 -0
  265. package/src/assets/js/chat21client.js +1027 -0
  266. package/src/assets/js/mqtt/4.1.0/mqtt.min.js +1 -0
  267. package/src/assets/js/mqtt/4.2.6/mqtt.min.js +1 -0
  268. package/src/assets/js/mqtt/4.2.8/mqtt.min.js +1 -0
  269. package/src/assets/logo.png +0 -0
  270. package/src/assets/shapes.svg +1 -0
  271. package/src/assets/sounds/pling.mp3 +0 -0
  272. package/src/assets/transparent.png +0 -0
  273. package/src/chat-config-mqtt-ver-uploaded.json +22 -0
  274. package/src/chat-config-mqtt.json +26 -0
  275. package/src/chat-config-pre-test.json +32 -0
  276. package/src/chat-config-pre.json +23 -0
  277. package/src/chat-config-template.json +20 -6
  278. package/src/chat-config.json +30 -0
  279. package/src/{models → chat21-core/models}/conversation.ts +6 -2
  280. package/src/{models → chat21-core/models}/group.ts +7 -5
  281. package/src/{models → chat21-core/models}/message.ts +8 -8
  282. package/src/{models → chat21-core/models}/upload.ts +5 -5
  283. package/src/{models → chat21-core/models}/user.ts +2 -1
  284. package/src/chat21-core/providers/abstract/app-storage.service.spec.ts +15 -0
  285. package/src/chat21-core/providers/abstract/app-storage.service.ts +17 -0
  286. package/src/chat21-core/providers/abstract/archivedconversations-handler.service.spec.ts +13 -0
  287. package/src/chat21-core/providers/abstract/archivedconversations-handler.service.ts +34 -0
  288. package/src/chat21-core/providers/abstract/conversation-handler-builder.service.spec.ts +12 -0
  289. package/src/chat21-core/providers/abstract/conversation-handler-builder.service.ts +11 -0
  290. package/src/chat21-core/providers/abstract/conversation-handler.service.spec.ts +12 -0
  291. package/src/chat21-core/providers/abstract/conversation-handler.service.ts +43 -0
  292. package/src/chat21-core/providers/abstract/conversations-handler.service.spec.ts +12 -0
  293. package/src/chat21-core/providers/abstract/conversations-handler.service.ts +42 -0
  294. package/src/chat21-core/providers/abstract/groups-handler.service.spec.ts +12 -0
  295. package/src/chat21-core/providers/abstract/groups-handler.service.ts +28 -0
  296. package/src/chat21-core/providers/abstract/image-repo.service.spec.ts +12 -0
  297. package/src/chat21-core/providers/abstract/image-repo.service.ts +26 -0
  298. package/src/chat21-core/providers/abstract/logger.service.spec.ts +12 -0
  299. package/src/chat21-core/providers/abstract/logger.service.ts +16 -0
  300. package/src/chat21-core/providers/abstract/messagingAuth.service.spec.ts +12 -0
  301. package/src/chat21-core/providers/abstract/messagingAuth.service.ts +54 -0
  302. package/src/chat21-core/providers/abstract/notifications.service.spec.ts +12 -0
  303. package/src/chat21-core/providers/abstract/notifications.service.ts +31 -0
  304. package/src/chat21-core/providers/abstract/presence.service.spec.ts +12 -0
  305. package/src/chat21-core/providers/abstract/presence.service.ts +34 -0
  306. package/src/chat21-core/providers/abstract/typing.service.spec.ts +12 -0
  307. package/src/chat21-core/providers/abstract/typing.service.ts +31 -0
  308. package/src/chat21-core/providers/abstract/upload.service.spec.ts +12 -0
  309. package/src/chat21-core/providers/abstract/upload.service.ts +39 -0
  310. package/src/chat21-core/providers/chat-manager.ts +282 -0
  311. package/src/chat21-core/providers/custom-translate.service.spec.ts +12 -0
  312. package/src/chat21-core/providers/custom-translate.service.ts +42 -0
  313. package/src/chat21-core/providers/firebase/firebase-archivedconversations-handler.ts +476 -0
  314. package/src/chat21-core/providers/firebase/firebase-auth-service.ts +376 -0
  315. package/src/chat21-core/providers/firebase/firebase-conversation-handler-builder.service.ts +19 -0
  316. package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +416 -0
  317. package/src/chat21-core/providers/firebase/firebase-conversations-handler.ts +570 -0
  318. package/src/chat21-core/providers/firebase/firebase-groups-handler.ts +303 -0
  319. package/src/chat21-core/providers/firebase/firebase-image-repo.ts +40 -0
  320. package/src/chat21-core/providers/firebase/firebase-init-service.ts +31 -0
  321. package/src/chat21-core/providers/firebase/firebase-notifications.ts +246 -0
  322. package/src/chat21-core/providers/firebase/firebase-presence.service.ts +190 -0
  323. package/src/chat21-core/providers/firebase/firebase-typing.service.ts +93 -0
  324. package/src/chat21-core/providers/firebase/firebase-upload.service.ts +106 -0
  325. package/src/chat21-core/providers/localSessionStorage.ts +215 -0
  326. package/src/chat21-core/providers/logger/customLogger.ts +70 -0
  327. package/src/chat21-core/providers/logger/loggerInstance.ts +20 -0
  328. package/src/chat21-core/providers/mqtt/chat-service.ts +44 -0
  329. package/src/chat21-core/providers/mqtt/mqtt-archivedconversations-handler.ts +707 -0
  330. package/src/chat21-core/providers/mqtt/mqtt-auth-service.ts +313 -0
  331. package/src/chat21-core/providers/mqtt/mqtt-conversation-handler-builder.service.ts +25 -0
  332. package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +446 -0
  333. package/src/chat21-core/providers/mqtt/mqtt-conversations-handler.ts +601 -0
  334. package/src/chat21-core/providers/mqtt/mqtt-groups-handler.ts +139 -0
  335. package/src/chat21-core/providers/mqtt/mqtt-notifications.ts +122 -0
  336. package/src/chat21-core/providers/mqtt/mqtt-presence.service.ts +229 -0
  337. package/src/chat21-core/providers/mqtt/mqtt-typing.service.ts +93 -0
  338. package/src/chat21-core/providers/native/native-image-repo.ts +30 -0
  339. package/src/chat21-core/providers/native/native-upload-service.ts +85 -0
  340. package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.spec.ts +12 -0
  341. package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts +211 -0
  342. package/src/chat21-core/utils/constants.ts +109 -0
  343. package/src/chat21-core/utils/user-typing/user-typing.component.html +6 -0
  344. package/src/chat21-core/utils/user-typing/user-typing.component.scss +62 -0
  345. package/src/chat21-core/utils/user-typing/user-typing.component.spec.ts +24 -0
  346. package/src/chat21-core/utils/user-typing/user-typing.component.ts +114 -0
  347. package/src/chat21-core/utils/utils-message.ts +117 -0
  348. package/src/chat21-core/utils/utils-user.ts +46 -0
  349. package/src/chat21-core/utils/utils.ts +893 -0
  350. package/src/firebase-messaging-sw-template.js +1 -1
  351. package/src/global.scss +585 -0
  352. package/src/index.html +71 -42
  353. package/src/main.ts +12 -0
  354. package/src/manifest.json +0 -11
  355. package/src/models/department.ts +12 -0
  356. package/src/polyfills.ts +73 -0
  357. package/src/test.ts +21 -0
  358. package/src/theme/variables.scss +236 -93
  359. package/src/variables.scss +30 -0
  360. package/src/zone-flags.ts +5 -0
  361. package/tsconfig.app.json +14 -0
  362. package/tsconfig.json +23 -18
  363. package/tsconfig.spec.json +19 -0
  364. package/tslint.json +84 -7
  365. package/app.json +0 -7
  366. package/curl +0 -1
  367. package/deploy_dev.sh +0 -28
  368. package/docs/changelog.html +0 -227
  369. package/docs/classes/ConversationModel.html +0 -1022
  370. package/docs/classes/GroupModel.html +0 -527
  371. package/docs/classes/MessageModel.html +0 -843
  372. package/docs/classes/UploadModel.html +0 -417
  373. package/docs/classes/UserModel.html +0 -728
  374. package/docs/classes/_DetailPage.html +0 -144
  375. package/docs/classes/_MasterPage.html +0 -144
  376. package/docs/components/ArchivedConversationsPage.html +0 -1024
  377. package/docs/components/ChatBubble.html +0 -327
  378. package/docs/components/DettaglioConversazionePage.html +0 -6060
  379. package/docs/components/ElasticTextarea.html +0 -619
  380. package/docs/components/InfoAdvancedPage.html +0 -656
  381. package/docs/components/InfoConversationPage.html +0 -5681
  382. package/docs/components/InfoMessagePage.html +0 -993
  383. package/docs/components/InfoUserPage.html +0 -1420
  384. package/docs/components/ListaConversazioniPage.html +0 -3576
  385. package/docs/components/LoginPage.html +0 -1457
  386. package/docs/components/MyApp.html +0 -1388
  387. package/docs/components/PlaceholderPage.html +0 -397
  388. package/docs/components/PopoverPage.html +0 -986
  389. package/docs/components/PopoverProfilePage.html +0 -639
  390. package/docs/components/ProfilePage.html +0 -1187
  391. package/docs/components/RegisterPage.html +0 -1271
  392. package/docs/components/ResetpwdPage.html +0 -1039
  393. package/docs/components/UpdateImageProfilePage.html +0 -997
  394. package/docs/components/UsersPage.html +0 -1297
  395. package/docs/coverage.html +0 -1421
  396. package/docs/dependencies.html +0 -210
  397. package/docs/directives/AutosizeDirective.html +0 -556
  398. package/docs/fonts/FontAwesome.otf +0 -0
  399. package/docs/fonts/fontawesome-webfont.eot +0 -0
  400. package/docs/fonts/fontawesome-webfont.svg +0 -685
  401. package/docs/fonts/fontawesome-webfont.ttf +0 -0
  402. package/docs/fonts/fontawesome-webfont.woff +0 -0
  403. package/docs/fonts/fontawesome-webfont.woff2 +0 -0
  404. package/docs/fonts/ionicons.eot +0 -0
  405. package/docs/fonts/ionicons.svg +0 -2090
  406. package/docs/fonts/ionicons.ttf +0 -0
  407. package/docs/fonts/ionicons.woff +0 -0
  408. package/docs/fonts/ionicons.woff2 +0 -0
  409. package/docs/fonts/roboto-v15-latin-300.eot +0 -0
  410. package/docs/fonts/roboto-v15-latin-300.svg +0 -314
  411. package/docs/fonts/roboto-v15-latin-300.ttf +0 -0
  412. package/docs/fonts/roboto-v15-latin-300.woff +0 -0
  413. package/docs/fonts/roboto-v15-latin-300.woff2 +0 -0
  414. package/docs/fonts/roboto-v15-latin-700.eot +0 -0
  415. package/docs/fonts/roboto-v15-latin-700.svg +0 -310
  416. package/docs/fonts/roboto-v15-latin-700.ttf +0 -0
  417. package/docs/fonts/roboto-v15-latin-700.woff +0 -0
  418. package/docs/fonts/roboto-v15-latin-700.woff2 +0 -0
  419. package/docs/fonts/roboto-v15-latin-italic.eot +0 -0
  420. package/docs/fonts/roboto-v15-latin-italic.svg +0 -323
  421. package/docs/fonts/roboto-v15-latin-italic.ttf +0 -0
  422. package/docs/fonts/roboto-v15-latin-italic.woff +0 -0
  423. package/docs/fonts/roboto-v15-latin-italic.woff2 +0 -0
  424. package/docs/fonts/roboto-v15-latin-regular.eot +0 -0
  425. package/docs/fonts/roboto-v15-latin-regular.svg +0 -308
  426. package/docs/fonts/roboto-v15-latin-regular.ttf +0 -0
  427. package/docs/fonts/roboto-v15-latin-regular.woff +0 -0
  428. package/docs/fonts/roboto-v15-latin-regular.woff2 +0 -0
  429. package/docs/graph/dependencies.svg +0 -870
  430. package/docs/images/compodoc-vectorise-inverted.png +0 -0
  431. package/docs/images/compodoc-vectorise-inverted.svg +0 -201
  432. package/docs/images/compodoc-vectorise.png +0 -0
  433. package/docs/images/compodoc-vectorise.svg +0 -201
  434. package/docs/images/coverage-badge-documentation.svg +0 -9
  435. package/docs/images/coverage-badge.svg +0 -9
  436. package/docs/images/favicon.ico +0 -0
  437. package/docs/index.html +0 -233
  438. package/docs/injectables/AppConfigProvider.html +0 -411
  439. package/docs/injectables/AuthService.html +0 -1016
  440. package/docs/injectables/ChatArchivedConversationsHandler.html +0 -1832
  441. package/docs/injectables/ChatContactsSynchronizer.html +0 -841
  442. package/docs/injectables/ChatConversationHandler.html +0 -1960
  443. package/docs/injectables/ChatConversationsHandler.html +0 -2584
  444. package/docs/injectables/ChatManager.html +0 -1779
  445. package/docs/injectables/ChatPresenceHandler.html +0 -1187
  446. package/docs/injectables/CustomTranslateService.html +0 -496
  447. package/docs/injectables/DatabaseProvider.html +0 -1444
  448. package/docs/injectables/GroupService.html +0 -1458
  449. package/docs/injectables/MessagingService.html +0 -1165
  450. package/docs/injectables/NavProxyService.html +0 -1028
  451. package/docs/injectables/TiledeskConversationProvider.html +0 -945
  452. package/docs/injectables/UploadService.html +0 -791
  453. package/docs/injectables/UserService.html +0 -1612
  454. package/docs/js/compodoc.js +0 -14
  455. package/docs/js/lazy-load-graphs.js +0 -44
  456. package/docs/js/libs/EventDispatcher.js +0 -5
  457. package/docs/js/libs/bootstrap-native.js +0 -2
  458. package/docs/js/libs/clipboard.min.js +0 -7
  459. package/docs/js/libs/custom-elements-es5-adapter.js +0 -15
  460. package/docs/js/libs/custom-elements.min.js +0 -38
  461. package/docs/js/libs/d3.v3.min.js +0 -2
  462. package/docs/js/libs/deep-iterator.js +0 -2
  463. package/docs/js/libs/es6-shim.min.js +0 -11
  464. package/docs/js/libs/htmlparser.js +0 -23
  465. package/docs/js/libs/innersvg.js +0 -9
  466. package/docs/js/libs/lit-html.js +0 -1
  467. package/docs/js/libs/prism.js +0 -14
  468. package/docs/js/libs/promise.min.js +0 -6
  469. package/docs/js/libs/svg-pan-zoom.min.js +0 -3
  470. package/docs/js/libs/tablesort.min.js +0 -6
  471. package/docs/js/libs/tablesort.number.min.js +0 -6
  472. package/docs/js/libs/vis.min.js +0 -46
  473. package/docs/js/libs/zepto.min.js +0 -2
  474. package/docs/js/menu-wc.js +0 -594
  475. package/docs/js/menu.js +0 -261
  476. package/docs/js/routes.js +0 -280
  477. package/docs/js/search/lunr.min.js +0 -6
  478. package/docs/js/search/search-lunr.js +0 -67
  479. package/docs/js/search/search.js +0 -268
  480. package/docs/js/search/search_index.js +0 -4
  481. package/docs/js/sourceCode.js +0 -58
  482. package/docs/js/svg-pan-zoom.controls.js +0 -53
  483. package/docs/js/tabs.js +0 -21
  484. package/docs/js/tree.js +0 -147
  485. package/docs/license.html +0 -664
  486. package/docs/miscellaneous/functions.html +0 -2417
  487. package/docs/miscellaneous/variables.html +0 -994
  488. package/docs/modules/AppModule/dependencies.svg +0 -454
  489. package/docs/modules/AppModule.html +0 -967
  490. package/docs/modules/ArchivedConversationsPageModule/dependencies.svg +0 -50
  491. package/docs/modules/ArchivedConversationsPageModule.html +0 -225
  492. package/docs/modules/DettaglioConversazionePageModule/dependencies.svg +0 -66
  493. package/docs/modules/DettaglioConversazionePageModule.html +0 -256
  494. package/docs/modules/InfoAdvancedPageModule/dependencies.svg +0 -50
  495. package/docs/modules/InfoAdvancedPageModule.html +0 -225
  496. package/docs/modules/InfoConversationPageModule/dependencies.svg +0 -50
  497. package/docs/modules/InfoConversationPageModule.html +0 -227
  498. package/docs/modules/InfoUserPageModule/dependencies.svg +0 -50
  499. package/docs/modules/InfoUserPageModule.html +0 -225
  500. package/docs/modules/ListaConversazioniPageModule/dependencies.svg +0 -66
  501. package/docs/modules/ListaConversazioniPageModule.html +0 -255
  502. package/docs/modules/LoginModule/dependencies.svg +0 -66
  503. package/docs/modules/LoginModule.html +0 -253
  504. package/docs/modules/PlaceholderPageModule/dependencies.svg +0 -66
  505. package/docs/modules/PlaceholderPageModule.html +0 -253
  506. package/docs/modules/PopoverPageModule/dependencies.svg +0 -66
  507. package/docs/modules/PopoverPageModule.html +0 -253
  508. package/docs/modules/PopoverProfilePageModule/dependencies.svg +0 -66
  509. package/docs/modules/PopoverProfilePageModule.html +0 -253
  510. package/docs/modules/ProfilePageModule/dependencies.svg +0 -66
  511. package/docs/modules/ProfilePageModule.html +0 -253
  512. package/docs/modules/RegisterModule/dependencies.svg +0 -66
  513. package/docs/modules/RegisterModule.html +0 -253
  514. package/docs/modules/ResetpwdModule/dependencies.svg +0 -66
  515. package/docs/modules/ResetpwdModule.html +0 -253
  516. package/docs/modules/UpdateImageProfilePageModule/dependencies.svg +0 -66
  517. package/docs/modules/UpdateImageProfilePageModule.html +0 -253
  518. package/docs/modules/UsersModule/dependencies.svg +0 -66
  519. package/docs/modules/UsersModule.html +0 -253
  520. package/docs/modules.html +0 -379
  521. package/docs/overview.html +0 -1033
  522. package/docs/styles/bootstrap-card.css +0 -219
  523. package/docs/styles/bootstrap.min.css +0 -5
  524. package/docs/styles/compodoc.css +0 -996
  525. package/docs/styles/font-awesome.min.css +0 -4
  526. package/docs/styles/ionicons.min.css +0 -11
  527. package/docs/styles/laravel.css +0 -69
  528. package/docs/styles/material.css +0 -109
  529. package/docs/styles/original.css +0 -47
  530. package/docs/styles/postmark.css +0 -224
  531. package/docs/styles/prism.css +0 -267
  532. package/docs/styles/readthedocs.css +0 -108
  533. package/docs/styles/reset.css +0 -48
  534. package/docs/styles/stripe.css +0 -65
  535. package/docs/styles/style.css +0 -7
  536. package/docs/styles/tablesort.css +0 -33
  537. package/docs/styles/vagrant.css +0 -96
  538. package/firebase-functions/.firebaserc +0 -5
  539. package/firebase-functions/firebase.json +0 -1
  540. package/firebase-functions/functions/index.js +0 -208
  541. package/firebase-functions/functions/package.json +0 -9
  542. package/google-services.json +0 -42
  543. package/hooks/README.md +0 -196
  544. package/resources/android/icon/drawable-hdpi-icon.png +0 -0
  545. package/resources/android/icon/drawable-ldpi-icon.png +0 -0
  546. package/resources/android/icon/drawable-mdpi-icon.png +0 -0
  547. package/resources/android/icon/drawable-xhdpi-icon.png +0 -0
  548. package/resources/android/icon/drawable-xxhdpi-icon.png +0 -0
  549. package/resources/android/icon/drawable-xxxhdpi-icon.png +0 -0
  550. package/resources/android/splash/drawable-land-hdpi-screen.png +0 -0
  551. package/resources/android/splash/drawable-land-ldpi-screen.png +0 -0
  552. package/resources/android/splash/drawable-land-mdpi-screen.png +0 -0
  553. package/resources/android/splash/drawable-land-xhdpi-screen.png +0 -0
  554. package/resources/android/splash/drawable-land-xxhdpi-screen.png +0 -0
  555. package/resources/android/splash/drawable-land-xxxhdpi-screen.png +0 -0
  556. package/resources/android/splash/drawable-port-hdpi-screen.png +0 -0
  557. package/resources/android/splash/drawable-port-ldpi-screen.png +0 -0
  558. package/resources/android/splash/drawable-port-mdpi-screen.png +0 -0
  559. package/resources/android/splash/drawable-port-xhdpi-screen.png +0 -0
  560. package/resources/android/splash/drawable-port-xxhdpi-screen.png +0 -0
  561. package/resources/android/splash/drawable-port-xxxhdpi-screen.png +0 -0
  562. package/resources/icon.png +0 -0
  563. package/resources/icon.png.md5 +0 -1
  564. package/resources/ios/icon/icon-1024.png +0 -0
  565. package/resources/ios/icon/icon-40.png +0 -0
  566. package/resources/ios/icon/icon-40@2x.png +0 -0
  567. package/resources/ios/icon/icon-40@3x.png +0 -0
  568. package/resources/ios/icon/icon-50.png +0 -0
  569. package/resources/ios/icon/icon-50@2x.png +0 -0
  570. package/resources/ios/icon/icon-60.png +0 -0
  571. package/resources/ios/icon/icon-60@2x.png +0 -0
  572. package/resources/ios/icon/icon-60@3x.png +0 -0
  573. package/resources/ios/icon/icon-72.png +0 -0
  574. package/resources/ios/icon/icon-72@2x.png +0 -0
  575. package/resources/ios/icon/icon-76.png +0 -0
  576. package/resources/ios/icon/icon-76@2x.png +0 -0
  577. package/resources/ios/icon/icon-83.5@2x.png +0 -0
  578. package/resources/ios/icon/icon-small.png +0 -0
  579. package/resources/ios/icon/icon-small@2x.png +0 -0
  580. package/resources/ios/icon/icon-small@3x.png +0 -0
  581. package/resources/ios/icon/icon.png +0 -0
  582. package/resources/ios/icon/icon@2x.png +0 -0
  583. package/resources/ios/splash/Default-568h@2x~iphone.png +0 -0
  584. package/resources/ios/splash/Default-667h.png +0 -0
  585. package/resources/ios/splash/Default-736h.png +0 -0
  586. package/resources/ios/splash/Default-Landscape-736h.png +0 -0
  587. package/resources/ios/splash/Default-Landscape@2x~ipad.png +0 -0
  588. package/resources/ios/splash/Default-Landscape@~ipadpro.png +0 -0
  589. package/resources/ios/splash/Default-Landscape~ipad.png +0 -0
  590. package/resources/ios/splash/Default-Portrait@2x~ipad.png +0 -0
  591. package/resources/ios/splash/Default-Portrait@~ipadpro.png +0 -0
  592. package/resources/ios/splash/Default-Portrait~ipad.png +0 -0
  593. package/resources/ios/splash/Default@2x~iphone.png +0 -0
  594. package/resources/ios/splash/Default@2x~universal~anyany.png +0 -0
  595. package/resources/ios/splash/Default~iphone.png +0 -0
  596. package/resources/splash.png +0 -0
  597. package/resources/splash.png.md5 +0 -1
  598. package/server.js +0 -7
  599. package/src/app/app.html +0 -56
  600. package/src/app/app.scss +0 -236
  601. package/src/app/main.ts +0 -9
  602. package/src/assets/chat-background.jpg +0 -0
  603. package/src/assets/chat21-ionic-pattern-2.svg +0 -5110
  604. package/src/assets/chat21-ionic-pattern.png +0 -0
  605. package/src/assets/chat21-ionic-pattern.svg +0 -1
  606. package/src/assets/download.svg +0 -1
  607. package/src/assets/dummyDump.sql +0 -1
  608. package/src/assets/icon/favicon_old.ico +0 -0
  609. package/src/assets/img/c21-down-gray.svg +0 -1
  610. package/src/assets/img/chat21-icon.png +0 -0
  611. package/src/assets/img/f21ico-attached.svg +0 -1
  612. package/src/assets/img/f21ico-close.svg +0 -1
  613. package/src/assets/img/f21ico-photo.svg +0 -1
  614. package/src/assets/img/ic_keyboard_arrow_down_black_24px.svg +0 -4
  615. package/src/assets/img/ic_keyboard_arrow_down_white_24px.svg +0 -4
  616. package/src/assets/img/icon.png +0 -0
  617. package/src/assets/message-mine.png +0 -0
  618. package/src/assets/message-other.png +0 -0
  619. package/src/assets/pling.mp3 +0 -0
  620. package/src/assets/splash.png +0 -0
  621. package/src/declarations.d.ts +0 -14
  622. package/src/directives/autosize/autosize.ts +0 -82
  623. package/src/environments/environment.pre.ts +0 -22
  624. package/src/environments/environment.prod.ts +0 -22
  625. package/src/environments/environment.ts +0 -21
  626. package/src/pages/_DetailPage.ts +0 -1
  627. package/src/pages/_MasterPage.ts +0 -1
  628. package/src/pages/archived-conversations/archived-conversations.html +0 -32
  629. package/src/pages/archived-conversations/archived-conversations.module.ts +0 -13
  630. package/src/pages/archived-conversations/archived-conversations.scss +0 -153
  631. package/src/pages/archived-conversations/archived-conversations.ts +0 -121
  632. package/src/pages/authentication/login/login.html +0 -58
  633. package/src/pages/authentication/login/login.module.ts +0 -16
  634. package/src/pages/authentication/login/login.scss +0 -121
  635. package/src/pages/authentication/login/login.ts +0 -221
  636. package/src/pages/authentication/register/register.html +0 -88
  637. package/src/pages/authentication/register/register.module.ts +0 -16
  638. package/src/pages/authentication/register/register.scss +0 -95
  639. package/src/pages/authentication/register/register.ts +0 -122
  640. package/src/pages/authentication/resetpwd/resetpwd.html +0 -40
  641. package/src/pages/authentication/resetpwd/resetpwd.module.ts +0 -16
  642. package/src/pages/authentication/resetpwd/resetpwd.scss +0 -102
  643. package/src/pages/authentication/resetpwd/resetpwd.ts +0 -93
  644. package/src/pages/components/chatBubble_old/chatBubble.scss +0 -83
  645. package/src/pages/components/chatBubble_old/chatBubble.ts +0 -30
  646. package/src/pages/components/elasticTextarea_old.ts +0 -46
  647. package/src/pages/dettaglio-conversazione/dettaglio-conversazione.html +0 -261
  648. package/src/pages/dettaglio-conversazione/dettaglio-conversazione.module.ts +0 -19
  649. package/src/pages/dettaglio-conversazione/dettaglio-conversazione.scss +0 -701
  650. package/src/pages/dettaglio-conversazione/dettaglio-conversazione.ts +0 -1395
  651. package/src/pages/index.ts +0 -5
  652. package/src/pages/info-advanced/info-advanced.html +0 -90
  653. package/src/pages/info-advanced/info-advanced.module.ts +0 -13
  654. package/src/pages/info-advanced/info-advanced.scss +0 -196
  655. package/src/pages/info-advanced/info-advanced.ts +0 -44
  656. package/src/pages/info-conversation/info-conversation.html +0 -225
  657. package/src/pages/info-conversation/info-conversation.module.ts +0 -15
  658. package/src/pages/info-conversation/info-conversation.scss +0 -444
  659. package/src/pages/info-conversation/info-conversation.ts +0 -1233
  660. package/src/pages/info-message/info-message.html +0 -74
  661. package/src/pages/info-message/info-message.module.ts +0 -13
  662. package/src/pages/info-message/info-message.scss +0 -216
  663. package/src/pages/info-message/info-message.ts +0 -89
  664. package/src/pages/info-user/info-user.html +0 -89
  665. package/src/pages/info-user/info-user.module.ts +0 -13
  666. package/src/pages/info-user/info-user.scss +0 -187
  667. package/src/pages/info-user/info-user.ts +0 -177
  668. package/src/pages/lista-conversazioni/lista-conversazioni.html +0 -88
  669. package/src/pages/lista-conversazioni/lista-conversazioni.module.ts +0 -18
  670. package/src/pages/lista-conversazioni/lista-conversazioni.scss +0 -245
  671. package/src/pages/lista-conversazioni/lista-conversazioni.ts +0 -736
  672. package/src/pages/placeholder/placeholder.html +0 -3
  673. package/src/pages/placeholder/placeholder.module.ts +0 -16
  674. package/src/pages/placeholder/placeholder.scss +0 -23
  675. package/src/pages/placeholder/placeholder.ts +0 -18
  676. package/src/pages/popover/popover.html +0 -27
  677. package/src/pages/popover/popover.module.ts +0 -16
  678. package/src/pages/popover/popover.scss +0 -23
  679. package/src/pages/popover/popover.ts +0 -95
  680. package/src/pages/popover-profile/popover-profile.html +0 -20
  681. package/src/pages/popover-profile/popover-profile.module.ts +0 -16
  682. package/src/pages/popover-profile/popover-profile.scss +0 -10
  683. package/src/pages/popover-profile/popover-profile.ts +0 -40
  684. package/src/pages/profile/profile.html +0 -54
  685. package/src/pages/profile/profile.module.ts +0 -16
  686. package/src/pages/profile/profile.scss +0 -45
  687. package/src/pages/profile/profile.ts +0 -108
  688. package/src/pages/update-image-profile/update-image-profile.html +0 -39
  689. package/src/pages/update-image-profile/update-image-profile.module.ts +0 -16
  690. package/src/pages/update-image-profile/update-image-profile.scss +0 -50
  691. package/src/pages/update-image-profile/update-image-profile.ts +0 -111
  692. package/src/pages/users/users.html +0 -55
  693. package/src/pages/users/users.module.ts +0 -16
  694. package/src/pages/users/users.scss +0 -10
  695. package/src/pages/users/users.ts +0 -222
  696. package/src/providers/app-config/app-config.ts +0 -33
  697. package/src/providers/auth-service.ts +0 -140
  698. package/src/providers/canned-responses-service/canned-responses-service.ts +0 -57
  699. package/src/providers/chat-archived-conversations-handler.ts +0 -283
  700. package/src/providers/chat-contacts-synchronizer.ts +0 -179
  701. package/src/providers/chat-conversation-handler.ts +0 -547
  702. package/src/providers/chat-conversations-handler.ts +0 -519
  703. package/src/providers/chat-manager/chat-manager.ts +0 -246
  704. package/src/providers/chat-presence-handler.ts +0 -188
  705. package/src/providers/database/database.ts +0 -214
  706. package/src/providers/group/group.ts +0 -243
  707. package/src/providers/messaging-service.ts +0 -267
  708. package/src/providers/nav-proxy.ts +0 -104
  709. package/src/providers/tiledesk-conversation/tiledesk-conversation.ts +0 -134
  710. package/src/providers/translate-service.ts +0 -61
  711. package/src/providers/upload-service/upload-service.ts +0 -117
  712. package/src/providers/user/user.ts +0 -320
  713. package/src/service-worker.js +0 -30
  714. package/src/utils/constants.ts +0 -73
  715. package/src/utils/utils.ts +0 -548
  716. package/src/videochat.php +0 -20
@@ -1,2584 +0,0 @@
1
- <!doctype html>
2
- <html class="no-js" lang="">
3
- <head>
4
- <meta charset="utf-8">
5
- <meta http-equiv="x-ua-compatible" content="ie=edge">
6
- <title>@chat21/chat21-ionic documentation</title>
7
- <meta name="description" content="">
8
- <meta name="viewport" content="width=device-width, initial-scale=1">
9
-
10
- <link rel="icon" type="image/x-icon" href="../images/favicon.ico">
11
- <link rel="stylesheet" href="../styles/style.css">
12
- </head>
13
- <body>
14
-
15
- <div class="navbar navbar-default navbar-fixed-top visible-xs">
16
- <a href="../" class="navbar-brand">@chat21/chat21-ionic documentation</a>
17
- <button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
18
- </div>
19
-
20
- <div class="xs-menu menu" id="mobile-menu">
21
- <div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu>
22
- </div>
23
-
24
- <div class="container-fluid main">
25
- <div class="row main">
26
- <div class="hidden-xs menu">
27
- <compodoc-menu mode="normal"></compodoc-menu>
28
- </div>
29
- <!-- START CONTENT -->
30
- <div class="content injectable">
31
- <div class="content-data">
32
-
33
-
34
-
35
-
36
-
37
-
38
-
39
- <ol class="breadcrumb">
40
- <li>Injectables</li>
41
- <li>ChatConversationsHandler</li>
42
- </ol>
43
-
44
- <ul class="nav nav-tabs" role="tablist">
45
- <li class="active">
46
- <a href="#info" role="tab" id="info-tab" data-toggle="tab" data-link="info">Info</a>
47
- </li>
48
- <li >
49
- <a href="#source" role="tab" id="source-tab" data-toggle="tab" data-link="source">Source</a>
50
- </li>
51
- </ul>
52
-
53
- <div class="tab-content">
54
- <div class="tab-pane fade active in" id="c-info">
55
- <p class="comment">
56
- <h3>File</h3>
57
- </p>
58
- <p class="comment">
59
- <code>src/providers/chat-conversations-handler.ts</code>
60
- </p>
61
-
62
-
63
-
64
-
65
- <section>
66
- <h3 id="index">Index</h3>
67
- <table class="table table-sm table-bordered index-table">
68
- <tbody>
69
- <tr>
70
- <td class="col-md-4">
71
- <h6><b>Properties</b></h6>
72
- </td>
73
- </tr>
74
- <tr>
75
- <td class="col-md-4">
76
- <ul class="index-list">
77
- <li>
78
- <span class="modifier">Public</span>
79
- <a href="#appConfig">appConfig</a>
80
- </li>
81
- <li>
82
- <span class="modifier">Public</span>
83
- <a href="#audio">audio</a>
84
- </li>
85
- <li>
86
- <span class="modifier">Public</span>
87
- <a href="#chatManager">chatManager</a>
88
- </li>
89
- <li>
90
- <span class="modifier">Public</span>
91
- <a href="#conversations">conversations</a>
92
- </li>
93
- <li>
94
- <span class="modifier">Public</span>
95
- <a href="#databaseProvider">databaseProvider</a>
96
- </li>
97
- <li>
98
- <span class="modifier">Public</span>
99
- <a href="#events">events</a>
100
- </li>
101
- <li>
102
- <span class="modifier">Private</span>
103
- <a href="#loggedUser">loggedUser</a>
104
- </li>
105
- <li>
106
- <span class="modifier">Private</span>
107
- <a href="#ref">ref</a>
108
- </li>
109
- <li>
110
- <span class="modifier">Private</span>
111
- <a href="#tenant">tenant</a>
112
- </li>
113
- <li>
114
- <span class="modifier">Public</span>
115
- <a href="#translate">translate</a>
116
- </li>
117
- <li>
118
- <span class="modifier">Public</span>
119
- <a href="#uidConvSelected">uidConvSelected</a>
120
- </li>
121
- <li>
122
- <span class="modifier">Public</span>
123
- <a href="#upSvc">upSvc</a>
124
- </li>
125
- <li>
126
- <span class="modifier">Private</span>
127
- <a href="#userId">userId</a>
128
- </li>
129
- <li>
130
- <span class="modifier">Public</span>
131
- <a href="#zone">zone</a>
132
- </li>
133
- </ul>
134
- </td>
135
- </tr>
136
-
137
- <tr>
138
- <td class="col-md-4">
139
- <h6><b>Methods</b></h6>
140
- </td>
141
- </tr>
142
- <tr>
143
- <td class="col-md-4">
144
- <ul class="index-list">
145
- <li>
146
- <a href="#addConversationListener">addConversationListener</a>
147
- </li>
148
- <li>
149
- <a href="#added">added</a>
150
- </li>
151
- <li>
152
- <a href="#changed">changed</a>
153
- </li>
154
- <li>
155
- <a href="#completeConversation">completeConversation</a>
156
- </li>
157
- <li>
158
- <a href="#connect">connect</a>
159
- </li>
160
- <li>
161
- <a href="#countIsNew">countIsNew</a>
162
- </li>
163
- <li>
164
- <a href="#dispose">dispose</a>
165
- </li>
166
- <li>
167
- <a href="#getConversationByUid">getConversationByUid</a>
168
- </li>
169
- <li>
170
- <a href="#getConversationsFromStorage">getConversationsFromStorage</a>
171
- </li>
172
- <li>
173
- <a href="#getImageUrlThumb">getImageUrlThumb</a>
174
- </li>
175
- <li>
176
- <a href="#getInstance">getInstance</a>
177
- </li>
178
- <li>
179
- <a href="#getTimeLastMessage">getTimeLastMessage</a>
180
- </li>
181
- <li>
182
- <a href="#initWithTenant">initWithTenant</a>
183
- </li>
184
- <li>
185
- <span class="modifier">Private</span>
186
- <a href="#isValidConversation">isValidConversation</a>
187
- </li>
188
- <li>
189
- <span class="modifier">Private</span>
190
- <a href="#isValidField">isValidField</a>
191
- </li>
192
- <li>
193
- <a href="#removeByUid">removeByUid</a>
194
- </li>
195
- <li>
196
- <a href="#removed">removed</a>
197
- </li>
198
- <li>
199
- <a href="#setConversationRead">setConversationRead</a>
200
- </li>
201
- <li>
202
- <a href="#setStatusConversation">setStatusConversation</a>
203
- </li>
204
- <li>
205
- <a href="#soundMessage">soundMessage</a>
206
- </li>
207
- </ul>
208
- </td>
209
- </tr>
210
-
211
-
212
-
213
-
214
-
215
- </tbody>
216
- </table>
217
- </section>
218
-
219
- <section>
220
- <h3 id="constructor">Constructor</h3>
221
- <table class="table table-sm table-bordered">
222
- <tbody>
223
- <tr>
224
- <td class="col-md-4">
225
- <code>constructor(events: Events, chatManager: <a href="../injectables/ChatManager.html">ChatManager</a>, translate: TranslateService, tiledeskConversationsProvider: <a href="../injectables/TiledeskConversationProvider.html">TiledeskConversationProvider</a>, upSvc: <a href="../injectables/UploadService.html">UploadService</a>, zone: <a href="https://angular.io/api/core/NgZone" target="_blank">NgZone</a>, databaseProvider: <a href="../injectables/DatabaseProvider.html">DatabaseProvider</a>, appConfig: <a href="../injectables/AppConfigProvider.html">AppConfigProvider</a>)</code>
226
- </td>
227
- </tr>
228
- <tr>
229
- <td class="col-md-4">
230
- <div class="io-line">Defined in <a href="" data-line="36" class="link-to-prism">src/providers/chat-conversations-handler.ts:36</a></div>
231
- </td>
232
- </tr>
233
-
234
- <tr>
235
- <td class="col-md-4">
236
- <div>
237
- <b>Parameters :</b>
238
- <table class="params">
239
- <thead>
240
- <tr>
241
- <td>Name</td>
242
- <td>Type</td>
243
- <td>Optional</td>
244
- </tr>
245
- </thead>
246
- <tbody>
247
- <tr>
248
- <td>events</td>
249
-
250
- <td>
251
- <code>Events</code>
252
- </td>
253
-
254
- <td>
255
- No
256
- </td>
257
-
258
- </tr>
259
- <tr>
260
- <td>chatManager</td>
261
-
262
- <td>
263
- <code><a href="../injectables/ChatManager.html" target="_self" >ChatManager</a></code>
264
- </td>
265
-
266
- <td>
267
- No
268
- </td>
269
-
270
- </tr>
271
- <tr>
272
- <td>translate</td>
273
-
274
- <td>
275
- <code>TranslateService</code>
276
- </td>
277
-
278
- <td>
279
- No
280
- </td>
281
-
282
- </tr>
283
- <tr>
284
- <td>tiledeskConversationsProvider</td>
285
-
286
- <td>
287
- <code><a href="../injectables/TiledeskConversationProvider.html" target="_self" >TiledeskConversationProvider</a></code>
288
- </td>
289
-
290
- <td>
291
- No
292
- </td>
293
-
294
- </tr>
295
- <tr>
296
- <td>upSvc</td>
297
-
298
- <td>
299
- <code><a href="../injectables/UploadService.html" target="_self" >UploadService</a></code>
300
- </td>
301
-
302
- <td>
303
- No
304
- </td>
305
-
306
- </tr>
307
- <tr>
308
- <td>zone</td>
309
-
310
- <td>
311
- <code><a href="https://angular.io/api/core/NgZone" target="_blank" >NgZone</a></code>
312
- </td>
313
-
314
- <td>
315
- No
316
- </td>
317
-
318
- </tr>
319
- <tr>
320
- <td>databaseProvider</td>
321
-
322
- <td>
323
- <code><a href="../injectables/DatabaseProvider.html" target="_self" >DatabaseProvider</a></code>
324
- </td>
325
-
326
- <td>
327
- No
328
- </td>
329
-
330
- </tr>
331
- <tr>
332
- <td>appConfig</td>
333
-
334
- <td>
335
- <code><a href="../injectables/AppConfigProvider.html" target="_self" >AppConfigProvider</a></code>
336
- </td>
337
-
338
- <td>
339
- No
340
- </td>
341
-
342
- </tr>
343
- </tbody>
344
- </table>
345
- </div>
346
- </td>
347
- </tr>
348
- </tbody>
349
- </table>
350
- </section>
351
-
352
- <section>
353
-
354
- <h3 id="methods">
355
- Methods
356
- </h3>
357
- <table class="table table-sm table-bordered">
358
- <tbody>
359
- <tr>
360
- <td class="col-md-4">
361
- <a name="addConversationListener"></a>
362
- <span class="name">
363
- <b>
364
- addConversationListener
365
- </b>
366
- <a href="#addConversationListener"><span class="icon ion-ios-link"></span></a>
367
- </span>
368
- </td>
369
- </tr>
370
- <tr>
371
- <td class="col-md-4">
372
- <code>addConversationListener(uidUser, conversationId)</code>
373
- </td>
374
- </tr>
375
-
376
-
377
- <tr>
378
- <td class="col-md-4">
379
- <div class="io-line">Defined in <a href="" data-line="378"
380
- class="link-to-prism">src/providers/chat-conversations-handler.ts:378</a></div>
381
- </td>
382
- </tr>
383
-
384
-
385
- <tr>
386
- <td class="col-md-4">
387
-
388
- <div class="io-description">
389
- <b>Parameters :</b>
390
- <table class="params">
391
- <thead>
392
- <tr>
393
- <td>Name</td>
394
- <td>Optional</td>
395
- </tr>
396
- </thead>
397
- <tbody>
398
- <tr>
399
- <td>uidUser</td>
400
-
401
- <td>
402
- No
403
- </td>
404
-
405
-
406
- </tr>
407
- <tr>
408
- <td>conversationId</td>
409
-
410
- <td>
411
- No
412
- </td>
413
-
414
-
415
- </tr>
416
- </tbody>
417
- </table>
418
- </div>
419
- <div>
420
- </div>
421
- <div class="io-description">
422
- <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
423
-
424
- </div>
425
- <div class="io-description">
426
-
427
- </div>
428
- </td>
429
- </tr>
430
- </tbody>
431
- </table>
432
- <table class="table table-sm table-bordered">
433
- <tbody>
434
- <tr>
435
- <td class="col-md-4">
436
- <a name="added"></a>
437
- <span class="name">
438
- <b>
439
- added
440
- </b>
441
- <a href="#added"><span class="icon ion-ios-link"></span></a>
442
- </span>
443
- </td>
444
- </tr>
445
- <tr>
446
- <td class="col-md-4">
447
- <code>added(childSnapshot)</code>
448
- </td>
449
- </tr>
450
-
451
-
452
- <tr>
453
- <td class="col-md-4">
454
- <div class="io-line">Defined in <a href="" data-line="120"
455
- class="link-to-prism">src/providers/chat-conversations-handler.ts:120</a></div>
456
- </td>
457
- </tr>
458
-
459
-
460
- <tr>
461
- <td class="col-md-4">
462
- <div class="io-description"><p>1 - aggiungo alla pos 0 la nuova conversazione all&#39;array di conversazioni
463
- 2 - pubblico conversations:update</p>
464
- </div>
465
-
466
- <div class="io-description">
467
- <b>Parameters :</b>
468
- <table class="params">
469
- <thead>
470
- <tr>
471
- <td>Name</td>
472
- <td>Optional</td>
473
- </tr>
474
- </thead>
475
- <tbody>
476
- <tr>
477
- <td>childSnapshot</td>
478
-
479
- <td>
480
- No
481
- </td>
482
-
483
-
484
- </tr>
485
- </tbody>
486
- </table>
487
- </div>
488
- <div>
489
- </div>
490
- <div class="io-description">
491
- <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
492
-
493
- </div>
494
- <div class="io-description">
495
-
496
- </div>
497
- </td>
498
- </tr>
499
- </tbody>
500
- </table>
501
- <table class="table table-sm table-bordered">
502
- <tbody>
503
- <tr>
504
- <td class="col-md-4">
505
- <a name="changed"></a>
506
- <span class="name">
507
- <b>
508
- changed
509
- </b>
510
- <a href="#changed"><span class="icon ion-ios-link"></span></a>
511
- </span>
512
- </td>
513
- </tr>
514
- <tr>
515
- <td class="col-md-4">
516
- <code>changed(childSnapshot)</code>
517
- </td>
518
- </tr>
519
-
520
-
521
- <tr>
522
- <td class="col-md-4">
523
- <div class="io-line">Defined in <a href="" data-line="151"
524
- class="link-to-prism">src/providers/chat-conversations-handler.ts:151</a></div>
525
- </td>
526
- </tr>
527
-
528
-
529
- <tr>
530
- <td class="col-md-4">
531
- <div class="io-description"><p>1 - cerco indice conversazione nell&#39;array conversation
532
- 2 - sostituisco conversazione
533
- 3 - pubblico conversations:update</p>
534
- </div>
535
-
536
- <div class="io-description">
537
- <b>Parameters :</b>
538
- <table class="params">
539
- <thead>
540
- <tr>
541
- <td>Name</td>
542
- <td>Optional</td>
543
- </tr>
544
- </thead>
545
- <tbody>
546
- <tr>
547
- <td>childSnapshot</td>
548
-
549
- <td>
550
- No
551
- </td>
552
-
553
-
554
- </tr>
555
- </tbody>
556
- </table>
557
- </div>
558
- <div>
559
- </div>
560
- <div class="io-description">
561
- <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
562
-
563
- </div>
564
- <div class="io-description">
565
-
566
- </div>
567
- </td>
568
- </tr>
569
- </tbody>
570
- </table>
571
- <table class="table table-sm table-bordered">
572
- <tbody>
573
- <tr>
574
- <td class="col-md-4">
575
- <a name="completeConversation"></a>
576
- <span class="name">
577
- <b>
578
- completeConversation
579
- </b>
580
- <a href="#completeConversation"><span class="icon ion-ios-link"></span></a>
581
- </span>
582
- </td>
583
- </tr>
584
- <tr>
585
- <td class="col-md-4">
586
- <code>completeConversation(conv)</code>
587
- </td>
588
- </tr>
589
-
590
-
591
- <tr>
592
- <td class="col-md-4">
593
- <div class="io-line">Defined in <a href="" data-line="221"
594
- class="link-to-prism">src/providers/chat-conversations-handler.ts:221</a></div>
595
- </td>
596
- </tr>
597
-
598
-
599
- <tr>
600
- <td class="col-md-4">
601
-
602
- <div class="io-description">
603
- <b>Parameters :</b>
604
- <table class="params">
605
- <thead>
606
- <tr>
607
- <td>Name</td>
608
- <td>Optional</td>
609
- </tr>
610
- </thead>
611
- <tbody>
612
- <tr>
613
- <td>conv</td>
614
-
615
- <td>
616
- No
617
- </td>
618
-
619
-
620
- </tr>
621
- </tbody>
622
- </table>
623
- </div>
624
- <div>
625
- </div>
626
- <div class="io-description">
627
- <b>Returns : </b> <code><a href="../classes/ConversationModel.html" target="_self" >ConversationModel</a></code>
628
-
629
- </div>
630
- <div class="io-description">
631
-
632
- </div>
633
- </td>
634
- </tr>
635
- </tbody>
636
- </table>
637
- <table class="table table-sm table-bordered">
638
- <tbody>
639
- <tr>
640
- <td class="col-md-4">
641
- <a name="connect"></a>
642
- <span class="name">
643
- <b>
644
- connect
645
- </b>
646
- <a href="#connect"><span class="icon ion-ios-link"></span></a>
647
- </span>
648
- </td>
649
- </tr>
650
- <tr>
651
- <td class="col-md-4">
652
- <code>connect()</code>
653
- </td>
654
- </tr>
655
-
656
-
657
- <tr>
658
- <td class="col-md-4">
659
- <div class="io-line">Defined in <a href="" data-line="91"
660
- class="link-to-prism">src/providers/chat-conversations-handler.ts:91</a></div>
661
- </td>
662
- </tr>
663
-
664
-
665
- <tr>
666
- <td class="col-md-4">
667
- <div class="io-description"><p>mi connetto al nodo conversations
668
- creo la reference
669
- mi sottoscrivo a change, removed, added</p>
670
- </div>
671
-
672
- <div class="io-description">
673
- <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
674
-
675
- </div>
676
- </td>
677
- </tr>
678
- </tbody>
679
- </table>
680
- <table class="table table-sm table-bordered">
681
- <tbody>
682
- <tr>
683
- <td class="col-md-4">
684
- <a name="countIsNew"></a>
685
- <span class="name">
686
- <b>
687
- countIsNew
688
- </b>
689
- <a href="#countIsNew"><span class="icon ion-ios-link"></span></a>
690
- </span>
691
- </td>
692
- </tr>
693
- <tr>
694
- <td class="col-md-4">
695
- <code>countIsNew()</code>
696
- </td>
697
- </tr>
698
-
699
-
700
- <tr>
701
- <td class="col-md-4">
702
- <div class="io-line">Defined in <a href="" data-line="481"
703
- class="link-to-prism">src/providers/chat-conversations-handler.ts:481</a></div>
704
- </td>
705
- </tr>
706
-
707
-
708
- <tr>
709
- <td class="col-md-4">
710
-
711
- <div class="io-description">
712
- <b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/number" target="_blank" >number</a></code>
713
-
714
- </div>
715
- </td>
716
- </tr>
717
- </tbody>
718
- </table>
719
- <table class="table table-sm table-bordered">
720
- <tbody>
721
- <tr>
722
- <td class="col-md-4">
723
- <a name="dispose"></a>
724
- <span class="name">
725
- <b>
726
- dispose
727
- </b>
728
- <a href="#dispose"><span class="icon ion-ios-link"></span></a>
729
- </span>
730
- </td>
731
- </tr>
732
- <tr>
733
- <td class="col-md-4">
734
- <code>dispose()</code>
735
- </td>
736
- </tr>
737
-
738
-
739
- <tr>
740
- <td class="col-md-4">
741
- <div class="io-line">Defined in <a href="" data-line="338"
742
- class="link-to-prism">src/providers/chat-conversations-handler.ts:338</a></div>
743
- </td>
744
- </tr>
745
-
746
-
747
- <tr>
748
- <td class="col-md-4">
749
- <div class="io-description"><p>1 - deseleziono tutte le conversazioni (setto tutti su on selected FALSE)
750
- 2 - evidezio la conversazione selezionata (setto selected TRUE)</p>
751
- </div>
752
-
753
- <div class="io-description">
754
- <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
755
-
756
- </div>
757
- </td>
758
- </tr>
759
- </tbody>
760
- </table>
761
- <table class="table table-sm table-bordered">
762
- <tbody>
763
- <tr>
764
- <td class="col-md-4">
765
- <a name="getConversationByUid"></a>
766
- <span class="name">
767
- <b>
768
- getConversationByUid
769
- </b>
770
- <a href="#getConversationByUid"><span class="icon ion-ios-link"></span></a>
771
- </span>
772
- </td>
773
- </tr>
774
- <tr>
775
- <td class="col-md-4">
776
- <code>getConversationByUid(conversationUid)</code>
777
- </td>
778
- </tr>
779
-
780
-
781
- <tr>
782
- <td class="col-md-4">
783
- <div class="io-line">Defined in <a href="" data-line="267"
784
- class="link-to-prism">src/providers/chat-conversations-handler.ts:267</a></div>
785
- </td>
786
- </tr>
787
-
788
-
789
- <tr>
790
- <td class="col-md-4">
791
-
792
- <div class="io-description">
793
- <b>Parameters :</b>
794
- <table class="params">
795
- <thead>
796
- <tr>
797
- <td>Name</td>
798
- <td>Optional</td>
799
- </tr>
800
- </thead>
801
- <tbody>
802
- <tr>
803
- <td>conversationUid</td>
804
-
805
- <td>
806
- No
807
- </td>
808
-
809
-
810
- </tr>
811
- </tbody>
812
- </table>
813
- </div>
814
- <div>
815
- </div>
816
- <div class="io-description">
817
- <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
818
-
819
- </div>
820
- <div class="io-description">
821
-
822
- </div>
823
- </td>
824
- </tr>
825
- </tbody>
826
- </table>
827
- <table class="table table-sm table-bordered">
828
- <tbody>
829
- <tr>
830
- <td class="col-md-4">
831
- <a name="getConversationsFromStorage"></a>
832
- <span class="name">
833
- <b>
834
- getConversationsFromStorage
835
- </b>
836
- <a href="#getConversationsFromStorage"><span class="icon ion-ios-link"></span></a>
837
- </span>
838
- </td>
839
- </tr>
840
- <tr>
841
- <td class="col-md-4">
842
- <code>getConversationsFromStorage()</code>
843
- </td>
844
- </tr>
845
-
846
-
847
- <tr>
848
- <td class="col-md-4">
849
- <div class="io-line">Defined in <a href="" data-line="76"
850
- class="link-to-prism">src/providers/chat-conversations-handler.ts:76</a></div>
851
- </td>
852
- </tr>
853
-
854
-
855
- <tr>
856
- <td class="col-md-4">
857
-
858
- <div class="io-description">
859
- <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
860
-
861
- </div>
862
- </td>
863
- </tr>
864
- </tbody>
865
- </table>
866
- <table class="table table-sm table-bordered">
867
- <tbody>
868
- <tr>
869
- <td class="col-md-4">
870
- <a name="getImageUrlThumb"></a>
871
- <span class="name">
872
- <b>
873
- getImageUrlThumb
874
- </b>
875
- <a href="#getImageUrlThumb"><span class="icon ion-ios-link"></span></a>
876
- </span>
877
- </td>
878
- </tr>
879
- <tr>
880
- <td class="col-md-4">
881
- <code>getImageUrlThumb(uid: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
882
- </td>
883
- </tr>
884
-
885
-
886
- <tr>
887
- <td class="col-md-4">
888
- <div class="io-line">Defined in <a href="" data-line="253"
889
- class="link-to-prism">src/providers/chat-conversations-handler.ts:253</a></div>
890
- </td>
891
- </tr>
892
-
893
-
894
- <tr>
895
- <td class="col-md-4">
896
-
897
- <div class="io-description">
898
- <b>Parameters :</b>
899
- <table class="params">
900
- <thead>
901
- <tr>
902
- <td>Name</td>
903
- <td>Type</td>
904
- <td>Optional</td>
905
- </tr>
906
- </thead>
907
- <tbody>
908
- <tr>
909
- <td>uid</td>
910
- <td>
911
- <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
912
- </td>
913
-
914
- <td>
915
- No
916
- </td>
917
-
918
-
919
- </tr>
920
- </tbody>
921
- </table>
922
- </div>
923
- <div>
924
- </div>
925
- <div class="io-description">
926
- <b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
927
-
928
- </div>
929
- <div class="io-description">
930
-
931
- </div>
932
- </td>
933
- </tr>
934
- </tbody>
935
- </table>
936
- <table class="table table-sm table-bordered">
937
- <tbody>
938
- <tr>
939
- <td class="col-md-4">
940
- <a name="getInstance"></a>
941
- <span class="name">
942
- <b>
943
- getInstance
944
- </b>
945
- <a href="#getInstance"><span class="icon ion-ios-link"></span></a>
946
- </span>
947
- </td>
948
- </tr>
949
- <tr>
950
- <td class="col-md-4">
951
- <code>getInstance()</code>
952
- </td>
953
- </tr>
954
-
955
-
956
- <tr>
957
- <td class="col-md-4">
958
- <div class="io-line">Defined in <a href="" data-line="56"
959
- class="link-to-prism">src/providers/chat-conversations-handler.ts:56</a></div>
960
- </td>
961
- </tr>
962
-
963
-
964
- <tr>
965
- <td class="col-md-4">
966
- <div class="io-description"><p>ritorno istanza di conversations handler</p>
967
- </div>
968
-
969
- <div class="io-description">
970
- <b>Returns : </b> <code>this</code>
971
-
972
- </div>
973
- </td>
974
- </tr>
975
- </tbody>
976
- </table>
977
- <table class="table table-sm table-bordered">
978
- <tbody>
979
- <tr>
980
- <td class="col-md-4">
981
- <a name="getTimeLastMessage"></a>
982
- <span class="name">
983
- <b>
984
- getTimeLastMessage
985
- </b>
986
- <a href="#getTimeLastMessage"><span class="icon ion-ios-link"></span></a>
987
- </span>
988
- </td>
989
- </tr>
990
- <tr>
991
- <td class="col-md-4">
992
- <code>getTimeLastMessage(timestamp: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>)</code>
993
- </td>
994
- </tr>
995
-
996
-
997
- <tr>
998
- <td class="col-md-4">
999
- <div class="io-line">Defined in <a href="" data-line="313"
1000
- class="link-to-prism">src/providers/chat-conversations-handler.ts:313</a></div>
1001
- </td>
1002
- </tr>
1003
-
1004
-
1005
- <tr>
1006
- <td class="col-md-4">
1007
- <div class="io-description"><p>carico url immagine profilo passando id utente</p>
1008
- </div>
1009
-
1010
- <div class="io-description">
1011
- <b>Parameters :</b>
1012
- <table class="params">
1013
- <thead>
1014
- <tr>
1015
- <td>Name</td>
1016
- <td>Type</td>
1017
- <td>Optional</td>
1018
- </tr>
1019
- </thead>
1020
- <tbody>
1021
- <tr>
1022
- <td>timestamp</td>
1023
- <td>
1024
- <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
1025
- </td>
1026
-
1027
- <td>
1028
- No
1029
- </td>
1030
-
1031
-
1032
- </tr>
1033
- </tbody>
1034
- </table>
1035
- </div>
1036
- <div>
1037
- </div>
1038
- <div class="io-description">
1039
- <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
1040
-
1041
- </div>
1042
- <div class="io-description">
1043
-
1044
- </div>
1045
- </td>
1046
- </tr>
1047
- </tbody>
1048
- </table>
1049
- <table class="table table-sm table-bordered">
1050
- <tbody>
1051
- <tr>
1052
- <td class="col-md-4">
1053
- <a name="initWithTenant"></a>
1054
- <span class="name">
1055
- <b>
1056
- initWithTenant
1057
- </b>
1058
- <a href="#initWithTenant"><span class="icon ion-ios-link"></span></a>
1059
- </span>
1060
- </td>
1061
- </tr>
1062
- <tr>
1063
- <td class="col-md-4">
1064
- <code>initWithTenant(tenant, loggedUser)</code>
1065
- </td>
1066
- </tr>
1067
-
1068
-
1069
- <tr>
1070
- <td class="col-md-4">
1071
- <div class="io-line">Defined in <a href="" data-line="64"
1072
- class="link-to-prism">src/providers/chat-conversations-handler.ts:64</a></div>
1073
- </td>
1074
- </tr>
1075
-
1076
-
1077
- <tr>
1078
- <td class="col-md-4">
1079
- <div class="io-description"><p>inizializzo conversations handler</p>
1080
- </div>
1081
-
1082
- <div class="io-description">
1083
- <b>Parameters :</b>
1084
- <table class="params">
1085
- <thead>
1086
- <tr>
1087
- <td>Name</td>
1088
- <td>Optional</td>
1089
- </tr>
1090
- </thead>
1091
- <tbody>
1092
- <tr>
1093
- <td>tenant</td>
1094
-
1095
- <td>
1096
- No
1097
- </td>
1098
-
1099
-
1100
- </tr>
1101
- <tr>
1102
- <td>loggedUser</td>
1103
-
1104
- <td>
1105
- No
1106
- </td>
1107
-
1108
-
1109
- </tr>
1110
- </tbody>
1111
- </table>
1112
- </div>
1113
- <div>
1114
- </div>
1115
- <div class="io-description">
1116
- <b>Returns : </b> <code><a href="../injectables/ChatConversationsHandler.html" target="_self" >ChatConversationsHandler</a></code>
1117
-
1118
- </div>
1119
- <div class="io-description">
1120
-
1121
- </div>
1122
- </td>
1123
- </tr>
1124
- </tbody>
1125
- </table>
1126
- <table class="table table-sm table-bordered">
1127
- <tbody>
1128
- <tr>
1129
- <td class="col-md-4">
1130
- <a name="isValidConversation"></a>
1131
- <span class="name">
1132
- <b>
1133
- <span class="modifier">Private</span>
1134
- isValidConversation
1135
- </b>
1136
- <a href="#isValidConversation"><span class="icon ion-ios-link"></span></a>
1137
- </span>
1138
- </td>
1139
- </tr>
1140
- <tr>
1141
- <td class="col-md-4">
1142
- <span class="modifier-icon icon ion-ios-reset"></span>
1143
- <code>isValidConversation(convToCheckId, convToCheck: <a href="../classes/ConversationModel.html">ConversationModel</a>)</code>
1144
- </td>
1145
- </tr>
1146
-
1147
-
1148
- <tr>
1149
- <td class="col-md-4">
1150
- <div class="io-line">Defined in <a href="" data-line="392"
1151
- class="link-to-prism">src/providers/chat-conversations-handler.ts:392</a></div>
1152
- </td>
1153
- </tr>
1154
-
1155
-
1156
- <tr>
1157
- <td class="col-md-4">
1158
-
1159
- <div class="io-description">
1160
- <b>Parameters :</b>
1161
- <table class="params">
1162
- <thead>
1163
- <tr>
1164
- <td>Name</td>
1165
- <td>Type</td>
1166
- <td>Optional</td>
1167
- </tr>
1168
- </thead>
1169
- <tbody>
1170
- <tr>
1171
- <td>convToCheckId</td>
1172
- <td>
1173
- </td>
1174
-
1175
- <td>
1176
- No
1177
- </td>
1178
-
1179
-
1180
- </tr>
1181
- <tr>
1182
- <td>convToCheck</td>
1183
- <td>
1184
- <code><a href="../classes/ConversationModel.html" target="_self" >ConversationModel</a></code>
1185
- </td>
1186
-
1187
- <td>
1188
- No
1189
- </td>
1190
-
1191
-
1192
- </tr>
1193
- </tbody>
1194
- </table>
1195
- </div>
1196
- <div>
1197
- </div>
1198
- <div class="io-description">
1199
- <b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
1200
-
1201
- </div>
1202
- <div class="io-description">
1203
-
1204
- </div>
1205
- </td>
1206
- </tr>
1207
- </tbody>
1208
- </table>
1209
- <table class="table table-sm table-bordered">
1210
- <tbody>
1211
- <tr>
1212
- <td class="col-md-4">
1213
- <a name="isValidField"></a>
1214
- <span class="name">
1215
- <b>
1216
- <span class="modifier">Private</span>
1217
- isValidField
1218
- </b>
1219
- <a href="#isValidField"><span class="icon ion-ios-link"></span></a>
1220
- </span>
1221
- </td>
1222
- </tr>
1223
- <tr>
1224
- <td class="col-md-4">
1225
- <span class="modifier-icon icon ion-ios-reset"></span>
1226
- <code>isValidField(field)</code>
1227
- </td>
1228
- </tr>
1229
-
1230
-
1231
- <tr>
1232
- <td class="col-md-4">
1233
- <div class="io-line">Defined in <a href="" data-line="450"
1234
- class="link-to-prism">src/providers/chat-conversations-handler.ts:450</a></div>
1235
- </td>
1236
- </tr>
1237
-
1238
-
1239
- <tr>
1240
- <td class="col-md-4">
1241
-
1242
- <div class="io-description">
1243
- <b>Parameters :</b>
1244
- <table class="params">
1245
- <thead>
1246
- <tr>
1247
- <td>Name</td>
1248
- <td>Optional</td>
1249
- </tr>
1250
- </thead>
1251
- <tbody>
1252
- <tr>
1253
- <td>field</td>
1254
-
1255
- <td>
1256
- No
1257
- </td>
1258
-
1259
-
1260
- </tr>
1261
- </tbody>
1262
- </table>
1263
- </div>
1264
- <div>
1265
- </div>
1266
- <div class="io-description">
1267
- <b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
1268
-
1269
- </div>
1270
- <div class="io-description">
1271
-
1272
- </div>
1273
- </td>
1274
- </tr>
1275
- </tbody>
1276
- </table>
1277
- <table class="table table-sm table-bordered">
1278
- <tbody>
1279
- <tr>
1280
- <td class="col-md-4">
1281
- <a name="removeByUid"></a>
1282
- <span class="name">
1283
- <b>
1284
- removeByUid
1285
- </b>
1286
- <a href="#removeByUid"><span class="icon ion-ios-link"></span></a>
1287
- </span>
1288
- </td>
1289
- </tr>
1290
- <tr>
1291
- <td class="col-md-4">
1292
- <code>removeByUid(uid)</code>
1293
- </td>
1294
- </tr>
1295
-
1296
-
1297
- <tr>
1298
- <td class="col-md-4">
1299
- <div class="io-line">Defined in <a href="" data-line="370"
1300
- class="link-to-prism">src/providers/chat-conversations-handler.ts:370</a></div>
1301
- </td>
1302
- </tr>
1303
-
1304
-
1305
- <tr>
1306
- <td class="col-md-4">
1307
-
1308
- <div class="io-description">
1309
- <b>Parameters :</b>
1310
- <table class="params">
1311
- <thead>
1312
- <tr>
1313
- <td>Name</td>
1314
- <td>Optional</td>
1315
- </tr>
1316
- </thead>
1317
- <tbody>
1318
- <tr>
1319
- <td>uid</td>
1320
-
1321
- <td>
1322
- No
1323
- </td>
1324
-
1325
-
1326
- </tr>
1327
- </tbody>
1328
- </table>
1329
- </div>
1330
- <div>
1331
- </div>
1332
- <div class="io-description">
1333
- <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
1334
-
1335
- </div>
1336
- <div class="io-description">
1337
-
1338
- </div>
1339
- </td>
1340
- </tr>
1341
- </tbody>
1342
- </table>
1343
- <table class="table table-sm table-bordered">
1344
- <tbody>
1345
- <tr>
1346
- <td class="col-md-4">
1347
- <a name="removed"></a>
1348
- <span class="name">
1349
- <b>
1350
- removed
1351
- </b>
1352
- <a href="#removed"><span class="icon ion-ios-link"></span></a>
1353
- </span>
1354
- </td>
1355
- </tr>
1356
- <tr>
1357
- <td class="col-md-4">
1358
- <code>removed(childSnapshot)</code>
1359
- </td>
1360
- </tr>
1361
-
1362
-
1363
- <tr>
1364
- <td class="col-md-4">
1365
- <div class="io-line">Defined in <a href="" data-line="175"
1366
- class="link-to-prism">src/providers/chat-conversations-handler.ts:175</a></div>
1367
- </td>
1368
- </tr>
1369
-
1370
-
1371
- <tr>
1372
- <td class="col-md-4">
1373
- <div class="io-description"><p>1 - cerco indice conversazione da eliminare
1374
- 2 - elimino conversazione da array conversations
1375
- 3 - pubblico conversations:update</p>
1376
- </div>
1377
-
1378
- <div class="io-description">
1379
- <b>Parameters :</b>
1380
- <table class="params">
1381
- <thead>
1382
- <tr>
1383
- <td>Name</td>
1384
- <td>Optional</td>
1385
- </tr>
1386
- </thead>
1387
- <tbody>
1388
- <tr>
1389
- <td>childSnapshot</td>
1390
-
1391
- <td>
1392
- No
1393
- </td>
1394
-
1395
-
1396
- </tr>
1397
- </tbody>
1398
- </table>
1399
- </div>
1400
- <div>
1401
- </div>
1402
- <div class="io-description">
1403
- <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
1404
-
1405
- </div>
1406
- <div class="io-description">
1407
-
1408
- </div>
1409
- </td>
1410
- </tr>
1411
- </tbody>
1412
- </table>
1413
- <table class="table table-sm table-bordered">
1414
- <tbody>
1415
- <tr>
1416
- <td class="col-md-4">
1417
- <a name="setConversationRead"></a>
1418
- <span class="name">
1419
- <b>
1420
- setConversationRead
1421
- </b>
1422
- <a href="#setConversationRead"><span class="icon ion-ios-link"></span></a>
1423
- </span>
1424
- </td>
1425
- </tr>
1426
- <tr>
1427
- <td class="col-md-4">
1428
- <code>setConversationRead(conversationUid)</code>
1429
- </td>
1430
- </tr>
1431
-
1432
-
1433
- <tr>
1434
- <td class="col-md-4">
1435
- <div class="io-line">Defined in <a href="" data-line="261"
1436
- class="link-to-prism">src/providers/chat-conversations-handler.ts:261</a></div>
1437
- </td>
1438
- </tr>
1439
-
1440
-
1441
- <tr>
1442
- <td class="col-md-4">
1443
-
1444
- <div class="io-description">
1445
- <b>Parameters :</b>
1446
- <table class="params">
1447
- <thead>
1448
- <tr>
1449
- <td>Name</td>
1450
- <td>Optional</td>
1451
- </tr>
1452
- </thead>
1453
- <tbody>
1454
- <tr>
1455
- <td>conversationUid</td>
1456
-
1457
- <td>
1458
- No
1459
- </td>
1460
-
1461
-
1462
- </tr>
1463
- </tbody>
1464
- </table>
1465
- </div>
1466
- <div>
1467
- </div>
1468
- <div class="io-description">
1469
- <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
1470
-
1471
- </div>
1472
- <div class="io-description">
1473
-
1474
- </div>
1475
- </td>
1476
- </tr>
1477
- </tbody>
1478
- </table>
1479
- <table class="table table-sm table-bordered">
1480
- <tbody>
1481
- <tr>
1482
- <td class="col-md-4">
1483
- <a name="setStatusConversation"></a>
1484
- <span class="name">
1485
- <b>
1486
- setStatusConversation
1487
- </b>
1488
- <a href="#setStatusConversation"><span class="icon ion-ios-link"></span></a>
1489
- </span>
1490
- </td>
1491
- </tr>
1492
- <tr>
1493
- <td class="col-md-4">
1494
- <code>setStatusConversation(sender, uid)</code>
1495
- </td>
1496
- </tr>
1497
-
1498
-
1499
- <tr>
1500
- <td class="col-md-4">
1501
- <div class="io-line">Defined in <a href="" data-line="272"
1502
- class="link-to-prism">src/providers/chat-conversations-handler.ts:272</a></div>
1503
- </td>
1504
- </tr>
1505
-
1506
-
1507
- <tr>
1508
- <td class="col-md-4">
1509
-
1510
- <div class="io-description">
1511
- <b>Parameters :</b>
1512
- <table class="params">
1513
- <thead>
1514
- <tr>
1515
- <td>Name</td>
1516
- <td>Optional</td>
1517
- </tr>
1518
- </thead>
1519
- <tbody>
1520
- <tr>
1521
- <td>sender</td>
1522
-
1523
- <td>
1524
- No
1525
- </td>
1526
-
1527
-
1528
- </tr>
1529
- <tr>
1530
- <td>uid</td>
1531
-
1532
- <td>
1533
- No
1534
- </td>
1535
-
1536
-
1537
- </tr>
1538
- </tbody>
1539
- </table>
1540
- </div>
1541
- <div>
1542
- </div>
1543
- <div class="io-description">
1544
- <b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
1545
-
1546
- </div>
1547
- <div class="io-description">
1548
-
1549
- </div>
1550
- </td>
1551
- </tr>
1552
- </tbody>
1553
- </table>
1554
- <table class="table table-sm table-bordered">
1555
- <tbody>
1556
- <tr>
1557
- <td class="col-md-4">
1558
- <a name="soundMessage"></a>
1559
- <span class="name">
1560
- <b>
1561
- soundMessage
1562
- </b>
1563
- <a href="#soundMessage"><span class="icon ion-ios-link"></span></a>
1564
- </span>
1565
- </td>
1566
- </tr>
1567
- <tr>
1568
- <td class="col-md-4">
1569
- <code>soundMessage()</code>
1570
- </td>
1571
- </tr>
1572
-
1573
-
1574
- <tr>
1575
- <td class="col-md-4">
1576
- <div class="io-line">Defined in <a href="" data-line="492"
1577
- class="link-to-prism">src/providers/chat-conversations-handler.ts:492</a></div>
1578
- </td>
1579
- </tr>
1580
-
1581
-
1582
- <tr>
1583
- <td class="col-md-4">
1584
-
1585
- <div class="io-description">
1586
- <b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
1587
-
1588
- </div>
1589
- </td>
1590
- </tr>
1591
- </tbody>
1592
- </table>
1593
- </section>
1594
- <section>
1595
-
1596
- <h3 id="inputs">
1597
- Properties
1598
- </h3>
1599
- <table class="table table-sm table-bordered">
1600
- <tbody>
1601
- <tr>
1602
- <td class="col-md-4">
1603
- <a name="appConfig"></a>
1604
- <span class="name">
1605
- <b>
1606
- <span class="modifier">Public</span>
1607
- appConfig</b>
1608
- <a href="#appConfig"><span class="icon ion-ios-link"></span></a>
1609
- </span>
1610
- </td>
1611
- </tr>
1612
- <tr>
1613
- <td class="col-md-4">
1614
- <i>Type : </i> <code><a href="../injectables/AppConfigProvider.html" target="_self" >AppConfigProvider</a></code>
1615
-
1616
- </td>
1617
- </tr>
1618
- <tr>
1619
- <td class="col-md-4">
1620
- <div class="io-line">Defined in <a href="" data-line="48" class="link-to-prism">src/providers/chat-conversations-handler.ts:48</a></div>
1621
- </td>
1622
- </tr>
1623
-
1624
-
1625
- </tbody>
1626
- </table>
1627
- <table class="table table-sm table-bordered">
1628
- <tbody>
1629
- <tr>
1630
- <td class="col-md-4">
1631
- <a name="audio"></a>
1632
- <span class="name">
1633
- <b>
1634
- <span class="modifier">Public</span>
1635
- audio</b>
1636
- <a href="#audio"><span class="icon ion-ios-link"></span></a>
1637
- </span>
1638
- </td>
1639
- </tr>
1640
- <tr>
1641
- <td class="col-md-4">
1642
- <i>Type : </i> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
1643
-
1644
- </td>
1645
- </tr>
1646
- <tr>
1647
- <td class="col-md-4">
1648
- <div class="io-line">Defined in <a href="" data-line="36" class="link-to-prism">src/providers/chat-conversations-handler.ts:36</a></div>
1649
- </td>
1650
- </tr>
1651
-
1652
-
1653
- </tbody>
1654
- </table>
1655
- <table class="table table-sm table-bordered">
1656
- <tbody>
1657
- <tr>
1658
- <td class="col-md-4">
1659
- <a name="chatManager"></a>
1660
- <span class="name">
1661
- <b>
1662
- <span class="modifier">Public</span>
1663
- chatManager</b>
1664
- <a href="#chatManager"><span class="icon ion-ios-link"></span></a>
1665
- </span>
1666
- </td>
1667
- </tr>
1668
- <tr>
1669
- <td class="col-md-4">
1670
- <i>Type : </i> <code><a href="../injectables/ChatManager.html" target="_self" >ChatManager</a></code>
1671
-
1672
- </td>
1673
- </tr>
1674
- <tr>
1675
- <td class="col-md-4">
1676
- <div class="io-line">Defined in <a href="" data-line="42" class="link-to-prism">src/providers/chat-conversations-handler.ts:42</a></div>
1677
- </td>
1678
- </tr>
1679
-
1680
-
1681
- </tbody>
1682
- </table>
1683
- <table class="table table-sm table-bordered">
1684
- <tbody>
1685
- <tr>
1686
- <td class="col-md-4">
1687
- <a name="conversations"></a>
1688
- <span class="name">
1689
- <b>
1690
- <span class="modifier">Public</span>
1691
- conversations</b>
1692
- <a href="#conversations"><span class="icon ion-ios-link"></span></a>
1693
- </span>
1694
- </td>
1695
- </tr>
1696
- <tr>
1697
- <td class="col-md-4">
1698
- <i>Type : </i> <code><a href="../classes/ConversationModel.html" target="_self" >ConversationModel[]</a></code>
1699
-
1700
- </td>
1701
- </tr>
1702
- <tr>
1703
- <td class="col-md-4">
1704
- <i>Default value : </i><code>[]</code>
1705
- </td>
1706
- </tr>
1707
- <tr>
1708
- <td class="col-md-4">
1709
- <div class="io-line">Defined in <a href="" data-line="29" class="link-to-prism">src/providers/chat-conversations-handler.ts:29</a></div>
1710
- </td>
1711
- </tr>
1712
-
1713
-
1714
- </tbody>
1715
- </table>
1716
- <table class="table table-sm table-bordered">
1717
- <tbody>
1718
- <tr>
1719
- <td class="col-md-4">
1720
- <a name="databaseProvider"></a>
1721
- <span class="name">
1722
- <b>
1723
- <span class="modifier">Public</span>
1724
- databaseProvider</b>
1725
- <a href="#databaseProvider"><span class="icon ion-ios-link"></span></a>
1726
- </span>
1727
- </td>
1728
- </tr>
1729
- <tr>
1730
- <td class="col-md-4">
1731
- <i>Type : </i> <code><a href="../injectables/DatabaseProvider.html" target="_self" >DatabaseProvider</a></code>
1732
-
1733
- </td>
1734
- </tr>
1735
- <tr>
1736
- <td class="col-md-4">
1737
- <div class="io-line">Defined in <a href="" data-line="47" class="link-to-prism">src/providers/chat-conversations-handler.ts:47</a></div>
1738
- </td>
1739
- </tr>
1740
-
1741
-
1742
- </tbody>
1743
- </table>
1744
- <table class="table table-sm table-bordered">
1745
- <tbody>
1746
- <tr>
1747
- <td class="col-md-4">
1748
- <a name="events"></a>
1749
- <span class="name">
1750
- <b>
1751
- <span class="modifier">Public</span>
1752
- events</b>
1753
- <a href="#events"><span class="icon ion-ios-link"></span></a>
1754
- </span>
1755
- </td>
1756
- </tr>
1757
- <tr>
1758
- <td class="col-md-4">
1759
- <i>Type : </i> <code>Events</code>
1760
-
1761
- </td>
1762
- </tr>
1763
- <tr>
1764
- <td class="col-md-4">
1765
- <div class="io-line">Defined in <a href="" data-line="41" class="link-to-prism">src/providers/chat-conversations-handler.ts:41</a></div>
1766
- </td>
1767
- </tr>
1768
-
1769
-
1770
- </tbody>
1771
- </table>
1772
- <table class="table table-sm table-bordered">
1773
- <tbody>
1774
- <tr>
1775
- <td class="col-md-4">
1776
- <a name="loggedUser"></a>
1777
- <span class="name">
1778
- <b>
1779
- <span class="modifier">Private</span>
1780
- loggedUser</b>
1781
- <a href="#loggedUser"><span class="icon ion-ios-link"></span></a>
1782
- </span>
1783
- </td>
1784
- </tr>
1785
- <tr>
1786
- <td class="col-md-4">
1787
- <i>Type : </i> <code><a href="../classes/UserModel.html" target="_self" >UserModel</a></code>
1788
-
1789
- </td>
1790
- </tr>
1791
- <tr>
1792
- <td class="col-md-4">
1793
- <div class="io-line">Defined in <a href="" data-line="33" class="link-to-prism">src/providers/chat-conversations-handler.ts:33</a></div>
1794
- </td>
1795
- </tr>
1796
-
1797
-
1798
- </tbody>
1799
- </table>
1800
- <table class="table table-sm table-bordered">
1801
- <tbody>
1802
- <tr>
1803
- <td class="col-md-4">
1804
- <a name="ref"></a>
1805
- <span class="name">
1806
- <b>
1807
- <span class="modifier">Private</span>
1808
- ref</b>
1809
- <a href="#ref"><span class="icon ion-ios-link"></span></a>
1810
- </span>
1811
- </td>
1812
- </tr>
1813
- <tr>
1814
- <td class="col-md-4">
1815
- <i>Type : </i> <code>firebase.database.Query</code>
1816
-
1817
- </td>
1818
- </tr>
1819
- <tr>
1820
- <td class="col-md-4">
1821
- <div class="io-line">Defined in <a href="" data-line="35" class="link-to-prism">src/providers/chat-conversations-handler.ts:35</a></div>
1822
- </td>
1823
- </tr>
1824
-
1825
-
1826
- </tbody>
1827
- </table>
1828
- <table class="table table-sm table-bordered">
1829
- <tbody>
1830
- <tr>
1831
- <td class="col-md-4">
1832
- <a name="tenant"></a>
1833
- <span class="name">
1834
- <b>
1835
- <span class="modifier">Private</span>
1836
- tenant</b>
1837
- <a href="#tenant"><span class="icon ion-ios-link"></span></a>
1838
- </span>
1839
- </td>
1840
- </tr>
1841
- <tr>
1842
- <td class="col-md-4">
1843
- <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
1844
-
1845
- </td>
1846
- </tr>
1847
- <tr>
1848
- <td class="col-md-4">
1849
- <div class="io-line">Defined in <a href="" data-line="32" class="link-to-prism">src/providers/chat-conversations-handler.ts:32</a></div>
1850
- </td>
1851
- </tr>
1852
-
1853
-
1854
- </tbody>
1855
- </table>
1856
- <table class="table table-sm table-bordered">
1857
- <tbody>
1858
- <tr>
1859
- <td class="col-md-4">
1860
- <a name="translate"></a>
1861
- <span class="name">
1862
- <b>
1863
- <span class="modifier">Public</span>
1864
- translate</b>
1865
- <a href="#translate"><span class="icon ion-ios-link"></span></a>
1866
- </span>
1867
- </td>
1868
- </tr>
1869
- <tr>
1870
- <td class="col-md-4">
1871
- <i>Type : </i> <code>TranslateService</code>
1872
-
1873
- </td>
1874
- </tr>
1875
- <tr>
1876
- <td class="col-md-4">
1877
- <div class="io-line">Defined in <a href="" data-line="43" class="link-to-prism">src/providers/chat-conversations-handler.ts:43</a></div>
1878
- </td>
1879
- </tr>
1880
-
1881
-
1882
- </tbody>
1883
- </table>
1884
- <table class="table table-sm table-bordered">
1885
- <tbody>
1886
- <tr>
1887
- <td class="col-md-4">
1888
- <a name="uidConvSelected"></a>
1889
- <span class="name">
1890
- <b>
1891
- <span class="modifier">Public</span>
1892
- uidConvSelected</b>
1893
- <a href="#uidConvSelected"><span class="icon ion-ios-link"></span></a>
1894
- </span>
1895
- </td>
1896
- </tr>
1897
- <tr>
1898
- <td class="col-md-4">
1899
- <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" target="_blank" >String</a></code>
1900
-
1901
- </td>
1902
- </tr>
1903
- <tr>
1904
- <td class="col-md-4">
1905
- <i>Default value : </i><code>&#x27;&#x27;</code>
1906
- </td>
1907
- </tr>
1908
- <tr>
1909
- <td class="col-md-4">
1910
- <div class="io-line">Defined in <a href="" data-line="30" class="link-to-prism">src/providers/chat-conversations-handler.ts:30</a></div>
1911
- </td>
1912
- </tr>
1913
-
1914
-
1915
- </tbody>
1916
- </table>
1917
- <table class="table table-sm table-bordered">
1918
- <tbody>
1919
- <tr>
1920
- <td class="col-md-4">
1921
- <a name="upSvc"></a>
1922
- <span class="name">
1923
- <b>
1924
- <span class="modifier">Public</span>
1925
- upSvc</b>
1926
- <a href="#upSvc"><span class="icon ion-ios-link"></span></a>
1927
- </span>
1928
- </td>
1929
- </tr>
1930
- <tr>
1931
- <td class="col-md-4">
1932
- <i>Type : </i> <code><a href="../injectables/UploadService.html" target="_self" >UploadService</a></code>
1933
-
1934
- </td>
1935
- </tr>
1936
- <tr>
1937
- <td class="col-md-4">
1938
- <div class="io-line">Defined in <a href="" data-line="45" class="link-to-prism">src/providers/chat-conversations-handler.ts:45</a></div>
1939
- </td>
1940
- </tr>
1941
-
1942
-
1943
- </tbody>
1944
- </table>
1945
- <table class="table table-sm table-bordered">
1946
- <tbody>
1947
- <tr>
1948
- <td class="col-md-4">
1949
- <a name="userId"></a>
1950
- <span class="name">
1951
- <b>
1952
- <span class="modifier">Private</span>
1953
- userId</b>
1954
- <a href="#userId"><span class="icon ion-ios-link"></span></a>
1955
- </span>
1956
- </td>
1957
- </tr>
1958
- <tr>
1959
- <td class="col-md-4">
1960
- <i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
1961
-
1962
- </td>
1963
- </tr>
1964
- <tr>
1965
- <td class="col-md-4">
1966
- <div class="io-line">Defined in <a href="" data-line="34" class="link-to-prism">src/providers/chat-conversations-handler.ts:34</a></div>
1967
- </td>
1968
- </tr>
1969
-
1970
-
1971
- </tbody>
1972
- </table>
1973
- <table class="table table-sm table-bordered">
1974
- <tbody>
1975
- <tr>
1976
- <td class="col-md-4">
1977
- <a name="zone"></a>
1978
- <span class="name">
1979
- <b>
1980
- <span class="modifier">Public</span>
1981
- zone</b>
1982
- <a href="#zone"><span class="icon ion-ios-link"></span></a>
1983
- </span>
1984
- </td>
1985
- </tr>
1986
- <tr>
1987
- <td class="col-md-4">
1988
- <i>Type : </i> <code><a href="https://angular.io/api/core/NgZone" target="_blank" >NgZone</a></code>
1989
-
1990
- </td>
1991
- </tr>
1992
- <tr>
1993
- <td class="col-md-4">
1994
- <div class="io-line">Defined in <a href="" data-line="46" class="link-to-prism">src/providers/chat-conversations-handler.ts:46</a></div>
1995
- </td>
1996
- </tr>
1997
-
1998
-
1999
- </tbody>
2000
- </table>
2001
- </section>
2002
-
2003
- </div>
2004
-
2005
-
2006
- <div class="tab-pane fade tab-source-code" id="c-source">
2007
- <pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { Injectable, NgZone } from &#x27;@angular/core&#x27;;
2008
-
2009
- import &#x27;rxjs/add/operator/map&#x27;;
2010
- import { Events } from &#x27;ionic-angular&#x27;;
2011
- // firebase
2012
- import * as firebase from &#x27;firebase/app&#x27;;
2013
- // models
2014
- import { UserModel } from &#x27;../models/user&#x27;;
2015
- import { ConversationModel } from &#x27;../models/conversation&#x27;;
2016
- // services
2017
- import { ChatManager } from &#x27;./chat-manager/chat-manager&#x27;;
2018
- // utils
2019
- // FIREBASESTORAGE_BASE_URL_IMAGE,
2020
- import { TYPE_GROUP, URL_NO_IMAGE, TYPE_DIRECT } from &#x27;../utils/constants&#x27;;
2021
- import { compareValues, getFromNow, contactsRef, conversationsPathForUserId, searchIndexInArrayForUid } from &#x27;../utils/utils&#x27;;
2022
- import { TiledeskConversationProvider } from &#x27;./tiledesk-conversation/tiledesk-conversation&#x27;;
2023
- import { TranslateService } from &#x27;@ngx-translate/core&#x27;;
2024
-
2025
- import { avatarPlaceholder, getColorBck } from &#x27;../utils/utils&#x27;;
2026
- import { UploadService } from &#x27;../providers/upload-service/upload-service&#x27;;
2027
-
2028
- import { DatabaseProvider } from &#x27;../providers/database/database&#x27;;
2029
- import { AppConfigProvider } from &#x27;../providers/app-config/app-config&#x27;;
2030
- import { environment } from &#x27;../environments/environment&#x27;;
2031
-
2032
- @Injectable()
2033
- export class ChatConversationsHandler {
2034
-
2035
- public conversations: ConversationModel[] &#x3D; [];
2036
- public uidConvSelected: String &#x3D; &#x27;&#x27;;
2037
-
2038
- private tenant: string;
2039
- private loggedUser: UserModel;
2040
- private userId: string;
2041
- private ref: firebase.database.Query;
2042
- public audio: any;
2043
- //private FIREBASESTORAGE_BASE_URL_IMAGE: string;
2044
-
2045
- //public LABEL_TU: string;
2046
- constructor(
2047
- public events: Events,
2048
- public chatManager: ChatManager,
2049
- public translate: TranslateService,
2050
- private tiledeskConversationsProvider : TiledeskConversationProvider,
2051
- public upSvc: UploadService,
2052
- public zone: NgZone,
2053
- public databaseProvider: DatabaseProvider,
2054
- public appConfig: AppConfigProvider
2055
- ) {
2056
- //this.FIREBASESTORAGE_BASE_URL_IMAGE &#x3D; this.appConfig.getConfig().storageBucket;
2057
- }
2058
-
2059
- /**
2060
- * ritorno istanza di conversations handler
2061
- */
2062
- getInstance() {
2063
- return this;
2064
- }
2065
- /**
2066
- * inizializzo conversations handler
2067
- * @param tenant
2068
- * @param user
2069
- */
2070
- initWithTenant(tenant, loggedUser):ChatConversationsHandler{
2071
- this.tenant &#x3D; tenant;
2072
- this.loggedUser &#x3D; loggedUser;
2073
- this.userId &#x3D; loggedUser.uid;
2074
- this.conversations &#x3D; [];
2075
- this.databaseProvider.initialize(this.loggedUser, this.tenant);
2076
- return this;
2077
- }
2078
-
2079
- /**
2080
- *
2081
- */
2082
- getConversationsFromStorage(){
2083
- const that &#x3D; this;
2084
- this.databaseProvider.getConversations()
2085
- .then(function (conversations) {
2086
- that.events.publish(&#x27;loadedConversationsStorage&#x27;, conversations);
2087
- })
2088
- .catch((error) &#x3D;&gt; {
2089
- console.log(&quot;error::: getConversations:: &quot;, error);
2090
- });
2091
- }
2092
- /**
2093
- * mi connetto al nodo conversations
2094
- * creo la reference
2095
- * mi sottoscrivo a change, removed, added
2096
- */
2097
- connect() {
2098
- const that &#x3D; this;
2099
- const urlNodeFirebase &#x3D; conversationsPathForUserId(this.tenant, this.userId);
2100
- console.log(&#x27;connect -------&gt;&#x27;, urlNodeFirebase);
2101
- //const urlNodeFirebase &#x3D; &#x27;/apps/&#x27;+tenant+&#x27;/users/&#x27;+this.loggedUser.uid+&#x27;/conversations&#x27;;
2102
- this.ref &#x3D; firebase.database().ref(urlNodeFirebase).orderByChild(&#x27;timestamp&#x27;).limitToLast(200);
2103
- this.ref.on(&quot;child_changed&quot;, function(childSnapshot) {
2104
- that.changed(childSnapshot);
2105
- });
2106
- this.ref.on(&quot;child_removed&quot;, function(childSnapshot) {
2107
- that.removed(childSnapshot);
2108
- });
2109
- this.ref.on(&quot;child_added&quot;, function(childSnapshot) {
2110
- that.added(childSnapshot);
2111
- })
2112
- // SET AUDIO
2113
- this.audio &#x3D; new Audio();
2114
- this.audio.src &#x3D; &#x27;assets/pling.mp3&#x27;;
2115
- this.audio.load();
2116
- }
2117
-
2118
-
2119
-
2120
- //https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
2121
- /**
2122
- * 1 - aggiungo alla pos 0 la nuova conversazione all&#x27;array di conversazioni
2123
- * 2 - pubblico conversations:update
2124
- * @param childSnapshot
2125
- */
2126
- added(childSnapshot){
2127
- const childData:ConversationModel &#x3D; childSnapshot.val();
2128
- childData.uid &#x3D; childSnapshot.key;
2129
- console.log(&quot;child_added conversationS&quot;, childSnapshot.val());
2130
- const conversation &#x3D; this.completeConversation(childData);
2131
- if (this.isValidConversation(childSnapshot.key, conversation)) {
2132
- // add the conversation from the isConversationClosingMap
2133
- this.tiledeskConversationsProvider.setClosingConversation(childSnapshot.key, false);
2134
- const index &#x3D; searchIndexInArrayForUid(this.conversations, conversation.uid);
2135
- if(index &gt; -1){
2136
- this.conversations.splice(index, 1, conversation);
2137
- } else {
2138
- this.conversations.splice(0, 0, conversation);
2139
- this.databaseProvider.setConversation(conversation);
2140
- }
2141
- this.conversations.sort(compareValues(&#x27;timestamp&#x27;, &#x27;desc&#x27;));
2142
- this.events.publish(&#x27;conversationsChanged&#x27;, this.conversations);
2143
- } else {
2144
- console.error(&quot;ChatConversationsHandler::added::conversations with conversationId: &quot;, childSnapshot.key, &quot;is not valid&quot;);
2145
- }
2146
- if(conversation.is_new){
2147
- this.soundMessage();
2148
- }
2149
- }
2150
-
2151
- /**
2152
- * 1 - cerco indice conversazione nell&#x27;array conversation
2153
- * 2 - sostituisco conversazione
2154
- * 3 - pubblico conversations:update
2155
- * @param childSnapshot
2156
- */
2157
- changed(childSnapshot){
2158
- const childData:ConversationModel &#x3D; childSnapshot.val();
2159
- childData.uid &#x3D; childSnapshot.key;
2160
- let conversation &#x3D; this.completeConversation(childData);
2161
- if (this.isValidConversation(childSnapshot.key, conversation)) {
2162
- //conversation &#x3D; this.isConversationSelected(conversation, &#x27;1&#x27;);
2163
- const index &#x3D; searchIndexInArrayForUid(this.conversations, conversation.uid);
2164
- this.conversations.splice(index, 1, conversation);
2165
- this.conversations.sort(compareValues(&#x27;timestamp&#x27;, &#x27;desc&#x27;));
2166
- this.databaseProvider.setConversation(conversation);
2167
- this.events.publish(&#x27;conversationsChanged&#x27;, this.conversations);
2168
- } else {
2169
- console.error(&quot;ChatConversationsHandler::changed::conversations with conversationId: &quot;, childSnapshot.key, &quot;is not valid&quot;);
2170
- }
2171
- if(conversation.is_new){
2172
- this.soundMessage();
2173
- }
2174
- }
2175
- /**
2176
- * 1 - cerco indice conversazione da eliminare
2177
- * 2 - elimino conversazione da array conversations
2178
- * 3 - pubblico conversations:update
2179
- * @param childSnapshot
2180
- */
2181
- removed(childSnapshot){
2182
- console.log(&quot;ChatConversationsHandler::onSnapshotRemoved::conversation:&quot;, childSnapshot.key);
2183
- const index &#x3D; searchIndexInArrayForUid(this.conversations, childSnapshot.key);
2184
- if(index&gt;-1){
2185
- this.conversations.splice(index, 1);
2186
- this.conversations.sort(compareValues(&#x27;timestamp&#x27;, &#x27;desc&#x27;));
2187
- this.databaseProvider.removeConversation(childSnapshot.key);
2188
- this.events.publish(&#x27;conversationsChanged&#x27;, this.conversations);
2189
- }
2190
-
2191
- // remove the conversation from the isConversationClosingMap
2192
- this.tiledeskConversationsProvider.deleteClosingConversation(childSnapshot.key);
2193
-
2194
- // // sort the array without the removed item and update the conversations list
2195
- // this.conversations &#x3D; this.sort(this.conversations);
2196
-
2197
- // var sortedCopy &#x3D; this.sort(this.conversations);
2198
- // for (var i &#x3D; 0; i &lt; sortedCopy.length; i++) {
2199
- // var item: ConversationModel &#x3D; sortedCopy[i];
2200
- // console.log(i + &quot;) ChatConversationsHandler::removed::item&quot;, item, item.timestamp);
2201
- // }
2202
- // this.conversations &#x3D; sortedCopy;
2203
-
2204
- // this.events.publish(&#x27;conversations:removed&#x27;);
2205
- }
2206
-
2207
- /**
2208
- *
2209
- * @param conv
2210
- */
2211
- // isConversationSelected(conv, status){
2212
- // conv.status &#x3D; status;
2213
- // if(conv.uid &#x3D;&#x3D; this.uidConvSelected){
2214
- // conv.selected &#x3D; true;
2215
- // conv.status &#x3D; &#x27;0&#x27;;
2216
- // }
2217
- // return conv;
2218
- // }
2219
- /**
2220
- * Completo conversazione aggiungendo:
2221
- * 1 - imposto selected &#x3D;&#x3D; true se è la conversazione selezionata
2222
- * 2 - imposto fullname del sender concatenando nome e cognome e
2223
- * - aggiungo &#x27;tu:&#x27; se il sender coincide con il loggedUser
2224
- * 3 - imposto il tempo trascorso dell&#x27;invio dell&#x27;ultimo messaggio
2225
- * @param conv
2226
- */
2227
- completeConversation(conv):ConversationModel{
2228
- console.log(&#x27;completeConversation&#x27;,conv);
2229
- var LABEL_TU &#x3D; this.translate.get(&#x27;LABEL_TU&#x27;)[&#x27;value&#x27;];
2230
- conv.selected &#x3D; false;
2231
- if(!conv.sender_fullname || conv.sender_fullname &#x3D;&#x3D;&#x3D; &#x27;undefined&#x27; || conv.sender_fullname.trim() &#x3D;&#x3D;&#x3D; &#x27;&#x27;){
2232
- conv.sender_fullname &#x3D; conv.sender;
2233
- }
2234
- if(!conv.recipient_fullname || conv.recipient_fullname &#x3D;&#x3D;&#x3D; &#x27;undefined&#x27; || conv.recipient_fullname.trim() &#x3D;&#x3D;&#x3D; &#x27;&#x27;){
2235
- conv.recipient_fullname &#x3D; conv.recipient;
2236
- }
2237
- let conversation_with_fullname &#x3D; conv.sender_fullname;
2238
- let conversation_with &#x3D; conv.sender;
2239
- if(conv.sender &#x3D;&#x3D;&#x3D; this.loggedUser.uid){
2240
- conversation_with &#x3D; conv.recipient;
2241
- conversation_with_fullname &#x3D; conv.recipient_fullname;
2242
- conv.last_message_text &#x3D; LABEL_TU + conv.last_message_text;
2243
- }
2244
- else if (conv.channel_type &#x3D;&#x3D;&#x3D; TYPE_GROUP) {
2245
- conversation_with &#x3D; conv.recipient;
2246
- conversation_with_fullname &#x3D; conv.recipient_fullname;
2247
- conv.last_message_text &#x3D; conv.last_message_text;
2248
- }
2249
- conv.conversation_with_fullname &#x3D; conversation_with_fullname;
2250
-
2251
- conv.status &#x3D; this.setStatusConversation(conv.sender, conv.uid);
2252
- conv.time_last_message &#x3D; this.getTimeLastMessage(conv.timestamp);;
2253
- conv.avatar &#x3D; avatarPlaceholder(conversation_with_fullname);
2254
- conv.color &#x3D; getColorBck(conversation_with_fullname);
2255
- conv.image &#x3D; this.getImageUrlThumb(conversation_with);
2256
- return conv;
2257
- }
2258
-
2259
- getImageUrlThumb(uid: string){
2260
- // let imageurl &#x3D; FIREBASESTORAGE_BASE_URL_IMAGE+&#x27;profiles%2F&#x27;+uid+&#x27;%2Fthumb_photo.jpg?alt&#x3D;media&#x27;;
2261
- let imageurl &#x3D; environment.FIREBASESTORAGE_BASE_URL_IMAGE + environment.firebaseConfig.storageBucket + &#x27;/o/profiles%2F&#x27; + uid + &#x27;%2Fthumb_photo.jpg?alt&#x3D;media&#x27;;
2262
- return imageurl;
2263
- }
2264
-
2265
-
2266
- // set the remote conversation as read
2267
- setConversationRead(conversationUid) {
2268
- var conversationRef &#x3D; this.ref.ref.child(conversationUid);
2269
- conversationRef.update ({&quot;is_new&quot; : false});
2270
- }
2271
-
2272
-
2273
- getConversationByUid(conversationUid) {
2274
- const index &#x3D; searchIndexInArrayForUid(this.conversations, conversationUid);
2275
- return this.conversations[index];
2276
- }
2277
-
2278
- setStatusConversation(sender, uid): string {
2279
- let status &#x3D; &#x27;0&#x27;; //letto
2280
- if(sender &#x3D;&#x3D;&#x3D; this.loggedUser.uid || uid &#x3D;&#x3D;&#x3D; this.uidConvSelected){
2281
- status &#x3D; &#x27;0&#x27;;
2282
- } else {
2283
- status &#x3D; &#x27;1&#x27;; // non letto
2284
- }
2285
- return status;
2286
- }
2287
-
2288
-
2289
-
2290
- /**
2291
- * carico url immagine profilo passando id utente
2292
- */
2293
- // setImageConversation(conv, conversation_with){
2294
- // const that &#x3D; this;
2295
- // console.log(&quot;********** displayImage uidContact::: &quot;, that.ref.ref.child(conv.uid));
2296
- // var conversationRef &#x3D; that.ref.ref.child(conv.uid);
2297
- // if(conversation_with){
2298
- // this.upSvc.display(conversation_with, &#x27;thumb&#x27;)
2299
- // .then(onResolve, onReject);
2300
- // }
2301
- // function onResolve(foundURL) {
2302
- // console.log(&#x27;foundURL&#x27;, conv, foundURL);
2303
- // conv.image &#x3D; foundURL;
2304
- // // salvo in cache e sul DB!!!
2305
- // conversationRef.update({&quot;image&quot; : foundURL});
2306
- // that.databaseProvider.setConversation(conv);
2307
- // }
2308
- // function onReject(error){
2309
- // console.log(&#x27;error.code&#x27;, error.code);
2310
- // conversationRef.child(&#x27;image&#x27;).remove();
2311
- // conv.image &#x3D; &#x27;&#x27;;
2312
- // }
2313
- // }
2314
-
2315
- /**
2316
- * calcolo il tempo trascorso da ora al timestamp passato
2317
- * @param timestamp
2318
- */
2319
- getTimeLastMessage(timestamp: string) {
2320
- let timestampNumber &#x3D; parseInt(timestamp) / 1000;
2321
- let time &#x3D; getFromNow(timestampNumber);
2322
- return time;
2323
- }
2324
- /**
2325
- * 1 - deseleziono tutte le conversazioni (setto tutti su on selected FALSE)
2326
- * 2 - evidezio la conversazione selezionata (setto selected TRUE)
2327
- * @param uid
2328
- */
2329
- // setConversationSelected(uid): ConversationModel[]{
2330
- // this.conversations.forEach(function(element) {
2331
- // element.selected &#x3D; false;
2332
- // });
2333
- // this.conversations.filter(function(item){
2334
- // if(item.uid &#x3D;&#x3D; uid){
2335
- // item.selected &#x3D; true;
2336
- // return;
2337
- // }
2338
- // });
2339
- // return this.conversations;
2340
- // }
2341
- /**
2342
- * dispose reference di conversations
2343
- */
2344
- dispose() {
2345
- this.conversations &#x3D; [];
2346
- this.uidConvSelected &#x3D; &#x27;&#x27;;
2347
-
2348
- this.ref.off();
2349
- this.ref.off(&quot;child_changed&quot;);
2350
- this.ref.off(&quot;child_removed&quot;);
2351
- this.ref.off(&quot;child_added&quot;);
2352
-
2353
- console.log(&quot;DISPOSE::: &quot;,this.ref);
2354
- }
2355
-
2356
- // private clone(convs: ConversationModel[]): ConversationModel[] {
2357
- // var copy &#x3D; [];
2358
- // for (var i &#x3D; 0; i &lt; convs.length; i++) {
2359
- // var item: ConversationModel &#x3D; convs[i];
2360
- // copy.push(item);
2361
- // }
2362
- // return copy;
2363
- // }
2364
- // private sort(convs: ConversationModel[]): ConversationModel[] {
2365
- // return this.clone(convs).sort(this.compare);
2366
- // }
2367
- // private compare(a: ConversationModel, b: ConversationModel) : number {
2368
- // return (a.timestamp &lt; b.timestamp) ? 1 : ((b.timestamp &lt; a.timestamp) ? -1 : 0);
2369
- // }
2370
- // private existsInArray(convs: ConversationModel[], item: ConversationModel) : boolean{
2371
- // return convs.some(function (el) {
2372
- // return el.uid &#x3D;&#x3D;&#x3D; item.uid
2373
- // }); //true
2374
- // }
2375
-
2376
- removeByUid(uid) {
2377
- const index &#x3D; searchIndexInArrayForUid(this.conversations, uid);
2378
- if (index &gt; -1) {
2379
- this.conversations.splice(index, 1);
2380
- this.events.publish(&#x27;conversationsChanged&#x27;, this.conversations);
2381
- }
2382
- }
2383
-
2384
- addConversationListener(uidUser, conversationId) {
2385
- var that &#x3D; this;
2386
- const tenant &#x3D; this.chatManager.getTenant();
2387
- const url &#x3D; &#x27;/apps/&#x27; + tenant + &#x27;/users/&#x27; + uidUser + &#x27;/conversations/&#x27; + conversationId;
2388
- const reference &#x3D; firebase.database().ref(url);
2389
- console.log(&quot;ChatConversationsHandler::addConversationListener::reference:&quot;,url, reference.toString());
2390
- reference.on(&#x27;value&#x27;, function (snapshot) {
2391
- setTimeout(function () {
2392
- that.events.publish(conversationId + &#x27;-listener&#x27;, snapshot);
2393
- }, 100);
2394
- });
2395
- }
2396
-
2397
- // check if the conversations is valid or not
2398
- private isValidConversation(convToCheckId, convToCheck: ConversationModel) : boolean {
2399
- //console.log(&quot;[BEGIN] ChatConversationsHandler:: convToCheck with uid: &quot;, convToCheckId);
2400
- if (!this.isValidField(convToCheck.uid)) {
2401
- //console.error(&quot;ChatConversationsHandler::isValidConversation:: &#x27;uid is not valid&#x27; &quot;);
2402
- return false;
2403
- }
2404
- if (!this.isValidField(convToCheck.is_new)) {
2405
- //console.error(&quot;ChatConversationsHandler::isValidConversation:: &#x27;is_new is not valid&#x27; &quot;);
2406
- return false;
2407
- }
2408
-
2409
- if (!this.isValidField(convToCheck.last_message_text)) {
2410
- //console.error(&quot;ChatConversationsHandler::isValidConversation:: &#x27;last_message_text is not valid&#x27; &quot;);
2411
- return false;
2412
- }
2413
-
2414
- if (!this.isValidField(convToCheck.recipient)) {
2415
- //console.error(&quot;ChatConversationsHandler::isValidConversation:: &#x27;recipient is not valid&#x27; &quot;);
2416
- return false;
2417
- }
2418
-
2419
- if (!this.isValidField(convToCheck.recipient_fullname)) {
2420
- //console.error(&quot;ChatConversationsHandler::isValidConversation:: &#x27;recipient_fullname is not valid&#x27; &quot;);
2421
- return false;
2422
- }
2423
-
2424
- if (!this.isValidField(convToCheck.sender)) {
2425
- //console.error(&quot;ChatConversationsHandler::isValidConversation:: &#x27;sender is not valid&#x27; &quot;);
2426
- return false;
2427
- }
2428
-
2429
- if (!this.isValidField(convToCheck.sender_fullname)) {
2430
- //console.error(&quot;ChatConversationsHandler::isValidConversation:: &#x27;sender_fullname is not valid&#x27; &quot;);
2431
- return false;
2432
- }
2433
-
2434
- if (!this.isValidField(convToCheck.status)) {
2435
- //console.error(&quot;ChatConversationsHandler::isValidConversation:: &#x27;status is not valid&#x27; &quot;);
2436
- return false;
2437
- }
2438
-
2439
- if (!this.isValidField(convToCheck.timestamp)) {
2440
- //console.error(&quot;ChatConversationsHandler::isValidConversation:: &#x27;timestamp is not valid&#x27; &quot;);
2441
- return false;
2442
- }
2443
-
2444
- if (!this.isValidField(convToCheck.channel_type)) {
2445
- //console.error(&quot;ChatConversationsHandler::isValidConversation:: &#x27;channel_type is not valid&#x27; &quot;);
2446
- return false;
2447
- }
2448
-
2449
- //console.log(&quot;[END] ChatConversationsHandler:: convToCheck with uid: &quot;, convToCheckId);
2450
-
2451
- // any other case
2452
- return true;
2453
- }
2454
-
2455
- // checks if a conversation&#x27;s field is valid or not
2456
- private isValidField(field) : boolean{
2457
- return (field &#x3D;&#x3D;&#x3D; null || field &#x3D;&#x3D;&#x3D; undefined) ? false : true;
2458
- }
2459
-
2460
- // private getColorBck(str){
2461
- // var arrayBckColor &#x3D; [&#x27;#fba76f&#x27;, &#x27;#80d066&#x27;, &#x27;#73cdd0&#x27;, &#x27;#ecd074&#x27;, &#x27;#6fb1e4&#x27;, &#x27;#f98bae&#x27;];
2462
- // var num &#x3D; 0;
2463
- // if(str){
2464
- // var code &#x3D; str.charCodeAt((str.length-1));
2465
- // num &#x3D; Math.round(code%arrayBckColor.length);
2466
- // console.log(&#x27;************** code&#x27;,str.length, code, arrayBckColor.length, num);
2467
- // }
2468
- // return arrayBckColor[num];
2469
- // }
2470
- // private avatarPlaceholder(conversation_with_fullname) {
2471
- // var initials &#x3D; &#x27;&#x27;;
2472
- // if(conversation_with_fullname){
2473
- // var arrayName &#x3D; conversation_with_fullname.split(&quot; &quot;);
2474
- // arrayName.forEach(member &#x3D;&gt; {
2475
- // if(member.trim().length &gt; 1 &amp;&amp; initials.length &lt; 3){
2476
- // initials +&#x3D; member.substring(0,1).toUpperCase();
2477
- // }
2478
- // });
2479
- // }
2480
- // return initials;
2481
- // }
2482
-
2483
-
2484
- /**
2485
- *
2486
- */
2487
- countIsNew(){
2488
- let num &#x3D; 0;
2489
- this.conversations.forEach(function(element) {
2490
- if(element.is_new &#x3D;&#x3D;&#x3D; true){
2491
- num++;
2492
- }
2493
- });
2494
- return num;
2495
- }
2496
-
2497
-
2498
- soundMessage(){
2499
- console.log(&#x27;****** soundMessage *****&#x27;, this.audio);
2500
- const that &#x3D; this;
2501
- // this.audio &#x3D; new Audio();
2502
- // this.audio.src &#x3D; &#x27;assets/pling.mp3&#x27;;
2503
- // this.audio.load();
2504
- this.audio.pause();
2505
- this.audio.currentTime &#x3D; 0;
2506
- setTimeout(function() {
2507
- that.audio.play()
2508
- .then(function() {
2509
- // console.log(&#x27;****** then *****&#x27;);
2510
- })
2511
- .catch(function() {
2512
- // console.log(&#x27;***//tiledesk-dashboard/chat*&#x27;);
2513
- });
2514
- }, 0);
2515
-
2516
- }
2517
-
2518
-
2519
- }</code></pre>
2520
- </div>
2521
-
2522
- </div>
2523
-
2524
-
2525
-
2526
-
2527
-
2528
-
2529
-
2530
-
2531
-
2532
-
2533
-
2534
-
2535
- </div><div class="search-results">
2536
- <div class="has-results">
2537
- <h1 class="search-results-title"><span class='search-results-count'></span> result-matching "<span class='search-query'></span>"</h1>
2538
- <ul class="search-results-list"></ul>
2539
- </div>
2540
- <div class="no-results">
2541
- <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
2542
- </div>
2543
- </div>
2544
- </div>
2545
- <!-- END CONTENT -->
2546
- </div>
2547
- </div>
2548
-
2549
- <script>
2550
- var COMPODOC_CURRENT_PAGE_DEPTH = 1;
2551
- var COMPODOC_CURRENT_PAGE_CONTEXT = 'injectable';
2552
- var COMPODOC_CURRENT_PAGE_URL = 'ChatConversationsHandler.html';
2553
- var MAX_SEARCH_RESULTS = 15;
2554
- </script>
2555
-
2556
- <script src="../js/libs/custom-elements.min.js"></script>
2557
- <script src="../js/libs/lit-html.js"></script>
2558
- <!-- Required to polyfill modern browsers as code is ES5 for IE... -->
2559
- <script src="../js/libs/custom-elements-es5-adapter.js" charset="utf-8" defer></script>
2560
- <script src="../js/menu-wc.js" defer></script>
2561
-
2562
- <script src="../js/libs/bootstrap-native.js"></script>
2563
-
2564
- <script src="../js/libs/es6-shim.min.js"></script>
2565
- <script src="../js/libs/EventDispatcher.js"></script>
2566
- <script src="../js/libs/promise.min.js"></script>
2567
- <script src="../js/libs/zepto.min.js"></script>
2568
-
2569
- <script src="../js/compodoc.js"></script>
2570
-
2571
- <script src="../js/tabs.js"></script>
2572
- <script src="../js/menu.js"></script>
2573
- <script src="../js/libs/clipboard.min.js"></script>
2574
- <script src="../js/libs/prism.js"></script>
2575
- <script src="../js/sourceCode.js"></script>
2576
- <script src="../js/search/search.js"></script>
2577
- <script src="../js/search/lunr.min.js"></script>
2578
- <script src="../js/search/search-lunr.js"></script>
2579
- <script src="../js/search/search_index.js"></script>
2580
- <script src="../js/lazy-load-graphs.js"></script>
2581
-
2582
-
2583
- </body>
2584
- </html>