Skip to content

Commit

Permalink
fix for page properties
Browse files Browse the repository at this point in the history
  • Loading branch information
prabrishac committed Aug 21, 2020
1 parent 62020d6 commit 6912a14
Showing 1 changed file with 39 additions and 14 deletions.
53 changes: 39 additions & 14 deletions analytics.js
Original file line number Diff line number Diff line change
Expand Up @@ -355,9 +355,13 @@ class Analytics {
(callback = properties), (options = properties = null);
if (typeof name === "function")
(callback = name), (options = properties = name = null);
if (typeof category === "object")
if (
typeof category === "object" &&
category != null &&
category != undefined
)
(options = name), (properties = category), (name = category = null);
if (typeof name === "object")
if (typeof name === "object" && name != null && name != undefined)
(options = properties), (properties = name), (name = null);
if (typeof category === "string" && typeof name !== "string")
(name = category), (category = null);
Expand Down Expand Up @@ -482,18 +486,18 @@ class Analytics {
*/
processPage(category, name, properties, options, callback) {
const rudderElement = new RudderElementBuilder().setType("page").build();
if (name) {
rudderElement.message.name = name;
}
if (!properties) {
properties = {};
}
if (name) {
rudderElement.message.name = name;
properties.name = name;
}
if (category) {
rudderElement.message.category = category;
properties.category = category;
}
if (properties) {
rudderElement.message.properties = this.getPageProperties(properties); // properties;
}
rudderElement.message.properties = this.getPageProperties(properties); // properties;

this.trackPage(rudderElement, options, callback);
}
Expand Down Expand Up @@ -630,7 +634,7 @@ class Analytics {
}

// assign page properties to context
rudderElement.message.context.page = getDefaultPageProperties();
// rudderElement.message.context.page = getDefaultPageProperties();

rudderElement.message.context.traits = {
...this.userTraits,
Expand All @@ -653,9 +657,7 @@ class Analytics {
}
}

if (options) {
this.processOptionsParam(rudderElement, options);
}
this.processOptionsParam(rudderElement, options);
logger.debug(JSON.stringify(rudderElement));

// structure user supplied integrations object to rudder format
Expand Down Expand Up @@ -713,6 +715,7 @@ class Analytics {
* @memberof Analytics
*/
processOptionsParam(rudderElement, options) {
const { type, properties } = rudderElement.message;
const toplevelElements = [
"integrations",
"anonymousId",
Expand All @@ -733,18 +736,40 @@ class Analytics {
}
}
}
// assign page properties to context.page
rudderElement.message.context.page =
type == "page"
? this.getContextPageProperties(options, properties)
: this.getContextPageProperties(options);
}

getPageProperties(properties) {
getPageProperties(properties, options) {
const defaultPageProperties = getDefaultPageProperties();
const optionPageProperties = options && options.page ? options.page : {};
for (const key in defaultPageProperties) {
if (properties[key] === undefined) {
properties[key] = defaultPageProperties[key];
properties[key] =
optionPageProperties[key] || defaultPageProperties[key];
}
}
return properties;
}

// Assign page properties to context.page if the same property is not provided under context.page
getContextPageProperties(options, properties) {
const defaultPageProperties = getDefaultPageProperties();
const contextPageProperties = options && options.page ? options.page : {};
for (const key in defaultPageProperties) {
if (contextPageProperties[key] === undefined) {
contextPageProperties[key] =
properties && properties[key]
? properties[key]
: defaultPageProperties[key];
}
}
return contextPageProperties;
}

/**
* Clear user information
*
Expand Down

0 comments on commit 6912a14

Please sign in to comment.