@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,736 +0,0 @@
1
- import { Component, NgZone } from '@angular/core';
2
- import { Events, PopoverController, IonicPage, NavController, NavParams, ModalController, Modal, AlertController } from 'ionic-angular';
3
- import { interval, Subscription} from 'rxjs';
4
- // models
5
- import { ConversationModel } from '../../models/conversation';
6
- import { UserModel } from '../../models/user';
7
-
8
- // pages
9
- import { LoginPage } from '../authentication/login/login';
10
- import { PlaceholderPage } from '../placeholder/placeholder';
11
- import { DettaglioConversazionePage } from '../dettaglio-conversazione/dettaglio-conversazione';
12
- import { UsersPage } from '../users/users';
13
- import { _MasterPage } from '../_MasterPage';
14
- import { PopoverPage } from '../popover/popover';
15
- import { ProfilePage } from '../profile/profile';
16
- // utils
17
- import { getParameterByName, convertMessage, windowsMatchMedia } from '../../utils/utils';
18
- import { TYPE_POPUP_LIST_CONVERSATIONS } from '../../utils/constants';
19
- import * as PACKAGE from '../../../package.json';
20
- // services
21
- import { ChatManager } from '../../providers/chat-manager/chat-manager';
22
- import { NavProxyService } from '../../providers/nav-proxy';
23
- import { UserService } from '../../providers/user/user';
24
- import { ChatConversationsHandler } from '../../providers/chat-conversations-handler';
25
- import { ChatConversationHandler } from '../../providers/chat-conversation-handler';
26
- import { DatabaseProvider } from '../../providers/database/database';
27
- import { GroupService } from '../../providers/group/group';
28
-
29
- import { TiledeskConversationProvider } from '../../providers/tiledesk-conversation/tiledesk-conversation';
30
-
31
- import { TranslateService } from '@ngx-translate/core';
32
- import { ArchivedConversationsPage } from '../archived-conversations/archived-conversations';
33
- import { ChatArchivedConversationsHandler } from '../../providers/chat-archived-conversations-handler';
34
- import { isGeneratedFile } from '@angular/compiler/src/aot/util';
35
- import { User } from 'firebase';
36
- import { environment } from '../../environments/environment';
37
-
38
- @IonicPage()
39
- @Component({
40
- selector: 'page-lista-conversazioni',
41
- templateUrl: 'lista-conversazioni.html',
42
- })
43
- export class ListaConversazioniPage extends _MasterPage {
44
- private loggedUser: UserModel;
45
- private conversations: Array<ConversationModel> = [];
46
- private archivedConversations: ConversationModel[];
47
- private tenant: string;
48
- private numberOpenConv: number = 0;
49
- private loadingIsActive: boolean = true;
50
- private numberTotConv: number = 0;
51
-
52
- private uidReciverFromUrl: string;
53
- private conversationsHandler: ChatConversationsHandler;
54
- private uidConvSelected: string;
55
- private profileModal: Modal;
56
- private BUILD_VERSION: string;
57
- // private isHostname: boolean;
58
- private timerIdOpenConversation: NodeJS.Timer;
59
- private loadingList: Subscription;
60
-
61
-
62
- private convertMessage = convertMessage;
63
- private supportMode = environment.supportMode;
64
- private showPlaceholder = true;
65
- private showButtonNewChat = true;
66
-
67
- constructor(
68
- public popoverCtrl: PopoverController,
69
- public modalCtrl: ModalController,
70
- public navCtrl: NavController,
71
- public navParams: NavParams,
72
- public navProxy: NavProxyService,
73
- public userService: UserService,
74
- public chatConversationsHandler: ChatConversationsHandler,
75
- public conversationHandler: ChatConversationHandler,
76
- public events: Events,
77
- public chatManager: ChatManager,
78
- public databaseProvider: DatabaseProvider,
79
- private groupService: GroupService,
80
- private tiledeskConversationProvider: TiledeskConversationProvider,
81
- private alertCtrl: AlertController,
82
- private translate: TranslateService,
83
- private chatArchivedConversationsHandler: ChatArchivedConversationsHandler
84
- ) {
85
- super();
86
- this.BUILD_VERSION = 'v.' + PACKAGE.version;
87
- this.tenant = this.chatManager.getTenant();
88
- this.profileModal = this.modalCtrl.create(LoginPage, { tenant: this.tenant }, { enableBackdropDismiss: false });
89
- this.initInterface();
90
- }
91
-
92
- ionViewDidEnter(){
93
- this.events.subscribe('loggedUser:login', this.subscribeLoggedUserLogin);
94
- this.events.subscribe('loggedUser:logout', this.subscribeLoggedUserLogout);
95
- }
96
-
97
- ionViewDidLeave() {
98
- //clearTimeout(this.timerIdOpenConversation);
99
- }
100
-
101
-
102
- /**
103
- * ::: subscribeLoggedUserLogin :::
104
- * effettuato il login:
105
- * 1 - imposto loggedUser
106
- * 2 - dismetto modale
107
- * 3 - inizializzo elenco conversazioni
108
- */
109
- subscribeLoggedUserLogin = (user: any) => {
110
- // console.log('************** subscribeLoggedUserLogin', user);
111
- this.loggedUser = user;
112
- try {
113
- this.profileModal.dismiss({ animate: false, duration: 0 });
114
- } catch (err) {
115
- console.error("-> error:", err)
116
- }
117
- this.initialize();
118
- }
119
-
120
-
121
- /**
122
- * ::: initialize :::
123
- */
124
- initialize(){
125
- this.initVariables();
126
- this.initConversationsHandler();
127
- this.initSubscriptions();
128
- }
129
-
130
- /**
131
- * ::: initVariables :::
132
- * al caricamento della pagina:
133
- * setto BUILD_VERSION prendendo il valore da PACKAGE
134
- * recupero conversationWith - se vengo da dettaglio conversazione o da users con conversazione attiva ???? sarà sempre undefined da spostare in ionViewDidEnter
135
- * recupero tenant
136
- * imposto recipient se esiste nei parametri passati nell'url
137
- * imposto uidConvSelected recuperando id ultima conversazione aperta dallo storage
138
- */
139
- initVariables(){
140
- var that = this;
141
- let TEMP = getParameterByName('recipient');
142
- if (TEMP) {
143
- this.uidReciverFromUrl = TEMP;
144
- }
145
- this.databaseProvider.initialize(this.loggedUser, this.tenant);
146
- this.databaseProvider.getUidLastOpenConversation()
147
- .then(function (uid: string) {
148
- //console.log('getUidLastOpenConversation:: ' + uid);
149
- that.setUidConvSelected(uid);
150
- })
151
- .catch((error) => {
152
- that.setUidConvSelected();
153
- console.log("error::: ", error);
154
- });
155
- // console.log('::::BUILD_VERSION:::: ',this.BUILD_VERSION);
156
- // console.log('::::uidConvSelected:::: ',this.uidConvSelected);
157
- console.log('::::tenant:::: ',this.tenant);
158
- console.log('::::uidReciverFromUrl:::: ',this.uidReciverFromUrl);
159
- // this.setShowButtonNewChat();
160
- }
161
-
162
- setShowButtonNewChat(){
163
- if (this.supportMode == true) {
164
- this.showButtonNewChat = false;
165
- } else {
166
- this.showButtonNewChat = true;
167
- }
168
- }
169
-
170
- /**
171
- * ::: initInterface :::
172
- * se sono su mobile nella pagina di dettaglio imposto il placeholder
173
- */
174
- initInterface(){
175
- if (windowsMatchMedia()) {
176
- console.log('PlaceholderPage 1');
177
- this.navProxy.pushDetail(PlaceholderPage, {});
178
- }
179
- }
180
-
181
- /**
182
- * ::: initConversationsHandler :::
183
- * inizializzo chatConversationsHandler e archviedConversationsHandler
184
- * recupero le conversazioni salvate nello storage e pubblico l'evento loadedConversationsStorage
185
- * imposto uidConvSelected in conversationHandler e chatArchivedConversationsHandler
186
- * e mi sottoscrivo al nodo conversazioni in conversationHandler e chatArchivedConversationsHandler (connect)
187
- * salvo conversationHandler in chatManager
188
- */
189
- initConversationsHandler() {
190
- console.log('initConversationsHandler -------------> initConversationsHandler');
191
- ///const tenant = this.chatManager.getTenant();
192
- ///const loggedUser = this.chatManager.getLoggedUser();
193
-
194
- // 1 - init chatConversationsHandler and archviedConversationsHandler
195
- this.conversationsHandler = this.chatConversationsHandler.initWithTenant(this.tenant, this.loggedUser);
196
- this.chatArchivedConversationsHandler = this.chatArchivedConversationsHandler.initWithTenant(this.tenant, this.loggedUser);
197
-
198
- // 2 - get conversations from storage
199
- this.chatConversationsHandler.getConversationsFromStorage();
200
-
201
- // 3 - set uidConvSelected in conversationHandler
202
- this.conversationsHandler.uidConvSelected = this.uidConvSelected
203
- this.chatArchivedConversationsHandler.uidConvSelected = this.uidConvSelected
204
-
205
- // 5 - connect conversationHandler and archviedConversationsHandler to firebase event (add, change, remove)
206
- this.conversationsHandler.connect();
207
- this.chatArchivedConversationsHandler.connect();
208
-
209
- // 6 - save conversationHandler in chatManager
210
- this.chatManager.setConversationsHandler(this.conversationsHandler);
211
- }
212
-
213
- /**
214
- * ::: initSubscriptions :::
215
- * mi sottoscrivo a:
216
- * 1 - elenco conversazioni
217
- * 2 - elenco conversazioni erchiviate
218
- * 3 - logout
219
- * 4 - conversazione selezionata (attiva)
220
- *
221
- */
222
- initSubscriptions() {
223
- const that = this;
224
- //this.events.subscribe('loadedConversationsStorage', this.loadedConversationsStorage);
225
- this.events.subscribe('conversationsChanged', this.conversationsChanged);
226
- this.events.subscribe('archivedConversationsChanged', this.archivedConversationsChanged);
227
- this.events.subscribe('uidConvSelected:changed', this.subscribeUidConvSelectedChanged);
228
-
229
- this.loadingList = interval(2000).subscribe((val) => {
230
- // console.log('called');
231
- that.checkLoadingIsActive(2000);
232
- });
233
- }
234
-
235
- //------------------------------------------------------------------//
236
- // SUBSCRIPTIONS
237
- //------------------------------------------------------------------//
238
- /**
239
- * evento richiamato quando ho finito di caricare le conversazioni dallo storage
240
- */
241
- // loadedConversationsStorage: any = conversations => {
242
- // console.log('************** loadedConversationsStorage');
243
- // if(conversations && conversations.length > 0 ){
244
- // this.conversations = conversations;
245
- // this.numberOpenConv = this.conversationsHandler.countIsNew();
246
- // }
247
- // this.showDetailConversation();
248
- // }
249
-
250
- /**
251
- * ::: conversationsChanged :::
252
- * evento richiamato su add, change, remove dell'elenco delle conversazioni
253
- * 1 - aggiorno elenco conversazioni
254
- * 2 - aggiorno il conto delle nuove conversazioni
255
- * 4 - se esiste un uidReciverFromUrl (passato nell'url)
256
- * e se esiste una conversazione con lo stesso id di uidReciverFromUrl
257
- * imposto questa come conversazione attiva (operazione da fare una sola volta al caricamento delle conversazioni)
258
- * e la carico nella pagina di dettaglio e azzero la variabile uidReciverFromUrl!!!
259
- * 5 - altrimenti se esiste una conversazione con lo stesso id della conversazione attiva
260
- * e la pagina di dettaglio è vuota (placeholder), carico la conversazione attiva (uidConvSelected) nella pagina di dettaglio
261
- * (operazione da fare una sola volta al caricamento delle conversazioni)
262
- */
263
- conversationsChanged = (conversations: ConversationModel[]) => {
264
- console.log('LISTA CONVERSAZIONI »»»»»»»»» conversationsChanged - CONVERSATIONS: ', this.conversations);
265
- var that = this;
266
- this.conversations = conversations;
267
- this.numberOpenConv = this.conversationsHandler.countIsNew();
268
- if (that.uidReciverFromUrl) {
269
- that.setUidConvSelected(that.uidReciverFromUrl);
270
- let position = conversations.findIndex(i => i.uid === that.uidReciverFromUrl);
271
- if (position > -1 ) {
272
- //that.setUidConvSelected(that.uidReciverFromUrl);
273
- //console.log('TROVATO');
274
- that.openMessageList();
275
- that.uidReciverFromUrl = null;
276
- that.showPlaceholder = false;
277
- } else if(that.showPlaceholder) {
278
- //console.log('NN LO TROVO ');
279
- let TEMP = getParameterByName('recipientFullname');
280
- if (!TEMP) {
281
- TEMP = that.uidReciverFromUrl;
282
- }
283
- that.navProxy.pushDetail(DettaglioConversazionePage, {
284
- conversationWith: that.uidConvSelected,
285
- conversationWithFullname: TEMP
286
- });
287
- that.showPlaceholder = false;
288
- }
289
- } else {
290
- if (that.uidConvSelected && that.showPlaceholder === true) {
291
- const conversationSelected = that.conversations.find(item => item.uid === that.uidConvSelected);
292
- if (conversationSelected) {
293
- that.setUidConvSelected(that.uidConvSelected);
294
- that.openMessageList();
295
- that.showPlaceholder = false;
296
- // } else {
297
- // that.navProxy.pushDetail(DettaglioConversazionePage, {
298
- // conversationWith: null
299
- // });
300
- }
301
- }
302
- }
303
- }
304
-
305
- /**
306
- * ::: archivedConversationsChanged :::
307
- * evento richiamato su add, change, remove dell'elenco delle conversazioni archiviate
308
- * se id passato è relativo ad una conversazione archiviata:
309
- * 1 - apro dettaglio conversazione
310
- * 2 - apro lista conversazioni archiviate
311
- */
312
- archivedConversationsChanged = (conversations: ConversationModel[]) => {
313
- this.archivedConversations = conversations;
314
-
315
- if (this.uidReciverFromUrl) {
316
- let position = conversations.findIndex(i => i.uid === this.uidReciverFromUrl);
317
- if (position > -1 ) {
318
- console.log('archivedConversationsChanged -> uidReciverFromUrl');
319
- this.setUidConvSelected(this.uidReciverFromUrl);
320
- this.databaseProvider.setUidLastOpenConversation(this.uidConvSelected);
321
- this.openArchivedConversationsPage();
322
- // let TEMP = getParameterByName('recipientFullname');
323
- // if (!TEMP) {
324
- // TEMP = this.uidReciverFromUrl;
325
- // }
326
- // this.navProxy.pushDetail(DettaglioConversazionePage, {
327
- // conversationWith: this.uidConvSelected,
328
- // conversationWithFullname: TEMP
329
- // });
330
- this.uidReciverFromUrl = null;
331
- this.showPlaceholder = false;
332
- }
333
- }
334
- }
335
-
336
- /**
337
- * ::: subscribeUidConvSelectedChanged :::
338
- * evento richiamato quando si seleziona un utente nell'elenco degli user
339
- * apro dettaglio conversazione
340
- */
341
- subscribeUidConvSelectedChanged = (uidConvSelected: string, type: string) => {
342
- this.checkMessageListIsOpen(uidConvSelected, type);
343
- }
344
-
345
- /**
346
- * ::: subscribeLoggedUserLogout :::
347
- * effettuato il logout:
348
- * 1 - mostro placeholder
349
- * 2 - resetto array conversazioni
350
- * 3 - mostro modale login
351
- * 4 - resetto conversationWith
352
- */
353
- subscribeLoggedUserLogout = () => {
354
- console.log('************** subscribeLoggedUserLogout');
355
- this.conversations = [];
356
- this.profileModal.present();
357
- this.uidConvSelected = null;
358
- }
359
- //------------------------------------------------------------------//
360
-
361
-
362
- //------------------------------------------------------------------//
363
- // BEGIN FUNCTIONS
364
- //------------------------------------------------------------------//
365
- /**
366
- * ::: checkMessageListIsOpen :::
367
- * se la conversazione selezionata NON è già aperta e mi trovo nella versione tablet/desk (>767)
368
- * imposto uidConvSelected
369
- * apro dettaglio conversazione
370
- * @param uidConvSelected
371
- */
372
- checkMessageListIsOpen(uidConvSelected, type?) {
373
- if (uidConvSelected !== this.uidConvSelected && windowsMatchMedia()) {
374
- this.setUidConvSelected(uidConvSelected);
375
- this.openMessageList(type);
376
- }
377
- }
378
-
379
-
380
-
381
- /**
382
- * ::: setUidConvSelected :::
383
- * @param uidConvSelected
384
- */
385
- setUidConvSelected(uidConvSelected?: string) {
386
- this.uidConvSelected = uidConvSelected;
387
- this.chatConversationsHandler.uidConvSelected = uidConvSelected;
388
- }
389
-
390
- /**
391
- * ::: openMessageList :::
392
- * 1 - cerco conv con id == this.uidConvSelected e imposto select a FALSE
393
- * 2 - cerco conv con id == nw uidConvSelected se esiste:
394
- * 2.1 - imposto status a 0 come letto
395
- * 2.2 - seleziono conv selected == TRUE
396
- * 2.3 - imposto nw uidConvSelected come this.uidConvSelected
397
- * 2.4 - apro conv
398
- * 3 salvo id conv nello storage
399
- * @param uidConvSelected
400
- */
401
- openMessageList(type?: string) {
402
- const that = this;
403
- console.log('openMessageList:: >>>> conversationSelected ', that.uidConvSelected);
404
- setTimeout(function () {
405
- const conversationSelected = that.conversations.find(item => item.uid === that.uidConvSelected);
406
- if (conversationSelected) {
407
- conversationSelected.is_new = false;
408
- conversationSelected.status = '0';
409
- conversationSelected.selected = true;
410
- that.navProxy.pushDetail(DettaglioConversazionePage, {
411
- conversationSelected: conversationSelected,
412
- conversationWith: that.uidConvSelected,
413
- conversationWithFullname: conversationSelected.conversation_with_fullname,
414
- channel_type: conversationSelected.channel_type
415
- });
416
- that.conversationsHandler.setConversationRead(conversationSelected.uid);
417
- that.databaseProvider.setUidLastOpenConversation(that.uidConvSelected);
418
- } else if (!type) {
419
- if (windowsMatchMedia()) {
420
- console.log('PlaceholderPage 2');
421
- that.navProxy.pushDetail(PlaceholderPage, {});
422
- }
423
- }
424
- }, 0);
425
- // if the conversation from the isConversationClosingMap is waiting to be closed
426
- // deny the click on the conversation
427
- if (this.tiledeskConversationProvider.getClosingConversation(this.uidConvSelected)) return;
428
- }
429
- //------------------------------------------------------------------//
430
-
431
-
432
- //------------------------------------------------------------------//
433
- // BEGIN ACTIONS
434
- //------------------------------------------------------------------//
435
- /**
436
- * ::: goToChat :::
437
- * 1 - invocato dalla pagina html alla selezione di una conversazione
438
- * imposta conversazione attiva nella pagina elenco conversazioni e
439
- * pubblica id della conversazione selezionata
440
- * @param conversationWith
441
- */
442
- goToChat(conversationWith: string, conversationWithFullname: string) {
443
- console.log('**************** goToChat conversationWith:: ', conversationWith);
444
- this.events.publish('uidConvSelected:changed', conversationWith, 'new');
445
- }
446
-
447
- /**
448
- * ::: openUsersList :::
449
- * apro pagina elenco users
450
- * (metodo richiamato da html)
451
- */
452
- private openUsersList(event: any) {
453
- this.navCtrl.push(UsersPage, {
454
- contacts: "",
455
- 'tenant': this.tenant,
456
- 'loggedUser': this.loggedUser
457
- });
458
- }
459
-
460
- /**
461
- * ::: presentPopover :::
462
- * apro il menu delle opzioni
463
- * (metodo richiamato da html)
464
- * alla chiusura controllo su quale opzione ho premuto e attivo l'azione corrispondete
465
- */
466
- private presentPopover(event) {
467
- const that = this;
468
- let popover = this.popoverCtrl.create(PopoverPage, { typePopup: TYPE_POPUP_LIST_CONVERSATIONS });
469
- popover.present({
470
- ev: event
471
- });
472
- popover.onDidDismiss((data: string) => {
473
- console.log(" ********* data::: ", data);
474
- if (data == 'logOut') {
475
- that.logOut();
476
- } else if (data == 'ProfilePage') {
477
- if (this.chatManager.getLoggedUser()) {
478
- this.navCtrl.push(ProfilePage);
479
- }
480
- } else if (data == "ArchivedConversationsPage") {
481
- that.openArchivedConversationsPage();
482
- }
483
- });
484
- }
485
-
486
- /**
487
- * ::: openArchivedConversationsPage :::
488
- * Open the archived conversations page
489
- * (metodo richiamato da html)
490
- */
491
- private openArchivedConversationsPage() {
492
- this.navCtrl.push(ArchivedConversationsPage, {
493
- 'archivedConversations': this.archivedConversations,
494
- 'tenant': this.tenant,
495
- 'loggedUser': this.loggedUser
496
- });
497
- }
498
-
499
- /**
500
- * ::: logOut :::
501
- * modulo richiamato se premo su logout
502
- * 1 - aggiungo placeholderPage
503
- * 2 - richiamo il logout di firebase
504
- */
505
- private logOut() {
506
- //this.navProxy.pushDetail(PlaceholderPage,{});
507
- this.userService.logoutUser();
508
- }
509
-
510
- /**
511
- * ::: checkLoadingIsActive :::
512
- * metodo mostra un placeholder di benvenuto se non ci sono conversazioni
513
- * ritardato dopo 5 sec per dare il tempo di caricare lo storico delle conversazioni
514
- * dallo storage locale o da remoto
515
- * (metodo richiamato da html)
516
- */
517
- private checkLoadingIsActive(time: number) {
518
- const that = this;
519
- setTimeout(function () {
520
- that.loadingIsActive = false;
521
- that.loadingList.unsubscribe();
522
- }, time);
523
- }
524
-
525
- /**
526
- * ::: closeConversation :::
527
- * chiudo conversazione
528
- * (metodo richiamato da html)
529
- * the conversationId is:
530
- * - se è una conversazione diretta: elimino conversazione
531
- * - se è una conversazione di gruppo: chiudo conversazione
532
- * @param conversation
533
- * https://github.com/chat21/chat21-cloud-functions/blob/master/docs/api.md#delete-a-conversation
534
- */
535
- private closeConversation(conversation) {
536
- var conversationId = conversation.uid;
537
- var isSupportConversation = conversationId.startsWith("support-group");
538
- if (!isSupportConversation) {
539
- this.deleteConversation(conversationId, function (result, data) {
540
- if (result === 'success') {
541
- console.log("ListaConversazioniPage::closeConversation::deleteConversation::response", data);
542
- } else if (result === 'error') {
543
- console.error("ListaConversazioniPage::closeConversation::deleteConversation::error", data);
544
- }
545
- });
546
- } else {
547
- this.closeSupportGroup(conversationId, function (result: string, data: any) {
548
- if (result === 'success') {
549
- console.log("ListaConversazioniPage::closeConversation::closeSupportGroup::response", data);
550
- } else if (result === 'error') {
551
- console.error("ListaConversazioniPage::closeConversation::closeSupportGroup::error", data);
552
- }
553
- });
554
- }
555
- }
556
-
557
- /**
558
- * ::: closeSupportGroup :::
559
- * 1 - rimuovo l'handler della conversazione
560
- * imposto la conversazione (isConversationClosingMap) come una conversazione in attesa di essere chiusa
561
- * chiudo gruppo
562
- * @param groupId
563
- * @param callback
564
- * close the support group
565
- * https://github.com/chat21/chat21-cloud-functions/blob/master/docs/api.md#close-support-group
566
- */
567
- private closeSupportGroup(groupId, callback) {
568
- var that = this;
569
- // BEGIN - REMOVE FROM LOCAL MEMORY
570
- this.conversationsHandler.removeByUid(groupId);
571
- // END - REMOVE FROM LOCAL MEMORY
572
-
573
- // BEGIN - REMOVE FROM REMOTE
574
- // set the conversation from the isConversationClosingMap that is waiting to be closed
575
- this.tiledeskConversationProvider.setClosingConversation(groupId, true);
576
- // close group
577
- this.groupService.closeGroup(groupId, function (response, error) {
578
- if (error) {
579
- // the conversation closing failed: restore the conversation with
580
- // conversationId status to false within the isConversationClosingMap
581
- that.tiledeskConversationProvider.setClosingConversation(groupId, false);
582
- callback('error', error);
583
- }
584
- else {
585
- callback('success', response);
586
- }
587
- });
588
- // when a conversations is closed shows a placeholder background
589
- if (groupId === that.uidConvSelected) {
590
- console.log('PlaceholderPage 3');
591
- that.navProxy.pushDetail(PlaceholderPage, {});
592
- }
593
- }
594
-
595
- /**
596
- * ::: deleteConversation :::
597
- * 1 - rimuovo l'handler della conversazione
598
- * imposto la conversazione (isConversationClosingMap) come una conversazione in attesa di essere chiusa
599
- * cancello la conversazione
600
- * @param conversationId
601
- * @param callback
602
- * more details availables at
603
- * https://github.com/chat21/chat21-cloud-functions/blob/master/docs/api.md#delete-a-conversation
604
- */
605
- private deleteConversation(conversationId, callback) {
606
- var that = this;
607
- // END - REMOVE FROM LOCAL MEMORY
608
- this.conversationsHandler.removeByUid(conversationId); // remove the item
609
- // END - REMOVE FROM LOCAL MEMORY
610
-
611
- // BEGIN - REMOVE FROM REMOTE
612
- // set the conversation from the isConversationClosingMap that is waiting to be closed
613
- this.tiledeskConversationProvider.setClosingConversation(conversationId, true);
614
- // delete a conversation form the personal timeline
615
- this.tiledeskConversationProvider.deleteConversation(conversationId, function (response, error) {
616
- if (error) {
617
- that.tiledeskConversationProvider.setClosingConversation(conversationId, false);
618
- callback('error', error);
619
- }
620
- else {
621
- callback('success', response);
622
- }
623
- });
624
- // when a conversations is closed shows a placeholder background
625
- if (conversationId === this.uidConvSelected) {
626
- console.log('PlaceholderPage 4');
627
- that.navProxy.pushDetail(PlaceholderPage, {});
628
- }
629
- }
630
- //------------------------------------------------------------------//
631
-
632
- }
633
-
634
-
635
- /** RECUPERO IL RECIPIENTID
636
- * nel caso in cui viene pasato nell'url della pagina
637
- * per aprire una conversazione
638
- * USARE getParameterByName(name) del widget
639
- */
640
- // getUidReciverFromUrl(){
641
- // try{
642
- // let TEMP = getParameterByName('recipient');
643
- // if (TEMP) {
644
- // this.uidReciverFromUrl = TEMP;
645
- // }
646
- // TEMP = getParameterByName('recipientFullname');
647
- // if (TEMP) {
648
- // this.uidReciverFromUrl = TEMP;
649
- // }
650
- // } catch (err) {
651
- // console.error("-> error:", err)
652
- // }
653
- // }
654
-
655
- // openDetailConversation(){
656
- // const that = this;
657
- // /** RECUPERO IL RECIPIENTID dall'url */
658
- // if(!this.loggedUser){
659
- // this.loadingIsActive = false;
660
- // return;
661
- // }
662
- // try {
663
- // let TEMP = location.search.split('recipient=')[1];
664
- // if (TEMP) {
665
- // this.uidReciverFromUrl = TEMP.split('&')[0];
666
- // this.setUidConvSelected(this.uidReciverFromUrl);
667
- // //this.goToChat(this.uidReciverFromUrl, this.uidReciverFromUrl);
668
- // } else {
669
- // this.loadingIsActive = false;
670
- // }
671
- // } catch (err) {
672
- // console.error("-> error:", err)
673
- // this.loadingIsActive = false;
674
- // }
675
- // this.showDetailConversation();
676
- // }
677
-
678
- /**
679
- * imposto un setInterval di 3 sec
680
- * verifico se il num delle conversazioni è aumentato
681
- * se sono cambiate aggiorno numberTotConv per rifare il controllo
682
- * altrimenti se esiste già una conversazione con l'utente passato nell'url (uidReciverFromUrl):
683
- * - apro dettaglio conversazione
684
- * - altrimenti creo una nuova conversazione
685
- * cancello intervallo;
686
- * NOTA: da spostare nella classe di service delle conversazioni e utilizzare con una sottoscrizione
687
- */
688
- // openConversationInPageDetail() {
689
- // var that = this;
690
- // let uidReciverFromUrlTEMP = getParameterByName('recipient');
691
- // if (uidReciverFromUrlTEMP) {
692
- // that.uidReciverFromUrl = uidReciverFromUrlTEMP;
693
- // console.log('LISTA CONVERSAZIONI »»»»»»»»» openConversationInPageDetail - uidReciverFromUrl: ', that.uidReciverFromUrl);
694
- // }
695
- // let recipientFullnameTEMP = getParameterByName('recipientFullname');
696
- // if (!recipientFullnameTEMP) {
697
- // recipientFullnameTEMP = uidReciverFromUrlTEMP;
698
- // }
699
- // if (that.uidReciverFromUrl && windowsMatchMedia()) {
700
- // this.events.subscribe('loggedUser:login', (user) => {
701
- // // user and time are the same arguments passed in `events.publish(user, time)`
702
- // console.log('LISTA CONVERSAZIONI Welcome user: ', user );
703
- // that.goToChat(uidReciverFromUrlTEMP, recipientFullnameTEMP);
704
- // });
705
- // }
706
- // }
707
-
708
- /**
709
- * se mi trovo in visualizzazione desktop (dettaglio conversazione aperto sulla dx)
710
- * - se esite uidConvSelected apro il dettaglio conversazione
711
- * - altrimenti setto uidConvSelected alla prima conversazione ed apro il dettaglio conversazione
712
- */
713
- // showDetailConversation(){
714
- // if (this.uidConvSelected) {
715
- // console.log('openMessageList 1 ::', this.uidConvSelected);
716
- // // se visualizzazione è desktop
717
- // if (windowsMatchMedia()) {
718
- // this.setUidConvSelected(this.uidConvSelected);
719
- // this.openMessageList();
720
- // }
721
- // } else if (this.conversations.length > 0) {
722
- // console.log('openMessageList 2 ::');
723
- // // this.uidConvSelected = this.conversations[0].uid;
724
- // // se visualizzazione è desktop
725
- // if (windowsMatchMedia()) {
726
- // //this.setUidConvSelected(this.uidConvSelected);
727
- // this.openMessageList();
728
- // }
729
- // } else {
730
- // console.log('openMessageList 3 ::');
731
- // // se visualizzazione è desktop
732
- // if (windowsMatchMedia()) {
733
- // this.navProxy.pushDetail(PlaceholderPage, {});
734
- // }
735
- // }
736
- // }