netzke-basepack 0.3.10 → 0.4.0
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.
- data/CHANGELOG +10 -0
- data/Manifest +12 -16
- data/Rakefile +1 -1
- data/TODO +3 -1
- data/autotest/discover.rb +3 -0
- data/javascripts/basepack.js +680 -52
- data/lib/app/models/netzke_hash_record.rb +180 -0
- data/lib/app/models/netzke_layout_item.rb +11 -0
- data/lib/netzke/ar_ext.rb +57 -34
- data/lib/netzke/border_layout_panel.rb +0 -1
- data/lib/netzke/db_fields.rb +4 -0
- data/lib/netzke/field_model.rb +131 -0
- data/lib/netzke/fields_configurator.rb +13 -5
- data/lib/netzke/fields_configurator_old.rb +62 -0
- data/lib/netzke/form_panel.rb +18 -24
- data/lib/netzke/form_panel_extras/interface.rb +20 -13
- data/lib/netzke/form_panel_extras/js_builder.rb +4 -1
- data/lib/netzke/grid_panel.rb +37 -40
- data/lib/netzke/grid_panel_extras/interface.rb +22 -18
- data/lib/netzke/grid_panel_extras/js_builder.rb +42 -13
- data/lib/netzke/property_editor_extras/helper_model.rb +2 -1
- data/lib/netzke/tab_panel.rb +15 -11
- data/netzke-basepack.gemspec +10 -10
- data/test/{accordion_panel_test.rb → unit/accordion_panel_test.rb} +0 -0
- data/test/{ar_ext_test.rb → unit/ar_ext_test.rb} +3 -9
- data/test/{grid_panel_test.rb → unit/grid_panel_test.rb} +0 -5
- data/test/{netzke_basepack_test.rb → unit/netzke_basepack_test.rb} +0 -0
- data/test/unit/netzke_hash_record_test.rb +52 -0
- data/test/unit/netzke_layout_item_test.rb +28 -0
- data/test/{tab_panel_test.rb → unit/tab_panel_test.rb} +0 -0
- metadata +30 -30
- data/generators/netzke_basepack/USAGE +0 -8
- data/generators/netzke_basepack/netzke_basepack_generator.rb +0 -8
- data/generators/netzke_form_panel/netzke_form_panel_generator.rb +0 -7
- data/generators/netzke_form_panel/templates/create_netzke_form_panel_fields.rb +0 -21
- data/generators/netzke_grid_panel/netzke_grid_panel_generator.rb +0 -7
- data/generators/netzke_grid_panel/templates/create_netzke_grid_panel_columns.rb +0 -24
- data/lib/app/models/netzke_form_panel_field.rb +0 -51
- data/lib/app/models/netzke_grid_panel_column.rb +0 -56
- data/lib/netzke/form_panel_extras/javascripts/xdatetime.js +0 -634
- data/test/app_root/db/migrate/20090102223811_create_netzke_grid_panel_columns.rb +0 -23
- data/test/border_layout_panel_test.rb +0 -25
@@ -7,8 +7,7 @@ module Netzke
|
|
7
7
|
|
8
8
|
def js_config
|
9
9
|
res = super
|
10
|
-
|
11
|
-
res.merge!(:columns => get_columns || config[:columns]) # first try to get columns from DB, then from config
|
10
|
+
res.merge!(:columns => columns)
|
12
11
|
res.merge!(:data_class_name => config[:data_class_name])
|
13
12
|
res
|
14
13
|
end
|
@@ -83,7 +82,14 @@ module Netzke
|
|
83
82
|
this.cmConfig.push(plugin);
|
84
83
|
|
85
84
|
} else {
|
86
|
-
|
85
|
+
// editor is created by xtype stored in c.editor
|
86
|
+
var editor = (c.readOnly || !config.permissions.update) ? null : Ext.ComponentMgr.create({
|
87
|
+
xtype:c.editor,
|
88
|
+
parentConfig:config,
|
89
|
+
fieldConfig:c,
|
90
|
+
selectOnFocus:true
|
91
|
+
});
|
92
|
+
|
87
93
|
var renderer = Ext.netzke.renderer(c.renderer);
|
88
94
|
|
89
95
|
this.cmConfig.push(Ext.apply({
|
@@ -100,8 +106,7 @@ module Netzke
|
|
100
106
|
}, this);
|
101
107
|
|
102
108
|
var cm = new Ext.grid.ColumnModel(this.cmConfig);
|
103
|
-
|
104
|
-
// this.addEvents("refresh");
|
109
|
+
cm.on('hiddenchange', this.onColumnHiddenChange, this);
|
105
110
|
|
106
111
|
// Filters
|
107
112
|
if (config.enableColumnFilters) {
|
@@ -114,9 +119,9 @@ module Netzke
|
|
114
119
|
}
|
115
120
|
|
116
121
|
config.bbar = (config.rowsPerPage) ? new Ext.PagingToolbar({
|
117
|
-
pageSize:config.rowsPerPage,
|
118
|
-
items:["-", config.bbar],
|
119
|
-
store:ds,
|
122
|
+
pageSize : config.rowsPerPage,
|
123
|
+
items : config.bbar ? ["-", config.bbar] : [],
|
124
|
+
store : ds,
|
120
125
|
emptyMsg:'Empty'}) : config.bbar
|
121
126
|
|
122
127
|
JS
|
@@ -136,7 +141,7 @@ module Netzke
|
|
136
141
|
// auto-load
|
137
142
|
if (this.initialConfig.autoLoadData) {
|
138
143
|
// if we have a paging toolbar, load the first page
|
139
|
-
if (this.getBottomToolbar().changePage) {this.getBottomToolbar().changePage(0);} else {this.store.load();}
|
144
|
+
if (this.getBottomToolbar() && this.getBottomToolbar().changePage) {this.getBottomToolbar().changePage(0);} else {this.store.load();}
|
140
145
|
}
|
141
146
|
}
|
142
147
|
JS
|
@@ -167,8 +172,6 @@ module Netzke
|
|
167
172
|
r.set('id', r.id); // otherwise later r.get('id') returns empty string
|
168
173
|
this.stopEditing();
|
169
174
|
this.store.add(r);
|
170
|
-
// this.store.newRecords = this.store.newRecords || []
|
171
|
-
// this.store.newRecords.push(r);
|
172
175
|
this.tryStartEditing(this.store.indexOf(r));
|
173
176
|
}
|
174
177
|
JS
|
@@ -189,7 +192,6 @@ module Netzke
|
|
189
192
|
var editableColumns = this.getColumnModel().getColumnsBy(function(columnConfig, index){
|
190
193
|
return !columnConfig.hidden && !!columnConfig.editor;
|
191
194
|
});
|
192
|
-
// console.info(editableColumns);
|
193
195
|
var firstEditableColumn = editableColumns[0];
|
194
196
|
if (firstEditableColumn){
|
195
197
|
this.startEditing(row, firstEditableColumn.id);
|
@@ -303,6 +305,18 @@ module Netzke
|
|
303
305
|
}
|
304
306
|
JS
|
305
307
|
|
308
|
+
:on_column_hidden_change => <<-JS.l,
|
309
|
+
function(cm, index, hidden){
|
310
|
+
Ext.Ajax.request({
|
311
|
+
url:this.initialConfig.interface.hideColumn,
|
312
|
+
params:{
|
313
|
+
index:index,
|
314
|
+
hidden:hidden
|
315
|
+
}
|
316
|
+
});
|
317
|
+
}
|
318
|
+
JS
|
319
|
+
|
306
320
|
:on_column_move => <<-JS.l
|
307
321
|
function(oldIndex, newIndex){
|
308
322
|
Ext.Ajax.request({
|
@@ -310,7 +324,22 @@ module Netzke
|
|
310
324
|
params:{
|
311
325
|
old_index:oldIndex,
|
312
326
|
new_index:newIndex
|
313
|
-
}
|
327
|
+
},
|
328
|
+
success : function(response){
|
329
|
+
// we need to reconfigure ArrayReader's recordType in order to correctly interprete
|
330
|
+
// the new order of data fields coming from the server
|
331
|
+
|
332
|
+
// we receive new record order from the server, which is less error-prone than trying to
|
333
|
+
// blindly track the column order on the client side
|
334
|
+
columns = Ext.decode(response.responseText).columns;
|
335
|
+
columnsInNewOrder = [];
|
336
|
+
Ext.each(columns, function(c){
|
337
|
+
columnsInNewOrder.push({name:c});
|
338
|
+
});
|
339
|
+
newRecordType = Ext.data.Record.create(columnsInNewOrder);
|
340
|
+
this.store.reader.recordType = newRecordType; // yes, recordType is a protected property, but that's the only way we can do it, and it seems to work
|
341
|
+
},
|
342
|
+
scope : this
|
314
343
|
});
|
315
344
|
}
|
316
345
|
JS
|
@@ -6,7 +6,8 @@ module Netzke
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def self.exposed_columns
|
9
|
-
preferences = NetzkePreference.find_all_by_widget_name_and_user_id(@@widget_name, Netzke::Base.user && Netzke::Base.user.id)
|
9
|
+
# preferences = NetzkePreference.find_all_by_widget_name_and_user_id(@@widget_name, Netzke::Base.user && Netzke::Base.user.id)
|
10
|
+
preferences = NetzkePreference.find_all_for_widget(@@widget_name)
|
10
11
|
preferences.map{|p| {
|
11
12
|
:name => p.name,
|
12
13
|
:field_label => p.name.gsub('__', "/").humanize,
|
data/lib/netzke/tab_panel.rb
CHANGED
@@ -20,10 +20,9 @@ module Netzke
|
|
20
20
|
:load_item_widget => <<-JS.l
|
21
21
|
function(panel) {
|
22
22
|
if (!panel.getWidget()) {
|
23
|
-
if (
|
24
|
-
//
|
25
|
-
|
26
|
-
panel.add(new Ext.netzke.cache[activeItemConfig.widgetClassName](activeItemConfig));
|
23
|
+
if (preloadedItemConfig = this.initialConfig[panel.widget+"Config"]){
|
24
|
+
// preloaded widget only needs to be instantiated, as its class and configuration have already been loaded
|
25
|
+
panel.add(new Ext.netzke.cache[preloadedItemConfig.widgetClassName](preloadedItemConfig));
|
27
26
|
panel.doLayout(); // always needed after adding a component
|
28
27
|
} else {
|
29
28
|
// load the widget from the server
|
@@ -35,11 +34,16 @@ module Netzke
|
|
35
34
|
}
|
36
35
|
end
|
37
36
|
|
37
|
+
def items
|
38
|
+
@items ||= config[:items]
|
39
|
+
end
|
40
|
+
|
38
41
|
def js_config
|
39
|
-
active_item_config =
|
42
|
+
# active_item_config = items.detect{|i| i[:active]}
|
40
43
|
super.merge({
|
41
44
|
:items => fit_panels,
|
42
|
-
:active_tab =>
|
45
|
+
:active_tab => id_name + '_active'
|
46
|
+
# :active_tab => active_item_config && id_name + '_active'
|
43
47
|
})
|
44
48
|
end
|
45
49
|
|
@@ -50,7 +54,7 @@ module Netzke
|
|
50
54
|
# to remove duplicated active panels
|
51
55
|
seen_active = false
|
52
56
|
|
53
|
-
|
57
|
+
items.each_with_index do |item, i|
|
54
58
|
# if the item is provided without a name, give it a generated name
|
55
59
|
item[:name] ||= "item#{i}"
|
56
60
|
|
@@ -65,8 +69,8 @@ module Netzke
|
|
65
69
|
# the items are late aggregatees, besides the one that is configured active
|
66
70
|
def initial_aggregatees
|
67
71
|
res = {}
|
68
|
-
|
69
|
-
item[:late_aggregation] = !item[:active]
|
72
|
+
items.each_with_index do |item, i|
|
73
|
+
item[:late_aggregation] = !item[:active] && !item[:preloaded]
|
70
74
|
res.merge!(item[:name].to_sym => item)
|
71
75
|
end
|
72
76
|
res
|
@@ -74,7 +78,7 @@ module Netzke
|
|
74
78
|
|
75
79
|
def self.js_default_config
|
76
80
|
super.merge({
|
77
|
-
:id_delimiter => "___", # the default is "__",
|
81
|
+
:id_delimiter => "___", # the default is "__", which conflicts with Netzke
|
78
82
|
:defaults => {:layout => 'fit'}, # all tabs will be Ext.Panel-s with layout 'fit' ("fit-panels")
|
79
83
|
:listeners => {
|
80
84
|
# when tab is activated, its content gets loaded from the server
|
@@ -91,7 +95,7 @@ module Netzke
|
|
91
95
|
|
92
96
|
def fit_panels
|
93
97
|
res = []
|
94
|
-
|
98
|
+
items.each_with_index do |item, i|
|
95
99
|
item_config = {
|
96
100
|
:id => item[:active] && id_name + '_active',
|
97
101
|
:title => item[:title] || (item[:name] && item[:name].humanize),
|
data/netzke-basepack.gemspec
CHANGED
@@ -2,37 +2,37 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{netzke-basepack}
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "0.4.0"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Sergei Kozlov"]
|
9
|
-
s.date = %q{2009-
|
9
|
+
s.date = %q{2009-05-07}
|
10
10
|
s.description = %q{Base Netzke widgets - grid, form, tree, and more}
|
11
11
|
s.email = %q{sergei@writelesscode.com}
|
12
|
-
s.extra_rdoc_files = ["CHANGELOG", "lib/app/models/
|
13
|
-
s.files = ["
|
12
|
+
s.extra_rdoc_files = ["CHANGELOG", "lib/app/models/netzke_hash_record.rb", "lib/app/models/netzke_layout_item.rb", "lib/netzke/accordion_panel.rb", "lib/netzke/ar_ext.rb", "lib/netzke/basic_app.rb", "lib/netzke/border_layout_panel.rb", "lib/netzke/configuration_tool.rb", "lib/netzke/container.rb", "lib/netzke/db_fields.rb", "lib/netzke/field_model.rb", "lib/netzke/fields_configurator.rb", "lib/netzke/fields_configurator_old.rb", "lib/netzke/form_panel.rb", "lib/netzke/form_panel_extras/interface.rb", "lib/netzke/form_panel_extras/javascripts/xcheckbox.js", "lib/netzke/form_panel_extras/js_builder.rb", "lib/netzke/grid_panel.rb", "lib/netzke/grid_panel_extras/interface.rb", "lib/netzke/grid_panel_extras/javascripts/check-column.js", "lib/netzke/grid_panel_extras/javascripts/filters.js", "lib/netzke/grid_panel_extras/js_builder.rb", "lib/netzke/panel.rb", "lib/netzke/property_editor.rb", "lib/netzke/property_editor_extras/helper_model.rb", "lib/netzke/tab_panel.rb", "lib/netzke/table_editor.rb", "lib/netzke/tree_panel.rb", "lib/netzke/wrapper.rb", "lib/netzke-basepack.rb", "LICENSE", "README.rdoc", "tasks/netzke_basepack_tasks.rake", "TODO"]
|
13
|
+
s.files = ["autotest/discover.rb", "CHANGELOG", "init.rb", "install.rb", "javascripts/basepack.js", "lib/app/models/netzke_hash_record.rb", "lib/app/models/netzke_layout_item.rb", "lib/netzke/accordion_panel.rb", "lib/netzke/ar_ext.rb", "lib/netzke/basic_app.rb", "lib/netzke/border_layout_panel.rb", "lib/netzke/configuration_tool.rb", "lib/netzke/container.rb", "lib/netzke/db_fields.rb", "lib/netzke/field_model.rb", "lib/netzke/fields_configurator.rb", "lib/netzke/fields_configurator_old.rb", "lib/netzke/form_panel.rb", "lib/netzke/form_panel_extras/interface.rb", "lib/netzke/form_panel_extras/javascripts/xcheckbox.js", "lib/netzke/form_panel_extras/js_builder.rb", "lib/netzke/grid_panel.rb", "lib/netzke/grid_panel_extras/interface.rb", "lib/netzke/grid_panel_extras/javascripts/check-column.js", "lib/netzke/grid_panel_extras/javascripts/filters.js", "lib/netzke/grid_panel_extras/js_builder.rb", "lib/netzke/panel.rb", "lib/netzke/property_editor.rb", "lib/netzke/property_editor_extras/helper_model.rb", "lib/netzke/tab_panel.rb", "lib/netzke/table_editor.rb", "lib/netzke/tree_panel.rb", "lib/netzke/wrapper.rb", "lib/netzke-basepack.rb", "LICENSE", "Manifest", "Rakefile", "README.rdoc", "stylesheets/basepack.css", "tasks/netzke_basepack_tasks.rake", "test/app_root/app/controllers/application.rb", "test/app_root/app/models/book.rb", "test/app_root/app/models/category.rb", "test/app_root/app/models/city.rb", "test/app_root/app/models/continent.rb", "test/app_root/app/models/country.rb", "test/app_root/app/models/genre.rb", "test/app_root/config/boot.rb", "test/app_root/config/database.yml", "test/app_root/config/environment.rb", "test/app_root/config/environments/in_memory.rb", "test/app_root/config/environments/mysql.rb", "test/app_root/config/environments/postgresql.rb", "test/app_root/config/environments/sqlite.rb", "test/app_root/config/environments/sqlite3.rb", "test/app_root/config/routes.rb", "test/app_root/db/migrate/20081222033343_create_books.rb", "test/app_root/db/migrate/20081222033440_create_genres.rb", "test/app_root/db/migrate/20081222035855_create_netzke_preferences.rb", "test/app_root/db/migrate/20081223024935_create_categories.rb", "test/app_root/db/migrate/20081223025635_create_countries.rb", "test/app_root/db/migrate/20081223025653_create_continents.rb", "test/app_root/db/migrate/20081223025732_create_cities.rb", "test/app_root/db/migrate/20090102223630_create_netzke_layouts.rb", "test/app_root/script/console", "test/app_root/vendor/plugins/acts_as_list/init.rb", "test/app_root/vendor/plugins/acts_as_list/lib/active_record/acts/list.rb", "test/app_root/vendor/plugins/acts_as_list/README", "test/console_with_fixtures.rb", "test/fixtures/books.yml", "test/fixtures/categories.yml", "test/fixtures/cities.yml", "test/fixtures/continents.yml", "test/fixtures/countries.yml", "test/fixtures/genres.yml", "test/schema.rb", "test/test_helper.rb", "test/unit/accordion_panel_test.rb", "test/unit/ar_ext_test.rb", "test/unit/grid_panel_test.rb", "test/unit/netzke_basepack_test.rb", "test/unit/netzke_hash_record_test.rb", "test/unit/netzke_layout_item_test.rb", "test/unit/tab_panel_test.rb", "TODO", "uninstall.rb", "netzke-basepack.gemspec"]
|
14
14
|
s.has_rdoc = true
|
15
15
|
s.homepage = %q{http://writelesscode.com}
|
16
16
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Netzke-basepack", "--main", "README.rdoc"]
|
17
17
|
s.require_paths = ["lib"]
|
18
18
|
s.rubyforge_project = %q{netzke-basepack}
|
19
|
-
s.rubygems_version = %q{1.3.
|
19
|
+
s.rubygems_version = %q{1.3.2}
|
20
20
|
s.summary = %q{Base Netzke widgets - grid, form, tree, and more}
|
21
|
-
s.test_files = ["test/accordion_panel_test.rb", "test/ar_ext_test.rb", "test/
|
21
|
+
s.test_files = ["test/unit/accordion_panel_test.rb", "test/unit/ar_ext_test.rb", "test/unit/grid_panel_test.rb", "test/unit/netzke_basepack_test.rb", "test/unit/netzke_hash_record_test.rb", "test/unit/netzke_layout_item_test.rb", "test/unit/tab_panel_test.rb"]
|
22
22
|
|
23
23
|
if s.respond_to? :specification_version then
|
24
24
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
25
|
-
s.specification_version =
|
25
|
+
s.specification_version = 3
|
26
26
|
|
27
27
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
28
28
|
s.add_runtime_dependency(%q<searchlogic>, [">= 1.6.2"])
|
29
|
-
s.add_runtime_dependency(%q<netzke-core>, [">= 0", "= 0.
|
29
|
+
s.add_runtime_dependency(%q<netzke-core>, [">= 0", "= 0.3.0"])
|
30
30
|
else
|
31
31
|
s.add_dependency(%q<searchlogic>, [">= 1.6.2"])
|
32
|
-
s.add_dependency(%q<netzke-core>, [">= 0", "= 0.
|
32
|
+
s.add_dependency(%q<netzke-core>, [">= 0", "= 0.3.0"])
|
33
33
|
end
|
34
34
|
else
|
35
35
|
s.add_dependency(%q<searchlogic>, [">= 1.6.2"])
|
36
|
-
s.add_dependency(%q<netzke-core>, [">= 0", "= 0.
|
36
|
+
s.add_dependency(%q<netzke-core>, [">= 0", "= 0.3.0"])
|
37
37
|
end
|
38
38
|
end
|
File without changes
|
@@ -9,29 +9,23 @@ class ArExtTest < ActiveSupport::TestCase
|
|
9
9
|
cc = Book.default_column_config(:title)
|
10
10
|
|
11
11
|
assert_equal("Title", cc[:label])
|
12
|
-
assert_equal(:
|
12
|
+
assert_equal(:textfield, cc[:editor])
|
13
13
|
assert(!cc[:height])
|
14
14
|
|
15
15
|
cc = Book.default_column_config({:name => :amount, :label => 'AMOUNT'})
|
16
16
|
|
17
17
|
assert_equal("AMOUNT", cc[:label])
|
18
|
-
assert_equal(:
|
18
|
+
assert_equal(:numberfield, cc[:editor])
|
19
19
|
|
20
20
|
cc = Book.default_column_config(:genre_id)
|
21
21
|
assert_equal("genre__name", cc[:name])
|
22
|
-
assert_equal(:
|
22
|
+
assert_equal(:combobox, cc[:editor])
|
23
23
|
|
24
24
|
cc = Book.default_column_config(:genre__popular)
|
25
25
|
assert_equal(:checkbox, cc[:editor])
|
26
|
-
|
27
|
-
cc = Book.default_column_config(:title)
|
28
|
-
|
29
|
-
# cc = Book.default_field_config(:title)
|
30
|
-
# assert(cc[:height])
|
31
26
|
end
|
32
27
|
|
33
28
|
test "choices for column" do
|
34
|
-
# TODO: test virtual columns, too
|
35
29
|
cities = City.choices_for("name")
|
36
30
|
assert_equal(3, cities.size)
|
37
31
|
assert(cities.include?('Cordoba') && cities.include?('Buenos Aires'))
|
@@ -17,11 +17,6 @@ require 'netzke/ar_ext'
|
|
17
17
|
|
18
18
|
class GridPanelTest < ActiveSupport::TestCase
|
19
19
|
|
20
|
-
test "class configuration" do
|
21
|
-
assert_equal(NetzkeGridPanelColumn, Netzke::GridPanel.column_manager_class)
|
22
|
-
assert_equal(NetzkeLayout, Netzke::GridPanel.layout_manager_class)
|
23
|
-
end
|
24
|
-
|
25
20
|
test "interface" do
|
26
21
|
grid = Netzke::GridPanel.new(:name => 'grid', :data_class_name => 'Book', :layout_manager => false, :columns => [:id, :title, :recent])
|
27
22
|
|
File without changes
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
class NetzkeHashRecordTest < ActiveSupport::TestCase
|
3
|
+
test "adding records" do
|
4
|
+
ahr = NetzkeHashRecord
|
5
|
+
ahr.widget = "my_widget"
|
6
|
+
assert_equal({}, ahr.columns_hash)
|
7
|
+
|
8
|
+
# add a record
|
9
|
+
r = ahr.new
|
10
|
+
r.save
|
11
|
+
assert_equal(1, ahr.count)
|
12
|
+
|
13
|
+
# delete all
|
14
|
+
ahr.delete_all
|
15
|
+
assert_equal(0, ahr.count)
|
16
|
+
|
17
|
+
r = ahr.new({:name => 'One', :amount => 100, :approved => true})
|
18
|
+
r.save
|
19
|
+
r = ahr.new({:name => 'Two', :amount => 200, :approved => false})
|
20
|
+
r.save
|
21
|
+
|
22
|
+
assert_equal(2, ahr.count)
|
23
|
+
assert_equal("One", ahr.first.name)
|
24
|
+
assert_equal(100, ahr.first.amount)
|
25
|
+
assert_equal(true, ahr.first.approved)
|
26
|
+
assert_equal("Two", ahr.last.name)
|
27
|
+
assert_equal(200, ahr.last.amount)
|
28
|
+
assert_equal(false, ahr.last.approved)
|
29
|
+
|
30
|
+
r = ahr.new({:name => 'Three', :amount => 300, :approved => true})
|
31
|
+
r.save
|
32
|
+
|
33
|
+
assert_equal(3, ahr.all.size) # add 3rd record
|
34
|
+
|
35
|
+
# find
|
36
|
+
assert_equal("One", ahr.find(1).name)
|
37
|
+
assert_equal("Three", ahr.find(3).name)
|
38
|
+
|
39
|
+
# deleting records
|
40
|
+
ahr.delete([1,2])
|
41
|
+
assert_equal(1, ahr.count)
|
42
|
+
assert_equal("Three", ahr.last.name)
|
43
|
+
assert_equal(1, ahr.last.id)
|
44
|
+
|
45
|
+
# modifying records
|
46
|
+
r = ahr.first
|
47
|
+
r.name = "New name"
|
48
|
+
r.save
|
49
|
+
|
50
|
+
assert_equal("New name", ahr.first.name)
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
class NetzkeLayoutItemTest < ActiveSupport::TestCase
|
3
|
+
test "moving records" do
|
4
|
+
nli = NetzkeLayoutItem
|
5
|
+
nli.widget = "my_widget"
|
6
|
+
nli.delete_all
|
7
|
+
|
8
|
+
nli.new({:name => "One"}).save
|
9
|
+
nli.new({:name => "Two"}).save
|
10
|
+
nli.new({:name => "Three"}).save
|
11
|
+
|
12
|
+
nli.move_item(0,1)
|
13
|
+
assert_equal(%w{ Two One Three }, nli.all.map(&:name))
|
14
|
+
|
15
|
+
nli.move_item(2,1)
|
16
|
+
assert_equal(%w{ Two Three One }, nli.all.map(&:name))
|
17
|
+
|
18
|
+
nli.move_item(0,2)
|
19
|
+
assert_equal(%w{ Three One Two }, nli.all.map(&:name))
|
20
|
+
|
21
|
+
nli.move_item(2,0)
|
22
|
+
assert_equal(%w{ Two Three One }, nli.all.map(&:name))
|
23
|
+
|
24
|
+
nli.save
|
25
|
+
nli.reload
|
26
|
+
assert_equal(%w{ Two Three One }, nli.all.map(&:name))
|
27
|
+
end
|
28
|
+
end
|
File without changes
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: netzke-basepack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergei Kozlov
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-05-07 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -33,7 +33,7 @@ dependencies:
|
|
33
33
|
version: "0"
|
34
34
|
- - "="
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 0.
|
36
|
+
version: 0.3.0
|
37
37
|
version:
|
38
38
|
description: Base Netzke widgets - grid, form, tree, and more
|
39
39
|
email: sergei@writelesscode.com
|
@@ -43,8 +43,8 @@ extensions: []
|
|
43
43
|
|
44
44
|
extra_rdoc_files:
|
45
45
|
- CHANGELOG
|
46
|
-
- lib/app/models/
|
47
|
-
- lib/app/models/
|
46
|
+
- lib/app/models/netzke_hash_record.rb
|
47
|
+
- lib/app/models/netzke_layout_item.rb
|
48
48
|
- lib/netzke/accordion_panel.rb
|
49
49
|
- lib/netzke/ar_ext.rb
|
50
50
|
- lib/netzke/basic_app.rb
|
@@ -52,11 +52,12 @@ extra_rdoc_files:
|
|
52
52
|
- lib/netzke/configuration_tool.rb
|
53
53
|
- lib/netzke/container.rb
|
54
54
|
- lib/netzke/db_fields.rb
|
55
|
+
- lib/netzke/field_model.rb
|
55
56
|
- lib/netzke/fields_configurator.rb
|
57
|
+
- lib/netzke/fields_configurator_old.rb
|
56
58
|
- lib/netzke/form_panel.rb
|
57
59
|
- lib/netzke/form_panel_extras/interface.rb
|
58
60
|
- lib/netzke/form_panel_extras/javascripts/xcheckbox.js
|
59
|
-
- lib/netzke/form_panel_extras/javascripts/xdatetime.js
|
60
61
|
- lib/netzke/form_panel_extras/js_builder.rb
|
61
62
|
- lib/netzke/grid_panel.rb
|
62
63
|
- lib/netzke/grid_panel_extras/interface.rb
|
@@ -76,18 +77,13 @@ extra_rdoc_files:
|
|
76
77
|
- tasks/netzke_basepack_tasks.rake
|
77
78
|
- TODO
|
78
79
|
files:
|
80
|
+
- autotest/discover.rb
|
79
81
|
- CHANGELOG
|
80
|
-
- generators/netzke_basepack/netzke_basepack_generator.rb
|
81
|
-
- generators/netzke_basepack/USAGE
|
82
|
-
- generators/netzke_form_panel/netzke_form_panel_generator.rb
|
83
|
-
- generators/netzke_form_panel/templates/create_netzke_form_panel_fields.rb
|
84
|
-
- generators/netzke_grid_panel/netzke_grid_panel_generator.rb
|
85
|
-
- generators/netzke_grid_panel/templates/create_netzke_grid_panel_columns.rb
|
86
82
|
- init.rb
|
87
83
|
- install.rb
|
88
84
|
- javascripts/basepack.js
|
89
|
-
- lib/app/models/
|
90
|
-
- lib/app/models/
|
85
|
+
- lib/app/models/netzke_hash_record.rb
|
86
|
+
- lib/app/models/netzke_layout_item.rb
|
91
87
|
- lib/netzke/accordion_panel.rb
|
92
88
|
- lib/netzke/ar_ext.rb
|
93
89
|
- lib/netzke/basic_app.rb
|
@@ -95,11 +91,12 @@ files:
|
|
95
91
|
- lib/netzke/configuration_tool.rb
|
96
92
|
- lib/netzke/container.rb
|
97
93
|
- lib/netzke/db_fields.rb
|
94
|
+
- lib/netzke/field_model.rb
|
98
95
|
- lib/netzke/fields_configurator.rb
|
96
|
+
- lib/netzke/fields_configurator_old.rb
|
99
97
|
- lib/netzke/form_panel.rb
|
100
98
|
- lib/netzke/form_panel_extras/interface.rb
|
101
99
|
- lib/netzke/form_panel_extras/javascripts/xcheckbox.js
|
102
|
-
- lib/netzke/form_panel_extras/javascripts/xdatetime.js
|
103
100
|
- lib/netzke/form_panel_extras/js_builder.rb
|
104
101
|
- lib/netzke/grid_panel.rb
|
105
102
|
- lib/netzke/grid_panel_extras/interface.rb
|
@@ -120,7 +117,6 @@ files:
|
|
120
117
|
- README.rdoc
|
121
118
|
- stylesheets/basepack.css
|
122
119
|
- tasks/netzke_basepack_tasks.rake
|
123
|
-
- test/accordion_panel_test.rb
|
124
120
|
- test/app_root/app/controllers/application.rb
|
125
121
|
- test/app_root/app/models/book.rb
|
126
122
|
- test/app_root/app/models/category.rb
|
@@ -145,13 +141,10 @@ files:
|
|
145
141
|
- test/app_root/db/migrate/20081223025653_create_continents.rb
|
146
142
|
- test/app_root/db/migrate/20081223025732_create_cities.rb
|
147
143
|
- test/app_root/db/migrate/20090102223630_create_netzke_layouts.rb
|
148
|
-
- test/app_root/db/migrate/20090102223811_create_netzke_grid_panel_columns.rb
|
149
144
|
- test/app_root/script/console
|
150
145
|
- test/app_root/vendor/plugins/acts_as_list/init.rb
|
151
146
|
- test/app_root/vendor/plugins/acts_as_list/lib/active_record/acts/list.rb
|
152
147
|
- test/app_root/vendor/plugins/acts_as_list/README
|
153
|
-
- test/ar_ext_test.rb
|
154
|
-
- test/border_layout_panel_test.rb
|
155
148
|
- test/console_with_fixtures.rb
|
156
149
|
- test/fixtures/books.yml
|
157
150
|
- test/fixtures/categories.yml
|
@@ -159,16 +152,22 @@ files:
|
|
159
152
|
- test/fixtures/continents.yml
|
160
153
|
- test/fixtures/countries.yml
|
161
154
|
- test/fixtures/genres.yml
|
162
|
-
- test/grid_panel_test.rb
|
163
|
-
- test/netzke_basepack_test.rb
|
164
155
|
- test/schema.rb
|
165
|
-
- test/tab_panel_test.rb
|
166
156
|
- test/test_helper.rb
|
157
|
+
- test/unit/accordion_panel_test.rb
|
158
|
+
- test/unit/ar_ext_test.rb
|
159
|
+
- test/unit/grid_panel_test.rb
|
160
|
+
- test/unit/netzke_basepack_test.rb
|
161
|
+
- test/unit/netzke_hash_record_test.rb
|
162
|
+
- test/unit/netzke_layout_item_test.rb
|
163
|
+
- test/unit/tab_panel_test.rb
|
167
164
|
- TODO
|
168
165
|
- uninstall.rb
|
169
166
|
- netzke-basepack.gemspec
|
170
167
|
has_rdoc: true
|
171
168
|
homepage: http://writelesscode.com
|
169
|
+
licenses: []
|
170
|
+
|
172
171
|
post_install_message:
|
173
172
|
rdoc_options:
|
174
173
|
- --line-numbers
|
@@ -194,14 +193,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
194
193
|
requirements: []
|
195
194
|
|
196
195
|
rubyforge_project: netzke-basepack
|
197
|
-
rubygems_version: 1.3.
|
196
|
+
rubygems_version: 1.3.2
|
198
197
|
signing_key:
|
199
|
-
specification_version:
|
198
|
+
specification_version: 3
|
200
199
|
summary: Base Netzke widgets - grid, form, tree, and more
|
201
200
|
test_files:
|
202
|
-
- test/accordion_panel_test.rb
|
203
|
-
- test/ar_ext_test.rb
|
204
|
-
- test/
|
205
|
-
- test/
|
206
|
-
- test/
|
207
|
-
- test/
|
201
|
+
- test/unit/accordion_panel_test.rb
|
202
|
+
- test/unit/ar_ext_test.rb
|
203
|
+
- test/unit/grid_panel_test.rb
|
204
|
+
- test/unit/netzke_basepack_test.rb
|
205
|
+
- test/unit/netzke_hash_record_test.rb
|
206
|
+
- test/unit/netzke_layout_item_test.rb
|
207
|
+
- test/unit/tab_panel_test.rb
|