kolo 0.4.0 → 0.4.2

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.
@@ -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