blob: cc463ecb460c06cc75682031b55f761f634767b1 [file] [log] [blame]
activities = [
'add',
'remove',
'create',
'delete',
'select',
'deselect',
'enter',
'leave',
'inspect',
'alter',
'hide',
'show'
]
console.log('in userale')
extend = (objects...) ->
for object in objects
for key, value of object
objects[0][key] = value
return objects[0]
getParameterByName = (name) ->
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]")
regex = new RegExp("[\\?&]" + name + "=([^&#]*)")
results = regex.exec(location.search)
console.log(results)
results = if results then decodeURIComponent(results[1].replace(/\+/g, " ")) else ""
defaults = {
loggingUrl: ''
toolName: 'UNK'
toolVersion: 'UNK'
workerUrl: 'userale-worker.js'
debug: true
sendLogs: true
componentGroups: []
}
class userale
constructor: (options)->
@options = extend(defaults, options)
if @options.component_groups.contructor is not Array
@options.component_groups = [@options.component_groups]
@options.version = '3.0.0'
@worker = new Worker(@options.workerUrl)
register: () ->
# @toolName = toolName
# @toolVersion = toolVersion
# @component_groups = component_groups
@sessionID = getParameterByName('USID')
@client = getParameterByName('client')
console.log(@sessionID)
if !@sessionID
@sessionID = @toolName[0..2].toUpperCase() + new Date().getTime()
console.warn('USERALE: NO SESSION ID, MAKING ONE UP. You can pass one in as url parameter (127.0.0.1?USID=12345)')
if !@client
@client = 'UNK'
console.warn('USERALE: NO CLIENT, MAKING ONE UP. You can pass one in as url parameter (127.0.0.1?client=roger)')
@worker.postMessage({cmd: 'sendBuffer', msg: ''})
log: (msg) ->
for key, value of msg
if key is 'component'
if value.group in @options.component_groups
console.log("#{ value.group } is in component groups")
else
console.warn("#{ value.group } is NOT in component groups")
window.userale = userale