netzke-basepack 0.1.4.1 → 0.2.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 +13 -8
- data/README.mdown +10 -10
- data/Rakefile +1 -1
- data/css/basepack.css +4 -0
- data/generators/netzke_basepack/netzke_grid_panel_generator.rb +7 -0
- data/generators/netzke_basepack/templates/{create_netzke_grid_columns.rb → create_netzke_grid_panel_columns.rb} +4 -4
- data/javascripts/basepack.js +1 -1
- data/lib/app/models/{netzke_grid_column.rb → netzke_grid_panel_column.rb} +1 -1
- data/lib/netzke-basepack.rb +18 -6
- data/lib/netzke/accordion_panel.rb +73 -0
- data/lib/netzke/ar_ext.rb +51 -25
- data/lib/netzke/border_layout_panel.rb +119 -0
- data/lib/netzke/container.rb +5 -5
- data/lib/netzke/{grid.rb → grid_panel.rb} +30 -25
- data/lib/netzke/{grid_interface.rb → grid_panel_interface.rb} +11 -7
- data/lib/netzke/grid_panel_js_builder.rb +282 -0
- data/lib/netzke/panel.rb +4 -0
- data/lib/netzke/preference_grid.rb +4 -4
- data/lib/netzke/properties_tool.rb +51 -40
- data/lib/netzke/property_grid.rb +3 -3
- data/lib/netzke/wrapper.rb +20 -0
- data/netzke-basepack.gemspec +8 -8
- data/test/app_root/db/migrate/20081222033440_create_genres.rb +1 -0
- data/test/app_root/db/migrate/20081222035855_create_netzke_preferences.rb +1 -1
- data/test/ar_ext_test.rb +10 -2
- data/test/border_layout_panel_test.rb +28 -0
- data/test/{grid_test.rb → grid_panel_test.rb} +5 -4
- data/test/netzke_basepack_test.rb +0 -4
- metadata +26 -17
- data/generators/netzke_basepack/netzke_grid_generator.rb +0 -7
- data/lib/netzke/accordion.rb +0 -11
- data/lib/netzke/grid_js_builder.rb +0 -276
    
        data/lib/netzke/panel.rb
    ADDED
    
    
| @@ -4,7 +4,7 @@ module Netzke | |
| 4 4 | 
             
                def initialize(*args)
         | 
| 5 5 | 
             
                  super
         | 
| 6 6 | 
             
                  config[:default_properties] ||= []
         | 
| 7 | 
            -
                  NetzkePreference. | 
| 7 | 
            +
                  NetzkePreference.widget_name = config[:host_widget_name]
         | 
| 8 8 |  | 
| 9 9 | 
             
                  # Create default properties
         | 
| 10 10 | 
             
                  config[:default_properties].each do |p|
         | 
| @@ -17,9 +17,9 @@ module Netzke | |
| 17 17 | 
             
                  config[:conditions] ||= {}
         | 
| 18 18 |  | 
| 19 19 | 
             
                  data_class = NetzkePreference
         | 
