netzke-basepack 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -28,7 +28,7 @@ module Netzke::Plugins
28
28
  module ClassMethods
29
29
  def js_extend_properties_with_config_tool
30
30
  js_extend_properties_without_config_tool.merge({
31
- :gear => <<-END_OF_JAVASCRIPT.l
31
+ :on_gear => <<-END_OF_JAVASCRIPT.l
32
32
  function(){
33
33
  var w = new Ext.Window({
34
34
  title:'Config - '+ this.dataClassName,
@@ -110,7 +110,7 @@ module Netzke::Plugins
110
110
 
111
111
  def js_config_with_config_tool
112
112
  orig_config = js_config_without_config_tool
113
- orig_config.merge(:configurable => config[:persistent_config])
113
+ orig_config.merge(:configurable => persistent_config_enabled?)
114
114
  end
115
115
 
116
116
  def config_tool_needed?
@@ -6,10 +6,8 @@ module Netzke
6
6
  @widget = @passed_config[:widget]
7
7
  end
8
8
 
9
- def independent_config
10
- res = super
11
- res[:ext_config][:bbar] = %w{ restore_defaults }
12
- res
9
+ def default_bbar
10
+ %w{ restore_defaults }
13
11
  end
14
12
 
15
13
  def actions
@@ -33,7 +31,7 @@ module Netzke
33
31
  :label_width => 200,
34
32
 
35
33
  # Disable the 'gear' tool for now
36
- :gear => <<-END_OF_JAVASCRIPT.l,
34
+ :on_gear => <<-END_OF_JAVASCRIPT.l,
37
35
  function(){
38
36
  this.feedback("You can't configure property editor (yet)");
39
37
  }
@@ -79,27 +77,33 @@ module Netzke
79
77
  fields = @widget.class.property_fields
80
78
  data.each_pair do |property, value|
81
79
  field = fields.detect{ |f| f[:name] == property.to_sym }
82
- # default = @widget.config[property].nil? ? field[:default] : @widget.config[property]
83
80
  default = @widget.flat_initial_config(property).nil? ? field[:default] : @widget.flat_initial_config(property)
84
- # Only store the value in persistent config when it's different from the default one
81
+
82
+ new_value = normalize_form_value(value, field)
83
+
84
+ # Only store the value in persistent config when it's different from the default one
85
85
  if field[:type] == :boolean
86
86
  # handle boolean type separately
87
- value = value.to_b
88
- @widget.persistent_config[property] = value ^ default ? value : nil
87
+ @widget.persistent_config[property] = new_value ^ default ? new_value : nil
89
88
  else
90
- if field[:type] == :json
91
- value = ActiveSupport::JSON.decode(value)
92
- end
93
-
94
- # Empty string means "null" for now...
95
- # value = nil if value.blank?
96
- # logger.debug "!!! value: #{value.inspect}\n"
97
-
98
- @widget.persistent_config[property] = default == value ? nil : value
89
+ @widget.persistent_config[property] = default == new_value ? nil : new_value
99
90
  end
100
91
  end
101
92
  {}
102
93
  end
103
94
 
95
+ def normalize_form_value(value, field)
96
+ case field[:type]
97
+ when :boolean
98
+ value.to_b
99
+ when :json
100
+ ActiveSupport::JSON.decode(value) # no need to check for exceptions, as the value has been validated in browser
101
+ when :integer
102
+ value.to_i
103
+ else
104
+ value # TODO: support other types like :date and :datetime
105
+ end
106
+ end
107
+
104
108
  end
105
109
  end
@@ -5,69 +5,21 @@ class Netzke::TreePanel < Netzke::Base
5
5
  "Ext.tree.TreePanel"
6
6
  end
7
7
 
8
- def self.js_common_config_for_constructor
9
- super.merge({
10
- :root => {:text => '/', :id => 'source'},
11
- :loader => {:data_url => "config.api.getChildren".l}
12
- })
13
- end
14
-
15
8
  def self.js_extend_properties
16
9
  {
17
- :refresh_handler => <<-END_OF_JAVASCRIPT.l,
18
- function(){
19
- console.info('refresh!');
20
- }
21
- END_OF_JAVASCRIPT
22
-
23
- :add_handler => <<-END_OF_JAVASCRIPT.l,
24
- function(e){
25
- console.info(e);
26
- }
27
- END_OF_JAVASCRIPT
28
-
29
- :edit_handler => <<-END_OF_JAVASCRIPT.l,
30
- function(e){
31
- console.info(e);
32
-
33
- }
34
- END_OF_JAVASCRIPT
35
-
36
- :delete_handler => <<-END_OF_JAVASCRIPT.l
37
- function(e){
38
- console.info(e);
39
-
40
- }
41
- END_OF_JAVASCRIPT
42
- }
43
- end
44
-
45
- def actions
46
- { :add => {:text => 'Add'},
47
- :edit => {:text => 'Edit'},
48
- :del => {:text => 'Delete', :disabled => true}
10
+ :root => {:text => '/', :id => 'source'}
49
11
  }
50
12
  end
51
13
 
52
- def bbar
53
- persistent_config[:bbar] ||= config[:bbar] == false ? nil : config[:bbar] || %w{ add edit delete }
54
- end
55
-
56
- def tools
57
- persistent_config[:tools] ||= config[:tools] == false ? nil : config[:tools] #|| %w{ gear refresh }
58
- end
59
-
60
- def tbar
61
- persistent_config[:tbar] ||= config[:tbar] == false ? nil : config[:tbar]
62
- end
63
-
64
- def menu
65
- persistent_config[:menu] ||= config[:menu] == false ? nil : config[:menu] # || [{:text => 'Button', :menu => ['edit', {:text => 'Submenu', :menu => ['delete']}]}]
14
+ def js_config
15
+ super.deep_merge({
16
+ :loader => {:data_url => id_name+"__get_children".l}
17
+ })
66
18
  end
67
19
 
68
20
  def get_children(params)
69
21
  klass = config[:data_class_name].constantize
70
22
  node = params[:node] == 'source' ? klass.find_by_parent_id(nil) : klass.find(params[:node].to_i)
71
- node.children.map{|n| {:text => n.name, :id => n.id}}
23
+ node.children.map{|n| {:text => n.name, :id => n.id, :leaf => n.children.empty?}}
72
24
  end
73
25
  end
@@ -23,4 +23,9 @@ left: -24px;
23
23
  /* highilght new records in grid */
24
24
  .grid-dirty-record {
25
25
  background: #fdd;
26
+ }
27
+
28
+ /* StatusBar - fixing forgotten "!important" */
29
+ .x-statusbar .x-status-busy {
30
+ padding-left: 25px !important;
26
31
  }
@@ -6,10 +6,10 @@ class HelperModelTest < ActiveSupport::TestCase
6
6
 
7
7
  test "reading/writing values" do
8
8
  Netzke::FormPanel.config.deep_merge!({
9
+ :persistent_config => true,
9
10
  :ext_config => {
10
11
  :enable_config_tool => true
11
12
  },
12
- :persistent_config => true
13
13
  })
14
14
  form = Netzke::FormPanel.new(:data_class_name => "Book")
15
15
  Netzke::PropertyEditorExtras::HelperModel.widget = form
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.5.2
4
+ version: 0.5.3
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-09-24 00:00:00 -05:00
12
+ date: 2009-10-12 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -60,6 +60,7 @@ files:
60
60
  - lib/netzke/active_record/basepack.rb
61
61
  - lib/netzke/active_record/data_accessor.rb
62
62
  - lib/netzke/basic_app.rb
63
+ - lib/netzke/basic_app_extras/statusbar_ext.js
63
64
  - lib/netzke/border_layout_panel.rb
64
65
  - lib/netzke/configuration_panel.rb
65
66
  - lib/netzke/data_accessor.rb
@@ -72,7 +73,6 @@ files:
72
73
  - lib/netzke/form_panel_js.rb
73
74
  - lib/netzke/grid_panel.rb
74
75
  - lib/netzke/grid_panel_api.rb
75
- - lib/netzke/grid_panel_extras/javascripts/check-column.js
76
76
  - lib/netzke/grid_panel_extras/javascripts/filters.js
77
77
  - lib/netzke/grid_panel_extras/javascripts/rows-dd.js
78
78
  - lib/netzke/grid_panel_js.rb
@@ -86,7 +86,6 @@ files:
86
86
  - lib/netzke/table_editor.rb
87
87
  - lib/netzke/tree_panel.rb
88
88
  - lib/netzke/wrapper.rb
89
- - netzke-basepack.gemspec
90
89
  - stylesheets/basepack.css
91
90
  - tasks/netzke_basepack_tasks.rake
92
91
  - test/app_root/app/controllers/application.rb
@@ -1,33 +0,0 @@
1
- // CheckColumn
2
- Ext.grid.CheckColumn = function(config){
3
- Ext.apply(this, config);
4
- if(!this.id){
5
- this.id = Ext.id();
6
- }
7
- this.renderer = this.renderer.createDelegate(this);
8
- };
9
-
10
- Ext.grid.CheckColumn.prototype ={
11
- init : function(grid){
12
- this.grid = grid;
13
- if (this.disabled) {return;} // SK
14
- this.grid.on('render', function(){
15
- var view = this.grid.getView();
16
- view.mainBody.on('mousedown', this.onMouseDown, this);
17
- }, this);
18
- },
19
-
20
- onMouseDown : function(e, t){
21
- if(t.className && t.className.indexOf('x-grid3-cc-'+this.id) != -1){
22
- e.stopEvent();
23
- var index = this.grid.getView().findRowIndex(t);
24
- var record = this.grid.store.getAt(index);
25
- record.set(this.dataIndex, !record.data[this.dataIndex]);
26
- }
27
- },
28
-
29
- renderer : function(v, p, record){
30
- p.css += ' x-grid3-check-col-td';
31
- return '<div class="x-grid3-check-col'+(v?'-on':'')+' x-grid3-cc-'+this.id+'">&#160;</div>';
32
- }
33
- };
@@ -1,170 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{netzke-basepack}
8
- s.version = "0.5.2"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Sergei Kozlov"]
12
- s.date = %q{2009-09-24}
13
- s.description = %q{Pre-built Netzke widgets for your RIA}
14
- s.email = %q{sergei@playcode.nl}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".autotest",
21
- ".gitignore",
22
- "CHANGELOG.rdoc",
23
- "LICENSE",
24
- "README.rdoc",
25
- "Rakefile",
26
- "TODO.rdoc",
27
- "VERSION",
28
- "autotest/discover.rb",
29
- "init.rb",
30
- "install.rb",
31
- "javascripts/basepack.js",
32
- "lib/app/models/netzke_auto_column.rb",
33
- "lib/netzke-basepack.rb",
34
- "lib/netzke/accordion_panel.rb",
35
- "lib/netzke/active_record/basepack.rb",
36
- "lib/netzke/active_record/data_accessor.rb",
37
- "lib/netzke/basic_app.rb",
38
- "lib/netzke/border_layout_panel.rb",
39
- "lib/netzke/configuration_panel.rb",
40
- "lib/netzke/data_accessor.rb",
41
- "lib/netzke/ext.rb",
42
- "lib/netzke/field_model.rb",
43
- "lib/netzke/fields_configurator.rb",
44
- "lib/netzke/form_panel.rb",
45
- "lib/netzke/form_panel_api.rb",
46
- "lib/netzke/form_panel_extras/javascripts/xcheckbox.js",
47
- "lib/netzke/form_panel_js.rb",
48
- "lib/netzke/grid_panel.rb",
49
- "lib/netzke/grid_panel_api.rb",
50
- "lib/netzke/grid_panel_extras/javascripts/check-column.js",
51
- "lib/netzke/grid_panel_extras/javascripts/filters.js",
52
- "lib/netzke/grid_panel_extras/javascripts/rows-dd.js",
53
- "lib/netzke/grid_panel_js.rb",
54
- "lib/netzke/masquerade_selector.rb",
55
- "lib/netzke/panel.rb",
56
- "lib/netzke/plugins/configuration_tool.rb",
57
- "lib/netzke/property_editor.rb",
58
- "lib/netzke/property_editor_extras/helper_model.rb",
59
- "lib/netzke/search_panel.rb",
60
- "lib/netzke/tab_panel.rb",
61
- "lib/netzke/table_editor.rb",
62
- "lib/netzke/tree_panel.rb",
63
- "lib/netzke/wrapper.rb",
64
- "netzke-basepack.gemspec",
65
- "stylesheets/basepack.css",
66
- "tasks/netzke_basepack_tasks.rake",
67
- "test/app_root/app/controllers/application.rb",
68
- "test/app_root/app/models/book.rb",
69
- "test/app_root/app/models/category.rb",
70
- "test/app_root/app/models/city.rb",
71
- "test/app_root/app/models/continent.rb",
72
- "test/app_root/app/models/country.rb",
73
- "test/app_root/app/models/genre.rb",
74
- "test/app_root/config/boot.rb",
75
- "test/app_root/config/database.yml",
76
- "test/app_root/config/environment.rb",
77
- "test/app_root/config/environments/in_memory.rb",
78
- "test/app_root/config/environments/mysql.rb",
79
- "test/app_root/config/environments/postgresql.rb",
80
- "test/app_root/config/environments/sqlite.rb",
81
- "test/app_root/config/environments/sqlite3.rb",
82
- "test/app_root/config/routes.rb",
83
- "test/app_root/db/migrate/20081222033343_create_books.rb",
84
- "test/app_root/db/migrate/20081222033440_create_genres.rb",
85
- "test/app_root/db/migrate/20081222035855_create_netzke_preferences.rb",
86
- "test/app_root/db/migrate/20081223024935_create_categories.rb",
87
- "test/app_root/db/migrate/20081223025635_create_countries.rb",
88
- "test/app_root/db/migrate/20081223025653_create_continents.rb",
89
- "test/app_root/db/migrate/20081223025732_create_cities.rb",
90
- "test/app_root/db/migrate/20090102223630_create_netzke_layouts.rb",
91
- "test/app_root/script/console",
92
- "test/app_root/vendor/plugins/acts_as_list/README",
93
- "test/app_root/vendor/plugins/acts_as_list/init.rb",
94
- "test/app_root/vendor/plugins/acts_as_list/lib/active_record/acts/list.rb",
95
- "test/console_with_fixtures.rb",
96
- "test/fixtures/books.yml",
97
- "test/fixtures/categories.yml",
98
- "test/fixtures/cities.yml",
99
- "test/fixtures/continents.yml",
100
- "test/fixtures/countries.yml",
101
- "test/fixtures/genres.yml",
102
- "test/schema.rb",
103
- "test/test_helper.rb",
104
- "test/unit/accordion_panel_test.rb",
105
- "test/unit/active_record_basepack_test.rb",
106
- "test/unit/grid_panel_test.rb",
107
- "test/unit/helper_model_test.rb",
108
- "test/unit/netzke_basepack_test.rb",
109
- "test/unit/tab_panel_test.rb",
110
- "uninstall.rb"
111
- ]
112
- s.homepage = %q{http://github.com/skozlov/netzke-basepack}
113
- s.rdoc_options = ["--charset=UTF-8"]
114
- s.require_paths = ["lib"]
115
- s.rubyforge_project = %q{netzke-basepack}
116
- s.rubygems_version = %q{1.3.5}
117
- s.summary = %q{Pre-built Netzke widgets for your RIA}
118
- s.test_files = [
119
- "test/app_root/app/controllers/application.rb",
120
- "test/app_root/app/models/book.rb",
121
- "test/app_root/app/models/category.rb",
122
- "test/app_root/app/models/city.rb",
123
- "test/app_root/app/models/continent.rb",
124
- "test/app_root/app/models/country.rb",
125
- "test/app_root/app/models/genre.rb",
126
- "test/app_root/config/boot.rb",
127
- "test/app_root/config/environment.rb",
128
- "test/app_root/config/environments/in_memory.rb",
129
- "test/app_root/config/environments/mysql.rb",
130
- "test/app_root/config/environments/postgresql.rb",
131
- "test/app_root/config/environments/sqlite.rb",
132
- "test/app_root/config/environments/sqlite3.rb",
133
- "test/app_root/config/routes.rb",
134
- "test/app_root/db/migrate/20081222033343_create_books.rb",
135
- "test/app_root/db/migrate/20081222033440_create_genres.rb",
136
- "test/app_root/db/migrate/20081222035855_create_netzke_preferences.rb",
137
- "test/app_root/db/migrate/20081223024935_create_categories.rb",
138
- "test/app_root/db/migrate/20081223025635_create_countries.rb",
139
- "test/app_root/db/migrate/20081223025653_create_continents.rb",
140
- "test/app_root/db/migrate/20081223025732_create_cities.rb",
141
- "test/app_root/db/migrate/20090102223630_create_netzke_layouts.rb",
142
- "test/app_root/vendor/plugins/acts_as_list/init.rb",
143
- "test/app_root/vendor/plugins/acts_as_list/lib/active_record/acts/list.rb",
144
- "test/console_with_fixtures.rb",
145
- "test/schema.rb",
146
- "test/test_helper.rb",
147
- "test/unit/accordion_panel_test.rb",
148
- "test/unit/active_record_basepack_test.rb",
149
- "test/unit/grid_panel_test.rb",
150
- "test/unit/helper_model_test.rb",
151
- "test/unit/netzke_basepack_test.rb",
152
- "test/unit/tab_panel_test.rb"
153
- ]
154
-
155
- if s.respond_to? :specification_version then
156
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
157
- s.specification_version = 3
158
-
159
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
160
- s.add_runtime_dependency(%q<netzke-core>, [">= 0.4.3"])
161
- s.add_runtime_dependency(%q<searchlogic>, [">= 2.0.0"])
162
- else
163
- s.add_dependency(%q<netzke-core>, [">= 0.4.3"])
164
- s.add_dependency(%q<searchlogic>, [">= 2.0.0"])
165
- end
166
- else
167
- s.add_dependency(%q<netzke-core>, [">= 0.4.3"])
168
- s.add_dependency(%q<searchlogic>, [">= 2.0.0"])
169
- end
170
- end