flattened components and renamed to elements
diff --git a/dashboard/files/test_app/index.html b/dashboard/files/test_app/index.html
index 11122a3..6f93807 100644
--- a/dashboard/files/test_app/index.html
+++ b/dashboard/files/test_app/index.html
@@ -132,10 +132,10 @@
<thead>
<th width="80px">ACTIVITY</th>
<th width="80px">ACTION</th>
- <th width="110px">COMPONENT ID</th>
- <th width="110px">COMPONENT TYPE</th>
- <th width="110px">COMPONENT GROUP</th>
- <th width="100px">COMPONENT OBJECT</th>
+ <th width="110px">ELEMENT ID</th>
+ <th width="110px">ELEMENT TYPE</th>
+ <th width="110px">ELEMENT GROUP</th>
+ <th width="100px">ELEMENT OBJECT</th>
<th width="60px">SOURCE</th>
</thead>
<tbody>
diff --git a/dashboard/files/test_app/js/logging.js b/dashboard/files/test_app/js/logging.js
index c9fb666..35fcc7f 100644
--- a/dashboard/files/test_app/js/logging.js
+++ b/dashboard/files/test_app/js/logging.js
@@ -22,13 +22,11 @@
var defaultMsg = {
activity: null,
action: null,
- component: {
- id: null,
- type: null,
- group: null
- },
+ elementId: '',
+ elementType: '',
+ elementGroup: '',
+ elementSub: '',
source: null,
- object: null,
tags: [],
meta: {}
};
@@ -38,7 +36,7 @@
loggingUrl: '',
toolName: 'dave',
toolVersion: '2.3',
- componentGroups: [
+ elementGroups: [
'map_group',
'input_group',
'top',
@@ -58,10 +56,10 @@
"<tr>" +
"<td class='a'><%- activity %></td>" +
"<td class='b'><%- action %></td>" +
- "<td class='c'><%- component.id %></td>" +
- "<td class='d'><%- component.type %></td>" +
- "<td class='e'><%- component.group %></td>" +
- "<td class='e'><%- object %></td>" +
+ "<td class='c'><%- elementId %></td>" +
+ "<td class='d'><%- elementType %></td>" +
+ "<td class='e'><%- elementGroup %></td>" +
+ "<td class='e'><%- elementSub %></td>" +
"<td class='f'><%- source %></td>" +
"</tr>"
);
@@ -90,13 +88,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOVER',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'button',
- group: 'button_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'button',
+ elementGroup: 'button_group',
source: 'user',
- object: null,
tags: ['submit']
};
log(msg);
@@ -105,13 +100,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOUT',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'button',
- group: 'button_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'button',
+ elementGroup: 'button_group',
source: 'user',
- object: null,
tags: ['submit']
};
log(msg);
@@ -120,13 +112,10 @@
var msg = {
activity: 'perform',
action: 'CLICK',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'button',
- group: 'button_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'button',
+ elementGroup: 'button_group',
source: 'user',
- object: null,
tags: ['submit']
};
log(msg);
@@ -137,13 +126,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOVER',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'radiobutton',
- group: 'button_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'radiobutton',
+ elementGroup: 'button_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -152,13 +138,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOUT',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'radiobutton',
- group: 'button_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'radiobutton',
+ elementGroup: 'button_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -167,13 +150,10 @@
var msg = {
activity: 'SELECT_DESELECT',
action: 'CLICK',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'radiobutton',
- group: 'button_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'radiobutton',
+ elementGroup: 'button_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -184,13 +164,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOVER',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'dropdownlist',
- group: 'dropdown_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'dropdownlist',
+ elementGroup: 'dropdown_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -199,13 +176,11 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOUT',
- component: {
- id: this.getAttribute('id'),
- type: 'dropdownlist',
- group: 'dropdown_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'dropdownlist',
+ elementGroup: 'dropdown_group',
+
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -215,13 +190,10 @@
var msg = {
activity: 'OPEN_CLOSE',
action: 'CLICK',
- component: {
- id: this.getAttribute('id'),
- type: 'dropdownlist',
- group: 'dropdown_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'dropdownlist',
+ elementGroup: 'dropdown_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -232,13 +204,11 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOVER',
- component: {
- id: this.getAttribute('id'),
- type: 'listitem',
- group: 'dropdown_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'dropdownlist',
+ elementGroup: 'dropdown_group',
+ elementSub: 'listitem',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -247,13 +217,11 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOUT',
- component: {
- id: this.getAttribute('id'),
- type: 'listitem',
- group: 'dropdown_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'dropdownlist',
+ elementGroup: 'dropdown_group',
+ elementSub: 'listitem',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -262,13 +230,11 @@
var msg = {
activity: 'perform',
action: 'CLICK',
- component: {
- id: this.getAttribute('id'),
- type: 'listitem',
- group: 'dropdown_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'dropdownlist',
+ elementGroup: 'dropdown_group',
+ elementSub: 'listitem',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -279,13 +245,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOVER',
- component: {
- id: this.getAttribute('id'),
- type: 'textbox',
- group: 'query_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'textbox',
+ elementGroup: 'query_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -294,13 +257,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOVER',
- component: {
- id: this.getAttribute('id'),
- type: 'textbox',
- group: 'query_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'textbox',
+ elementGroup: 'query_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -309,28 +269,22 @@
var msg = {
activity: 'inspect',
action: 'FOCUS',
- component: {
- id: this.getAttribute('id'),
- type: 'textbox',
- group: 'query_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'textbox',
+ elementGroup: 'query_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
})
.keypress(function () {
var msg = {
- activity: ale.activities.ALTER,
+ activity: 'alter',
action: 'ENTERTEXT',
- component: {
- id: this.getAttribute('id'),
- type: 'textbox',
- group: 'query_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'textbox',
+ elementGroup: 'query_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -341,13 +295,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOVER',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'button',
- group: 'map_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'button',
+ elementGroup: 'map_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -356,13 +307,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOUT',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'button',
- group: 'map_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'button',
+ elementGroup: 'map_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -371,13 +319,10 @@
var msg = {
activity: 'perform',
action: 'CLICK',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'button',
- group: 'map_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'button',
+ elementGroup: 'map_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -388,13 +333,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOVER',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'button',
- group: 'query_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'button',
+ elementGroup: 'query_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -403,13 +345,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOUT',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'button',
- group: 'query_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'button',
+ elementGroup: 'query_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -418,13 +357,10 @@
var msg = {
activity: 'perform',
action: 'CLICK',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'button',
- group: 'query_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'button',
+ elementGroup: 'query_group',
source: 'user',
- object: null,
tags: ['query']
};
log(msg);
@@ -436,13 +372,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOVER',
- component: {
- id: 'UNK',
- type: 'map',
- group: 'map_group'
- },
+ elementId: 'UNK',
+ elementType: 'map',
+ elementGroup: 'map_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -451,13 +384,10 @@
var msg = {
activity: 'inspect',
action: 'MOUSEOUT',
- component: {
- id: 'UNK',
- type: 'map',
- group: 'map_group'
- },
+ elementId: 'UNK',
+ elementType: 'map',
+ elementGroup: 'map_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -466,13 +396,10 @@
var msg = {
activity: 'alter',
action: 'ZOOM',
- component: {
- id: 'UNK',
- type: 'map',
- group: 'map_group'
- },
+ elementId: 'UNK',
+ elementType: 'map',
+ elementGroup: 'map_group',
source: 'unk',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -481,13 +408,10 @@
var msg = {
activity: 'alter',
action: 'DRAG',
- component: {
- id: 'UNK',
- type: 'map',
- group: 'map_group'
- },
+ elementId: 'UNK',
+ elementType: 'map',
+ elementGroup: 'map_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -496,13 +420,10 @@
var msg = {
activity: 'alter',
action: 'DRAG',
- component: {
- id: 'UNK',
- type: 'map',
- group: 'map_group'
- },
+ elementId: 'UNK',
+ elementType: 'map',
+ elementGroup: 'map_group',
source: 'user',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -511,13 +432,10 @@
var msg = {
activity: 'alter',
action: 'MOVE',
- component: {
- id: 'UNK',
- type: 'map',
- group: 'map_group'
- },
+ elementId: 'UNK',
+ elementType: 'map',
+ elementGroup: 'map_group',
source: 'system',
- object: null,
tags: ['a', 'b']
};
log(msg);
@@ -529,13 +447,11 @@
var msg = {
activity: 'alter',
action: 'SLIDE',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'slider',
- group: 'query_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'slider',
+ elementGroup: 'query_group',
+ elementSub: 'label',
source: 'user',
- object: 'HANDLE',
tags: ['a', 'b']
};
log(msg);
@@ -543,12 +459,10 @@
var msg = {
activity: 'alter',
- component: {
- type: 'slider',
- group: 'query_group'
- },
+ elementType: 'slider',
+ elementGroup: 'query_group',
+ elementSub: 'label',
source: 'system',
- object: 'LABEL',
tags: []
};
log(msg);
@@ -557,25 +471,22 @@
var msg = {
activity: 'alter',
action: 'SLIDE',
- component: {
- id: this.getAttribute('id') || 'UNK',
- type: 'slider',
- group: 'query_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'slider',
+ elementGroup: 'query_group',
+ elementSub: 'handle',
source: 'user',
- object: 'HANDLE',
tags: ['a', 'b']
};
log(msg);
var msg = {
activity: 'alter',
- component: {
- type: 'slider',
- group: 'query_group'
- },
+ elementId: this.getAttribute('id') || 'UNK',
+ elementType: 'slider',
+ elementGroup: 'query_group',
+ elementSub: 'label',
source: 'system',
- object: 'LABEL',
tags: []
};
log(msg);
@@ -586,104 +497,12 @@
var msg = {
activity: 'alter',
action: 'SCROLL',
- component: {
- id: 'UNK',
- type: 'window',
- group: 'top'
- },
+ elementId: 'UNK',
+ elementType: 'window',
+ elementGroup: 'top',
source: 'unk',
- object: null,
tags: ['a', 'b']
};
log(msg);
});
-
- ale = {};
- ale.components =
- {
- BUTTON : "button",
- CANVAS : "canvas",
- CHECKBOX : "checkbox",
- COMBOBOX : "combobox",
- DATAGRID : "datagrid",
- DIALOGBOX : "dialog_box",
- DROPDOWNLIST : "dropdownlist",
- FRAME : "frame",
- ICON : "icon",
- INFOBAR : "infobar",
- LABEL : "label",
- LINK : "link",
- LISTBOX : "listbox",
- LISTITEM: "listitem",
- MAP : "map",
- MENU : "menu",
- MODALWINDOW : "modalwindow",
- PALETTEWINDOW : "palettewindow",
- PANEL : "panel",
- PROGRESSBAR : "progressbar",
- RADIOBUTTON : "radiobutton",
- SLIDER : "slider",
- SPINNER : "spinner",
- STATUSBAR : "statusbar",
- TAB : "tab",
- TABLE : "table",
- TAG : "tag",
- TEXTBOX : "textbox",
- THROBBER : "throbber",
- TOAST : "toast",
- TOOLBAR : "toolbar",
- TOOLTIP : "tooltip",
- TREEVIEW : "treeview",
- WINDOW : "window",
- WORKSPACE : "workspace",
- // Other is used in conjunction with softwareMetadata in order
- // to provide a component in which is not currently listed within
- // the COMPONENT list.
- OTHER : "other"
- };
-
- ale.activities =
- {
- ADD : "add",
- REMOVE : "remove",
- CREATE : "create",
- DELETE : "delete",
- SELECT : "select",
- DESELECT : "deselect",
- ENTER : "enter",
- LEAVE : "leave",
- INSPECT : "inspect",
- ALTER : "alter",
- HIDE : "hide",
- SHOW : "show",
- PERFORM: "perform"
- };
- //$('#slider1')
- // .on("slidestart", function (event, ui) {
- // log(this.getAttribute('id') + ' slider start')
- // })
- // .on("slidestop", function (event, ui) {
- // log(this.getAttribute('id') + ' slider stop')
- // });
-
- //document.querySelector('body').addEventListener('click', function(event) {
- // //if (event.target.tagName.toLowerCase() === 'li') {
- // // // do your action on your 'li' or whatever it is you're listening for
- // //}
- //
- // window.A = event.target;
- //
- // console.log('click', event.target.tagName, event.target)
- //});
-
- //$(document).ready(function(){
- // $(document).bind('mousewheel', function(e){
- // if(e.originalEvent.wheelDelta /120 > 0) {
- // log('scrolling up !');
- // }
- // else{
- // log('scrolling down !');
- // }
- // });
- //});
});
\ No newline at end of file
diff --git a/dashboard/files/test_app/js/map.js b/dashboard/files/test_app/js/map.js
index d3ac9ac..11f760b 100644
--- a/dashboard/files/test_app/js/map.js
+++ b/dashboard/files/test_app/js/map.js
@@ -38,12 +38,10 @@
markers.push(marker);
myLog({
activity: 'add',
- component: {
- type: 'map',
- group: 'map_group'
- },
+ elementType: 'map',
+ elementGroup: 'map_group',
+ elementSub: 'marker',
source: 'system',
- object: 'marker',
tags: []
})
});
@@ -55,12 +53,10 @@
myLog({
activity: 'remove',
- component: {
- type: 'map',
- group: 'map_group'
- },
+ elementType: 'map',
+ elementGroup: 'map_group',
+ elementSub: 'marker',
source: 'system',
- object: 'marker',
tags: []
})
});
diff --git a/dashboard/files/test_app/js/userale.js b/dashboard/files/test_app/js/userale.js
index a42c066..464fcc5 100644
--- a/dashboard/files/test_app/js/userale.js
+++ b/dashboard/files/test_app/js/userale.js
@@ -39,19 +39,17 @@
workerUrl: 'userale-worker.js',
debug: true,
sendLogs: true,
- componentGroups: []
+ elementGroups: []
};
default_msg = {
- activity: null,
- action: null,
- component: {
- id: null,
- type: null,
- group: null
- },
- source: null,
- object: null,
+ activity: '',
+ action: '',
+ elementId: '',
+ elementType: '',
+ elementGroup: '',
+ elementSub: '',
+ source: '',
tags: [],
meta: {}
};
@@ -59,8 +57,8 @@
userale = (function() {
function userale(options) {
this.options = extend(defaults, options);
- if (this.options.componentGroups.constructor === !Array) {
- this.options.componentGroups = [this.options.componentGroups];
+ if (this.options.elementGroups.constructor === !Array) {
+ this.options.elementGroups = [this.options.elementGroups];
}
this.options.version = '3.0.0';
this.worker = new Worker(this.options.workerUrl);
@@ -91,29 +89,31 @@
};
userale.prototype.log = function(msg) {
- var activities, activity, elementType, i, key, len, ref, value, x;
+ var activities, activity, i, key, len, value, x;
+ msg = extend(default_msg, msg);
for (key in msg) {
value = msg[key];
- msg = extend(default_msg, msg);
- if (key === 'component') {
- if (ref = value.group, indexOf.call(this.options.componentGroups, ref) < 0) {
- console.warn(value.group + " is NOT in component groups");
- }
- elementType = value.type.toUpperCase();
- if (indexOf.call(ELEMENTS, elementType) < 0) {
- console.warn("USERALE: Unrecognized element - " + elementType);
- } else if ((elementType === 'OTHER') && (msg.meta.element == null)) {
+ if (key === 'elementType') {
+ value = value.toUpperCase();
+ if (indexOf.call(ELEMENTS, value) < 0) {
+ console.warn("USERALE: Unrecognized element - " + value);
+ } else if ((value === 'OTHER') && (msg.meta.element == null)) {
console.warn("USERALE: Element type set to 'other', but 'element' not set in meta object ");
}
- msg.component.type = elementType;
+ msg.elementType = msg.elementType.toUpperCase();
+ }
+ if (key === 'elementGroup') {
+ if (indexOf.call(this.options.elementGroups, value) < 0) {
+ console.warn(value + " is NOT in element groups");
+ }
}
if (key === 'activity') {
activities = (function() {
- var i, len, ref1, results1;
- ref1 = value.split('_');
+ var i, len, ref, results1;
+ ref = value.split('_');
results1 = [];
- for (i = 0, len = ref1.length; i < len; i++) {
- x = ref1[i];
+ for (i = 0, len = ref.length; i < len; i++) {
+ x = ref[i];
results1.push(x.toUpperCase());
}
return results1;
diff --git a/dashboard/files/test_app/js/userale.js.map b/dashboard/files/test_app/js/userale.js.map
index 0c6ff65..9bf8193 100644
--- a/dashboard/files/test_app/js/userale.js.map
+++ b/dashboard/files/test_app/js/userale.js.map
@@ -6,5 +6,5 @@
"userale.coffee"
],
"names": [],
- "mappings": "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"
+ "mappings": "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"
}
\ No newline at end of file
diff --git a/helper-libs/javascript/userale.coffee b/helper-libs/javascript/userale.coffee
index 9abac6b..aa756a5 100644
--- a/helper-libs/javascript/userale.coffee
+++ b/helper-libs/javascript/userale.coffee
@@ -53,8 +53,8 @@
'WINDOW'
'WORKSPACE'
# Other is used in conjunction with softwareMetadata in order
-# to provide a component in which is not currently listed within
-# the COMPONENT list.
+# to provide a element in which is not currently listed within
+# the element list.
'OTHER'
]
@@ -82,19 +82,17 @@
workerUrl: 'userale-worker.js'
debug: true
sendLogs: true
- componentGroups: []
+ elementGroups: []
}
default_msg = {
- activity: null,
- action: null,
- component: {
- id: null,
- type: null,
- group: null
- },
- source: null,
- object: null,
+ activity: '',
+ action: '',
+ elementId: '',
+ elementType: '',
+ elementGroup: '',
+ elementSub: '',
+ source: '',
tags: []
meta: {}
}
@@ -103,8 +101,8 @@
constructor: (options)->
@options = extend(defaults, options)
- if @options.componentGroups.constructor is not Array
- @options.componentGroups = [@options.componentGroups]
+ if @options.elementGroups.constructor is not Array
+ @options.elementGroups = [@options.elementGroups]
@options.version = '3.0.0'
@@ -135,19 +133,19 @@
@worker.postMessage({cmd: 'sendBuffer', msg: ''})
log: (msg) ->
+ msg = extend(default_msg, msg)
for key, value of msg
- msg = extend(default_msg, msg)
- if key is 'component'
- if value.group not in @options.componentGroups
- console.warn("#{ value.group } is NOT in component groups")
-
- elementType = value.type.toUpperCase()
- if elementType not in ELEMENTS
- console.warn("USERALE: Unrecognized element - #{ elementType }")
- else if (elementType is 'OTHER') and !msg.meta.element?
+ if key is 'elementType'
+ value = value.toUpperCase()
+ if value not in ELEMENTS
+ console.warn("USERALE: Unrecognized element - #{ value }")
+ else if (value is 'OTHER') and !msg.meta.element?
console.warn("USERALE: Element type set to 'other', but 'element' not set in meta object ")
+ msg.elementType = msg.elementType.toUpperCase()
- msg.component.type = elementType
+ if key is 'elementGroup'
+ if value not in @options.elementGroups
+ console.warn("#{ value } is NOT in element groups")
if key is 'activity'
activities = (x.toUpperCase() for x in value.split('_'))
diff --git a/helper-libs/javascript/userale.js b/helper-libs/javascript/userale.js
index a42c066..464fcc5 100644
--- a/helper-libs/javascript/userale.js
+++ b/helper-libs/javascript/userale.js
@@ -39,19 +39,17 @@
workerUrl: 'userale-worker.js',
debug: true,
sendLogs: true,
- componentGroups: []
+ elementGroups: []
};
default_msg = {
- activity: null,
- action: null,
- component: {
- id: null,
- type: null,
- group: null
- },
- source: null,
- object: null,
+ activity: '',
+ action: '',
+ elementId: '',
+ elementType: '',
+ elementGroup: '',
+ elementSub: '',
+ source: '',
tags: [],
meta: {}
};
@@ -59,8 +57,8 @@
userale = (function() {
function userale(options) {
this.options = extend(defaults, options);
- if (this.options.componentGroups.constructor === !Array) {
- this.options.componentGroups = [this.options.componentGroups];
+ if (this.options.elementGroups.constructor === !Array) {
+ this.options.elementGroups = [this.options.elementGroups];
}
this.options.version = '3.0.0';
this.worker = new Worker(this.options.workerUrl);
@@ -91,29 +89,31 @@
};
userale.prototype.log = function(msg) {
- var activities, activity, elementType, i, key, len, ref, value, x;
+ var activities, activity, i, key, len, value, x;
+ msg = extend(default_msg, msg);
for (key in msg) {
value = msg[key];
- msg = extend(default_msg, msg);
- if (key === 'component') {
- if (ref = value.group, indexOf.call(this.options.componentGroups, ref) < 0) {
- console.warn(value.group + " is NOT in component groups");
- }
- elementType = value.type.toUpperCase();
- if (indexOf.call(ELEMENTS, elementType) < 0) {
- console.warn("USERALE: Unrecognized element - " + elementType);
- } else if ((elementType === 'OTHER') && (msg.meta.element == null)) {
+ if (key === 'elementType') {
+ value = value.toUpperCase();
+ if (indexOf.call(ELEMENTS, value) < 0) {
+ console.warn("USERALE: Unrecognized element - " + value);
+ } else if ((value === 'OTHER') && (msg.meta.element == null)) {
console.warn("USERALE: Element type set to 'other', but 'element' not set in meta object ");
}
- msg.component.type = elementType;
+ msg.elementType = msg.elementType.toUpperCase();
+ }
+ if (key === 'elementGroup') {
+ if (indexOf.call(this.options.elementGroups, value) < 0) {
+ console.warn(value + " is NOT in element groups");
+ }
}
if (key === 'activity') {
activities = (function() {
- var i, len, ref1, results1;
- ref1 = value.split('_');
+ var i, len, ref, results1;
+ ref = value.split('_');
results1 = [];
- for (i = 0, len = ref1.length; i < len; i++) {
- x = ref1[i];
+ for (i = 0, len = ref.length; i < len; i++) {
+ x = ref[i];
results1.push(x.toUpperCase());
}
return results1;
diff --git a/helper-libs/javascript/userale.js.map b/helper-libs/javascript/userale.js.map
index 0c6ff65..9bf8193 100644
--- a/helper-libs/javascript/userale.js.map
+++ b/helper-libs/javascript/userale.js.map
@@ -6,5 +6,5 @@
"userale.coffee"
],
"names": [],
- "mappings": "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"
+ "mappings": "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"
}
\ No newline at end of file