quick_script 0.9.10 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,3 @@
1
1
  module QuickScript
2
- VERSION = "0.9.10"
2
+ VERSION = "0.10.0"
3
3
  end
@@ -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, options, cls) ->
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
- #$('#overlay-' + id).css(options)
154
- #$('#overlay-' + id).addClass(cls)
155
- #$('#overlay-' + id).css({'margin-left' : -1 * $('#overlay-' + id).width() / 2})
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').slideDown 'slow', ->
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='button green' data-bind='click : yes'>yes</button><button class='button red' data-bind='click : no'>no</button></div></div>")
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('ul').first().find('li').each (idx, el)->
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('ul').first().children('li').removeClass('selected')
214
- $(element).children('ul').first().children("li##{sel_tab}").addClass('selected')
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
- def_err_fn = ->
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
- class @LocalStore
934
- LocalStore.save = (key, val, exp_days, callback)->
935
- Lawnchair ->
936
- @save {key : key, val : val}, callback
937
- LocalStore.get = (key, callback)->
938
- Lawnchair ->
939
- @get key, (data)->
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, callback)->
960
- opts = {}
961
- opts[@login_key] = username
962
- opts[@password_key] = password
963
- @send
964
- url : @login_url
965
- data : opts
966
- success : (resp) =>
967
- callback(resp)
968
- logout : (callback)->
969
- @send
970
- url : @logout_url
971
- success : (resp) =>
972
- callback(resp)
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
- $.ajax_qs
982
- type : 'POST'
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
- def_err_fn = ->
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
@@ -1,5 +1,11 @@
1
1
  @import mixins
2
2
 
3
+ [class^="icon-"], [class*=" icon-"]
4
+ background-image: image-url("glyphicons-halflings.png")
5
+
6
+ .icon-white
7
+ background-image: image-url("glyphicons-halflings-white.png")
8
+
3
9
  .p-rel
4
10
  +p-rel
5
11
  .p-abs
@@ -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: 0px
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
- version: 0.9.10
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-10 00:00:00 -04:00
17
+ date: 2012-10-15 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies: []
20
20