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.
Files changed (42) hide show
  1. data/CHANGELOG +10 -0
  2. data/Manifest +12 -16
  3. data/Rakefile +1 -1
  4. data/TODO +3 -1
  5. data/autotest/discover.rb +3 -0
  6. data/javascripts/basepack.js +680 -52
  7. data/lib/app/models/netzke_hash_record.rb +180 -0
  8. data/lib/app/models/netzke_layout_item.rb +11 -0
  9. data/lib/netzke/ar_ext.rb +57 -34
  10. data/lib/netzke/border_layout_panel.rb +0 -1
  11. data/lib/netzke/db_fields.rb +4 -0
  12. data/lib/netzke/field_model.rb +131 -0
  13. data/lib/netzke/fields_configurator.rb +13 -5
  14. data/lib/netzke/fields_configurator_old.rb +62 -0
  15. data/lib/netzke/form_panel.rb +18 -24
  16. data/lib/netzke/form_panel_extras/interface.rb +20 -13
  17. data/lib/netzke/form_panel_extras/js_builder.rb +4 -1
  18. data/lib/netzke/grid_panel.rb +37 -40
  19. data/lib/netzke/grid_panel_extras/interface.rb +22 -18
  20. data/lib/netzke/grid_panel_extras/js_builder.rb +42 -13
  21. data/lib/netzke/property_editor_extras/helper_model.rb +2 -1
  22. data/lib/netzke/tab_panel.rb +15 -11
  23. data/netzke-basepack.gemspec +10 -10
  24. data/test/{accordion_panel_test.rb → unit/accordion_panel_test.rb} +0 -0
  25. data/test/{ar_ext_test.rb → unit/ar_ext_test.rb} +3 -9
  26. data/test/{grid_panel_test.rb → unit/grid_panel_test.rb} +0 -5
  27. data/test/{netzke_basepack_test.rb → unit/netzke_basepack_test.rb} +0 -0
  28. data/test/unit/netzke_hash_record_test.rb +52 -0
  29. data/test/unit/netzke_layout_item_test.rb +28 -0
  30. data/test/{tab_panel_test.rb → unit/tab_panel_test.rb} +0 -0
  31. metadata +30 -30
  32. data/generators/netzke_basepack/USAGE +0 -8
  33. data/generators/netzke_basepack/netzke_basepack_generator.rb +0 -8
  34. data/generators/netzke_form_panel/netzke_form_panel_generator.rb +0 -7
  35. data/generators/netzke_form_panel/templates/create_netzke_form_panel_fields.rb +0 -21
  36. data/generators/netzke_grid_panel/netzke_grid_panel_generator.rb +0 -7
  37. data/generators/netzke_grid_panel/templates/create_netzke_grid_panel_columns.rb +0 -24
  38. data/lib/app/models/netzke_form_panel_field.rb +0 -51
  39. data/lib/app/models/netzke_grid_panel_column.rb +0 -56
  40. data/lib/netzke/form_panel_extras/javascripts/xdatetime.js +0 -634
  41. data/test/app_root/db/migrate/20090102223811_create_netzke_grid_panel_columns.rb +0 -23
  42. 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
- # we pass column config at the time of instantiating the JS class
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
- var editor = (c.readOnly || !config.permissions.update) ? null : Ext.netzke.editors[c.editor](c, config);
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,
@@ -20,10 +20,9 @@ module Netzke
20
20
  :load_item_widget => <<-JS.l
21
21
  function(panel) {
22
22
  if (!panel.getWidget()) {
23
- if (panel.id === this.id+"_active"){
24
- // active widget only needs to be instantiated, as its class has been loaded already
25
- var activeItemConfig = this.initialConfig[panel.widget+"Config"];
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 = config[:items].detect{|i| i[:active]}
42
+ # active_item_config = items.detect{|i| i[:active]}
40
43
  super.merge({
41
44
  :items => fit_panels,
42
- :active_tab => active_item_config && id_name + '_active'
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
- config[:items].each_with_index do |item, i|
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
- config[:items].each_with_index do |item, i|
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 "__", and it conflicts with Netzke
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
- config[:items].each_with_index do |item, i|
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),
@@ -2,37 +2,37 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{netzke-basepack}
5
- s.version = "0.3.10"
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-04-17}
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/netzke_form_panel_field.rb", "lib/app/models/netzke_grid_panel_column.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/fields_configurator.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/javascripts/xdatetime.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 = ["CHANGELOG", "generators/netzke_basepack/netzke_basepack_generator.rb", "generators/netzke_basepack/USAGE", "generators/netzke_form_panel/netzke_form_panel_generator.rb", "generators/netzke_form_panel/templates/create_netzke_form_panel_fields.rb", "generators/netzke_grid_panel/netzke_grid_panel_generator.rb", "generators/netzke_grid_panel/templates/create_netzke_grid_panel_columns.rb", "init.rb", "install.rb", "javascripts/basepack.js", "lib/app/models/netzke_form_panel_field.rb", "lib/app/models/netzke_grid_panel_column.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/fields_configurator.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/javascripts/xdatetime.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/accordion_panel_test.rb", "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/db/migrate/20090102223811_create_netzke_grid_panel_columns.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/ar_ext_test.rb", "test/border_layout_panel_test.rb", "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/grid_panel_test.rb", "test/netzke_basepack_test.rb", "test/schema.rb", "test/tab_panel_test.rb", "test/test_helper.rb", "TODO", "uninstall.rb", "netzke-basepack.gemspec"]
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.1}
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/border_layout_panel_test.rb", "test/grid_panel_test.rb", "test/netzke_basepack_test.rb", "test/tab_panel_test.rb"]
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 = 2
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.2.11"])
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.2.11"])
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.2.11"])
36
+ s.add_dependency(%q<netzke-core>, [">= 0", "= 0.3.0"])
37
37
  end
38
38
  end
@@ -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(:text_field, cc[:editor])
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(:number_field, cc[:editor])
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(:combo_box, cc[:editor])
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
 
@@ -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.3.10
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-04-17 00:00:00 -04:00
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.2.11
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/netzke_form_panel_field.rb
47
- - lib/app/models/netzke_grid_panel_column.rb
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/netzke_form_panel_field.rb
90
- - lib/app/models/netzke_grid_panel_column.rb
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.1
196
+ rubygems_version: 1.3.2
198
197
  signing_key:
199
- specification_version: 2
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/border_layout_panel_test.rb
205
- - test/grid_panel_test.rb
206
- - test/netzke_basepack_test.rb
207
- - test/tab_panel_test.rb
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