quick_script 0.9.10 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/quick_script/version.rb +1 -1
- data/vendor/assets/javascripts/quick_script/classes.js.coffee +14 -9
- data/vendor/assets/javascripts/quick_script/framework.js.coffee +63 -60
- data/vendor/assets/stylesheets/quick_script/basics.css.sass +6 -0
- data/vendor/assets/stylesheets/quick_script/elements.css.sass +8 -4
- metadata +3 -3
data/lib/quick_script/version.rb
CHANGED
@@ -143,22 +143,25 @@ class @Overlay
|
|
143
143
|
Overlay.instance = new Overlay()
|
144
144
|
Overlay.closeDialog = ->
|
145
145
|
@remove('dialog')
|
146
|
-
Overlay.add = (vm, tmp,
|
146
|
+
Overlay.add = (vm, tmp, opts) ->
|
147
|
+
opts ||= {}
|
148
|
+
css_opts = opts.style || {}
|
149
|
+
cls = opts.class || ''
|
147
150
|
id = vm.name
|
148
151
|
template = tmp
|
149
|
-
cls = cls || ''
|
150
|
-
options = {} if !options?
|
151
152
|
#options['z-index'] = Overlay.instance.zindex + 10
|
152
153
|
$('body').append("<div id='overlay-" + id + "' class='modal hide fade'><button class='close' data-bind='click : hideOverlay'>x</button><div class='content' data-bind=\"template: '" + template + "'\"></div></div>")
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
#$('.overlay .content').css({'max-height' : ($(window).height() - 100)})
|
154
|
+
$('#overlay-' + id).css(css_opts)
|
155
|
+
$('#overlay-' + id).addClass(cls)
|
156
|
+
$('#overlay-' + id).css({'margin-left' : -1 * $('#overlay-' + id).width() / 2})
|
157
157
|
#$('#backdrop-' + id).click =>
|
158
158
|
#console.log('backdrop clicked.')
|
159
159
|
#Overlay.remove(id)
|
160
160
|
setTimeout ->
|
161
161
|
$('#overlay-' + id).koBind(vm)
|
162
|
+
if opts.stretch == true
|
163
|
+
$("#overlay-#{id} .modal-body").css({'max-height' : ($(window).height() - 200)})
|
164
|
+
$('#overlay-' + id).css({'margin-top' : ($(window).height() - 100)/ -2})
|
162
165
|
$('#overlay-' + id).modal('show')
|
163
166
|
$('#overlay-' + id).on 'hidden', ->
|
164
167
|
$('#overlay-' + id).koClean()
|
@@ -182,7 +185,7 @@ Overlay.notify = (msg, cls, tm) ->
|
|
182
185
|
$('body').prepend("<div id='notify' class='notify' style='display: none;'>" + msg + "</div>")
|
183
186
|
if (cls)
|
184
187
|
$('#notify').addClass(cls)
|
185
|
-
$('#notify').
|
188
|
+
$('#notify').fadeIn 'slow', ->
|
186
189
|
Overlay.instance.notifyTimeout = setTimeout ->
|
187
190
|
$('#notify').fadeOut('slow')
|
188
191
|
, tm
|
@@ -199,13 +202,15 @@ Overlay.confirm = (msg, opts) ->
|
|
199
202
|
no : ->
|
200
203
|
opts.no() if opts.no?
|
201
204
|
Overlay.remove('confirm')
|
202
|
-
$('body').prepend("<div class='backdrop' id='backdrop-confirm' style='z-index:500'></div><div id='overlay-confirm' class='confirm' style='display: none;'><div class='msg'>" + msg + "</div><div class='opts'><button class='
|
205
|
+
$('body').prepend("<div class='backdrop' id='backdrop-confirm' style='z-index:500'></div><div id='overlay-confirm' class='confirm' style='display: none;'><div class='msg'>" + msg + "</div><div class='opts'><button class='btn btn-success' data-bind='click : yes'>yes</button> <button class='btn btn-danger' data-bind='click : no'>no</button></div></div>")
|
203
206
|
$('#overlay-confirm').koBind(vm)
|
204
207
|
$('#overlay-confirm').slideDown 'fast'
|
205
208
|
|
206
209
|
Overlay.remove = (id) ->
|
207
210
|
$('#overlay-' + id).modal('hide')
|
208
211
|
$('#popover-' + id).koClean().remove()
|
212
|
+
$('#backdrop-' + id).remove()
|
213
|
+
$('#overlay-' + id).remove() if (id == 'confirm')
|
209
214
|
|
210
215
|
Overlay.removePopovers = ->
|
211
216
|
$('.popover').remove()
|
@@ -15,6 +15,7 @@
|
|
15
15
|
shouldDisplay = ko.utils.unwrapObservable(valueAccessor())
|
16
16
|
if shouldDisplay then $(element).slideDown('slow') else $(element).slideUp()
|
17
17
|
|
18
|
+
# buttonStatus - [is_loading, ready_str, loading_str, icon_classes]
|
18
19
|
ko.bindingHandlers.buttonStatus =
|
19
20
|
update : (element, valueAccessor) ->
|
20
21
|
opts = ko.utils.unwrapObservable(valueAccessor())
|
@@ -29,6 +30,21 @@
|
|
29
30
|
$(element).html(txt)
|
30
31
|
$(element).removeAttr('disabled')
|
31
32
|
|
33
|
+
# labelStatus - [list, none_str, loading_str]
|
34
|
+
ko.bindingHandlers.listStatus =
|
35
|
+
init : (element, valueAccessor) ->
|
36
|
+
opts = ko.utils.unwrapObservable(valueAccessor())
|
37
|
+
opts[0].is_loading.subscribe ->
|
38
|
+
if opts[0].is_loading()
|
39
|
+
$(element).html(opts[2])
|
40
|
+
$(element).show()
|
41
|
+
else
|
42
|
+
if opts[0].hasItems()
|
43
|
+
$(element).hide()
|
44
|
+
else
|
45
|
+
$(element).show()
|
46
|
+
$(element).html(opts[1])
|
47
|
+
|
32
48
|
ko.bindingHandlers.viewOptions =
|
33
49
|
update : (element, valueAccessor) ->
|
34
50
|
$(element).empty()
|
@@ -204,21 +220,19 @@
|
|
204
220
|
|
205
221
|
ko.bindingHandlers.tabs =
|
206
222
|
init : (element, valueAccessor, bindingsAccessor, viewModel) ->
|
207
|
-
$(element).children('
|
223
|
+
$(element).children('li').each (idx, el)->
|
208
224
|
tab_id = $(el)[0].id
|
209
225
|
$(el).click ->
|
210
226
|
valueAccessor()(tab_id)
|
211
227
|
update : (element, valueAccessor, bindingsAccessor, viewModel) ->
|
212
228
|
sel_tab = ko.utils.unwrapObservable(valueAccessor())
|
213
|
-
$(element).children('
|
214
|
-
$(element).children(
|
215
|
-
$(element).children('div').addClass('hidden')
|
216
|
-
$(element).children("div##{sel_tab}").removeClass('hidden')
|
229
|
+
$(element).children('li').removeClass('active')
|
230
|
+
$(element).children("li##{sel_tab}").addClass('active')
|
217
231
|
ko.bindingHandlers.tab_views =
|
218
232
|
update : (element, valueAccessor, bindingsAccessor, viewModel) ->
|
219
233
|
sel_tab = ko.utils.unwrapObservable(valueAccessor())
|
220
|
-
$(element).children('div').addClass('hidden')
|
221
|
-
$(element).children("div##{sel_tab}").removeClass('hidden')
|
234
|
+
$(element).children('div').addClass('hidden').removeClass('active')
|
235
|
+
$(element).children("div##{sel_tab}").addClass('active').removeClass('hidden')
|
222
236
|
|
223
237
|
ko.bindingHandlers.calendar =
|
224
238
|
init : (element, valueAccessor, bindingsAccessor, viewModel) ->
|
@@ -671,6 +685,7 @@ class @Collection
|
|
671
685
|
else if op == Collection.INSERT
|
672
686
|
@model_state(ko.modelStates.INSERTING)
|
673
687
|
load : (scope, callback)->
|
688
|
+
@reset()
|
674
689
|
@scope(scope) if scope?
|
675
690
|
@_load(@scope(), Collection.REPLACE, callback)
|
676
691
|
update : (callback)->
|
@@ -914,12 +929,7 @@ class @ModelAdapter
|
|
914
929
|
opts.url = @save_url
|
915
930
|
@send opts
|
916
931
|
send : (opts)->
|
917
|
-
|
918
|
-
opts.success({meta : 500, data : ['An error occurred.']})
|
919
|
-
opts.type = 'POST' if !opts.type?
|
920
|
-
opts.url = @host + opts.url
|
921
|
-
opts.error = def_err_fn unless opts.error?
|
922
|
-
$.ajax_qs opts
|
932
|
+
ModelAdapter.send(@host, opts)
|
923
933
|
delete : (opts)->
|
924
934
|
$.ajax
|
925
935
|
type : 'DELETE'
|
@@ -929,18 +939,14 @@ class @ModelAdapter
|
|
929
939
|
error : opts.error
|
930
940
|
add_method : (fn_name, fn)->
|
931
941
|
@[fn_name] = fn.bind(this)
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
if data?
|
941
|
-
callback(data.val)
|
942
|
-
else
|
943
|
-
callback(null)
|
942
|
+
ModelAdapter.send = (host, opts)->
|
943
|
+
def_err_fn = ->
|
944
|
+
opts.success({meta : 500, data : ['An error occurred.']})
|
945
|
+
opts.type = 'POST' if !opts.type?
|
946
|
+
opts.url = host + opts.url
|
947
|
+
opts.error = def_err_fn unless opts.error?
|
948
|
+
opts.success = opts.callback if opts.callback?
|
949
|
+
$.ajax_qs opts
|
944
950
|
|
945
951
|
class @AccountAdapter
|
946
952
|
constructor : (opts)->
|
@@ -956,35 +962,27 @@ class @AccountAdapter
|
|
956
962
|
@host = ""
|
957
963
|
for prop,val of opts
|
958
964
|
@[prop] = val
|
959
|
-
login : (username, password,
|
960
|
-
opts = {}
|
961
|
-
opts
|
962
|
-
opts[@
|
963
|
-
@
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
971
|
-
|
972
|
-
|
973
|
-
register : (opts, callback)->
|
974
|
-
$.post (@host + @register_url), opts, (resp) =>
|
975
|
-
callback(resp)
|
965
|
+
login : (username, password, opts)->
|
966
|
+
opts.data = {} unless opts.data?
|
967
|
+
opts.url = @host + @login_url
|
968
|
+
opts.data[@login_key] = username
|
969
|
+
opts.data[@password_key] = password
|
970
|
+
@send opts
|
971
|
+
logout : (opts)->
|
972
|
+
opts.data = {}
|
973
|
+
opts.url = @host + @logout_url
|
974
|
+
@send opts
|
975
|
+
register : (data_opts, opts)->
|
976
|
+
opts.data = data_opts
|
977
|
+
opts.url = @host + @register_url
|
978
|
+
@send opts
|
976
979
|
sendInviteCode : (code, callback)->
|
977
980
|
$.post (@host + @enter_code_url), {code : code}, (resp) =>
|
978
981
|
callback(resp)
|
979
|
-
save : (opts) ->
|
980
|
-
opts
|
981
|
-
|
982
|
-
|
983
|
-
url : @host + @save_url
|
984
|
-
data : opts.data
|
985
|
-
progress : opts.progress
|
986
|
-
success : opts.success
|
987
|
-
error : opts.error
|
982
|
+
save : (data_opts, opts) ->
|
983
|
+
opts.data = data_opts
|
984
|
+
opts.url = @host + @save_url
|
985
|
+
@send opts
|
988
986
|
load : (opts) ->
|
989
987
|
opts ||= {}
|
990
988
|
$.ajax_qs
|
@@ -1000,15 +998,7 @@ class @AccountAdapter
|
|
1000
998
|
$.post (@host + @reset_url), opts, (resp) =>
|
1001
999
|
callback(resp) if callback?
|
1002
1000
|
send : (opts)->
|
1003
|
-
|
1004
|
-
opts.success({meta : 500, data : ['An error occurred.']})
|
1005
|
-
$.ajax_qs
|
1006
|
-
type : 'POST'
|
1007
|
-
url : @host + opts.url
|
1008
|
-
data : opts.data
|
1009
|
-
progress : opts.progress
|
1010
|
-
success : opts.success
|
1011
|
-
error : opts.error || def_err_fn
|
1001
|
+
ModelAdapter.send(@host, opts)
|
1012
1002
|
delete : (opts)->
|
1013
1003
|
$.ajax_qs
|
1014
1004
|
type : 'DELETE'
|
@@ -1020,6 +1010,19 @@ class @AccountAdapter
|
|
1020
1010
|
add_method : (fn_name, fn)->
|
1021
1011
|
@[fn_name] = fn.bind(this)
|
1022
1012
|
|
1013
|
+
class @LocalStore
|
1014
|
+
LocalStore.save = (key, val, exp_days, callback)->
|
1015
|
+
Lawnchair ->
|
1016
|
+
@save {key : key, val : val}, callback
|
1017
|
+
LocalStore.get = (key, callback)->
|
1018
|
+
Lawnchair ->
|
1019
|
+
@get key, (data)->
|
1020
|
+
if data?
|
1021
|
+
callback(data.val)
|
1022
|
+
else
|
1023
|
+
callback(null)
|
1024
|
+
|
1025
|
+
|
1023
1026
|
class @AppView extends @View
|
1024
1027
|
constructor : (user_model)->
|
1025
1028
|
@app = this
|
@@ -77,16 +77,18 @@
|
|
77
77
|
+t-4
|
78
78
|
+t-center
|
79
79
|
+t-shadow-dark
|
80
|
+
+border-radius(10px)
|
80
81
|
width: 500px
|
81
|
-
top:
|
82
|
+
top: 10px
|
82
83
|
left: 50%
|
83
84
|
margin-left: -265px
|
84
85
|
z-index: 10000
|
85
86
|
background: $green
|
87
|
+
line-height: 30px
|
86
88
|
color: white
|
87
|
-
border-left: 2px solid $white
|
88
|
-
border-right: 2px solid $white
|
89
|
-
border-bottom: 2px solid $white
|
89
|
+
//border-left: 2px solid $white
|
90
|
+
//border-right: 2px solid $white
|
91
|
+
//border-bottom: 2px solid $white
|
90
92
|
font-weight: bold
|
91
93
|
opacity: 0.9
|
92
94
|
|
@@ -108,6 +110,8 @@
|
|
108
110
|
opacity: 0.9
|
109
111
|
.msg
|
110
112
|
float: left
|
113
|
+
font-size: 20px
|
114
|
+
line-height: 30px
|
111
115
|
.opts
|
112
116
|
float: right
|
113
117
|
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
- 9
|
8
7
|
- 10
|
9
|
-
|
8
|
+
- 0
|
9
|
+
version: 0.10.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Alan Graham
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2012-10-
|
17
|
+
date: 2012-10-15 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|