-
Notifications
You must be signed in to change notification settings - Fork 0
/
gurli.coffee
38 lines (28 loc) · 923 Bytes
/
gurli.coffee
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
class Gurli
constructor: () ->
@baseURL = window.location.href.split("?")[0]
paramsArray = window.location.href.split("?")[1]
paramsArray = if paramsArray then paramsArray.split("&") else []
@params = {}
for pairIndex of paramsArray
pairArray = paramsArray[pairIndex].split("=")
@params[decodeURIComponent(pairArray[0])] = decodeURIComponent(pairArray[1])
setParam: (name, value) ->
@params[name] = value
getParam: (name) ->
@params[name]
removeParam: (name) ->
delete @params[name]
clearParams: ->
@params = []
return
setBaseURL: (newURL) ->
@baseURL = encodeURI(newURL)
toURL: ->
urlString = @baseURL + "?"
for property of @params
urlString = urlString + encodeURIComponent(property) + "=" + encodeURIComponent(@params[property]) + "&"
urlString.slice(0, -1)
goto: ->
window.location = @.toURL()
window.Gurli = Gurli