Skip to content
This repository was archived by the owner on Dec 11, 2019. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
81f84b4
Added support for using plan as group
duellsy Mar 8, 2017
519757b
Release 2.1.0
duellsy Mar 21, 2017
4b83bf5
Added support for using new setUser method
duellsy Aug 16, 2017
dfaca76
Updated version to 2.2.0
duellsy Aug 16, 2017
5c203d3
Merge branch 'master' of https://github.com/segment-integrations/anal…
duellsy Aug 16, 2017
afe4267
Re-instating package.json updates that a merge missed
duellsy Aug 16, 2017
45a65e2
Linting issue
duellsy Aug 16, 2017
71e8d90
Changing setUser function exists test to be more explicit
duellsy Aug 18, 2017
3c5b571
Reversal of setUser function check logic
duellsy Aug 22, 2017
b3420cb
Merge branch 'master' of https://github.com/segment-integrations/anal…
duellsy Aug 23, 2017
b55fe5d
Merge branch 'analytics-master'
duellsy Dec 21, 2017
53efaa8
Updated version to 2.2.0
duellsy Aug 16, 2017
33d3777
Reversal of setUser function check logic
duellsy Aug 22, 2017
76d4967
Merge branch 'master' of https://github.com/elevio/analytics.js-integ…
duellsy Dec 21, 2017
fa2bfa8
Remove assumesPageView option
duellsy Jan 4, 2018
c539715
Remove assumesPageView option
duellsy Jan 4, 2018
0c03c58
Upgrade segment/analytics.js-integration to 3.2
duellsy Jan 6, 2018
fd33d39
Updating tests to remove call to page()
duellsy Jan 6, 2018
17535a8
Added support for sending first and last names
duellsy Jul 7, 2018
fd8ec2e
linting
duellsy Jul 7, 2018
f9188ef
Merge branch 'master' of https://github.com/segment-integrations/anal…
duellsy Jul 7, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
2.4.0 / 2018-07-07
==================

* Added support for sending first and last names

2.3.0 / 2017-08-23
==================

Expand Down
29 changes: 27 additions & 2 deletions lib/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,28 @@ Elevio.prototype.loaded = function() {
*/

Elevio.prototype.identify = function(identify) {
var integrationSettings = identify.options(this.name);
var name = identify.name();
var email = identify.email();
var plan = identify.proxy('traits.plan');
var traits = identify.traits();
var user_hash;
var firstName;
var lastName;

// Check for firstName property
// else check for name
if (traits.firstName) {
firstName = traits.firstName;
lastName = traits.lastName;
} else if (traits.name) {
var nameArray = traits.name.split(' ') || [];
firstName = nameArray.shift();
lastName = nameArray.pop();
}

if (integrationSettings.userHash) user_hash = integrationSettings.userHash;
if (integrationSettings.user_hash) user_hash = integrationSettings.user_hash;

var removeTraits = ['id', 'name', 'firstName', 'lastName', 'email'];

Expand All @@ -63,11 +81,18 @@ Elevio.prototype.identify = function(identify) {
user.via = 'segment';
if (email) user.email = email;
if (name) user.name = name;
if (firstName) user.first_name = firstName;
if (lastName) user.last_name = lastName;
if (plan) user.plan = [plan];
if (user_hash) user.user_hash = user_hash;
if (plan) user.groups = [plan];
if (objectKeys(traits).length > 0) user.traits = traits;
window._elev.user = user;
if (typeof window._elev.setUser === 'function') {

if (typeof window._elev.on === 'function') {
// Customer loading v4
window._elev.setUser(user);
} else {
// Customer loading v3 (deprecated)
window._elev.user = user;
}
};
Loading