kolo 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f2649ea90e8f6d4c69e6992f153c4b2778f3cdec
4
+ data.tar.gz: b6d9242e66590f02731cbc020b044a4a42ec1e98
5
+ SHA512:
6
+ metadata.gz: e4cf1637e2af49a9fd860c0bff1d87e19e7979c421f45529f39b7c5790f0e15d796e9a13ec78255cc61e3e677b8e28a7b161ba414dcd3e21ef7c71e66a6f2082
7
+ data.tar.gz: 5fac2549da412032f75e0d0ce8209fc39820ec109dfe1250843b9094471eb1baaa766f46b82ebeb4cfc8d8ac5bb95da241382d8c0821059a81adef8adb7b07ec
@@ -36,8 +36,13 @@ class ViewModel
36
36
  #
37
37
  # It expects models to have an updateAttributes(data) method and a valid method
38
38
  #
39
- # After instantiation you can also set the following hooks:
39
+ # After instantiation you can also set the following hooks (some of these have callback equivalents):
40
40
  # db.sortFunction = function(a, b) { ... }
41
+ # db.onAfterLoad = function(data) { ... }
42
+ # db.onBeforeLoad = function() { ... }
43
+ # db.onAfterDelete = function(data) { ... }
44
+ # db.onAfterSave = function(data) { ... }
45
+ # db.onAfterPost = function(data) { ... }
41
46
 
42
47
  class Db
43
48
  constructor: (@viewModel, @name, url, @pushStateUri)->
@@ -47,6 +52,11 @@ class Db
47
52
  @selected = ko.observable null
48
53
  @plural = "#{@name}s"
49
54
  @sortFunction = null
55
+ @onAfterLoad = null
56
+ @onBeforeLoad = null
57
+ @onAfterDelete = null
58
+ @onAfterSave = null
59
+ @onAfterPost = null
50
60
  @autoLoading = false
51
61
 
52
62
  @url.subscribe (newValue)=>
@@ -81,9 +91,11 @@ class Db
81
91
  if !@selected()
82
92
  @viewModel.systemNotification @plural, 'loading'
83
93
  @viewModel.loading true
94
+ @onBeforeLoad() if @onBeforeLoad?
84
95
  $.get @url(), (data)=>
85
96
  @doLoad(data)
86
97
  afterLoad(data) if afterLoad?
98
+ @onAfterLoad(data) if @onAfterLoad?
87
99
  @viewModel.loading false
88
100
  @viewModel.systemNotification @plural, 'loaded'
89
101
  if autoReload
@@ -103,6 +115,7 @@ class Db
103
115
  data: data
104
116
  success: (data)=>
105
117
  afterPost(data) if afterPost?
118
+ @onAfterPost(data) if @onAfterPost?
106
119
  @viewModel.loading false
107
120
  @viewModel.systemNotification @name, 'saved'
108
121
  @load(false)
@@ -139,6 +152,7 @@ class Db
139
152
  success: (data)=>
140
153
  @selected null
141
154
  afterSave(item) if afterSave?
155
+ @onAfterSave(item) if @onAfterSave?
142
156
  @viewModel.systemNotification @name, 'saved'
143
157
  @viewModel.loading false
144
158
  @load()
@@ -155,6 +169,7 @@ class Db
155
169
  success: (data)=>
156
170
  @selected null
157
171
  afterSave(item) if afterSave?
172
+ @onAfterSave(item) if @onAfterSave?
158
173
  @viewModel.systemNotification @name, 'saved'
159
174
  @viewModel.loading false
160
175
  @load()
@@ -171,6 +186,7 @@ class Db
171
186
  @selected null
172
187
  @items.remove(item)
173
188
  afterDelete() if afterDelete?
189
+ @onAfterDelete(item) if @onAfterDelete?
174
190
  @viewModel.systemNotification @name, 'deleted'
175
191
  @viewModel.loading false
176
192
  @load()
@@ -220,6 +236,13 @@ class Model
220
236
  @select()
221
237
  @editing true
222
238
 
239
+ startDeleting: ->
240
+ @edit()
241
+ @deleting true
242
+
243
+ stopDeleting: ->
244
+ @deleting false
245
+
223
246
  save: ->
224
247
  return unless @valid()
225
248
  @deselect()
data/lib/kolo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kolo
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kolo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
5
- prerelease:
4
+ version: 0.5.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Rahoul Baruah
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-06-27 00:00:00.000000000 Z
11
+ date: 2013-07-16 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,17 +27,15 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  description: A quick way to set up a Rails app with Bootstrap and KnockoutJS
@@ -81,32 +76,25 @@ files:
81
76
  homepage: ''
82
77
  licenses:
83
78
  - LGPL
79
+ metadata: {}
84
80
  post_install_message:
85
81
  rdoc_options: []
86
82
  require_paths:
87
83
  - lib
88
84
  required_ruby_version: !ruby/object:Gem::Requirement
89
- none: false
90
85
  requirements:
91
- - - ! '>='
86
+ - - '>='
92
87
  - !ruby/object:Gem::Version
93
88
  version: '0'
94
- segments:
95
- - 0
96
- hash: 100456755
97
89
  required_rubygems_version: !ruby/object:Gem::Requirement
98
- none: false
99
90
  requirements:
100
- - - ! '>='
91
+ - - '>='
101
92
  - !ruby/object:Gem::Version
102
93
  version: '0'
103
- segments:
104
- - 0
105
- hash: 100456755
106
94
  requirements: []
107
95
  rubyforge_project:
108
- rubygems_version: 1.8.24
96
+ rubygems_version: 2.0.3
109
97
  signing_key:
110
- specification_version: 3
98
+ specification_version: 4
111
99
  summary: A quick way to set up a Rails app with Bootstrap and KnockoutJS
112
100
  test_files: []