| 20 | 
            -
                  records = data_class.find(:all, :conditions => {: | 
| 20 | 
            +
                  records = data_class.find(:all, :conditions => {:widget_name => config[:host_widget_name]})
         | 
| 21 21 |  | 
| 22 | 
            -
                  NetzkePreference. | 
| 22 | 
            +
                  NetzkePreference.widget_name = config[:host_widget_name]
         | 
| 23 23 |  | 
| 24 24 | 
             
                  source = {}
         | 
| 25 25 | 
             
                  records.each do |r|
         | 
| @@ -31,7 +31,7 @@ module Netzke | |
| 31 31 |  | 
| 32 32 | 
             
                def submit_source(params = {})
         | 
| 33 33 | 
             
                  data = JSON.parse(params[:data])
         | 
| 34 | 
            -
                  NetzkePreference. | 
| 34 | 
            +
                  NetzkePreference.widget_name = config[:host_widget_name]
         | 
| 35 35 | 
             
                  data.each_pair do |k,v|
         | 
| 36 36 | 
             
                    NetzkePreference[k.underscore] = v
         | 
| 37 37 | 
             
                  end
         | 
| @@ -4,63 +4,74 @@ module Netzke | |
| 4 4 | 
             
              #
         | 
| 5 5 | 
             
              module PropertiesTool
         | 
| 6 6 | 
             
                def self.included(base)
         | 
| 7 | 
            +
                  base.extend ClassMethods
         | 
| 8 | 
            +
                  
         | 
| 7 9 | 
             
                  base.class_eval do
         | 
| 8 | 
            -
                     | 
| 10 | 
            +
                    # replacing instance methods
         | 
| 11 | 
            +
                    [:tools, :initial_aggregatees].each{ |m| alias_method_chain m, :properties }
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                    # replacing class methods
         | 
| 14 | 
            +
                    class << self
         | 
| 15 | 
            +
                      alias_method_chain :js_extend_properties, :properties
         | 
| 16 | 
            +
                    end
         | 
| 9 17 | 
             
                  end
         | 
| 10 18 |  | 
| 11 19 | 
             
                  # if you include PropertiesTool, you must define property_widgets method which will returns an array of arrgeratees that will be included in the property window (each in its own tab or accordion pane)
         | 
| 12 20 | 
             
                  raise "property_widgets method undefined" unless base.instance_methods.include?("property_widgets")
         | 
| 13 21 | 
             
                end
         | 
| 14 22 |  | 
| 23 | 
            +
                module ClassMethods
         | 
| 24 | 
            +
                  def js_extend_properties_with_properties
         | 
| 25 | 
            +
                    js_extend_properties_without_properties.merge({
         | 
| 26 | 
            +
                      :show_config => <<-JS.l
         | 
| 27 | 
            +
                        function(){
         | 
| 28 | 
            +
                          var w = new Ext.Window({
         | 
| 29 | 
            +
                            title:'Config',
         | 
| 30 | 
            +
                            layout:'fit',
         | 
| 31 | 
            +
                    				modal:true,
         | 
| 32 | 
            +
                            width:window.innerWidth*.9,
         | 
| 33 | 
            +
                            height:window.innerHeight*.9,
         | 
| 34 | 
            +
                    	      closeAction:'destroy',
         | 
| 35 | 
            +
                    	      buttons:[{
         | 
| 36 | 
            +
                    	        text:'Submit',
         | 
| 37 | 
            +
                    	        handler:function(){this.ownerCt.closeRes = 'OK'; this.ownerCt.destroy()}
         | 
| 38 | 
            +
                    	      }]
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                    			});
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                    			w.show(null, function(){
         | 
| 43 | 
            +
                            w.loadWidget(this.initialConfig.id+"__properties__get_widget");
         | 
| 44 | 
            +
                    			}, this);
         | 
| 45 | 
            +
             | 
| 46 | 
            +
                    			w.on('destroy', function(){
         | 
| 47 | 
            +
                    			  if (w.closeRes == 'OK'){
         | 
| 48 | 
            +
                              widget = this;
         | 
| 49 | 
            +
                    			    if (widget.ownerCt) {
         | 
| 50 | 
            +
                                widget.ownerCt.loadWidget(widget.initialConfig.interface.getWidget);
         | 
| 51 | 
            +
                              } else {
         | 
| 52 | 
            +
                                this.feedback('Reload current window') // no aggregation
         | 
| 53 | 
            +
                              }
         | 
| 54 | 
            +
                    			  }
         | 
| 55 | 
            +
                    			}, this)
         | 
| 56 | 
            +
                        }
         | 
| 57 | 
            +
                      JS
         | 
| 58 | 
            +
                    })
         | 
| 59 | 
            +
                  end
         | 
| 60 | 
            +
                end
         | 
| 61 | 
            +
             | 
| 15 62 | 
             
                def initial_aggregatees_with_properties
         | 
| 16 63 | 
             
                  res = initial_aggregatees_without_properties
         | 
| 17 | 
            -
                  # Add the accordion as aggregatee,  | 
| 18 | 
            -
                  res.merge!(:properties => {:widget_class_name => ' | 
| 64 | 
            +
                  # Add the accordion as aggregatee, which in its turn aggregates widgets from the property_widgets method
         | 
| 65 | 
            +
                  res.merge!(:properties => {:widget_class_name => 'AccordionPanel', :items => property_widgets, :ext_config => {:title => false}, :no_caching => true, :late_aggregation => true}) if config[:ext_config][:config_tool]
         | 
| 19 66 | 
             
                  res
         | 
| 20 67 | 
             
                end
         | 
| 21 68 |  | 
| 22 69 | 
             
                def tools_with_properties
         | 
| 23 70 | 
             
                  tools = tools_without_properties
         | 
| 24 71 | 
             
                  # Add the toolbutton
         | 
| 25 | 
            -
                  tools << {:id => 'gear', :on => {:click => "showConfig"}} if config[:ext_config][: | 
| 72 | 
            +
                  tools << {:id => 'gear', :on => {:click => "showConfig"}} if config[:ext_config][:config_tool]
         | 
| 26 73 | 
             
                  tools
         | 
| 27 74 | 
             
                end
         | 
| 28 75 |  | 
| 29 | 
            -
                def js_extend_properties_with_properties
         | 
| 30 | 
            -
                  js_extend_properties_without_properties.merge({
         | 
| 31 | 
            -
                    :show_config => <<-JS.l
         | 
| 32 | 
            -
                      function(){
         | 
| 33 | 
            -
                        var w = new Ext.Window({
         | 
| 34 | 
            -
                          title:'Config',
         | 
| 35 | 
            -
                          layout:'fit',
         | 
| 36 | 
            -
                  				modal:true,
         | 
| 37 | 
            -
                          width:window.innerWidth*.9,
         | 
| 38 | 
            -
                          height:window.innerHeight*.9,
         | 
| 39 | 
            -
                  	      closeAction:'destroy',
         | 
| 40 | 
            -
                  	      buttons:[{
         | 
| 41 | 
            -
                  	        text:'Submit',
         | 
| 42 | 
            -
                  	        handler:function(){this.ownerCt.closeRes = 'OK'; this.ownerCt.destroy()}
         | 
| 43 | 
            -
                  	      }]
         | 
| 44 | 
            -
             | 
| 45 | 
            -
                  			});
         | 
| 46 | 
            -
                      
         | 
| 47 | 
            -
                  			w.show(null, function(){
         | 
| 48 | 
            -
                          w.loadWidget(this.initialConfig.id+"__properties__get_widget");
         | 
| 49 | 
            -
                  			}, this);
         | 
| 50 | 
            -
             | 
| 51 | 
            -
                  			w.on('destroy', function(){
         | 
| 52 | 
            -
                  			  if (w.closeRes == 'OK'){
         | 
| 53 | 
            -
                            widget = this;
         | 
| 54 | 
            -
                  			    if (widget.ownerCt) {
         | 
| 55 | 
            -
                              widget.ownerCt.loadWidget(widget.initialConfig.interface.getWidget);
         | 
| 56 | 
            -
                            } else {
         | 
| 57 | 
            -
                              this.feedback('Reload current window') // no aggregation
         | 
| 58 | 
            -
                            }
         | 
| 59 | 
            -
                  			  }
         | 
| 60 | 
            -
                  			}, this)
         | 
| 61 | 
            -
                      }
         | 
| 62 | 
            -
                    JS
         | 
| 63 | 
            -
                  })
         | 
| 64 | 
            -
                end
         | 
| 65 76 | 
             
              end
         | 
| 66 77 | 
             
            end
         | 
    
        data/lib/netzke/property_grid.rb
    CHANGED
    
    | @@ -10,7 +10,7 @@ module Netzke | |
| 10 10 | 
             
                  @config = {:ext_config => {}}.merge(@config)
         | 
| 11 11 | 
             
                end
         | 
| 12 12 |  | 
| 13 | 
            -
                def js_base_class
         | 
| 13 | 
            +
                def self.js_base_class
         | 
| 14 14 | 
             
                  "Ext.grid.PropertyGrid"
         | 
| 15 15 | 
             
                end
         | 
| 16 16 |  | 
| @@ -20,13 +20,13 @@ module Netzke | |
| 20 20 | 
             
                  }]
         | 
| 21 21 | 
             
                end
         | 
| 22 22 |  | 
| 23 | 
            -
                def js_default_config
         | 
| 23 | 
            +
                def self.js_default_config
         | 
| 24 24 | 
             
                  super.merge({
         | 
| 25 25 | 
             
                    :bbar => "config.actions".l
         | 
| 26 26 | 
             
                  })
         | 
| 27 27 | 
             
                end
         | 
| 28 28 |  | 
| 29 | 
            -
                def js_extend_properties
         | 
| 29 | 
            +
                def self.js_extend_properties
         | 
| 30 30 | 
             
                  {
         | 
| 31 31 | 
             
                    :submit => <<-JS.l,
         | 
| 32 32 | 
             
                    function() {
         | 
| @@ -0,0 +1,20 @@ | |
| 1 | 
            +
            module Netzke
         | 
| 2 | 
            +
              class Wrapper < Base
         | 
| 3 | 
            +
                def self.js_default_config
         | 
| 4 | 
            +
                  # make us an invisible 'fit'-layout panel
         | 
| 5 | 
            +
                  super.merge({
         | 
| 6 | 
            +
                    :layout => 'fit',
         | 
| 7 | 
            +
                    :title => false,
         | 
| 8 | 
            +
                    :border => false,
         | 
| 9 | 
            +
                    :items => ["new Ext.componentCache[config.itemConfig.widgetClassName](config.itemConfig)".l]
         | 
| 10 | 
            +
                  })
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                def initial_aggregatees
         | 
| 14 | 
            +
                  # item_name = config[:item][:name] ||= 'item'
         | 
| 15 | 
            +
                  # {item_name.to_sym => config[:item]}
         | 
| 16 | 
            +
                  {:item => config[:item]}
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
              end
         | 
| 19 | 
            +
              
         | 
| 20 | 
            +
            end
         | 
    
        data/netzke-basepack.gemspec
    CHANGED
    
    | @@ -2,15 +2,15 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            Gem::Specification.new do |s|
         | 
| 4 4 | 
             
              s.name = %q{netzke-basepack}
         | 
| 5 | 
            -
              s.version = "0. | 
| 5 | 
            +
              s.version = "0.2.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-01- | 
| 9 | 
            +
              s.date = %q{2009-01-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 = ["CHANGELOG", "generators/netzke_basepack/netzke_basepack_generator.rb", "generators/netzke_basepack/ | 
| 12 | 
            +
              s.extra_rdoc_files = ["CHANGELOG", "lib/app/models/netzke_grid_panel_column.rb", "lib/netzke/accordion_panel.rb", "lib/netzke/ar_ext.rb", "lib/netzke/border_layout_panel.rb", "lib/netzke/column.rb", "lib/netzke/container.rb", "lib/netzke/grid_panel.rb", "lib/netzke/grid_panel_interface.rb", "lib/netzke/grid_panel_js_builder.rb", "lib/netzke/panel.rb", "lib/netzke/preference_grid.rb", "lib/netzke/properties_tool.rb", "lib/netzke/property_grid.rb", "lib/netzke/wrapper.rb", "lib/netzke-basepack.rb", "LICENSE", "README.mdown", "tasks/netzke_basepack_tasks.rake"]
         | 
| 13 | 
            +
              s.files = ["CHANGELOG", "css/basepack.css", "generators/netzke_basepack/netzke_basepack_generator.rb", "generators/netzke_basepack/netzke_grid_panel_generator.rb", "generators/netzke_basepack/templates/create_netzke_grid_panel_columns.rb", "generators/netzke_basepack/USAGE", "init.rb", "install.rb", "javascripts/basepack.js", "javascripts/filters.js", "lib/app/models/netzke_grid_panel_column.rb", "lib/netzke/accordion_panel.rb", "lib/netzke/ar_ext.rb", "lib/netzke/border_layout_panel.rb", "lib/netzke/column.rb", "lib/netzke/container.rb", "lib/netzke/grid_panel.rb", "lib/netzke/grid_panel_interface.rb", "lib/netzke/grid_panel_js_builder.rb", "lib/netzke/panel.rb", "lib/netzke/preference_grid.rb", "lib/netzke/properties_tool.rb", "lib/netzke/property_grid.rb", "lib/netzke/wrapper.rb", "lib/netzke-basepack.rb", "LICENSE", "Manifest", "Rakefile", "README.mdown", "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/script/console", "test/ar_ext_test.rb", "test/border_layout_panel_test.rb", "test/column_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/test_helper.rb", "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.mdown"]
         | 
| @@ -18,7 +18,7 @@ Gem::Specification.new do |s| | |
| 18 18 | 
             
              s.rubyforge_project = %q{netzke-basepack}
         | 
| 19 19 | 
             
              s.rubygems_version = %q{1.3.1}
         | 
| 20 20 | 
             
              s.summary = %q{Base Netzke widgets - grid, form, tree, and more}
         | 
| 21 | 
            -
              s.test_files = ["test/ar_ext_test.rb", "test/column_test.rb", "test/ | 
| 21 | 
            +
              s.test_files = ["test/ar_ext_test.rb", "test/border_layout_panel_test.rb", "test/column_test.rb", "test/grid_panel_test.rb", "test/netzke_basepack_test.rb"]
         | 
| 22 22 |  | 
| 23 23 | 
             
              if s.respond_to? :specification_version then
         | 
| 24 24 | 
             
                current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
         | 
| @@ -26,13 +26,13 @@ Gem::Specification.new do |s| | |
| 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.2.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.2.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.2.0"])
         | 
| 37 37 | 
             
              end
         | 
| 38 38 | 
             
            end
         | 
    
        data/test/ar_ext_test.rb
    CHANGED
    
    | @@ -9,12 +9,19 @@ 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[: | 
| 12 | 
            +
                assert_equal(:text_field, cc[:editor])
         | 
| 13 13 |  | 
| 14 14 | 
             
                cc = Book.default_column_config({:name => :amount, :label => 'AMOUNT'})
         | 
| 15 15 |  | 
| 16 16 | 
             
                assert_equal("AMOUNT", cc[:label])
         | 
| 17 | 
            -
                assert_equal(:number_field, cc[: | 
| 17 | 
            +
                assert_equal(:number_field, cc[:editor])
         | 
| 18 | 
            +
                
         | 
| 19 | 
            +
                cc = Book.default_column_config(:genre_id)
         | 
| 20 | 
            +
                assert_equal("genre__name", cc[:name])
         | 
| 21 | 
            +
                assert_equal(:combo_box, cc[:editor])
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                cc = Book.default_column_config(:genre__popular)
         | 
| 24 | 
            +
                assert_equal(:checkbox, cc[:editor])
         | 
| 18 25 | 
             
              end
         | 
| 19 26 |  | 
| 20 27 | 
             
              test "choices for column" do
         | 
| @@ -35,5 +42,6 @@ class ArExtTest < ActiveSupport::TestCase | |
| 35 42 | 
             
                assert_equal(2, cities.size)
         | 
| 36 43 | 
             
                assert(cities.include?('Cordoba') && cities.include?('Concordia'))
         | 
| 37 44 | 
             
              end
         | 
| 45 | 
            +
              
         | 
| 38 46 | 
             
            end
         | 
| 39 47 |  | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            require 'rubygems'
         | 
| 2 | 
            +
            require 'active_support'
         | 
| 3 | 
            +
            require 'active_support/test_case'
         | 
| 4 | 
            +
            require 'test/unit/testcase'
         | 
| 5 | 
            +
            require 'test/unit/autorunner'
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            require 'netzke-core'
         | 
| 8 | 
            +
            require 'netzke/border_layout_panel'
         | 
| 9 | 
            +
            require 'netzke/panel'
         | 
| 10 | 
            +
            require 'netzke/properties_tool'
         | 
| 11 | 
            +
            require 'netzke/grid_js_builder'
         | 
| 12 | 
            +
            require 'netzke/grid_interface'
         | 
| 13 | 
            +
            require 'netzke/grid'
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            class BorderLayoutPanelTest < ActiveSupport::TestCase
         | 
| 16 | 
            +
              test "dependencies" do
         | 
| 17 | 
            +
                widget = Netzke::BorderLayoutPanel.new(:name => 'Bla', :regions => {:center => {:widget_class_name => 'Panel'}, :east => {:widget_class_name => 'GridPanel'}})
         | 
| 18 | 
            +
                
         | 
| 19 | 
            +
                assert(%w{BorderLayoutPanel Panel GridPanel}.all?{|k| widget.dependencies.include?(k)})
         | 
| 20 | 
            +
                
         | 
| 21 | 
            +
                assert(widget.js_missing_code.index("Ext.componentCache['BorderLayoutPanel']"))
         | 
| 22 | 
            +
                assert(widget.js_missing_code.index("Ext.componentCache['Panel']"))
         | 
| 23 | 
            +
                assert(!widget.js_missing_code(%w{GridPanel Panel}).index("Ext.componentCache['GridPanel']"))
         | 
| 24 | 
            +
                assert(!widget.js_missing_code(%w{GridPanel Panel}).index("Ext.componentCache['Panel']"))
         | 
| 25 | 
            +
                assert(!widget.js_missing_code(%w{BorderLayoutPanel}).index("Ext.componentCache['BorderLayoutPanel']"))
         | 
| 26 | 
            +
                
         | 
| 27 | 
            +
              end
         | 
| 28 | 
            +
            end
         | 
| @@ -3,7 +3,7 @@ require 'netzke-core' | |
| 3 3 |  | 
| 4 4 | 
             
            require 'netzke/properties_tool'
         | 
| 5 5 | 
             
            require 'netzke/container'
         | 
| 6 | 
            -
            require 'netzke/ | 
| 6 | 
            +
            require 'netzke/accordion_panel'
         | 
| 7 7 |  | 
| 8 8 | 
             
            require 'netzke/grid_interface'
         | 
| 9 9 | 
             
            require 'netzke/grid_js_builder'
         | 
| @@ -12,10 +12,10 @@ require 'netzke/grid' | |
| 12 12 | 
             
            require 'netzke/ar_ext'
         | 
| 13 13 | 
             
            require 'netzke/column'
         | 
| 14 14 |  | 
| 15 | 
            -
            class  | 
| 15 | 
            +
            class GridPanelTest < ActiveSupport::TestCase
         | 
| 16 16 |  | 
| 17 17 | 
             
              test "interface" do
         | 
| 18 | 
            -
                grid = Netzke:: | 
| 18 | 
            +
                grid = Netzke::GridPanel.new(:name => 'grid', :data_class_name => 'Book', :layout_manager => false, :columns => [:id, :title, :recent])
         | 
| 19 19 |  | 
| 20 20 | 
             
                # post
         | 
| 21 21 | 
             
                grid.post_data(:created_records => [{:title => 'Lord of the Rings'}].to_json)
         | 
| @@ -38,6 +38,7 @@ class GridTest < ActiveSupport::TestCase | |
| 38 38 |  | 
| 39 39 | 
             
              end
         | 
| 40 40 |  | 
| 41 | 
            -
               | 
| 41 | 
            +
              
         | 
| 42 | 
            +
              # TODO: add tests with association column
         | 
| 42 43 |  | 
| 43 44 | 
             
            end
         | 
    
        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.2.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-01- | 
| 12 | 
            +
            date: 2009-01-07 00:00:00 -06: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.2.0
         | 
| 37 37 | 
             
                version: 
         | 
| 38 38 | 
             
            description: Base Netzke widgets - grid, form, tree, and more
         | 
| 39 39 | 
             
            email: sergei@writelesscode.com
         | 
| @@ -43,42 +43,49 @@ extensions: [] | |
| 43 43 |  | 
| 44 44 | 
             
            extra_rdoc_files: 
         | 
| 45 45 | 
             
            - CHANGELOG
         | 
| 46 | 
            -
            - lib/app/models/ | 
| 47 | 
            -
            - lib/netzke/ | 
| 46 | 
            +
            - lib/app/models/netzke_grid_panel_column.rb
         | 
| 47 | 
            +
            - lib/netzke/accordion_panel.rb
         | 
| 48 48 | 
             
            - lib/netzke/ar_ext.rb
         | 
| 49 | 
            +
            - lib/netzke/border_layout_panel.rb
         | 
| 49 50 | 
             
            - lib/netzke/column.rb
         | 
| 50 51 | 
             
            - lib/netzke/container.rb
         | 
| 51 | 
            -
            - lib/netzke/ | 
| 52 | 
            -
            - lib/netzke/ | 
| 53 | 
            -
            - lib/netzke/ | 
| 52 | 
            +
            - lib/netzke/grid_panel.rb
         | 
| 53 | 
            +
            - lib/netzke/grid_panel_interface.rb
         | 
| 54 | 
            +
            - lib/netzke/grid_panel_js_builder.rb
         | 
| 55 | 
            +
            - lib/netzke/panel.rb
         | 
| 54 56 | 
             
            - lib/netzke/preference_grid.rb
         | 
| 55 57 | 
             
            - lib/netzke/properties_tool.rb
         | 
| 56 58 | 
             
            - lib/netzke/property_grid.rb
         | 
| 59 | 
            +
            - lib/netzke/wrapper.rb
         | 
| 57 60 | 
             
            - lib/netzke-basepack.rb
         | 
| 58 61 | 
             
            - LICENSE
         | 
| 59 62 | 
             
            - README.mdown
         | 
| 60 63 | 
             
            - tasks/netzke_basepack_tasks.rake
         | 
| 61 64 | 
             
            files: 
         | 
| 62 65 | 
             
            - CHANGELOG
         | 
| 66 | 
            +
            - css/basepack.css
         | 
| 63 67 | 
             
            - generators/netzke_basepack/netzke_basepack_generator.rb
         | 
| 64 | 
            -
            - generators/netzke_basepack/ | 
| 65 | 
            -
            - generators/netzke_basepack/templates/ | 
| 68 | 
            +
            - generators/netzke_basepack/netzke_grid_panel_generator.rb
         | 
| 69 | 
            +
            - generators/netzke_basepack/templates/create_netzke_grid_panel_columns.rb
         | 
| 66 70 | 
             
            - generators/netzke_basepack/USAGE
         | 
| 67 71 | 
             
            - init.rb
         | 
| 68 72 | 
             
            - install.rb
         | 
| 69 73 | 
             
            - javascripts/basepack.js
         | 
| 70 74 | 
             
            - javascripts/filters.js
         | 
| 71 | 
            -
            - lib/app/models/ | 
| 72 | 
            -
            - lib/netzke/ | 
| 75 | 
            +
            - lib/app/models/netzke_grid_panel_column.rb
         | 
| 76 | 
            +
            - lib/netzke/accordion_panel.rb
         | 
| 73 77 | 
             
            - lib/netzke/ar_ext.rb
         | 
| 78 | 
            +
            - lib/netzke/border_layout_panel.rb
         | 
| 74 79 | 
             
            - lib/netzke/column.rb
         | 
| 75 80 | 
             
            - lib/netzke/container.rb
         | 
| 76 | 
            -
            - lib/netzke/ | 
| 77 | 
            -
            - lib/netzke/ | 
| 78 | 
            -
            - lib/netzke/ | 
| 81 | 
            +
            - lib/netzke/grid_panel.rb
         | 
| 82 | 
            +
            - lib/netzke/grid_panel_interface.rb
         | 
| 83 | 
            +
            - lib/netzke/grid_panel_js_builder.rb
         | 
| 84 | 
            +
            - lib/netzke/panel.rb
         | 
| 79 85 | 
             
            - lib/netzke/preference_grid.rb
         | 
| 80 86 | 
             
            - lib/netzke/properties_tool.rb
         | 
| 81 87 | 
             
            - lib/netzke/property_grid.rb
         | 
| 88 | 
            +
            - lib/netzke/wrapper.rb
         | 
| 82 89 | 
             
            - lib/netzke-basepack.rb
         | 
| 83 90 | 
             
            - LICENSE
         | 
| 84 91 | 
             
            - Manifest
         | 
| @@ -110,6 +117,7 @@ files: | |
| 110 117 | 
             
            - test/app_root/db/migrate/20081223025732_create_cities.rb
         | 
| 111 118 | 
             
            - test/app_root/script/console
         | 
| 112 119 | 
             
            - test/ar_ext_test.rb
         | 
| 120 | 
            +
            - test/border_layout_panel_test.rb
         | 
| 113 121 | 
             
            - test/column_test.rb
         | 
| 114 122 | 
             
            - test/console_with_fixtures.rb
         | 
| 115 123 | 
             
            - test/fixtures/books.yml
         | 
| @@ -118,7 +126,7 @@ files: | |
| 118 126 | 
             
            - test/fixtures/continents.yml
         | 
| 119 127 | 
             
            - test/fixtures/countries.yml
         | 
| 120 128 | 
             
            - test/fixtures/genres.yml
         | 
| 121 | 
            -
            - test/ | 
| 129 | 
            +
            - test/grid_panel_test.rb
         | 
| 122 130 | 
             
            - test/netzke_basepack_test.rb
         | 
| 123 131 | 
             
            - test/schema.rb
         | 
| 124 132 | 
             
            - test/test_helper.rb
         | 
| @@ -157,6 +165,7 @@ specification_version: 2 | |
| 157 165 | 
             
            summary: Base Netzke widgets - grid, form, tree, and more
         | 
| 158 166 | 
             
            test_files: 
         | 
| 159 167 | 
             
            - test/ar_ext_test.rb
         | 
| 168 | 
            +
            - test/border_layout_panel_test.rb
         | 
| 160 169 | 
             
            - test/column_test.rb
         | 
| 161 | 
            -
            - test/ | 
| 170 | 
            +
            - test/grid_panel_test.rb
         | 
| 162 171 | 
             
            - test/netzke_basepack_test.rb
         |