/
settings.coffee.sample
150 lines (130 loc) · 4.52 KB
/
settings.coffee.sample
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
define ->
Settings =
flavor: '@@flavor'
###
@param [String] url The url to redirect to
###
redirectTo: (url)-> Settings.window.location.replace(url)
###
The message to send over easyXDM.Socket and request the Analytics Session
from the server.
###
iframe_message: '@@common.iframe_message'
###
Whether to use single or multiple beacons when reporting data
@see Reporter._prepareData()
###
single_beacon: @@common.single_beacon
###
Timeouts
###
xdomain_session_timeout: @@xdomain_session_timeout
auto_pageview_timeout: @@auto_pageview_timeout
send_auto_pageview: @@send_auto_pageview
###
Parameter names for backend requests
###
params:
analytics_session: '@@params.analytics_session'
signature: '@@params.signature'
url: '@@params.url'
referrer: '@@params.referrer'
shop_code: '@@params.shop_code'
metadata: '@@params.metadata'
actions: '@@params.actions'
cookie_policy: '@@params.cookie_policy'
cookie_type: '@@params.cookie_type'
###
Cookies
###
cookies:
version: @@cookies.version
basic:
analytics:
name: '@@cookies.basic.analytics.name'
duration: @@cookies.basic.analytics.duration
session:
name: '@@cookies.basic.session.name'
duration: @@cookies.basic.session.duration
meta:
name: '@@cookies.basic.meta.name'
full:
analytics:
name: '@@cookies.full.analytics.name'
duration: @@cookies.full.analytics.duration
session:
name: '@@cookies.full.session.name'
duration: @@cookies.full.session.duration
meta:
name: '@@cookies.full.meta.name'
###
Backend Endpoints
###
url:
base: '@@analytics_base_url'
application_base: '@@application_base_url'
analytics_session:
###
Analytics Tracking Session Creation Endpoint
@param [String] shop_code Analytics code of the tracked shop
@param [String] flavor Application name
@param [String] session The analytics session extracted from the first party cookie
@param [String] cookie_policy The cookie policy specified in metadata
@param [String] metadata Additional metadata provided by the base Application
@return [String] The formatted URL
###
create: (shop_code, flavor, session, cookie_policy, metadata) ->
"@@analytics_base_url@@url.analytics_session.create"
###
Analytics Tracking Session Connection Endpoint
@return [String] The formatted URL
###
connect: (shop_code)->
"@@analytics_base_url@@url.analytics_session.connect"
###
Analytics Action Endpoint
@param [String] analytics_session The Analytics Session ID
@return [String] The Formatted URL
###
beacon: (analytics_session)->
"@@analytics_base_url@@url.beacon"
api:
settings:
key: '@@api.settings.key'
set_account: '@@api.settings.set_account'
set_callback: '@@api.settings.set_callback'
redirect_to: '@@api.settings.redirect_to'
yogurt:
key: '@@api.yogurt.key'
product_click: '@@api.yogurt.product_click'
site:
key: '@@api.site.key'
send_pageview: '@@api.site.send_pageview'
ecommerce:
key: '@@api.ecommerce.key'
add_item: '@@api.ecommerce.add_item'
add_transaction: '@@api.ecommerce.add_transaction'
# The current window object
try
Settings.window = global
catch
Settings.window = this
###
Define window.sa and window.sa.q
@todo Needs refactoring and better place to live
###
Settings.command_queue_name = Settings.window['@@analytics_object'] || 'sa'
Settings.window[Settings.command_queue_name] =
Settings.window[Settings.command_queue_name] or ->
(Settings.window[Settings.command_queue_name].q = Settings.window[Settings.command_queue_name].q || []).
push(arguments)
return
Settings.window[Settings.command_queue_name].q = Settings.window[Settings.command_queue_name].q or []
Settings.commands_queue = Settings.window[Settings.command_queue_name].q
# The current page URL
Settings.url.current = Settings.window.location.href
# The URL of the previous webpage from which a link was followed
Settings.url.referrer = Settings.window.document.referrer
Settings.url.hostname = Settings.window.location.hostname
Settings.custom_tlds = @@custom_tlds
return Settings