@chat21/chat21-ionic 3.0.61-rc2 → 3.0.61-rc24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +101 -0
- package/README.md +6 -0
- package/angular.json +2 -0
- package/config.xml +4 -5
- package/deploy_pre.sh +27 -27
- package/deploy_prod.sh +5 -1
- package/env.sample +2 -2
- package/package.json +8 -8
- package/resources/{Android → android}/icon/drawable-hdpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-ldpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-mdpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-xhdpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-xxhdpi-icon.png +0 -0
- package/resources/{Android → android}/icon/drawable-xxxhdpi-icon.png +0 -0
- package/resources/{Android → android}/icon.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-hdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-ldpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-mdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-xhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-xxhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-land-xxxhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-hdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-ldpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-mdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-xhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-xxhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash/drawable-port-xxxhdpi-screen.png +0 -0
- package/resources/{Android → android}/splash.png +0 -0
- package/src/app/app-routing.module.ts +15 -0
- package/src/app/app.component.html +4 -3
- package/src/app/app.component.scss +6 -1
- package/src/app/app.component.ts +36 -22
- package/src/app/app.module.ts +11 -3
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +36 -25
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.scss +160 -50
- package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.ts +108 -18
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.html +21 -36
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.scss +19 -7
- package/src/app/chatlib/conversation-detail/message/bubble-message/bubble-message.component.ts +35 -40
- package/src/app/chatlib/conversation-detail/message/message-attachment/message-attachment.component.scss +1 -1
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +6 -1
- package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.ts +89 -21
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +37 -33
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.scss +7 -1
- package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.ts +148 -63
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +59 -22
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +32 -9
- package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +107 -23
- package/src/app/components/conversation-info/info-content/info-content.component.html +2 -2
- package/src/app/components/ddp-header/ddp-header.component.html +11 -4
- package/src/app/components/ddp-header/ddp-header.component.ts +94 -19
- package/src/app/components/project-item/project-item.component.html +2 -2
- package/src/app/components/project-item/project-item.component.scss +1 -1
- package/src/app/components/project-item/project-item.component.ts +1 -1
- package/src/app/components/sidebar/sidebar.component.html +151 -86
- package/src/app/components/sidebar/sidebar.component.scss +72 -4
- package/src/app/components/sidebar/sidebar.component.ts +211 -72
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +29 -10
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.scss +54 -29
- package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +176 -97
- package/src/app/pages/conversation-detail/conversation-detail.module.ts +6 -1
- package/src/app/pages/conversation-detail/conversation-detail.page.html +20 -10
- package/src/app/pages/conversation-detail/conversation-detail.page.scss +28 -0
- package/src/app/pages/conversation-detail/conversation-detail.page.ts +1131 -777
- package/src/app/pages/conversations-list/conversations-list.module.ts +2 -1
- package/src/app/pages/conversations-list/conversations-list.page.html +9 -6
- package/src/app/pages/conversations-list/conversations-list.page.scss +9 -1
- package/src/app/pages/conversations-list/conversations-list.page.ts +740 -440
- package/src/app/pages/create-canned-response/create-canned-response-routing.module.ts +17 -0
- package/src/app/pages/create-canned-response/create-canned-response.module.ts +30 -0
- package/src/app/pages/create-canned-response/create-canned-response.page.html +150 -0
- package/src/app/pages/create-canned-response/create-canned-response.page.scss +55 -0
- package/src/app/pages/create-canned-response/create-canned-response.page.spec.ts +24 -0
- package/src/app/pages/create-canned-response/create-canned-response.page.ts +319 -0
- package/src/app/pages/create-requester/create-requester-routing.module.ts +17 -0
- package/src/app/pages/create-requester/create-requester.module.ts +28 -0
- package/src/app/pages/create-requester/create-requester.page.html +67 -0
- package/src/app/pages/create-requester/create-requester.page.scss +30 -0
- package/src/app/pages/create-requester/create-requester.page.spec.ts +24 -0
- package/src/app/pages/create-requester/create-requester.page.ts +138 -0
- package/src/app/pages/create-ticket/create-ticket-routing.module.ts +17 -0
- package/src/app/pages/create-ticket/create-ticket.module.ts +28 -0
- package/src/app/pages/create-ticket/create-ticket.page.html +171 -0
- package/src/app/pages/create-ticket/create-ticket.page.scss +52 -0
- package/src/app/pages/create-ticket/create-ticket.page.spec.ts +24 -0
- package/src/app/pages/create-ticket/create-ticket.page.ts +432 -0
- package/src/app/pages/loader-preview/loader-preview.page.ts +226 -166
- package/src/app/pages/profile-info/profile-info.page.html +2 -2
- package/src/app/pages/profile-info/profile-info.page.scss +13 -2
- package/src/app/services/tiledesk/tiledesk.service.ts +209 -0
- package/src/app/shared/shared.module.ts +1 -1
- package/src/app/utils/scrollbar-theme.directive.ts +58 -24
- package/src/assets/i18n/de.json +46 -7
- package/src/assets/i18n/en.json +42 -3
- package/src/assets/i18n/es.json +42 -3
- package/src/assets/i18n/fr.json +45 -6
- package/src/assets/i18n/it.json +42 -3
- package/src/assets/i18n/pt.json +42 -3
- package/src/assets/i18n/ru.json +43 -4
- package/src/assets/i18n/sr.json +265 -0
- package/src/assets/i18n/tr.json +42 -4
- package/src/assets/images/default-avatar-x-select.png +0 -0
- package/src/assets/images/language_flag/hr.png +0 -0
- package/src/assets/images/language_flag/sr.png +0 -0
- package/src/assets/images/priority_icons/high.svg +3 -0
- package/src/assets/images/priority_icons/high_v2.svg +14 -0
- package/src/assets/images/priority_icons/low.svg +10 -0
- package/src/assets/images/priority_icons/low_v2.svg +14 -0
- package/src/assets/images/priority_icons/medium.svg +16 -0
- package/src/assets/images/priority_icons/medium_v2.svg +11 -0
- package/src/assets/images/priority_icons/urgent.svg +4 -0
- package/src/assets/images/priority_icons/urgent_v2.svg +16 -0
- package/src/chat-config-pre-test.json +1 -1
- package/src/chat-config-template.json +5 -4
- package/src/chat-config.json +2 -1
- package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +8 -3
- package/src/chat21-core/utils/constants.ts +6 -1
- package/src/chat21-core/utils/utils-message.ts +19 -0
- package/src/global.scss +65 -111
- package/publish_pre.sh +0 -33
- package/publish_prod.sh +0 -33
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,106 @@
|
|
|
1
1
|
# chat21-ionic ver 3.0
|
|
2
2
|
|
|
3
|
+
### 3.0.61-rc24
|
|
4
|
+
- Handles the "writeToButton" and the 'archivedButton' environment variables if are returned as a string
|
|
5
|
+
- Adds the "authPersistence" key in the chat-config-template.json, chat-config.json and env.sample files
|
|
6
|
+
|
|
7
|
+
### 3.0.61-rc23
|
|
8
|
+
- Handles the "supportMode" environment variable if returned as a string (fixes the Docker image bugs: part of the conversation details go under the sidebar in mobile mode, the "add message as canned response" button is not displayed)
|
|
9
|
+
- Fixes the position of the emoji selection window pop up when the canned responses button is not visible
|
|
10
|
+
|
|
11
|
+
### 3.0.61-rc22
|
|
12
|
+
- Minor improvements
|
|
13
|
+
|
|
14
|
+
### 3.0.61-rc21
|
|
15
|
+
- Removes cordova-plugin-device
|
|
16
|
+
|
|
17
|
+
### 3.0.61-rc20
|
|
18
|
+
- Updates dependencies
|
|
19
|
+
|
|
20
|
+
### 3.0.61-rc19
|
|
21
|
+
- Merge branch 'features/new-sidebar'
|
|
22
|
+
|
|
23
|
+
### 3.0.61-rc18
|
|
24
|
+
- Fix bugs: in the teammate settings drawer the logout button area is too large
|
|
25
|
+
- Fixed the bug: in the detail of the conversation the button messages are not aligned with the other messages
|
|
26
|
+
|
|
27
|
+
### 3.0.61-rc16
|
|
28
|
+
- Does not allow teammates with agent role to access the "settings sidebar"
|
|
29
|
+
|
|
30
|
+
### 3.0.61-rc15
|
|
31
|
+
- Increase the size of the emoji and remove the background color when it is sent or received without text
|
|
32
|
+
- Adds the ability to open sidebar menu items in a new tab by combining left mouse button + CMD keyboard key
|
|
33
|
+
|
|
34
|
+
### 3.0.61-rc14
|
|
35
|
+
- Fixes the bug: the page to which the sidebar Settings menu item redirects is not correct for team members with agent role
|
|
36
|
+
- Fixes the bug: right clicking on the sidebar menu items doesn't show the context menu
|
|
37
|
+
|
|
38
|
+
### 3.0.61-rc12
|
|
39
|
+
- Improves the alignment of left sidebar menu item icons
|
|
40
|
+
- Adds the ability to add a message as a canned response
|
|
41
|
+
- Hides the "Open canned responses" button if the "supportMode" environment variable is set to false
|
|
42
|
+
- Fixes the bug: "Settings" menu item in the left sidebar redirects to the "Canned responses" page instead of the "Widget" page
|
|
43
|
+
- Adds the ability to add a new canned response
|
|
44
|
+
- Fixes the bug: "Resolve conversation" from conversation detail header doesn't work on mobile
|
|
45
|
+
- Adds the ability to insert emoji in the message text
|
|
46
|
+
- Fixes the bug: on iOS mobile devices in the conversation detail the requester's avatar is not vertically aligned
|
|
47
|
+
- Fixes the bug: on mobile devices in the "info profile" modal window the version number is not visible because it is on a white background
|
|
48
|
+
- Fixes the bug: in the "Create canned response" modal window the "Add personalisation" menu does not always work
|
|
49
|
+
- Adds the chat version number to the teammate details drawer
|
|
50
|
+
- Makes the right sidebar "Settings" menu item visible to teammates with agent role
|
|
51
|
+
|
|
52
|
+
### 3.0.61-rc11
|
|
53
|
+
- Fixed the bug: the "Resolve" button is displayed in the header of the details of the archived conversations
|
|
54
|
+
- Fixed the bug: in the header of the conversation detail the "Resolve" button remains active even after resolving the conversation
|
|
55
|
+
- Adds the ability to create a ticket
|
|
56
|
+
- Adds tooltips to the buttons available in the header of the conversation list
|
|
57
|
+
- Change the text of the "Conversations" menu item in the left sidebar to "Monitor"
|
|
58
|
+
|
|
59
|
+
### 3.0.61-rc10
|
|
60
|
+
- Fixes the bug: the Analytics icon of the left sidebar is not displayed
|
|
61
|
+
|
|
62
|
+
### 3.0.61-rc9
|
|
63
|
+
- Fixes the bug: the Apps icon of the left sidebar is not displayed
|
|
64
|
+
|
|
65
|
+
### 3.0.61-rc8
|
|
66
|
+
- Changes the icon of the "Conversations" menu item to the left sidebar
|
|
67
|
+
- Adds Serbian language
|
|
68
|
+
|
|
69
|
+
### 3.0.61-rc7
|
|
70
|
+
- Fixes the bug: while loading the app, the conversation list changes size and becomes wider
|
|
71
|
+
- Changes the style of the left sidebar
|
|
72
|
+
- Display in the "user data drawer" an avatar constructed with the initials of the logged in teammate if his profile picture is not available
|
|
73
|
+
|
|
74
|
+
### 3.0.61-rc6
|
|
75
|
+
- Enhances the style of the sidebar tooltips
|
|
76
|
+
- Fixed bug: for direct conversations opening the "info sidebar" by clicking on the teammate avatar available in the conversation detail header does not work correctly
|
|
77
|
+
- Fixes the bug: not all chat strings are translated into the browser language or into the selected language
|
|
78
|
+
- Fixes the bug: Email is broken on dashes in user details sidebar
|
|
79
|
+
- Displays an alert when a teammate archives a conversation from a project they are no longer a part of
|
|
80
|
+
- Disable the "send message" textarea when a teammate replies to a support conversation of a project he is no longer a part of
|
|
81
|
+
- Adds, when an image is pasted in the "send message" text area, the text of the text area as a caption of the image preview modal window
|
|
82
|
+
- Adds, when an image is uploaded, the text of the "send message" text area as a caption of the image preview modal window
|
|
83
|
+
|
|
84
|
+
### 3.0.61-rc5
|
|
85
|
+
- Fixes the bug: on mobile devices the chat content is shifted to the right
|
|
86
|
+
- Adds the ability to open and close the "user detail sidebar" by clicking on the avatar of the logged teammate present on the sidebar
|
|
87
|
+
- Fixes the bug: canned responses remain visible even if, after making a filter, the backslash is deleted
|
|
88
|
+
- Prevents the "open canned responses" button from inserting a backslash if another one exists before
|
|
89
|
+
- Hides the badge that displays the number of unassigned conversations if there are none
|
|
90
|
+
- Improves custom scrollbar displayed in the sidebar and in user detail sidebar
|
|
91
|
+
- Adds custom scrollbars to the conversation list and to the conversation detail
|
|
92
|
+
|
|
93
|
+
### 3.0.61-rc4
|
|
94
|
+
- Hides the item showing unassigned conversations in the list of archived conversations
|
|
95
|
+
- Adds in the list of conversations to the "archive" button the tooltip "Resolve" if the conversation is of type "support" and the tooltip "Archive" if the conversation is of type "direct" or "group"
|
|
96
|
+
- Changes all occurrences of the "teammatesButton" environment variable to "writeToButton"
|
|
97
|
+
- Fixes the bug: if the sidebar is visible and the window width is less than 768px, the content of the conversation detail is not completely visible
|
|
98
|
+
- Moves for conversations of type "support" the "Resolve conversation" button from the dropdown menu to the header of the conversation detail
|
|
99
|
+
|
|
100
|
+
### 3.0.61-rc3
|
|
101
|
+
- Replaces console.log with custom loggers
|
|
102
|
+
- Fixes the bug: the info support sidebar is no more displayed
|
|
103
|
+
|
|
3
104
|
### 3.0.61-rc2
|
|
4
105
|
- Fixes the bug: Profile picture in the sidebar does not update when logged in with another user after logging out
|
|
5
106
|
- Bug Fix: in the "info-profile" page avoid the "uid of undefined" error
|
package/README.md
CHANGED
|
@@ -36,6 +36,12 @@ In progress git
|
|
|
36
36
|
* A Firebase project. Create one free on `https://firebase.google.com`
|
|
37
37
|
* "Chat21 Firebase cloud functions" installed. Instructions:`https://github.com/chat21/chat21-cloud-functions`
|
|
38
38
|
|
|
39
|
+
# Run Tiledesk with Docker Compose
|
|
40
|
+
|
|
41
|
+
Do you want to install all the Tiledesk components on your server with just one click?
|
|
42
|
+
Use [Docker Compose Tiledesk installation guide](https://github.com/Tiledesk/tiledesk-deployment/blob/master/docker-compose/README.md)
|
|
43
|
+
|
|
44
|
+
|
|
39
45
|
# Installation #
|
|
40
46
|
* Install the latest stable release. Check on Github page the last release under the Releases tab and then run
|
|
41
47
|
- `git clone https://github.com/frontiere21/chat21-ionic.git --branch <LATEST-RELEASE-VERSION>`
|
package/angular.json
CHANGED
|
@@ -43,6 +43,8 @@
|
|
|
43
43
|
"styles": [
|
|
44
44
|
"node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css",
|
|
45
45
|
"node_modules/roboto-fontface/css/roboto/roboto-fontface.css",
|
|
46
|
+
"node_modules/@ng-select/ng-select/themes/default.theme.css",
|
|
47
|
+
"node_modules/@ctrl/ngx-emoji-mart/picker.css",
|
|
46
48
|
{
|
|
47
49
|
"input": "src/theme/variables.scss"
|
|
48
50
|
},
|
package/config.xml
CHANGED
|
@@ -100,19 +100,18 @@
|
|
|
100
100
|
<splash height="828" src="resources/ios/splash/Default-Landscape-1792h~iphone.png" width="1792" />
|
|
101
101
|
</platform>
|
|
102
102
|
<engine name="android" spec="^6.2.3" />
|
|
103
|
-
<engine name="browser" spec="5.0.4" />
|
|
103
|
+
<engine name="browser" spec="^5.0.4" />
|
|
104
104
|
<engine name="ios" spec="6.1.1" />
|
|
105
105
|
<plugin name="cordova-android-support-gradle-release" spec="^3.0.1">
|
|
106
106
|
<variable name="ANDROID_SUPPORT_VERSION" value="27.+" />
|
|
107
107
|
</plugin>
|
|
108
108
|
<plugin name="cordova-plugin-chooser" spec="^1.3.2" />
|
|
109
|
-
<plugin name="cordova-plugin-device" spec="^2.0.2" />
|
|
110
109
|
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.2.0" />
|
|
111
110
|
<plugin name="cordova-plugin-ionic-webview" spec="^4.2.1">
|
|
112
111
|
<variable name="ANDROID_SUPPORT_ANNOTATIONS_VERSION" value="27.+" />
|
|
113
112
|
</plugin>
|
|
114
113
|
<plugin name="cordova-plugin-network-information" spec="^2.0.2" />
|
|
115
|
-
<plugin name="cordova-plugin-splashscreen" spec="^5.0.
|
|
116
|
-
<plugin name="cordova-plugin-statusbar" spec="^2.4.
|
|
117
|
-
<plugin name="cordova-plugin-whitelist" spec="^1.3.
|
|
114
|
+
<plugin name="cordova-plugin-splashscreen" spec="^5.0.4" />
|
|
115
|
+
<plugin name="cordova-plugin-statusbar" spec="^2.4.3" />
|
|
116
|
+
<plugin name="cordova-plugin-whitelist" spec="^1.3.5" />
|
|
118
117
|
</widget>
|
package/deploy_pre.sh
CHANGED
|
@@ -24,41 +24,41 @@ sed -i -e "s/$URL_VER/g" src/utils/constants.ts
|
|
|
24
24
|
|
|
25
25
|
# ng build --prod --base-href /$NEW_BUILD/
|
|
26
26
|
#ionic cordova build browser --prod
|
|
27
|
-
#ionic cordova build browser --prod --release
|
|
28
|
-
# ionic cordova build --env=pre browser --prod #--verbose
|
|
29
27
|
|
|
30
28
|
ionic cordova platform add browser --save
|
|
29
|
+
#ionic cordova build browser --prod --release
|
|
30
|
+
# ionic cordova build --env=pre browser --prod #--verbose
|
|
31
31
|
ionic cordova build -c=pre browser --prod
|
|
32
32
|
cp -p src/firebase-messaging-sw.js platforms/browser/www/
|
|
33
33
|
cp -p src/manifest.json platforms/browser/www/
|
|
34
34
|
cp -p src/chat-config.json platforms/browser/www/
|
|
35
|
-
cp config.xml platforms/browser/www/
|
|
35
|
+
cp -p config.xml platforms/browser/www/
|
|
36
36
|
|
|
37
37
|
######### chat-ionic5 - the good one - publish in pre
|
|
38
|
-
cd platforms/browser/www
|
|
39
|
-
aws s3 sync . s3://tiledesk-dashboard-pre/chat-ionic5/$version/
|
|
40
|
-
aws s3 sync . s3://tiledesk-dashboard-pre/chat-ionic5/
|
|
41
|
-
cd ../../../
|
|
38
|
+
# cd platforms/browser/www
|
|
39
|
+
# aws s3 sync . s3://tiledesk-dashboard-pre/chat-ionic5/$version/
|
|
40
|
+
# aws s3 sync . s3://tiledesk-dashboard-pre/chat-ionic5/
|
|
41
|
+
# cd ../../../
|
|
42
42
|
|
|
43
|
-
aws cloudfront create-invalidation --distribution-id E2DTAKWHWQ7C3J --paths "/*"
|
|
43
|
+
# aws cloudfront create-invalidation --distribution-id E2DTAKWHWQ7C3J --paths "/*"
|
|
44
44
|
|
|
45
|
-
echo new version deployed on s3://tiledesk-dashboard-pre/chat-ionic5/$version/
|
|
46
|
-
echo available on https://s3.eu-west-1.amazonaws.com/tiledesk-dashboard-pre/chat-ionic5/$version/index.html
|
|
47
|
-
echo available on https://support-pre.tiledesk.com/chat-ionic5/$version/index.html
|
|
48
|
-
echo available on https://support-pre.tiledesk.com/chat-ionic5/index.html
|
|
45
|
+
# echo new version deployed on s3://tiledesk-dashboard-pre/chat-ionic5/$version/
|
|
46
|
+
# echo available on https://s3.eu-west-1.amazonaws.com/tiledesk-dashboard-pre/chat-ionic5/$version/index.html
|
|
47
|
+
# echo available on https://support-pre.tiledesk.com/chat-ionic5/$version/index.html
|
|
48
|
+
# echo available on https://support-pre.tiledesk.com/chat-ionic5/index.html
|
|
49
49
|
|
|
50
|
-
######### chat-ionic5-
|
|
50
|
+
######### chat-ionic5-panel - publish in pre with the projects right panel
|
|
51
51
|
# cd platforms/browser/www
|
|
52
|
-
# aws s3 sync . s3://tiledesk-dashboard-pre/chat-ionic5-
|
|
53
|
-
# aws s3 sync . s3://tiledesk-dashboard-pre/chat-ionic5-
|
|
52
|
+
# aws s3 sync . s3://tiledesk-dashboard-pre/chat-ionic5-panel/$version/
|
|
53
|
+
# aws s3 sync . s3://tiledesk-dashboard-pre/chat-ionic5-panel/
|
|
54
54
|
# cd ../../../
|
|
55
55
|
|
|
56
56
|
# aws cloudfront create-invalidation --distribution-id E2DTAKWHWQ7C3J --paths "/*"
|
|
57
57
|
|
|
58
|
-
# echo new version deployed on s3://tiledesk-dashboard-pre/chat-ionic5-
|
|
59
|
-
# echo available on https://s3.eu-west-1.amazonaws.com/tiledesk-dashboard-pre/chat-ionic5-
|
|
60
|
-
# echo available on https://support-pre.tiledesk.com/chat-ionic5-
|
|
61
|
-
# echo available on https://support-pre.tiledesk.com/chat-ionic5-
|
|
58
|
+
# echo new version deployed on s3://tiledesk-dashboard-pre/chat-ionic5-panel/$version/
|
|
59
|
+
# echo available on https://s3.eu-west-1.amazonaws.com/tiledesk-dashboard-pre/chat-ionic5-panel/$version/index.html
|
|
60
|
+
# echo available on https://support-pre.tiledesk.com/chat-ionic5-panel/$version/index.html
|
|
61
|
+
# echo available on https://support-pre.tiledesk.com/chat-ionic5-panel/index.html
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
####### chat ionic MQTT in pre da aggiungere in deploy_pre.sh
|
|
@@ -73,11 +73,11 @@ echo available on https://support-pre.tiledesk.com/chat-ionic5/index.html
|
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
####### chat ionic FIREBASE in pre da aggiungere in deploy_pre.sh
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
cd platforms/browser/www
|
|
77
|
+
aws s3 sync . s3://tiledesk-dashboard-pre/chat5/
|
|
78
|
+
aws s3 sync . s3://tiledesk-dashboard-pre/chat5/$version
|
|
79
|
+
cd ../../../
|
|
80
|
+
echo new version deployed on s3://tiledesk-dashboard-pre/chat5/$version
|
|
81
|
+
echo new version deployed on s3://tiledesk-dashboard-pre/chat5/
|
|
82
|
+
echo available on http://support-pre.tiledesk.com/chat5/index.html
|
|
83
|
+
echo available on http://support-pre.tiledesk.com/chat5/$version/index.html
|
package/deploy_prod.sh
CHANGED
|
@@ -25,9 +25,13 @@ cp -p config.xml platforms/browser/www/
|
|
|
25
25
|
|
|
26
26
|
###### CHAT in prod
|
|
27
27
|
cd platforms/browser/www
|
|
28
|
-
aws s3 sync . s3://tiledesk-
|
|
28
|
+
aws s3 sync . s3://tiledesk-dashboard/v2/chat/
|
|
29
29
|
aws s3 sync . s3://tiledesk-console/v2/chat/$version/
|
|
30
30
|
cd ../../../
|
|
31
|
+
# aws cloudfront create-invalidation --distribution-id E2DTAKWHWQ7C3J --paths "/*"
|
|
32
|
+
|
|
33
|
+
# echo new version deployed on s3://tiledesk-dashboard/chat/$NEW_BUILD/
|
|
34
|
+
echo new version deployed on s3://tiledesk-console/v2/chat/$version/
|
|
31
35
|
echo new version deployed on s3://tiledesk-console/v2/chat/
|
|
32
36
|
echo available on https://console.tiledesk.com/v2/chat/$version/index.html
|
|
33
37
|
echo available on https://console.tiledesk.com/v2/chat/index.html
|
package/env.sample
CHANGED
|
@@ -11,9 +11,9 @@ FILE_UPLOAD_ACCEPT=*/*
|
|
|
11
11
|
TENANT=tilechat
|
|
12
12
|
LOG_LEVEL=INFO
|
|
13
13
|
SUPPORT_MODE=false
|
|
14
|
-
|
|
14
|
+
WRITE_TO_BUTTON=false,
|
|
15
15
|
ARCHIVED_BUTTON=false,
|
|
16
|
-
|
|
16
|
+
AUTH_PERSISTENCE=LOCAL
|
|
17
17
|
# For MQTT Chat Engine
|
|
18
18
|
MQTT_APPID=tilechat
|
|
19
19
|
MQTT_ENDPOINT=mqtt://localhost:15675/ws
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chat21/chat21-ionic",
|
|
3
|
-
"version": "3.0.61-
|
|
3
|
+
"version": "3.0.61-rc24",
|
|
4
4
|
"author": "Tiledesk SRL",
|
|
5
|
-
"homepage": "https://
|
|
5
|
+
"homepage": "https://tiledesk.com/",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"ng": "ng",
|
|
8
8
|
"start": "ng serve",
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"@angular/platform-browser": "~8.2.14",
|
|
24
24
|
"@angular/platform-browser-dynamic": "~8.2.14",
|
|
25
25
|
"@angular/router": "~8.2.14",
|
|
26
|
+
"@ctrl/ngx-emoji-mart": "^1.0.6",
|
|
26
27
|
"@ionic-native/chooser": "^5.29.0",
|
|
27
28
|
"@ionic-native/core": "^5.0.7",
|
|
28
29
|
"@ionic-native/globalization": "^5.28.0",
|
|
@@ -33,22 +34,22 @@
|
|
|
33
34
|
"@ionic/angular": "^5.0.7",
|
|
34
35
|
"@ionic/storage": "^2.2.0",
|
|
35
36
|
"@mdi/font": "^5.1.45",
|
|
37
|
+
"@ng-select/ng-select": "^3.7.3",
|
|
36
38
|
"@ngx-translate/core": "^12.1.2",
|
|
37
39
|
"@ngx-translate/http-loader": "^4.0.0",
|
|
38
40
|
"angular2-moment": "^1.9.0",
|
|
39
41
|
"autolinker": "^3.14.2",
|
|
40
42
|
"cordova-android": "^6.2.3",
|
|
41
43
|
"cordova-android-support-gradle-release": "^3.0.1",
|
|
42
|
-
"cordova-browser": "5.0.4",
|
|
44
|
+
"cordova-browser": "^5.0.4",
|
|
43
45
|
"cordova-ios": "6.1.1",
|
|
44
46
|
"cordova-plugin-chooser": "^1.3.2",
|
|
45
|
-
"cordova-plugin-device": "^2.0.2",
|
|
46
47
|
"cordova-plugin-ionic-keyboard": "^2.2.0",
|
|
47
48
|
"cordova-plugin-ionic-webview": "^4.2.1",
|
|
48
49
|
"cordova-plugin-network-information": "^2.0.2",
|
|
49
|
-
"cordova-plugin-splashscreen": "^5.0.
|
|
50
|
-
"cordova-plugin-statusbar": "^2.4.
|
|
51
|
-
"cordova-plugin-whitelist": "^1.3.
|
|
50
|
+
"cordova-plugin-splashscreen": "^5.0.4",
|
|
51
|
+
"cordova-plugin-statusbar": "^2.4.3",
|
|
52
|
+
"cordova-plugin-whitelist": "^1.3.5",
|
|
52
53
|
"cordova-res": "^0.15.1",
|
|
53
54
|
"core-js": "^2.5.4",
|
|
54
55
|
"firebase": "^8.6.7",
|
|
@@ -95,7 +96,6 @@
|
|
|
95
96
|
"plugins": {
|
|
96
97
|
"cordova-plugin-whitelist": {},
|
|
97
98
|
"cordova-plugin-statusbar": {},
|
|
98
|
-
"cordova-plugin-device": {},
|
|
99
99
|
"cordova-plugin-splashscreen": {},
|
|
100
100
|
"cordova-plugin-ionic-webview": {
|
|
101
101
|
"ANDROID_SUPPORT_ANNOTATIONS_VERSION": "27.+"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -48,9 +48,24 @@ const routes: Routes = [
|
|
|
48
48
|
{
|
|
49
49
|
path: 'unassigned-conversations',
|
|
50
50
|
loadChildren: () => import('./pages/unassigned-conversations/unassigned-conversations.module').then( m => m.UnassignedConversationsPageModule)
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
path: 'create-ticket',
|
|
54
|
+
loadChildren: () => import('./pages/create-ticket/create-ticket.module').then( m => m.CreateTicketPageModule)
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
path: 'create-requester',
|
|
58
|
+
loadChildren: () => import('./pages/create-requester/create-requester.module').then( m => m.CreateRequesterPageModule)
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
path: 'create-canned-response',
|
|
62
|
+
loadChildren: () => import('./pages/create-canned-response/create-canned-response.module').then( m => m.CreateCannedResponsePageModule)
|
|
51
63
|
}
|
|
52
64
|
|
|
53
65
|
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
54
69
|
// {
|
|
55
70
|
// path: 'conversation-detail/:IDConv',
|
|
56
71
|
// loadChildren: () => import('./pages/conversation-detail/conversation-detail.module').then( m => m.ConversationDetailPageModule)
|
|
@@ -12,15 +12,16 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
|
|
14
14
|
<ion-split-pane when="md" contentId="main">
|
|
15
|
-
|
|
16
|
-
<ion-nav #sidebarNav [root]="sidebarPage" [ngClass]="{'sidebar-
|
|
15
|
+
<!-- 'sidebar-visible': IS_ONLINE === true && SUPPORT_MODE === true, -->
|
|
16
|
+
<ion-nav #sidebarNav [root]="sidebarPage" [ngClass]="{'sidebar-hidden': IS_ON_MOBILE_DEVICE === true || SUPPORT_MODE === false}"></ion-nav>
|
|
17
17
|
<!-- our side menu -->
|
|
18
18
|
<!-- <ion-router-outlet id="sidebar" name='sidebar' animated="false" #masterNav> -->
|
|
19
19
|
<!-- <app-conversations-list></app-conversations-list> -->
|
|
20
20
|
<!-- <app-details></app-details> -->
|
|
21
21
|
<!-- </ion-router-outlet> -->
|
|
22
22
|
<!-- the main content -->
|
|
23
|
-
|
|
23
|
+
<!-- -->
|
|
24
|
+
<ion-router-outlet id="main" #detailNav animated="false" [ngClass]="{'router-outlet-margin-left': platformIs === 'mobile' && SUPPORT_MODE === true && IS_ON_MOBILE_DEVICE === false}">
|
|
24
25
|
</ion-router-outlet>
|
|
25
26
|
</ion-split-pane>
|
|
26
27
|
</div>
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
.split-pane-md.split-pane-visible > .split-pane-side {
|
|
2
2
|
min-width: 312px;
|
|
3
3
|
display: block; // Safari bug fix
|
|
4
|
+
margin-left: 60px;
|
|
4
5
|
}
|
|
5
6
|
|
|
6
7
|
.sidebar-visible {
|
|
@@ -8,13 +9,17 @@
|
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
.sidebar-hidden {
|
|
11
|
-
margin-left: 0px;
|
|
12
|
+
margin-left: 0px !important;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
.hide-sidebar {
|
|
15
16
|
display: none;
|
|
16
17
|
}
|
|
17
18
|
|
|
19
|
+
.router-outlet-margin-left {
|
|
20
|
+
left: 60px
|
|
21
|
+
}
|
|
22
|
+
|
|
18
23
|
// @media (min-width: 768px) {
|
|
19
24
|
// .split-pane-md.split-pane-visible > .split-pane-side {
|
|
20
25
|
// min-width: 312px;
|
package/src/app/app.component.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { URL_SOUND_LIST_CONVERSATION } from './../chat21-core/utils/constants';
|
|
1
|
+
import { tranlatedLanguage, URL_SOUND_LIST_CONVERSATION } from './../chat21-core/utils/constants';
|
|
2
2
|
import { ArchivedConversationsHandlerService } from 'src/chat21-core/providers/abstract/archivedconversations-handler.service';
|
|
3
3
|
import { AppStorageService } from 'src/chat21-core/providers/abstract/app-storage.service';
|
|
4
4
|
|
|
@@ -78,7 +78,7 @@ export class AppComponent implements OnInit {
|
|
|
78
78
|
public sidebarPage: any;
|
|
79
79
|
public notificationsEnabled: boolean;
|
|
80
80
|
public zone: NgZone;
|
|
81
|
-
|
|
81
|
+
public platformIs: string;
|
|
82
82
|
private doitResize: any;
|
|
83
83
|
private timeModalLogin: any;
|
|
84
84
|
public tenant: string;
|
|
@@ -158,7 +158,7 @@ export class AppComponent implements OnInit {
|
|
|
158
158
|
if (/Android|iPhone/i.test(window.navigator.userAgent)) {
|
|
159
159
|
this.IS_ON_MOBILE_DEVICE = true;
|
|
160
160
|
}
|
|
161
|
-
|
|
161
|
+
this.logger.log('[APP-COMP] IS_ON_MOBILE_DEVICE', this.IS_ON_MOBILE_DEVICE)
|
|
162
162
|
return this.IS_ON_MOBILE_DEVICE;
|
|
163
163
|
}
|
|
164
164
|
|
|
@@ -268,7 +268,7 @@ export class AppComponent implements OnInit {
|
|
|
268
268
|
|
|
269
269
|
|
|
270
270
|
saveInStorageNumberOfOpenedChatTab() {
|
|
271
|
-
this.logger.log('Calling saveInStorageChatOpenedTab!');
|
|
271
|
+
// this.logger.log('Calling saveInStorageChatOpenedTab!');
|
|
272
272
|
|
|
273
273
|
// https://jsfiddle.net/jjjs5wd3/3/å
|
|
274
274
|
if (+localStorage.tabCount > 0) {
|
|
@@ -298,12 +298,13 @@ export class AppComponent implements OnInit {
|
|
|
298
298
|
*/
|
|
299
299
|
ngOnInit() {
|
|
300
300
|
const appconfig = this.appConfigProvider.getConfig();
|
|
301
|
-
|
|
302
|
-
if (appconfig && appconfig.supportMode) {
|
|
303
|
-
this.SUPPORT_MODE =
|
|
304
|
-
|
|
301
|
+
this.logger.log('[APP-COMP] ngOnInit appconfig', appconfig)
|
|
302
|
+
if (appconfig && appconfig.supportMode && (appconfig.supportMode === true || appconfig.supportMode === 'true' )) {
|
|
303
|
+
this.SUPPORT_MODE = true;
|
|
304
|
+
this.logger.log('[APP-COMP] appconfig > SUPPORT_MODE', this.SUPPORT_MODE)
|
|
305
305
|
} else {
|
|
306
306
|
this.SUPPORT_MODE = false;
|
|
307
|
+
this.logger.log('[APP-COMP] appconfig > SUPPORT_MODE', this.SUPPORT_MODE)
|
|
307
308
|
}
|
|
308
309
|
this.persistence = appconfig.authPersistence;
|
|
309
310
|
this.appStorageService.initialize(environment.storage_prefix, this.persistence, '')
|
|
@@ -435,7 +436,7 @@ export class AppComponent implements OnInit {
|
|
|
435
436
|
// this.logger.log('[APP-COMP] - X - initializeApp !!! CALLED-BY: ', calledby);
|
|
436
437
|
// console.log('[APP-COMP] appconfig platform is cordova: ', this.platform.is('cordova'))
|
|
437
438
|
|
|
438
|
-
if (!this.platform.is('
|
|
439
|
+
if (!this.platform.is('desktop')) {
|
|
439
440
|
this.splashScreen.show();
|
|
440
441
|
}
|
|
441
442
|
this.tabTitle = document.title;
|
|
@@ -549,8 +550,8 @@ export class AppComponent implements OnInit {
|
|
|
549
550
|
currentUserId = currentUser.uid;
|
|
550
551
|
this.logger.log('[APP-COMP] - setLanguage current_user uid: ', currentUserId);
|
|
551
552
|
}
|
|
552
|
-
this.translate.setDefaultLang('en');
|
|
553
|
-
this.translate.use('en');
|
|
553
|
+
// this.translate.setDefaultLang('en');
|
|
554
|
+
// this.translate.use('en');
|
|
554
555
|
|
|
555
556
|
const browserLang = this.translate.getBrowserLang();
|
|
556
557
|
this.logger.log('[APP-COMP] browserLang: ', browserLang);
|
|
@@ -563,8 +564,19 @@ export class AppComponent implements OnInit {
|
|
|
563
564
|
} else if (browserLang && stored_preferred_lang) {
|
|
564
565
|
chat_lang = stored_preferred_lang
|
|
565
566
|
}
|
|
566
|
-
|
|
567
|
-
this.
|
|
567
|
+
|
|
568
|
+
this.logger.log('[APP-COMP] - chat_lang', chat_lang)
|
|
569
|
+
|
|
570
|
+
if (tranlatedLanguage.includes(chat_lang)) {
|
|
571
|
+
this.logger.log('[APP-COMP] tranlatedLanguage includes',chat_lang , ': ', tranlatedLanguage.includes(chat_lang))
|
|
572
|
+
this.translate.setDefaultLang(chat_lang)
|
|
573
|
+
this.translate.use(chat_lang);
|
|
574
|
+
}
|
|
575
|
+
else {
|
|
576
|
+
this.logger.log('[APP-COMP] tranlatedLanguage includes',chat_lang , ': ', tranlatedLanguage.includes(chat_lang))
|
|
577
|
+
this.translate.setDefaultLang('en');
|
|
578
|
+
this.translate.use('en');
|
|
579
|
+
}
|
|
568
580
|
|
|
569
581
|
// this.logger.debug('[APP-COMP] navigator.language: ', navigator.language);
|
|
570
582
|
// let language;
|
|
@@ -712,6 +724,7 @@ export class AppComponent implements OnInit {
|
|
|
712
724
|
|
|
713
725
|
this.logger.log('[APP-COMP] checkPlatformIsMobile', checkPlatformIsMobile());
|
|
714
726
|
this.platformIs = PLATFORM_MOBILE;
|
|
727
|
+
this.logger.log('[APP-COMP] this.platformIs', this.platformIs);
|
|
715
728
|
const IDConv = this.route.snapshot.firstChild.paramMap.get('IDConv');
|
|
716
729
|
|
|
717
730
|
// console.log('[APP-COMP] platformIs', this.platformIs);
|
|
@@ -725,7 +738,7 @@ export class AppComponent implements OnInit {
|
|
|
725
738
|
this.chatManager.startApp();
|
|
726
739
|
this.logger.log('[APP-COMP] checkPlatformIsMobile', checkPlatformIsMobile());
|
|
727
740
|
this.platformIs = PLATFORM_DESKTOP;
|
|
728
|
-
|
|
741
|
+
this.logger.log('[APP-COMP] platformIs', this.platformIs);
|
|
729
742
|
// console.log('[APP-COMP] PLATFORM', PLATFORM_DESKTOP, 'route.snapshot', this.route.snapshot);
|
|
730
743
|
this.logger.log('[APP-COMP] PLATFORM_DESKTOP ', this.navService);
|
|
731
744
|
|
|
@@ -850,13 +863,13 @@ export class AppComponent implements OnInit {
|
|
|
850
863
|
// if (this.isOnline === false) {
|
|
851
864
|
// if (AUTH_STATE_ONLINE) {
|
|
852
865
|
this.IS_ONLINE = true;
|
|
853
|
-
console.log('[APP-COMP] IS_ONLINE', this.IS_ONLINE)
|
|
866
|
+
// console.log('[APP-COMP] IS_ONLINE', this.IS_ONLINE)
|
|
854
867
|
this.goOnLine();
|
|
855
868
|
// }
|
|
856
869
|
} else if (state === AUTH_STATE_OFFLINE) {
|
|
857
870
|
// this.checkTokenAndGoOffline() //se c'è un tiledeskToken salvato, allora aspetta, altrimenti vai offline
|
|
858
871
|
this.IS_ONLINE = false;
|
|
859
|
-
console.log('[APP-COMP] IS_ONLINE', this.IS_ONLINE)
|
|
872
|
+
// console.log('[APP-COMP] IS_ONLINE', this.IS_ONLINE)
|
|
860
873
|
this.goOffLine()
|
|
861
874
|
}
|
|
862
875
|
}, error => {
|
|
@@ -894,12 +907,12 @@ export class AppComponent implements OnInit {
|
|
|
894
907
|
}
|
|
895
908
|
|
|
896
909
|
/**
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
910
|
+
* goOnLine:
|
|
911
|
+
* 1 - nascondo splashscreen
|
|
912
|
+
* 2 - recupero il tiledeskToken e lo salvo in chat manager
|
|
913
|
+
* 3 - carico in d
|
|
914
|
+
* @param user
|
|
915
|
+
*/
|
|
903
916
|
goOnLine = () => {
|
|
904
917
|
this.logger.log('[APP-COMP]- GO-ONLINE ');
|
|
905
918
|
// this.isOnline = true;
|
|
@@ -994,6 +1007,7 @@ export class AppComponent implements OnInit {
|
|
|
994
1007
|
let platformIsNow = PLATFORM_DESKTOP;
|
|
995
1008
|
if (checkPlatformIsMobile()) {
|
|
996
1009
|
platformIsNow = PLATFORM_MOBILE;
|
|
1010
|
+
this.logger.log('onResize platformIsNow ', platformIsNow)
|
|
997
1011
|
}
|
|
998
1012
|
if (!this.platformIs || this.platformIs === '') {
|
|
999
1013
|
this.platformIs = platformIsNow;
|