kolo 0.4.0 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -149,3 +149,26 @@ ko.bindingHandlers.swipedown =
149
149
  Hammer(element).on 'swipedown', (event)->
150
150
  value = valueAccessor()
151
151
  value(event)
152
+
153
+ ko.bindingHandlers.fileupload =
154
+ init: (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext)->
155
+ options = ko.utils.unwrapObservable valueAccessor()
156
+ property = ko.utils.unwrapObservable options.property
157
+ parameter = ko.utils.unwrapObservable options.parameter
158
+ onComplete = ko.utils.unwrapObservable options.onComplete
159
+ url = ko.utils.unwrapObservable options.url
160
+
161
+ return false unless (property && url && parameter)
162
+ element.addEventListener 'drop', (event)=>
163
+ event.stopPropagation()
164
+ event.preventDefault()
165
+ files = event.dataTransfer.files
166
+ return unless files.length > 0
167
+ formData = new FormData
168
+ formData.append parameter, files[0]
169
+ xhr = new XMLHttpRequest
170
+ xhr.addEventListener 'load', (event)->
171
+ viewModel[onComplete]() if viewModel[onComplete]?
172
+ xhr.open 'POST', url
173
+ xhr.send formData
174
+ return true
@@ -55,6 +55,7 @@ class Db
55
55
  @onBeforeLoad = null
56
56
  @onAfterLoad = null
57
57
  @onAfterPost = null
58
+ @onAfterDelete = null
58
59
  @autoLoading = false
59
60
  @url.subscribe (newValue)=>
60
61
  if newValue?
@@ -82,7 +83,7 @@ class Db
82
83
  return false if !@url()? || @url() == ''
83
84
  return true
84
85
 
85
- load: (autoReload = false)=>
86
+ load: (autoReload = false, afterLoad = null)=>
86
87
  return unless @canLoad()
87
88
  if !@selected()
88
89
  viewModel.systemNotification @plural, 'loading'
@@ -91,6 +92,7 @@ class Db
91
92
  $.get @url(), (data)=>
92
93
  @doLoad(data)
93
94
  @onAfterLoad() if @onAfterLoad?
95
+ afterLoad() if afterLoad?
94
96
  viewModel.loading false
95
97
  viewModel.systemNotification @plural, 'loaded'
96
98
  if autoReload
@@ -179,6 +181,7 @@ class Db
179
181
  @selected null
180
182
  @items.remove(item)
181
183
  viewModel.loading false
184
+ @onAfterDelete if @onAfterDelete?
182
185
  @load()
183
186
  return false
184
187
 
data/lib/kolo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kolo
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kolo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-17 00:00:00.000000000 Z
12
+ date: 2013-06-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -93,7 +93,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
93
93
  version: '0'
94
94
  segments:
95
95
  - 0
96
- hash: 223173743
96
+ hash: 412857391
97
97
  required_rubygems_version: !ruby/object:Gem::Requirement
98
98
  none: false
99
99
  requirements:
@@ -102,7 +102,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  version: '0'
103
103
  segments:
104
104
  - 0
105
- hash: 223173743
105
+ hash: 412857391
106
106
  requirements: []
107
107
  rubyforge_project:
108
108
  rubygems_version: 1.8.24