netzke-basepack 1.0.0.0.pre3 → 1.0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -16
- data/LICENSE +1 -1
- data/README.md +1 -1
- data/javascripts/grid/event_handlers.js +5 -11
- data/lib/netzke/basepack/attributes.rb +2 -2
- data/lib/netzke/basepack/data_adapters/active_record_adapter.rb +16 -6
- data/lib/netzke/basepack/version.rb +1 -1
- data/lib/netzke/grid/base.rb +13 -3
- data/lib/netzke/grid/endpoints.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7b071b17635f26304174a2ce41906a80151f5dd
|
4
|
+
data.tar.gz: 87a442885af7cdbbba3bf8c8758c687f8cf58d66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9fcdb725adaec959082a2f9b9cc638dbbd424c329f13ff2086dfdd4a710d46f359544aa9f2831f9000a2246612f3c6a80c2e53993b0156a61439f1f154ef243
|
7
|
+
data.tar.gz: 0ccc9d5f7a241e02a00de6048e0c2dc74ebb0c30fab519bc27a3ead1769d60fe6239646418ca12757ba608c858dfab709824ce7ec5b99b21d67d4106640a8019
|
data/CHANGELOG.md
CHANGED
@@ -1,12 +1,14 @@
|
|
1
|
-
|
1
|
+
# v1.0.0.0 - 2016-01-04
|
2
|
+
|
3
|
+
## Components changed/renamed
|
2
4
|
|
3
5
|
* Base classes of main componens have been renamed from `Netzke::Basepack::{Grid|Form|Tree|Window|Viewport}` to `Netzke::{Grid|Form|Tree|Window|Viewport}::Base`.
|
4
6
|
|
5
|
-
* `Netzke::Basepack::
|
7
|
+
* `Netzke::Basepack::TabPanel` and `Netzke::Basepack::Accordion` have been removed. The only purpose for them was dynamic loading of child components, which didn't prove that useful.
|
6
8
|
|
7
|
-
|
9
|
+
## Form, Grid, Tree
|
8
10
|
|
9
|
-
|
11
|
+
### Breaking changes
|
10
12
|
|
11
13
|
* `strong_default_attrs` config option has been renamed to `strong_values`.
|
12
14
|
|
@@ -14,15 +16,15 @@
|
|
14
16
|
|
15
17
|
* The new `attribute` DSL method and the accompanying `attribute_overrides` config option allow reconfiguring the way specific model attributes are presented by both the grid and the form. The `column` DSL method has been left for configuring what's specific for a column. For details, see [Netzke::Basepack::Attributes](http://www.rubydoc.info/github/netzke/netzke-basepack/Netzke/Basepack/Attributes).
|
16
18
|
|
17
|
-
|
19
|
+
## Form
|
18
20
|
|
19
|
-
|
21
|
+
### Breaking changes
|
20
22
|
|
21
23
|
* The `netzkeSubmit` and `netzkeLoad` endpoints have been renamed to `submit` and `load` respectively; keep this in mind if you override them in your app.
|
22
24
|
|
23
|
-
|
25
|
+
## Grid
|
24
26
|
|
25
|
-
|
27
|
+
### Breaking changes
|
26
28
|
|
27
29
|
* Column/field label for association no longer includes association method name by default. For example, for
|
28
30
|
`author__name` attribute it'll now be "Author", not "Author name".
|
@@ -44,15 +46,15 @@
|
|
44
46
|
|
45
47
|
* The endpoints dropped their prefix `server`; additionally, `serverDelete` has become `destroy`; keep this in mind if you override endpoints in your app.
|
46
48
|
|
47
|
-
* All scope-related configs (including those of the columns) now only accept a Proc
|
49
|
+
* All scope-related configs (including those of the columns) now only accept a Proc or a Hash.
|
48
50
|
|
49
|
-
* Class-level configuration is gone (its sole purpose was to allow reducing the amount of generated JS code - not worth it).
|
51
|
+
* Class-level component configuration is gone (its sole purpose was to allow reducing the amount of generated JS code - not worth it).
|
50
52
|
|
51
53
|
* `enable_edit_in_form`, `enable_edit_inline`, `enable_pagination` options are gone.
|
52
54
|
|
53
55
|
* `enable_extended_search` option is gone.
|
54
56
|
|
55
|
-
|
57
|
+
### New and improved
|
56
58
|
|
57
59
|
* By default, Grid now uses form to add/edit records. Set `edit_inline` to true to use inline editing when possible (implicitly sets `paging` to `true`).
|
58
60
|
|
@@ -62,15 +64,11 @@
|
|
62
64
|
|
63
65
|
* Buttons previously disabled due to permissions are now not added to the bottom bar alltogether.
|
64
66
|
|
65
|
-
#### Added
|
66
|
-
|
67
67
|
* Override new `configure_form` method to specify extra configuration to the forms
|
68
68
|
|
69
69
|
* Warn the user at an attempt to change the page when there are unapplied changes; disable the warning by setting `disable_dirty_page_warning` to `true`.
|
70
70
|
|
71
|
-
* Proper support for decimal datatype
|
72
|
-
|
73
|
-
#### Bugfixes
|
71
|
+
* Proper support for decimal datatype was added
|
74
72
|
|
75
73
|
* Multiediting of reconds now works properly with boolean fields (a tristate selector was implemented).
|
76
74
|
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -103,4 +103,4 @@ If you feel particularily generous, you can donate a couple of bucks weekly at [
|
|
103
103
|
* [Twitter](http://twitter.com/netzke) - latest news about the framework
|
104
104
|
|
105
105
|
---
|
106
|
-
Copyright (c) 2009-
|
106
|
+
Copyright (c) 2009-2016 [Good Bit Labs](http://goodbitlabs.com/), released under the same license as [Ext JS](https://www.sencha.com/legal/#Sencha_Ext_JS)
|
@@ -92,16 +92,6 @@ Ext.define("Netzke.Grid.EventHandlers", {
|
|
92
92
|
}
|
93
93
|
},
|
94
94
|
|
95
|
-
// Not a very clean approach to clean-up. The problem is that this way the advanced search functionality stops being really pluggable. With Ext JS 4 find the way to make it truely so.
|
96
|
-
netzkeOnDestroy: function(){
|
97
|
-
this.callParent();
|
98
|
-
|
99
|
-
// Destroy the search window (here's the problem: we are not supposed to know it exists)
|
100
|
-
if (this.searchWindow) {
|
101
|
-
this.searchWindow.destroy();
|
102
|
-
}
|
103
|
-
},
|
104
|
-
|
105
95
|
netzkeOnAddInForm: function(){
|
106
96
|
this.netzkeLoadComponent("add_window", {
|
107
97
|
callback: function(w) {
|
@@ -167,6 +157,10 @@ Ext.define("Netzke.Grid.EventHandlers", {
|
|
167
157
|
}});
|
168
158
|
},
|
169
159
|
|
160
|
+
/**
|
161
|
+
* Reloads store
|
162
|
+
* @method netzkeReloadStore
|
163
|
+
*/
|
170
164
|
netzkeReloadStore: function(){
|
171
165
|
var store = this.getStore();
|
172
166
|
|
@@ -177,7 +171,7 @@ Ext.define("Netzke.Grid.EventHandlers", {
|
|
177
171
|
},
|
178
172
|
|
179
173
|
/**
|
180
|
-
*
|
174
|
+
* Processes selectionchange event to enable/disable actions.
|
181
175
|
* @method netzkeSetActionEvents
|
182
176
|
* @private
|
183
177
|
*/
|
@@ -70,13 +70,13 @@ module Netzke
|
|
70
70
|
#
|
71
71
|
# [scope]
|
72
72
|
#
|
73
|
-
#
|
73
|
+
# A Proc or a Hash used to scope out one-to-many association options. Same syntax applies as for scoping out records in the grid.
|
74
74
|
#
|
75
75
|
# [filter_association_with]
|
76
76
|
#
|
77
77
|
# A Proc object that receives the relation and the value to filter by. Example:
|
78
78
|
#
|
79
|
-
#
|
79
|
+
# attribute :author__name do |c|
|
80
80
|
# c.filter_association_with = lambda {|rel, value| rel.where("first_name like ? or last_name like ?", "%#{value}%", "%#{value}%" ) }
|
81
81
|
# end
|
82
82
|
#
|
@@ -89,7 +89,8 @@ module Netzke::Basepack::DataAdapters
|
|
89
89
|
# Options for an asssociation attribute
|
90
90
|
|
91
91
|
relation = assoc.klass.all
|
92
|
-
|
92
|
+
|
93
|
+
relation = extend_relation_with_scope(relation, attr[:scope])
|
93
94
|
|
94
95
|
if attr[:filter_association_with]
|
95
96
|
relation = attr[:filter_association_with].call(relation, query).to_a
|
@@ -316,11 +317,7 @@ module Netzke::Basepack::DataAdapters
|
|
316
317
|
relation = relation.where(predicates_for_and_conditions(and_query))
|
317
318
|
end
|
318
319
|
|
319
|
-
|
320
|
-
relation = params[:scope].call(relation)
|
321
|
-
else
|
322
|
-
raise ArgumentError, "Expected scope to be a Proc, got #{params[:scope].class}" unless params[:scope].nil?
|
323
|
-
end
|
320
|
+
relation = extend_relation_with_scope(relation, params[:scope])
|
324
321
|
|
325
322
|
@relation = relation
|
326
323
|
end
|
@@ -443,6 +440,19 @@ module Netzke::Basepack::DataAdapters
|
|
443
440
|
|
444
441
|
private
|
445
442
|
|
443
|
+
def extend_relation_with_scope(relation, scope)
|
444
|
+
case scope
|
445
|
+
when Proc
|
446
|
+
scope.call(relation)
|
447
|
+
when Hash
|
448
|
+
relation.where(scope)
|
449
|
+
when NilClass
|
450
|
+
relation
|
451
|
+
else
|
452
|
+
raise ArgumentError, "Expected scope to be a Proc or a Hash, got #{scope.class}"
|
453
|
+
end
|
454
|
+
end
|
455
|
+
|
446
456
|
def logger
|
447
457
|
Netzke::Base.logger
|
448
458
|
end
|
data/lib/netzke/grid/base.rb
CHANGED
@@ -79,17 +79,27 @@ module Netzke
|
|
79
79
|
#
|
80
80
|
# [scope]
|
81
81
|
#
|
82
|
-
# A Proc
|
83
|
-
# modified relation. For example:
|
82
|
+
# A Proc or a Hash used to scope out grid data. The Proc will receive the current relation as a parameter and must
|
83
|
+
# return the modified relation. For example:
|
84
84
|
#
|
85
85
|
# class Books < Netzke::Basepack::Grid
|
86
86
|
# def configure(c)
|
87
|
-
# c.model = "Book"
|
88
87
|
# super
|
88
|
+
# c.model = Book
|
89
89
|
# c.scope = lambda {|r| r.where(author_id: 1) }
|
90
90
|
# end
|
91
91
|
# end
|
92
92
|
#
|
93
|
+
# Hash is being accepted for conivience, it will be directly passed to `where`. So the above can be rewritten as:
|
94
|
+
#
|
95
|
+
# class Books < Netzke::Basepack::Grid
|
96
|
+
# def configure(c)
|
97
|
+
# super
|
98
|
+
# c.model = Book
|
99
|
+
# c.scope = {author_id: 1}
|
100
|
+
# end
|
101
|
+
# end
|
102
|
+
#
|
93
103
|
# [strong_values]
|
94
104
|
#
|
95
105
|
# A hash of attributes to be merged atop of every created/updated record, e.g. +role_id: 1+
|
@@ -84,7 +84,7 @@ module Netzke
|
|
84
84
|
|
85
85
|
# Attempts a given operation on the data. Checks permissions first.
|
86
86
|
# @param [Symbol] Operation: :create, :read, :update, or :delete
|
87
|
-
# @param [Array] Workload of operation data
|
87
|
+
# @param [Array|Hash] Workload of operation data
|
88
88
|
# @param [Netzke::Core::EndpointResponse] Object collecting response to the client
|
89
89
|
def attempt_operation(op, data, client)
|
90
90
|
if allowed_to?(op)
|
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: netzke-basepack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.0
|
4
|
+
version: 1.0.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Max Gorin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-01-
|
11
|
+
date: 2016-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
|
-
description: A set of feature-rich extendible Netzke components (such as
|
14
|
-
|
15
|
-
|
13
|
+
description: A set of feature-rich extendible Netzke components (such as Grid, Tree,
|
14
|
+
Form, Window) and component extensions which can be used as building blocks for
|
15
|
+
your apps
|
16
16
|
email: max@goodbitlabs.com
|
17
17
|
executables: []
|
18
18
|
extensions: []
|