@chat21/chat21-ionic 2.0.14 → 3.0.5-8.1

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 (699) 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 +531 -212
  4. package/Dockerfile +1 -2
  5. package/LICENSE +21 -661
  6. package/README.md +31 -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 +13 -34
  12. package/env.sample +26 -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 +86 -0
  40. package/src/app/app.component.html +23 -0
  41. package/src/app/app.component.scss +6 -0
  42. package/src/app/app.component.spec.ts +47 -0
  43. package/src/app/app.component.ts +865 -129
  44. package/src/app/app.module.ts +306 -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 +193 -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 +92 -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 +71 -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 +170 -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 +9 -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 +59 -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 +124 -0
  98. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.scss +358 -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 +116 -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 +173 -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 +68 -0
  130. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +149 -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 +112 -0
  133. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +63 -0
  134. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +119 -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 +644 -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 +31 -0
  166. package/src/app/components/utils/avatar-profile/avatar-profile.component.html +5 -0
  167. package/src/app/components/utils/avatar-profile/avatar-profile.component.scss +29 -0
  168. package/src/app/components/utils/avatar-profile/avatar-profile.component.spec.ts +24 -0
  169. package/src/app/components/utils/avatar-profile/avatar-profile.component.ts +24 -0
  170. package/src/app/components/utils/user-presence/user-presence.component.html +2 -0
  171. package/src/app/components/utils/user-presence/user-presence.component.scss +24 -0
  172. package/src/app/components/utils/user-presence/user-presence.component.spec.ts +24 -0
  173. package/src/app/components/utils/user-presence/user-presence.component.ts +159 -0
  174. package/src/app/directives/autofocus.directive.ts +41 -0
  175. package/src/app/directives/html-entities-encode.pipe.spec.ts +8 -0
  176. package/src/app/directives/html-entities-encode.pipe.ts +17 -0
  177. package/src/app/directives/marked.pipe.spec.ts +8 -0
  178. package/src/app/directives/marked.pipe.ts +27 -0
  179. package/src/app/directives/safe-html.pipe.ts +16 -0
  180. package/src/app/pages/authentication/login/login-routing.module.ts +17 -0
  181. package/src/app/pages/authentication/login/login.module.ts +39 -0
  182. package/src/app/pages/authentication/login/login.page.html +8 -0
  183. package/src/app/pages/authentication/login/login.page.scss +5 -0
  184. package/src/app/pages/authentication/login/login.page.spec.ts +24 -0
  185. package/src/app/pages/authentication/login/login.page.ts +187 -0
  186. package/src/app/pages/contacts-directory/contacts-directory-routing.module.ts +17 -0
  187. package/src/app/pages/contacts-directory/contacts-directory.module.ts +42 -0
  188. package/src/app/pages/contacts-directory/contacts-directory.page.html +19 -0
  189. package/src/app/pages/contacts-directory/contacts-directory.page.scss +0 -0
  190. package/src/app/pages/contacts-directory/contacts-directory.page.spec.ts +24 -0
  191. package/src/app/pages/contacts-directory/contacts-directory.page.ts +125 -0
  192. package/src/app/pages/conversation-detail/conversation-detail-routing.module.ts +17 -0
  193. package/src/app/pages/conversation-detail/conversation-detail.module.ts +69 -0
  194. package/src/app/pages/conversation-detail/conversation-detail.page.html +189 -0
  195. package/src/app/pages/conversation-detail/conversation-detail.page.scss +492 -0
  196. package/src/app/pages/conversation-detail/conversation-detail.page.spec.ts +24 -0
  197. package/src/app/pages/conversation-detail/conversation-detail.page.ts +1431 -0
  198. package/src/app/pages/conversations-list/conversations-list-routing.module.ts +17 -0
  199. package/src/app/pages/conversations-list/conversations-list.module.ts +43 -0
  200. package/src/app/pages/conversations-list/conversations-list.page.html +91 -0
  201. package/src/app/pages/conversations-list/conversations-list.page.scss +139 -0
  202. package/src/app/pages/conversations-list/conversations-list.page.spec.ts +24 -0
  203. package/src/app/pages/conversations-list/conversations-list.page.ts +824 -0
  204. package/src/app/pages/details/details-routing.module.ts +17 -0
  205. package/src/app/pages/details/details.module.ts +21 -0
  206. package/src/app/pages/details/details.page.html +28 -0
  207. package/src/app/pages/details/details.page.scss +23 -0
  208. package/src/app/pages/details/details.page.spec.ts +24 -0
  209. package/src/app/pages/details/details.page.ts +65 -0
  210. package/src/app/pages/loader-preview/loader-preview-routing.module.ts +17 -0
  211. package/src/app/pages/loader-preview/loader-preview.module.ts +29 -0
  212. package/src/app/pages/loader-preview/loader-preview.page.html +62 -0
  213. package/src/app/pages/loader-preview/loader-preview.page.scss +117 -0
  214. package/src/app/pages/loader-preview/loader-preview.page.spec.ts +24 -0
  215. package/src/app/pages/loader-preview/loader-preview.page.ts +353 -0
  216. package/src/app/pages/profile-info/profile-info-routing.module.ts +17 -0
  217. package/src/app/pages/profile-info/profile-info.module.ts +41 -0
  218. package/src/app/pages/profile-info/profile-info.page.html +86 -0
  219. package/src/app/pages/profile-info/profile-info.page.scss +264 -0
  220. package/src/app/pages/profile-info/profile-info.page.spec.ts +24 -0
  221. package/src/app/pages/profile-info/profile-info.page.ts +223 -0
  222. package/src/app/services/app-config.ts +35 -0
  223. package/src/app/services/canned-responses/canned-responses.service.spec.ts +12 -0
  224. package/src/app/services/canned-responses/canned-responses.service.ts +49 -0
  225. package/src/app/services/contacts/contacts.service.spec.ts +12 -0
  226. package/src/app/services/contacts/contacts.service.ts +172 -0
  227. package/src/app/services/events-service.ts +79 -0
  228. package/src/app/services/nav-proxy.service.spec.ts +12 -0
  229. package/src/app/services/nav-proxy.service.ts +80 -0
  230. package/src/app/services/network-service/network.service.spec.ts +12 -0
  231. package/src/app/services/network-service/network.service.ts +46 -0
  232. package/src/app/services/tiledesk/tiledesk.service.spec.ts +12 -0
  233. package/src/app/services/tiledesk/tiledesk.service.ts +78 -0
  234. package/src/app/shared/shared-conversation-info.module.ts +33 -0
  235. package/src/app/shared/shared.module.ts +124 -0
  236. package/src/{utils → app/utils}/constants.ts-e +0 -0
  237. package/src/app/utils/scrollbar-theme.directive.ts +63 -0
  238. package/src/assets/i18n/en.json +114 -38
  239. package/src/assets/i18n/it.json +93 -10
  240. package/src/assets/icon/favicon.ico +0 -0
  241. package/src/assets/icon/ionic_favicon.png +0 -0
  242. package/src/assets/images/f21ico-done.svg +1 -0
  243. package/src/assets/images/f21ico-done_all.svg +1 -0
  244. package/src/assets/images/f21ico-schedule.svg +1 -0
  245. package/src/assets/images/file-alt-solid.png +0 -0
  246. package/src/assets/images/no_conversation.jpg +0 -0
  247. package/src/assets/{img → images}/no_image.png +0 -0
  248. package/src/assets/images/tiledesk_logo_50x50.png +0 -0
  249. package/src/assets/js/chat21client.js +965 -0
  250. package/src/assets/js/mqtt/4.1.0/mqtt.min.js +1 -0
  251. package/src/assets/js/mqtt/4.2.6/mqtt.min.js +1 -0
  252. package/src/assets/js/mqtt/4.2.8/mqtt.min.js +1 -0
  253. package/src/assets/shapes.svg +1 -0
  254. package/src/assets/sounds/pling.mp3 +0 -0
  255. package/src/chat-config-mqtt-ver-uploaded.json +22 -0
  256. package/src/chat-config-mqtt.json +26 -0
  257. package/src/chat-config-pre-test.json +32 -0
  258. package/src/chat-config-pre.json +23 -0
  259. package/src/chat-config-template.json +17 -6
  260. package/src/chat-config.json +27 -0
  261. package/src/{models → chat21-core/models}/conversation.ts +6 -2
  262. package/src/{models → chat21-core/models}/group.ts +7 -5
  263. package/src/{models → chat21-core/models}/message.ts +8 -8
  264. package/src/{models → chat21-core/models}/upload.ts +5 -5
  265. package/src/{models → chat21-core/models}/user.ts +2 -1
  266. package/src/chat21-core/providers/abstract/app-storage.service.spec.ts +15 -0
  267. package/src/chat21-core/providers/abstract/app-storage.service.ts +17 -0
  268. package/src/chat21-core/providers/abstract/archivedconversations-handler.service.spec.ts +13 -0
  269. package/src/chat21-core/providers/abstract/archivedconversations-handler.service.ts +34 -0
  270. package/src/chat21-core/providers/abstract/conversation-handler-builder.service.spec.ts +12 -0
  271. package/src/chat21-core/providers/abstract/conversation-handler-builder.service.ts +11 -0
  272. package/src/chat21-core/providers/abstract/conversation-handler.service.spec.ts +12 -0
  273. package/src/chat21-core/providers/abstract/conversation-handler.service.ts +43 -0
  274. package/src/chat21-core/providers/abstract/conversations-handler.service.spec.ts +12 -0
  275. package/src/chat21-core/providers/abstract/conversations-handler.service.ts +42 -0
  276. package/src/chat21-core/providers/abstract/groups-handler.service.spec.ts +12 -0
  277. package/src/chat21-core/providers/abstract/groups-handler.service.ts +28 -0
  278. package/src/chat21-core/providers/abstract/image-repo.service.spec.ts +12 -0
  279. package/src/chat21-core/providers/abstract/image-repo.service.ts +26 -0
  280. package/src/chat21-core/providers/abstract/logger.service.spec.ts +12 -0
  281. package/src/chat21-core/providers/abstract/logger.service.ts +16 -0
  282. package/src/chat21-core/providers/abstract/messagingAuth.service.spec.ts +12 -0
  283. package/src/chat21-core/providers/abstract/messagingAuth.service.ts +54 -0
  284. package/src/chat21-core/providers/abstract/notifications.service.spec.ts +12 -0
  285. package/src/chat21-core/providers/abstract/notifications.service.ts +31 -0
  286. package/src/chat21-core/providers/abstract/presence.service.spec.ts +12 -0
  287. package/src/chat21-core/providers/abstract/presence.service.ts +34 -0
  288. package/src/chat21-core/providers/abstract/typing.service.spec.ts +12 -0
  289. package/src/chat21-core/providers/abstract/typing.service.ts +31 -0
  290. package/src/chat21-core/providers/abstract/upload.service.spec.ts +12 -0
  291. package/src/chat21-core/providers/abstract/upload.service.ts +39 -0
  292. package/src/chat21-core/providers/chat-manager.ts +282 -0
  293. package/src/chat21-core/providers/custom-translate.service.spec.ts +12 -0
  294. package/src/chat21-core/providers/custom-translate.service.ts +42 -0
  295. package/src/chat21-core/providers/firebase/firebase-archivedconversations-handler.ts +476 -0
  296. package/src/chat21-core/providers/firebase/firebase-auth-service.ts +376 -0
  297. package/src/chat21-core/providers/firebase/firebase-conversation-handler-builder.service.ts +19 -0
  298. package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +416 -0
  299. package/src/chat21-core/providers/firebase/firebase-conversations-handler.ts +570 -0
  300. package/src/chat21-core/providers/firebase/firebase-groups-handler.ts +303 -0
  301. package/src/chat21-core/providers/firebase/firebase-image-repo.ts +40 -0
  302. package/src/chat21-core/providers/firebase/firebase-init-service.ts +31 -0
  303. package/src/chat21-core/providers/firebase/firebase-notifications.ts +238 -0
  304. package/src/chat21-core/providers/firebase/firebase-presence.service.ts +190 -0
  305. package/src/chat21-core/providers/firebase/firebase-typing.service.ts +93 -0
  306. package/src/chat21-core/providers/firebase/firebase-upload.service.ts +106 -0
  307. package/src/chat21-core/providers/localSessionStorage.ts +215 -0
  308. package/src/chat21-core/providers/logger/customLogger.ts +70 -0
  309. package/src/chat21-core/providers/logger/loggerInstance.ts +20 -0
  310. package/src/chat21-core/providers/mqtt/chat-service.ts +44 -0
  311. package/src/chat21-core/providers/mqtt/mqtt-archivedconversations-handler.ts +707 -0
  312. package/src/chat21-core/providers/mqtt/mqtt-auth-service.ts +313 -0
  313. package/src/chat21-core/providers/mqtt/mqtt-conversation-handler-builder.service.ts +25 -0
  314. package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +448 -0
  315. package/src/chat21-core/providers/mqtt/mqtt-conversations-handler.ts +593 -0
  316. package/src/chat21-core/providers/mqtt/mqtt-groups-handler.ts +139 -0
  317. package/src/chat21-core/providers/mqtt/mqtt-notifications.ts +32 -0
  318. package/src/chat21-core/providers/mqtt/mqtt-presence.service.ts +229 -0
  319. package/src/chat21-core/providers/mqtt/mqtt-typing.service.ts +93 -0
  320. package/src/chat21-core/providers/native/native-image-repo.ts +30 -0
  321. package/src/chat21-core/providers/native/native-upload-service.ts +85 -0
  322. package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.spec.ts +12 -0
  323. package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts +202 -0
  324. package/src/chat21-core/utils/constants.ts +109 -0
  325. package/src/chat21-core/utils/user-typing/user-typing.component.html +6 -0
  326. package/src/chat21-core/utils/user-typing/user-typing.component.scss +62 -0
  327. package/src/chat21-core/utils/user-typing/user-typing.component.spec.ts +24 -0
  328. package/src/chat21-core/utils/user-typing/user-typing.component.ts +114 -0
  329. package/src/chat21-core/utils/utils-message.ts +117 -0
  330. package/src/chat21-core/utils/utils-user.ts +46 -0
  331. package/src/chat21-core/utils/utils.ts +893 -0
  332. package/src/global.scss +585 -0
  333. package/src/index.html +71 -42
  334. package/src/main.ts +12 -0
  335. package/src/manifest.json +0 -11
  336. package/src/models/department.ts +12 -0
  337. package/src/polyfills.ts +73 -0
  338. package/src/test.ts +21 -0
  339. package/src/theme/variables.scss +236 -93
  340. package/src/variables.scss +30 -0
  341. package/src/zone-flags.ts +5 -0
  342. package/tsconfig.app.json +14 -0
  343. package/tsconfig.json +23 -18
  344. package/tsconfig.spec.json +19 -0
  345. package/tslint.json +84 -7
  346. package/app.json +0 -7
  347. package/build_prod.sh +0 -10
  348. package/curl +0 -1
  349. package/deploy_dev.sh +0 -28
  350. package/docs/changelog.html +0 -227
  351. package/docs/classes/ConversationModel.html +0 -1022
  352. package/docs/classes/GroupModel.html +0 -527
  353. package/docs/classes/MessageModel.html +0 -843
  354. package/docs/classes/UploadModel.html +0 -417
  355. package/docs/classes/UserModel.html +0 -728
  356. package/docs/classes/_DetailPage.html +0 -144
  357. package/docs/classes/_MasterPage.html +0 -144
  358. package/docs/components/ArchivedConversationsPage.html +0 -1024
  359. package/docs/components/ChatBubble.html +0 -327
  360. package/docs/components/DettaglioConversazionePage.html +0 -6060
  361. package/docs/components/ElasticTextarea.html +0 -619
  362. package/docs/components/InfoAdvancedPage.html +0 -656
  363. package/docs/components/InfoConversationPage.html +0 -5681
  364. package/docs/components/InfoMessagePage.html +0 -993
  365. package/docs/components/InfoUserPage.html +0 -1420
  366. package/docs/components/ListaConversazioniPage.html +0 -3576
  367. package/docs/components/LoginPage.html +0 -1457
  368. package/docs/components/MyApp.html +0 -1388
  369. package/docs/components/PlaceholderPage.html +0 -397
  370. package/docs/components/PopoverPage.html +0 -986
  371. package/docs/components/PopoverProfilePage.html +0 -639
  372. package/docs/components/ProfilePage.html +0 -1187
  373. package/docs/components/RegisterPage.html +0 -1271
  374. package/docs/components/ResetpwdPage.html +0 -1039
  375. package/docs/components/UpdateImageProfilePage.html +0 -997
  376. package/docs/components/UsersPage.html +0 -1297
  377. package/docs/coverage.html +0 -1421
  378. package/docs/dependencies.html +0 -210
  379. package/docs/directives/AutosizeDirective.html +0 -556
  380. package/docs/fonts/FontAwesome.otf +0 -0
  381. package/docs/fonts/fontawesome-webfont.eot +0 -0
  382. package/docs/fonts/fontawesome-webfont.svg +0 -685
  383. package/docs/fonts/fontawesome-webfont.ttf +0 -0
  384. package/docs/fonts/fontawesome-webfont.woff +0 -0
  385. package/docs/fonts/fontawesome-webfont.woff2 +0 -0
  386. package/docs/fonts/ionicons.eot +0 -0
  387. package/docs/fonts/ionicons.svg +0 -2090
  388. package/docs/fonts/ionicons.ttf +0 -0
  389. package/docs/fonts/ionicons.woff +0 -0
  390. package/docs/fonts/ionicons.woff2 +0 -0
  391. package/docs/fonts/roboto-v15-latin-300.eot +0 -0
  392. package/docs/fonts/roboto-v15-latin-300.svg +0 -314
  393. package/docs/fonts/roboto-v15-latin-300.ttf +0 -0
  394. package/docs/fonts/roboto-v15-latin-300.woff +0 -0
  395. package/docs/fonts/roboto-v15-latin-300.woff2 +0 -0
  396. package/docs/fonts/roboto-v15-latin-700.eot +0 -0
  397. package/docs/fonts/roboto-v15-latin-700.svg +0 -310
  398. package/docs/fonts/roboto-v15-latin-700.ttf +0 -0
  399. package/docs/fonts/roboto-v15-latin-700.woff +0 -0
  400. package/docs/fonts/roboto-v15-latin-700.woff2 +0 -0
  401. package/docs/fonts/roboto-v15-latin-italic.eot +0 -0
  402. package/docs/fonts/roboto-v15-latin-italic.svg +0 -323
  403. package/docs/fonts/roboto-v15-latin-italic.ttf +0 -0
  404. package/docs/fonts/roboto-v15-latin-italic.woff +0 -0
  405. package/docs/fonts/roboto-v15-latin-italic.woff2 +0 -0
  406. package/docs/fonts/roboto-v15-latin-regular.eot +0 -0
  407. package/docs/fonts/roboto-v15-latin-regular.svg +0 -308
  408. package/docs/fonts/roboto-v15-latin-regular.ttf +0 -0
  409. package/docs/fonts/roboto-v15-latin-regular.woff +0 -0
  410. package/docs/fonts/roboto-v15-latin-regular.woff2 +0 -0
  411. package/docs/graph/dependencies.svg +0 -870
  412. package/docs/images/compodoc-vectorise-inverted.png +0 -0
  413. package/docs/images/compodoc-vectorise-inverted.svg +0 -201
  414. package/docs/images/compodoc-vectorise.png +0 -0
  415. package/docs/images/compodoc-vectorise.svg +0 -201
  416. package/docs/images/coverage-badge-documentation.svg +0 -9
  417. package/docs/images/coverage-badge.svg +0 -9
  418. package/docs/images/favicon.ico +0 -0
  419. package/docs/index.html +0 -233
  420. package/docs/injectables/AppConfigProvider.html +0 -411
  421. package/docs/injectables/AuthService.html +0 -1016
  422. package/docs/injectables/ChatArchivedConversationsHandler.html +0 -1832
  423. package/docs/injectables/ChatContactsSynchronizer.html +0 -841
  424. package/docs/injectables/ChatConversationHandler.html +0 -1960
  425. package/docs/injectables/ChatConversationsHandler.html +0 -2584
  426. package/docs/injectables/ChatManager.html +0 -1779
  427. package/docs/injectables/ChatPresenceHandler.html +0 -1187
  428. package/docs/injectables/CustomTranslateService.html +0 -496
  429. package/docs/injectables/DatabaseProvider.html +0 -1444
  430. package/docs/injectables/GroupService.html +0 -1458
  431. package/docs/injectables/MessagingService.html +0 -1165
  432. package/docs/injectables/NavProxyService.html +0 -1028
  433. package/docs/injectables/TiledeskConversationProvider.html +0 -945
  434. package/docs/injectables/UploadService.html +0 -791
  435. package/docs/injectables/UserService.html +0 -1612
  436. package/docs/js/compodoc.js +0 -14
  437. package/docs/js/lazy-load-graphs.js +0 -44
  438. package/docs/js/libs/EventDispatcher.js +0 -5
  439. package/docs/js/libs/bootstrap-native.js +0 -2
  440. package/docs/js/libs/clipboard.min.js +0 -7
  441. package/docs/js/libs/custom-elements-es5-adapter.js +0 -15
  442. package/docs/js/libs/custom-elements.min.js +0 -38
  443. package/docs/js/libs/d3.v3.min.js +0 -2
  444. package/docs/js/libs/deep-iterator.js +0 -2
  445. package/docs/js/libs/es6-shim.min.js +0 -11
  446. package/docs/js/libs/htmlparser.js +0 -23
  447. package/docs/js/libs/innersvg.js +0 -9
  448. package/docs/js/libs/lit-html.js +0 -1
  449. package/docs/js/libs/prism.js +0 -14
  450. package/docs/js/libs/promise.min.js +0 -6
  451. package/docs/js/libs/svg-pan-zoom.min.js +0 -3
  452. package/docs/js/libs/tablesort.min.js +0 -6
  453. package/docs/js/libs/tablesort.number.min.js +0 -6
  454. package/docs/js/libs/vis.min.js +0 -46
  455. package/docs/js/libs/zepto.min.js +0 -2
  456. package/docs/js/menu-wc.js +0 -594
  457. package/docs/js/menu.js +0 -261
  458. package/docs/js/routes.js +0 -280
  459. package/docs/js/search/lunr.min.js +0 -6
  460. package/docs/js/search/search-lunr.js +0 -67
  461. package/docs/js/search/search.js +0 -268
  462. package/docs/js/search/search_index.js +0 -4
  463. package/docs/js/sourceCode.js +0 -58
  464. package/docs/js/svg-pan-zoom.controls.js +0 -53
  465. package/docs/js/tabs.js +0 -21
  466. package/docs/js/tree.js +0 -147
  467. package/docs/license.html +0 -664
  468. package/docs/miscellaneous/functions.html +0 -2417
  469. package/docs/miscellaneous/variables.html +0 -994
  470. package/docs/modules/AppModule/dependencies.svg +0 -454
  471. package/docs/modules/AppModule.html +0 -967
  472. package/docs/modules/ArchivedConversationsPageModule/dependencies.svg +0 -50
  473. package/docs/modules/ArchivedConversationsPageModule.html +0 -225
  474. package/docs/modules/DettaglioConversazionePageModule/dependencies.svg +0 -66
  475. package/docs/modules/DettaglioConversazionePageModule.html +0 -256
  476. package/docs/modules/InfoAdvancedPageModule/dependencies.svg +0 -50
  477. package/docs/modules/InfoAdvancedPageModule.html +0 -225
  478. package/docs/modules/InfoConversationPageModule/dependencies.svg +0 -50
  479. package/docs/modules/InfoConversationPageModule.html +0 -227
  480. package/docs/modules/InfoUserPageModule/dependencies.svg +0 -50
  481. package/docs/modules/InfoUserPageModule.html +0 -225
  482. package/docs/modules/ListaConversazioniPageModule/dependencies.svg +0 -66
  483. package/docs/modules/ListaConversazioniPageModule.html +0 -255
  484. package/docs/modules/LoginModule/dependencies.svg +0 -66
  485. package/docs/modules/LoginModule.html +0 -253
  486. package/docs/modules/PlaceholderPageModule/dependencies.svg +0 -66
  487. package/docs/modules/PlaceholderPageModule.html +0 -253
  488. package/docs/modules/PopoverPageModule/dependencies.svg +0 -66
  489. package/docs/modules/PopoverPageModule.html +0 -253
  490. package/docs/modules/PopoverProfilePageModule/dependencies.svg +0 -66
  491. package/docs/modules/PopoverProfilePageModule.html +0 -253
  492. package/docs/modules/ProfilePageModule/dependencies.svg +0 -66
  493. package/docs/modules/ProfilePageModule.html +0 -253
  494. package/docs/modules/RegisterModule/dependencies.svg +0 -66
  495. package/docs/modules/RegisterModule.html +0 -253
  496. package/docs/modules/ResetpwdModule/dependencies.svg +0 -66
  497. package/docs/modules/ResetpwdModule.html +0 -253
  498. package/docs/modules/UpdateImageProfilePageModule/dependencies.svg +0 -66
  499. package/docs/modules/UpdateImageProfilePageModule.html +0 -253
  500. package/docs/modules/UsersModule/dependencies.svg +0 -66
  501. package/docs/modules/UsersModule.html +0 -253
  502. package/docs/modules.html +0 -379
  503. package/docs/overview.html +0 -1033
  504. package/docs/styles/bootstrap-card.css +0 -219
  505. package/docs/styles/bootstrap.min.css +0 -5
  506. package/docs/styles/compodoc.css +0 -996
  507. package/docs/styles/font-awesome.min.css +0 -4
  508. package/docs/styles/ionicons.min.css +0 -11
  509. package/docs/styles/laravel.css +0 -69
  510. package/docs/styles/material.css +0 -109
  511. package/docs/styles/original.css +0 -47
  512. package/docs/styles/postmark.css +0 -224
  513. package/docs/styles/prism.css +0 -267
  514. package/docs/styles/readthedocs.css +0 -108
  515. package/docs/styles/reset.css +0 -48
  516. package/docs/styles/stripe.css +0 -65
  517. package/docs/styles/style.css +0 -7
  518. package/docs/styles/tablesort.css +0 -33
  519. package/docs/styles/vagrant.css +0 -96
  520. package/firebase-functions/.firebaserc +0 -5
  521. package/firebase-functions/firebase.json +0 -1
  522. package/firebase-functions/functions/index.js +0 -208
  523. package/firebase-functions/functions/package.json +0 -9
  524. package/google-services.json +0 -42
  525. package/hooks/README.md +0 -196
  526. package/resources/android/icon/drawable-hdpi-icon.png +0 -0
  527. package/resources/android/icon/drawable-ldpi-icon.png +0 -0
  528. package/resources/android/icon/drawable-mdpi-icon.png +0 -0
  529. package/resources/android/icon/drawable-xhdpi-icon.png +0 -0
  530. package/resources/android/icon/drawable-xxhdpi-icon.png +0 -0
  531. package/resources/android/icon/drawable-xxxhdpi-icon.png +0 -0
  532. package/resources/android/splash/drawable-land-hdpi-screen.png +0 -0
  533. package/resources/android/splash/drawable-land-ldpi-screen.png +0 -0
  534. package/resources/android/splash/drawable-land-mdpi-screen.png +0 -0
  535. package/resources/android/splash/drawable-land-xhdpi-screen.png +0 -0
  536. package/resources/android/splash/drawable-land-xxhdpi-screen.png +0 -0
  537. package/resources/android/splash/drawable-land-xxxhdpi-screen.png +0 -0
  538. package/resources/android/splash/drawable-port-hdpi-screen.png +0 -0
  539. package/resources/android/splash/drawable-port-ldpi-screen.png +0 -0
  540. package/resources/android/splash/drawable-port-mdpi-screen.png +0 -0
  541. package/resources/android/splash/drawable-port-xhdpi-screen.png +0 -0
  542. package/resources/android/splash/drawable-port-xxhdpi-screen.png +0 -0
  543. package/resources/android/splash/drawable-port-xxxhdpi-screen.png +0 -0
  544. package/resources/icon.png +0 -0
  545. package/resources/icon.png.md5 +0 -1
  546. package/resources/ios/icon/icon-1024.png +0 -0
  547. package/resources/ios/icon/icon-40.png +0 -0
  548. package/resources/ios/icon/icon-40@2x.png +0 -0
  549. package/resources/ios/icon/icon-40@3x.png +0 -0
  550. package/resources/ios/icon/icon-50.png +0 -0
  551. package/resources/ios/icon/icon-50@2x.png +0 -0
  552. package/resources/ios/icon/icon-60.png +0 -0
  553. package/resources/ios/icon/icon-60@2x.png +0 -0
  554. package/resources/ios/icon/icon-60@3x.png +0 -0
  555. package/resources/ios/icon/icon-72.png +0 -0
  556. package/resources/ios/icon/icon-72@2x.png +0 -0
  557. package/resources/ios/icon/icon-76.png +0 -0
  558. package/resources/ios/icon/icon-76@2x.png +0 -0
  559. package/resources/ios/icon/icon-83.5@2x.png +0 -0
  560. package/resources/ios/icon/icon-small.png +0 -0
  561. package/resources/ios/icon/icon-small@2x.png +0 -0
  562. package/resources/ios/icon/icon-small@3x.png +0 -0
  563. package/resources/ios/icon/icon.png +0 -0
  564. package/resources/ios/icon/icon@2x.png +0 -0
  565. package/resources/ios/splash/Default-568h@2x~iphone.png +0 -0
  566. package/resources/ios/splash/Default-667h.png +0 -0
  567. package/resources/ios/splash/Default-736h.png +0 -0
  568. package/resources/ios/splash/Default-Landscape-736h.png +0 -0
  569. package/resources/ios/splash/Default-Landscape@2x~ipad.png +0 -0
  570. package/resources/ios/splash/Default-Landscape@~ipadpro.png +0 -0
  571. package/resources/ios/splash/Default-Landscape~ipad.png +0 -0
  572. package/resources/ios/splash/Default-Portrait@2x~ipad.png +0 -0
  573. package/resources/ios/splash/Default-Portrait@~ipadpro.png +0 -0
  574. package/resources/ios/splash/Default-Portrait~ipad.png +0 -0
  575. package/resources/ios/splash/Default@2x~iphone.png +0 -0
  576. package/resources/ios/splash/Default@2x~universal~anyany.png +0 -0
  577. package/resources/ios/splash/Default~iphone.png +0 -0
  578. package/resources/splash.png +0 -0
  579. package/resources/splash.png.md5 +0 -1
  580. package/server.js +0 -7
  581. package/src/app/app.html +0 -56
  582. package/src/app/app.scss +0 -236
  583. package/src/app/main.ts +0 -9
  584. package/src/assets/chat-background.jpg +0 -0
  585. package/src/assets/chat21-ionic-pattern-2.svg +0 -5110
  586. package/src/assets/chat21-ionic-pattern.png +0 -0
  587. package/src/assets/chat21-ionic-pattern.svg +0 -1
  588. package/src/assets/download.svg +0 -1
  589. package/src/assets/dummyDump.sql +0 -1
  590. package/src/assets/icon/favicon_old.ico +0 -0
  591. package/src/assets/img/c21-down-gray.svg +0 -1
  592. package/src/assets/img/chat21-icon.png +0 -0
  593. package/src/assets/img/f21ico-attached.svg +0 -1
  594. package/src/assets/img/f21ico-close.svg +0 -1
  595. package/src/assets/img/f21ico-photo.svg +0 -1
  596. package/src/assets/img/ic_keyboard_arrow_down_black_24px.svg +0 -4
  597. package/src/assets/img/ic_keyboard_arrow_down_white_24px.svg +0 -4
  598. package/src/assets/img/icon.png +0 -0
  599. package/src/assets/message-mine.png +0 -0
  600. package/src/assets/message-other.png +0 -0
  601. package/src/assets/pling.mp3 +0 -0
  602. package/src/assets/splash.png +0 -0
  603. package/src/assets/transparent.png +0 -0
  604. package/src/declarations.d.ts +0 -14
  605. package/src/directives/autosize/autosize.ts +0 -82
  606. package/src/environments/environment.pre.ts +0 -22
  607. package/src/environments/environment.prod.ts +0 -22
  608. package/src/environments/environment.ts +0 -21
  609. package/src/pages/_DetailPage.ts +0 -1
  610. package/src/pages/_MasterPage.ts +0 -1
  611. package/src/pages/archived-conversations/archived-conversations.html +0 -32
  612. package/src/pages/archived-conversations/archived-conversations.module.ts +0 -13
  613. package/src/pages/archived-conversations/archived-conversations.scss +0 -153
  614. package/src/pages/archived-conversations/archived-conversations.ts +0 -121
  615. package/src/pages/authentication/login/login.html +0 -58
  616. package/src/pages/authentication/login/login.module.ts +0 -16
  617. package/src/pages/authentication/login/login.scss +0 -121
  618. package/src/pages/authentication/login/login.ts +0 -221
  619. package/src/pages/authentication/register/register.html +0 -88
  620. package/src/pages/authentication/register/register.module.ts +0 -16
  621. package/src/pages/authentication/register/register.scss +0 -95
  622. package/src/pages/authentication/register/register.ts +0 -122
  623. package/src/pages/authentication/resetpwd/resetpwd.html +0 -40
  624. package/src/pages/authentication/resetpwd/resetpwd.module.ts +0 -16
  625. package/src/pages/authentication/resetpwd/resetpwd.scss +0 -102
  626. package/src/pages/authentication/resetpwd/resetpwd.ts +0 -93
  627. package/src/pages/components/chatBubble_old/chatBubble.scss +0 -83
  628. package/src/pages/components/chatBubble_old/chatBubble.ts +0 -30
  629. package/src/pages/components/elasticTextarea_old.ts +0 -46
  630. package/src/pages/dettaglio-conversazione/dettaglio-conversazione.html +0 -261
  631. package/src/pages/dettaglio-conversazione/dettaglio-conversazione.module.ts +0 -19
  632. package/src/pages/dettaglio-conversazione/dettaglio-conversazione.scss +0 -701
  633. package/src/pages/dettaglio-conversazione/dettaglio-conversazione.ts +0 -1395
  634. package/src/pages/index.ts +0 -5
  635. package/src/pages/info-advanced/info-advanced.html +0 -90
  636. package/src/pages/info-advanced/info-advanced.module.ts +0 -13
  637. package/src/pages/info-advanced/info-advanced.scss +0 -196
  638. package/src/pages/info-advanced/info-advanced.ts +0 -44
  639. package/src/pages/info-conversation/info-conversation.html +0 -225
  640. package/src/pages/info-conversation/info-conversation.module.ts +0 -15
  641. package/src/pages/info-conversation/info-conversation.scss +0 -444
  642. package/src/pages/info-conversation/info-conversation.ts +0 -1233
  643. package/src/pages/info-message/info-message.html +0 -74
  644. package/src/pages/info-message/info-message.module.ts +0 -13
  645. package/src/pages/info-message/info-message.scss +0 -216
  646. package/src/pages/info-message/info-message.ts +0 -89
  647. package/src/pages/info-user/info-user.html +0 -89
  648. package/src/pages/info-user/info-user.module.ts +0 -13
  649. package/src/pages/info-user/info-user.scss +0 -187
  650. package/src/pages/info-user/info-user.ts +0 -177
  651. package/src/pages/lista-conversazioni/lista-conversazioni.html +0 -88
  652. package/src/pages/lista-conversazioni/lista-conversazioni.module.ts +0 -18
  653. package/src/pages/lista-conversazioni/lista-conversazioni.scss +0 -245
  654. package/src/pages/lista-conversazioni/lista-conversazioni.ts +0 -736
  655. package/src/pages/placeholder/placeholder.html +0 -3
  656. package/src/pages/placeholder/placeholder.module.ts +0 -16
  657. package/src/pages/placeholder/placeholder.scss +0 -23
  658. package/src/pages/placeholder/placeholder.ts +0 -18
  659. package/src/pages/popover/popover.html +0 -27
  660. package/src/pages/popover/popover.module.ts +0 -16
  661. package/src/pages/popover/popover.scss +0 -23
  662. package/src/pages/popover/popover.ts +0 -95
  663. package/src/pages/popover-profile/popover-profile.html +0 -20
  664. package/src/pages/popover-profile/popover-profile.module.ts +0 -16
  665. package/src/pages/popover-profile/popover-profile.scss +0 -10
  666. package/src/pages/popover-profile/popover-profile.ts +0 -40
  667. package/src/pages/profile/profile.html +0 -54
  668. package/src/pages/profile/profile.module.ts +0 -16
  669. package/src/pages/profile/profile.scss +0 -45
  670. package/src/pages/profile/profile.ts +0 -108
  671. package/src/pages/update-image-profile/update-image-profile.html +0 -39
  672. package/src/pages/update-image-profile/update-image-profile.module.ts +0 -16
  673. package/src/pages/update-image-profile/update-image-profile.scss +0 -50
  674. package/src/pages/update-image-profile/update-image-profile.ts +0 -111
  675. package/src/pages/users/users.html +0 -55
  676. package/src/pages/users/users.module.ts +0 -16
  677. package/src/pages/users/users.scss +0 -10
  678. package/src/pages/users/users.ts +0 -222
  679. package/src/providers/app-config/app-config.ts +0 -33
  680. package/src/providers/auth-service.ts +0 -140
  681. package/src/providers/canned-responses-service/canned-responses-service.ts +0 -57
  682. package/src/providers/chat-archived-conversations-handler.ts +0 -283
  683. package/src/providers/chat-contacts-synchronizer.ts +0 -179
  684. package/src/providers/chat-conversation-handler.ts +0 -547
  685. package/src/providers/chat-conversations-handler.ts +0 -519
  686. package/src/providers/chat-manager/chat-manager.ts +0 -246
  687. package/src/providers/chat-presence-handler.ts +0 -188
  688. package/src/providers/database/database.ts +0 -214
  689. package/src/providers/group/group.ts +0 -243
  690. package/src/providers/messaging-service.ts +0 -267
  691. package/src/providers/nav-proxy.ts +0 -104
  692. package/src/providers/tiledesk-conversation/tiledesk-conversation.ts +0 -134
  693. package/src/providers/translate-service.ts +0 -61
  694. package/src/providers/upload-service/upload-service.ts +0 -117
  695. package/src/providers/user/user.ts +0 -320
  696. package/src/service-worker.js +0 -30
  697. package/src/utils/constants.ts +0 -73
  698. package/src/utils/utils.ts +0 -548
  699. 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
- // }