@meetelise/chat 1.1.0 → 1.1.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.
- package/.vscode/settings.json +1 -0
- package/dist/src/MEChat.d.ts +1 -0
- package/dist/src/MEChat.js +5 -3
- package/dist/src/MEChat.js.map +1 -1
- package/dist/src/analytics.d.ts +13 -1
- package/dist/src/analytics.js +27 -10
- package/dist/src/analytics.js.map +1 -1
- package/package.json +1 -1
- package/src/MEChat.ts +7 -3
- package/src/analytics.ts +32 -10
package/.vscode/settings.json
CHANGED
package/dist/src/MEChat.d.ts
CHANGED
package/dist/src/MEChat.js
CHANGED
|
@@ -4,7 +4,7 @@ import { getChatID, createChatID } from "./chatID";
|
|
|
4
4
|
import createConversation from "./createConversation";
|
|
5
5
|
import installTalkJSStyles from "./installTalkJSStyles";
|
|
6
6
|
import resolveTheme from "./resolveTheme";
|
|
7
|
-
import
|
|
7
|
+
import Analytics from "./analytics";
|
|
8
8
|
/**
|
|
9
9
|
* The interface to MeetElise chat.
|
|
10
10
|
*
|
|
@@ -22,7 +22,8 @@ export default class MEChat {
|
|
|
22
22
|
this.orgSlug = organization;
|
|
23
23
|
this.buildingSlug = building;
|
|
24
24
|
this.chatId = getChatID(organization, building);
|
|
25
|
-
|
|
25
|
+
this.analytics = new Analytics(organization, building, this.chatId);
|
|
26
|
+
this.analytics.ping("load");
|
|
26
27
|
this.theme = theme;
|
|
27
28
|
this.building = fetchBuildingInfo(organization, building);
|
|
28
29
|
this.popup = Promise.all([this.building, MEChat.session]).then(async ([building, session]) => {
|
|
@@ -30,7 +31,7 @@ export default class MEChat {
|
|
|
30
31
|
installTalkJSStyles(resolvedTheme);
|
|
31
32
|
const p = session.createPopup(createConversation(session, building, resolvedTheme, this.chatId));
|
|
32
33
|
p.on("open", () => {
|
|
33
|
-
ping("open"
|
|
34
|
+
this.analytics.ping("open");
|
|
34
35
|
});
|
|
35
36
|
if (building.conversationMaintenanceMode) {
|
|
36
37
|
return new Promise(() => {
|
|
@@ -80,6 +81,7 @@ export default class MEChat {
|
|
|
80
81
|
restartConversation() {
|
|
81
82
|
Promise.all([MEChat.session, this.building, this.popup]).then(([session, building, popup]) => {
|
|
82
83
|
this.chatId = createChatID(this.orgSlug, this.buildingSlug);
|
|
84
|
+
this.analytics.chatId = this.chatId;
|
|
83
85
|
popup.select(createConversation(session, building, resolveTheme(building, this.theme), this.chatId));
|
|
84
86
|
});
|
|
85
87
|
}
|
package/dist/src/MEChat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MEChat.js","sourceRoot":"","sources":["../../src/MEChat.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,iBAA+B,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AACtD,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,YAAuB,MAAM,gBAAgB,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"MEChat.js","sourceRoot":"","sources":["../../src/MEChat.ts"],"names":[],"mappings":"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"}
|
package/dist/src/analytics.d.ts
CHANGED
|
@@ -1 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* A connection to the MeetElise API to send analytics events.
|
|
3
|
+
*/
|
|
4
|
+
export default class Analytics {
|
|
5
|
+
private org;
|
|
6
|
+
private building;
|
|
7
|
+
chatId: string;
|
|
8
|
+
constructor(org: string, building: string, chatId: string);
|
|
9
|
+
/**
|
|
10
|
+
* Send an event. Takes one argument, the event type name.
|
|
11
|
+
*/
|
|
12
|
+
ping(eventType: string): void;
|
|
13
|
+
}
|
package/dist/src/analytics.js
CHANGED
|
@@ -1,12 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
/**
|
|
2
|
+
* A connection to the MeetElise API to send analytics events.
|
|
3
|
+
*/
|
|
4
|
+
export default class Analytics {
|
|
5
|
+
constructor(org, building, chatId) {
|
|
6
|
+
this.org = org;
|
|
7
|
+
this.building = building;
|
|
8
|
+
this.chatId = chatId;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Send an event. Takes one argument, the event type name.
|
|
12
|
+
*/
|
|
13
|
+
ping(eventType) {
|
|
14
|
+
fetch("https://api.meetelise.com/api/pub/chat-stats", {
|
|
15
|
+
method: "POST",
|
|
16
|
+
credentials: "omit",
|
|
17
|
+
keepalive: true,
|
|
18
|
+
headers: { "content-type": "application/json; charset=UTF-8" },
|
|
19
|
+
body: JSON.stringify({
|
|
20
|
+
eventType,
|
|
21
|
+
chatId: this.chatId,
|
|
22
|
+
url: location.href,
|
|
23
|
+
org: this.org,
|
|
24
|
+
building: this.building,
|
|
25
|
+
}),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
11
28
|
}
|
|
12
29
|
//# sourceMappingURL=analytics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/analytics.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/analytics.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IAK5B,YAAY,GAAW,EAAE,QAAgB,EAAE,MAAc;QACvD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,SAAiB;QACpB,KAAK,CAAC,8CAA8C,EAAE;YACpD,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,EAAE,cAAc,EAAE,iCAAiC,EAAE;YAC9D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,SAAS;gBACT,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,EAAE,QAAQ,CAAC,IAAI;gBAClB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/package.json
CHANGED
package/src/MEChat.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { getChatID, createChatID } from "./chatID";
|
|
|
4
4
|
import createConversation from "./createConversation";
|
|
5
5
|
import installTalkJSStyles from "./installTalkJSStyles";
|
|
6
6
|
import resolveTheme, { Theme } from "./resolveTheme";
|
|
7
|
-
import
|
|
7
|
+
import Analytics from "./analytics";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* The interface to MeetElise chat.
|
|
@@ -59,6 +59,7 @@ export default class MEChat {
|
|
|
59
59
|
Promise.all([MEChat.session, this.building, this.popup]).then(
|
|
60
60
|
([session, building, popup]) => {
|
|
61
61
|
this.chatId = createChatID(this.orgSlug, this.buildingSlug);
|
|
62
|
+
this.analytics.chatId = this.chatId;
|
|
62
63
|
popup.select(
|
|
63
64
|
createConversation(
|
|
64
65
|
session,
|
|
@@ -124,12 +125,15 @@ export default class MEChat {
|
|
|
124
125
|
private building: Promise<Building>;
|
|
125
126
|
private theme: Partial<Theme>;
|
|
126
127
|
private chatId: string;
|
|
128
|
+
private analytics: Analytics;
|
|
127
129
|
|
|
128
130
|
private constructor({ organization, building, theme = {} }: Options) {
|
|
129
131
|
this.orgSlug = organization;
|
|
130
132
|
this.buildingSlug = building;
|
|
131
133
|
this.chatId = getChatID(organization, building);
|
|
132
|
-
|
|
134
|
+
this.analytics = new Analytics(organization, building, this.chatId);
|
|
135
|
+
this.analytics.ping("load");
|
|
136
|
+
|
|
133
137
|
this.theme = theme;
|
|
134
138
|
this.building = fetchBuildingInfo(organization, building);
|
|
135
139
|
this.popup = Promise.all([this.building, MEChat.session]).then(
|
|
@@ -140,7 +144,7 @@ export default class MEChat {
|
|
|
140
144
|
createConversation(session, building, resolvedTheme, this.chatId)
|
|
141
145
|
);
|
|
142
146
|
p.on("open", () => {
|
|
143
|
-
ping("open"
|
|
147
|
+
this.analytics.ping("open");
|
|
144
148
|
});
|
|
145
149
|
if (building.conversationMaintenanceMode) {
|
|
146
150
|
return new Promise(() => {
|
package/src/analytics.ts
CHANGED
|
@@ -1,11 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
/**
|
|
2
|
+
* A connection to the MeetElise API to send analytics events.
|
|
3
|
+
*/
|
|
4
|
+
export default class Analytics {
|
|
5
|
+
private org: string;
|
|
6
|
+
private building: string;
|
|
7
|
+
public chatId: string;
|
|
8
|
+
|
|
9
|
+
constructor(org: string, building: string, chatId: string) {
|
|
10
|
+
this.org = org;
|
|
11
|
+
this.building = building;
|
|
12
|
+
this.chatId = chatId;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Send an event. Takes one argument, the event type name.
|
|
17
|
+
*/
|
|
18
|
+
ping(eventType: string): void {
|
|
19
|
+
fetch("https://api.meetelise.com/api/pub/chat-stats", {
|
|
20
|
+
method: "POST",
|
|
21
|
+
credentials: "omit", // Necessary for successful CORS
|
|
22
|
+
keepalive: true, // Analytics should not abort after browser close
|
|
23
|
+
headers: { "content-type": "application/json; charset=UTF-8" },
|
|
24
|
+
body: JSON.stringify({
|
|
25
|
+
eventType,
|
|
26
|
+
chatId: this.chatId,
|
|
27
|
+
url: location.href,
|
|
28
|
+
org: this.org,
|
|
29
|
+
building: this.building,
|
|
30
|
+
}),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
11
33
|
}
|