@mparticle/web-intercom-kit 2.0.1 → 3.1.0

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.
@@ -36,220 +36,261 @@ var isobject$1 = getCjsExportFromNamespace(isobject);
36
36
  // See the License for the specific language governing permissions and
37
37
  // limitations under the License.
38
38
 
39
-
40
-
41
- var name = 'IntercomEventForwarder',
42
- moduleId = 18,
43
- MessageType = {
44
- SessionStart: 1,
45
- SessionEnd : 2,
46
- PageView : 3,
47
- PageEvent : 4,
48
- CrashReport : 5,
49
- OptOut : 6,
50
- Commerce : 16
51
- };
52
-
53
- function createObject(key, value) {
54
- var obj = {};
55
- obj[key] = value;
56
-
57
- return obj;
58
- }
59
-
60
- var constructor = function () {
61
- var self = this,
62
- isInitialized = false,
63
- forwarderSettings = null,
64
- reportingService = null;
65
39
 
66
40
 
67
- self.name = name;
68
-
69
-
70
- function initForwarder(settings, service, testMode) {
71
- forwarderSettings = settings;
72
- reportingService = service;
41
+ var name = 'IntercomEventForwarder',
42
+ moduleId = 18,
43
+ MessageType = {
44
+ SessionStart: 1,
45
+ SessionEnd: 2,
46
+ PageView: 3,
47
+ PageEvent: 4,
48
+ CrashReport: 5,
49
+ OptOut: 6,
50
+ Commerce: 16,
51
+ };
73
52
 
74
- try {
53
+ function createObject(key, value) {
54
+ var obj = {};
55
+ obj[key] = value;
75
56
 
76
- if(!testMode) {
77
- (function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update');}else{var d=document;var i=function(){i.c(arguments);};i.q=[];i.c=function(args){i.q.push(args);};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true; s.src='https://widget.intercom.io/widget/{app_id}';
78
- var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})();
79
- }
57
+ return obj;
58
+ }
80
59
 
81
- bootIntercom();
82
- isInitialized = true;
83
- return 'Successfully initialized: ' + name;
84
- }
85
- catch (e) {
86
- return 'Can\'t initialize forwarder: ' + name + ': ' + e;
60
+ var constructor = function() {
61
+ var self = this,
62
+ isInitialized = false,
63
+ forwarderSettings = null,
64
+ reportingService = null;
65
+
66
+ self.name = name;
67
+
68
+ function initForwarder(settings, service, testMode) {
69
+ forwarderSettings = settings;
70
+ reportingService = service;
71
+
72
+ try {
73
+ if (!testMode) {
74
+ (function() {
75
+ var w = window;
76
+ var ic = w.Intercom;
77
+ if (typeof ic === 'function') {
78
+ ic('reattach_activator');
79
+ ic('update');
80
+ } else {
81
+ var d = document;
82
+ var i = function() {
83
+ i.c(arguments);
84
+ };
85
+ i.q = [];
86
+ i.c = function(args) {
87
+ i.q.push(args);
88
+ };
89
+ w.Intercom = i;
90
+ function l() {
91
+ var s = d.createElement('script');
92
+ s.type = 'text/javascript';
93
+ s.async = true;
94
+ s.src =
95
+ 'https://widget.intercom.io/widget/{app_id}';
96
+ var x = d.getElementsByTagName('script')[0];
97
+ x.parentNode.insertBefore(s, x);
98
+ }
99
+ if (w.attachEvent) {
100
+ w.attachEvent('onload', l);
101
+ } else {
102
+ w.addEventListener('load', l, false);
103
+ }
104
+ }
105
+ })();
87
106
  }
88
- }
89
107
 
90
- function bootIntercom() {
91
- var appid = forwarderSettings.appid;
92
- if(!appid) {
93
- return 'Can\'t boot forwarder: ' + name + ', appid is not defined';
94
- }
108
+ bootIntercom();
109
+ isInitialized = true;
110
+ return 'Successfully initialized: ' + name;
111
+ } catch (e) {
112
+ return "Can't initialize forwarder: " + name + ': ' + e;
113
+ }
114
+ }
95
115
 
96
- var obj = createObject('app_id', appid),
97
- widgetId = forwarderSettings.widgetid || '#IntercomDefaultWidget';
116
+ function bootIntercom() {
117
+ var appid = forwarderSettings.appid;
118
+ if (!appid) {
119
+ return "Can't boot forwarder: " + name + ', appid is not defined';
120
+ }
98
121
 
99
- obj.widget = createObject('activator', widgetId);
122
+ var obj = createObject('app_id', appid),
123
+ widgetId = forwarderSettings.widgetid || '#IntercomDefaultWidget';
100
124
 
125
+ obj.widget = createObject('activator', widgetId);
101
126
 
102
- try {
103
- window.Intercom('boot', obj);
104
- }
105
- catch (e) {
106
- return 'Can\'t initialize forwarder: ' + name + ': ' + e;
107
- }
108
- return 'Successfully booted: ' + name;
127
+ try {
128
+ window.Intercom('boot', obj);
129
+ } catch (e) {
130
+ return "Can't initialize forwarder: " + name + ': ' + e;
109
131
  }
132
+ return 'Successfully booted: ' + name;
133
+ }
110
134
 
135
+ function processEvent(event) {
136
+ var reportEvent = false;
111
137
 
112
- function processEvent(event) {
113
- var reportEvent = false;
114
-
115
- if (!isInitialized) {
116
- return 'Can\'t send to forwarder: ' + name + ', not initialized';
117
- }
118
-
119
- try {
120
- if (event.EventDataType == MessageType.PageEvent ||
121
- event.EventDataType == MessageType.PageView) {
138
+ if (!isInitialized) {
139
+ return "Can't send to forwarder: " + name + ', not initialized';
140
+ }
122
141
 
123
- reportEvent = true;
124
- logEvent(event);
142
+ try {
143
+ if (
144
+ event.EventDataType == MessageType.PageEvent ||
145
+ event.EventDataType == MessageType.PageView
146
+ ) {
147
+ reportEvent = true;
148
+ logEvent(event);
125
149
 
126
- if(reportingService) {
127
- reportingService(self, event);
128
- }
150
+ if (reportingService) {
151
+ reportingService(self, event);
129
152
  }
130
- return 'Successfully sent to forwarder: ' + name;
131
- }
132
- catch (e) {
133
- return 'Can\'t send to forwarder: ' + name + ' ' + e;
134
153
  }
154
+ return 'Successfully sent to forwarder: ' + name;
155
+ } catch (e) {
156
+ return "Can't send to forwarder: " + name + ' ' + e;
135
157
  }
158
+ }
136
159
 
137
- function logEvent(event) {
138
- if (!isInitialized) {
139
- return 'Can\'t log event on forwarder: ' + name + ', not initialized';
140
- }
160
+ function logEvent(event) {
161
+ if (!isInitialized) {
162
+ return (
163
+ "Can't log event on forwarder: " + name + ', not initialized'
164
+ );
165
+ }
141
166
 
142
- if(!event.EventName) {
143
- return 'Can\'t log event on forwarder: ' + name + ', no event name';
144
- }
167
+ if (!event.EventName) {
168
+ return "Can't log event on forwarder: " + name + ', no event name';
169
+ }
145
170
 
146
- event.EventAttributes = event.EventAttributes || {};
171
+ event.EventAttributes = event.EventAttributes || {};
147
172
 
148
- try {
149
- window.Intercom('trackEvent',
150
- event.EventName,
151
- event.EventAttributes);
152
- }
153
- catch (e) {
154
- return 'Can\'t log event on forwarder: ' + name + ': ' + e;
155
- }
156
- return 'Successfully logged event from forwarder: ' + name;
173
+ try {
174
+ window.Intercom(
175
+ 'trackEvent',
176
+ event.EventName,
177
+ event.EventAttributes
178
+ );
179
+ } catch (e) {
180
+ return "Can't log event on forwarder: " + name + ': ' + e;
157
181
  }
182
+ return 'Successfully logged event from forwarder: ' + name;
183
+ }
158
184
 
159
- function setUserAttribute(key, value) {
160
- if (!isInitialized) {
161
- return 'Can\'t set user identity on forwarder: ' + name + ', not initialized';
162
- }
185
+ function setUserAttribute(key, value) {
186
+ if (!isInitialized) {
187
+ return (
188
+ "Can't set user identity on forwarder: " +
189
+ name +
190
+ ', not initialized'
191
+ );
192
+ }
163
193
 
164
- var attr = createObject(key, value);
194
+ var attr = createObject(key, value);
165
195
 
166
- try {
167
- window.Intercom('update', attr);
168
- }
169
- catch (e) {
170
- return 'Can\'t set user attribute on forwarder: ' + name + ': ' + e;
171
- }
172
- return 'Successfully called update on forwarder: ' + name;
196
+ try {
197
+ window.Intercom('update', attr);
198
+ } catch (e) {
199
+ return "Can't set user attribute on forwarder: " + name + ': ' + e;
173
200
  }
201
+ return 'Successfully called update on forwarder: ' + name;
202
+ }
174
203
 
175
- function setUserIdentity(id, type) {
176
-
177
- if (!isInitialized) {
178
- return 'Can\'t call setUserIdentity on forwarder: ' + name + ', not initialized';
179
- }
204
+ function setUserIdentity(id, type) {
205
+ if (!isInitialized) {
206
+ return (
207
+ "Can't call setUserIdentity on forwarder: " +
208
+ name +
209
+ ', not initialized'
210
+ );
211
+ }
180
212
 
181
- if(!id) {
182
- return 'Can\'t call setUserIdentity on forwarder: ' + name + ', without id or email';
183
- }
213
+ if (!id) {
214
+ return (
215
+ "Can't call setUserIdentity on forwarder: " +
216
+ name +
217
+ ', without id or email'
218
+ );
219
+ }
184
220
 
185
- var key = '';
221
+ var key = '';
186
222
 
187
- if(window.mParticle.IdentityType.CustomerId === type) {
188
- key = 'user_id';
189
- }
190
- else if(window.mParticle.IdentityType.Email === type) {
191
- key = 'email';
192
- }
193
- else {
194
- return;
195
- }
223
+ if (window.mParticle.IdentityType.CustomerId === type) {
224
+ key = 'user_id';
225
+ } else if (window.mParticle.IdentityType.Email === type) {
226
+ key = 'email';
227
+ } else {
228
+ return;
229
+ }
196
230
 
197
- var obj = createObject(key, id);
231
+ var obj = createObject(key, id);
198
232
 
199
- try {
200
- window.Intercom('update', obj);
201
- }
202
- catch(e) {
203
- return 'Can\'t call identify on forwarder: ' + name + ': ' + e;
204
- }
205
- return 'Successfully called update on forwarder: ' + name;
233
+ try {
234
+ window.Intercom('update', obj);
235
+ } catch (e) {
236
+ return "Can't call identify on forwarder: " + name + ': ' + e;
206
237
  }
238
+ return 'Successfully called update on forwarder: ' + name;
239
+ }
207
240
 
208
- this.init = initForwarder;
209
- this.process = processEvent;
210
- this.setUserAttribute = setUserAttribute;
211
- this.setUserIdentity = setUserIdentity;
212
- };
241
+ this.init = initForwarder;
242
+ this.process = processEvent;
243
+ this.setUserAttribute = setUserAttribute;
244
+ this.setUserIdentity = setUserIdentity;
245
+ };
213
246
 
214
- function getId() {
215
- return moduleId;
216
- }
247
+ function getId() {
248
+ return moduleId;
249
+ }
217
250
 
218
- function register(config) {
219
- if (!config) {
220
- window.console.log('You must pass a config object to register the kit ' + name);
221
- return;
222
- }
251
+ function register(config) {
252
+ if (!config) {
253
+ console.log(
254
+ 'You must pass a config object to register the kit ' + name
255
+ );
256
+ return;
257
+ }
223
258
 
224
- if (!isobject$1(config)) {
225
- window.console.log('\'config\' must be an object. You passed in a ' + typeof config);
226
- return;
227
- }
259
+ if (!isobject$1(config)) {
260
+ console.log(
261
+ "'config' must be an object. You passed in a " + typeof config
262
+ );
263
+ return;
264
+ }
228
265
 
229
- if (isobject$1(config.kits)) {
230
- config.kits[name] = {
231
- constructor: constructor
232
- };
233
- } else {
234
- config.kits = {};
235
- config.kits[name] = {
236
- constructor: constructor
237
- };
238
- }
239
- window.console.log('Successfully registered ' + name + ' to your mParticle configuration');
266
+ if (isobject$1(config.kits)) {
267
+ config.kits[name] = {
268
+ constructor: constructor,
269
+ };
270
+ } else {
271
+ config.kits = {};
272
+ config.kits[name] = {
273
+ constructor: constructor,
274
+ };
240
275
  }
276
+ console.log(
277
+ 'Successfully registered ' + name + ' to your mParticle configuration'
278
+ );
279
+ }
241
280
 
281
+ if (typeof window !== 'undefined') {
242
282
  if (window && window.mParticle && window.mParticle.addForwarder) {
243
283
  window.mParticle.addForwarder({
244
284
  name: name,
245
285
  constructor: constructor,
246
- getId: getId
286
+ getId: getId,
247
287
  });
248
288
  }
289
+ }
249
290
 
250
- var IntercomEventForwarder = {
251
- register: register
252
- };
291
+ var IntercomEventForwarder = {
292
+ register: register,
293
+ };
253
294
  var IntercomEventForwarder_1 = IntercomEventForwarder.register;
254
295
 
255
296
  exports.default = IntercomEventForwarder;
package/package.json CHANGED
@@ -1,28 +1,41 @@
1
1
  {
2
- "name": "@mparticle/web-intercom-kit",
3
- "version": "2.0.1",
4
- "author": "mParticle Developers <developers@mparticle.com> (https://www.mparticle.com)",
5
- "description": "mParticle integration sdk for Intercom",
6
- "main": "dist/IntercomEventForwarder.common.js",
7
- "browser": "dist/IntercomEventForwarder.common.js",
8
- "files": [
9
- "dist/IntercomEventForwarder.common.js"
10
- ],
11
- "repository": "https://github.com/mparticle-integrations/mparticle-javascript-integration-intercom",
12
- "scripts": {
13
- "build": "rollup --config rollup.config.js",
14
- "watch": "rollup --config rollup.config.js -w"
15
- },
16
- "devDependencies": {
17
- "should": "7.1.0",
18
- "mocha": "^2.3.2",
19
- "rollup": "^1.13.1",
20
- "rollup-plugin-commonjs": "^10.0.0",
21
- "rollup-plugin-node-resolve": "^5.0.1"
22
- },
23
- "dependencies": {
24
- "isobject": "^4.0.0",
25
- "@mparticle/web-sdk": "^2.11.1"
26
- },
27
- "license": "Apache-2.0"
2
+ "name": "@mparticle/web-intercom-kit",
3
+ "version": "3.1.0",
4
+ "author": "mParticle Developers <developers@mparticle.com> (https://www.mparticle.com)",
5
+ "description": "mParticle integration sdk for Intercom",
6
+ "main": "dist/IntercomEventForwarder.common.js",
7
+ "browser": "dist/IntercomEventForwarder.common.js",
8
+ "files": [
9
+ "dist/IntercomEventForwarder.common.js"
10
+ ],
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/mParticle/mparticle-web-sdk",
14
+ "directory": "kits/intercom"
15
+ },
16
+ "scripts": {
17
+ "build": "rollup --config rollup.config.js",
18
+ "watch": "rollup --config rollup.config.js -w",
19
+ "test": "node test/boilerplate/test-karma.js"
20
+ },
21
+ "devDependencies": {
22
+ "chai": "^4.2.0",
23
+ "karma": "^5.1.0",
24
+ "karma-chai": "^0.1.0",
25
+ "karma-chrome-launcher": "^3.1.0",
26
+ "karma-firefox-launcher": "^1.3.0",
27
+ "karma-mocha": "^2.0.1",
28
+ "mocha": "^2.5.3",
29
+ "rollup": "^1.13.1",
30
+ "rollup-plugin-commonjs": "^10.0.0",
31
+ "rollup-plugin-node-resolve": "^5.0.1",
32
+ "shelljs": "^0.8.4",
33
+ "should": "^7.1.0",
34
+ "watchify": "^3.11.1"
35
+ },
36
+ "dependencies": {
37
+ "isobject": "^4.0.0",
38
+ "@mparticle/web-sdk": "^3.0.0"
39
+ },
40
+ "license": "Apache-2.0"
28
41
  }