quick_script 0.10.2 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -28,6 +28,10 @@ module QuickScript
28
28
  opts.to_json
29
29
  end
30
30
 
31
+ def json_error(errors, meta = 404, opts = {})
32
+ json_resp({:errors => errors}, meta, opts)
33
+ end
34
+
31
35
  def handle_params
32
36
  @scope = {}
33
37
  @scope[:name] = params[:scope].first.to_sym if params[:scope]
@@ -1,3 +1,3 @@
1
1
  module QuickScript
2
- VERSION = "0.10.2"
2
+ VERSION = "0.11.0"
3
3
  end
@@ -146,7 +146,7 @@ Overlay.closeDialog = ->
146
146
  Overlay.add = (vm, tmp, opts) ->
147
147
  opts ||= {}
148
148
  css_opts = opts.style || {}
149
- cls = opts.class || ''
149
+ cls = opts.className || ''
150
150
  id = vm.name
151
151
  template = tmp
152
152
  #options['z-index'] = Overlay.instance.zindex + 10
@@ -33,6 +33,17 @@
33
33
  # labelStatus - [list, none_str, loading_str]
34
34
  ko.bindingHandlers.listStatus =
35
35
  init : (element, valueAccessor) ->
36
+ opts = ko.utils.unwrapObservable(valueAccessor())
37
+ if opts[0].is_loading()
38
+ $(element).html(opts[2])
39
+ $(element).show()
40
+ else
41
+ if opts[0].hasItems()
42
+ $(element).hide()
43
+ else
44
+ $(element).show()
45
+ $(element).html(opts[1])
46
+ update : (element, valueAccessor) ->
36
47
  opts = ko.utils.unwrapObservable(valueAccessor())
37
48
  opts[0].is_loading.subscribe ->
38
49
  if opts[0].is_loading()
@@ -69,16 +80,15 @@
69
80
  element.addEventListener('touchstart', valueAccessor().bind(viewModel))
70
81
 
71
82
  ko.bindingHandlers.validate =
72
- init : (element, valueAccessor) ->
83
+ update : (element, valueAccessor) ->
73
84
  opts = valueAccessor()
74
- $(element).blur ->
75
- if opts.test()
76
- $(element).removeClass(opts.err_css)
77
- $(element).addClass(opts.ok_css)
78
- else
79
- $(element).removeClass(opts.ok_css)
80
- $(element).addClass(opts.err_css)
81
- opts.on_err() if opts.on_err?
85
+ if opts.test()
86
+ $(element).removeClass(opts.err_css)
87
+ $(element).addClass(opts.ok_css)
88
+ else
89
+ $(element).removeClass(opts.ok_css)
90
+ $(element).addClass(opts.err_css)
91
+ opts.on_err() if opts.on_err?
82
92
 
83
93
  ko.bindingHandlers.cropImage =
84
94
  update : (element, valueAccessor) ->
@@ -244,9 +254,10 @@
244
254
 
245
255
  ko.bindingHandlers.center =
246
256
  init : (element, valueAccessor, bindingsAccessor, viewModel) ->
247
- setTimeout ->
248
- $(element).center()
249
- , 1
257
+ viewModel.task.subscribe ->
258
+ setTimeout ->
259
+ $(element).center()
260
+ , 1
250
261
 
251
262
  ko.bindingHandlers.progressbar =
252
263
  update: (element, valueAccessor) ->
@@ -489,7 +500,7 @@ class @Model
489
500
  err = err || 'unknown'
490
501
  console.log("Save error encountered [" + err + "]")
491
502
  @model_state(ko.modelStates.READY)
492
- callback({meta : 500, data : ['An error occurred']}) if callback?
503
+ callback({meta : 500, data : {errors : ['An error occurred']}}) if callback?
493
504
  @model_state(ko.modelStates.SAVING)
494
505
  reset : ->
495
506
  #@model_state(ko.modelStates.LOADING)
@@ -532,7 +543,11 @@ class @Model
532
543
  for prop in flds
533
544
  if typeof(@[prop].toAPI) == 'function'
534
545
  val = @[prop].toAPI()
535
- obj[prop] = val if val != null
546
+ if val != null
547
+ if val instanceof File
548
+ obj[prop] = val
549
+ else
550
+ obj[prop] = JSON.stringify val
536
551
  else if typeof(@[prop].toJS) == 'function'
537
552
  obj[prop] = @[prop].toJS()
538
553
  else
@@ -942,7 +957,7 @@ class @ModelAdapter
942
957
  @[fn_name] = fn.bind(this)
943
958
  ModelAdapter.send = (host, opts)->
944
959
  def_err_fn = ->
945
- opts.success({meta : 500, data : ['An error occurred.']})
960
+ opts.success({meta : 500, data : {errors : ['An error occurred.']}})
946
961
  opts.type = 'POST' if !opts.type?
947
962
  opts.url = host + opts.url
948
963
  opts.error = def_err_fn unless opts.error?
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 10
8
- - 2
9
- version: 0.10.2
7
+ - 11
8
+ - 0
9
+ version: 0.11.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-18 00:00:00 -04:00
17
+ date: 2012-10-20 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies: []
20
20