netzke-core 0.6.2 → 0.6.3

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 (73) hide show
  1. data/CHANGELOG.rdoc +9 -6
  2. data/README.rdoc +14 -15
  3. data/Rakefile +20 -15
  4. data/TODO +1 -1
  5. data/app/controllers/netzke_controller.rb +9 -9
  6. data/app/models/netzke_preference.rb +27 -27
  7. data/features/actions.feature +1 -1
  8. data/features/basic.feature +1 -1
  9. data/features/client-server.feature +1 -1
  10. data/features/component_loader.feature +6 -7
  11. data/features/composition.feature +5 -6
  12. data/features/custom_css.feature +1 -1
  13. data/features/inheritance.feature +0 -1
  14. data/features/persistence.feature +3 -3
  15. data/features/scopes.feature +3 -3
  16. data/features/step_definitions/web_steps.rb +5 -5
  17. data/features/support/env.rb +6 -6
  18. data/generators/netzke_core/netzke_core_generator.rb +2 -2
  19. data/javascripts/core.js +43 -43
  20. data/lib/generators/migration_helper.rb +6 -6
  21. data/lib/generators/netzke/USAGE +2 -3
  22. data/lib/generators/netzke/core_generator.rb +7 -7
  23. data/lib/netzke/actions.rb +18 -18
  24. data/lib/netzke/base.rb +72 -85
  25. data/lib/netzke/composition.rb +30 -30
  26. data/lib/netzke/configuration.rb +15 -15
  27. data/lib/netzke/core/masquerading.rb +3 -3
  28. data/lib/netzke/core/session.rb +1 -1
  29. data/lib/netzke/core/version.rb +1 -1
  30. data/lib/netzke/core.rb +9 -9
  31. data/lib/netzke/core_ext/array.rb +5 -5
  32. data/lib/netzke/core_ext/hash.rb +7 -7
  33. data/lib/netzke/core_ext/string.rb +4 -4
  34. data/lib/netzke/core_ext/symbol.rb +3 -3
  35. data/lib/netzke/embedding.rb +2 -2
  36. data/lib/netzke/ext_component.rb +4 -4
  37. data/lib/netzke/javascript.rb +36 -25
  38. data/lib/netzke/persistence.rb +16 -16
  39. data/lib/netzke/rails/action_view_ext.rb +20 -20
  40. data/lib/netzke/rails/controller_extensions.rb +1 -1
  41. data/lib/netzke/rails/routes.rb +1 -1
  42. data/lib/netzke/services.rb +12 -12
  43. data/lib/netzke/session.rb +4 -4
  44. data/lib/netzke/stylesheets.rb +8 -8
  45. data/lib/netzke-core.rb +2 -2
  46. data/netzke-core.gemspec +4 -5
  47. data/spec/component/actions_spec.rb +18 -18
  48. data/spec/component/base_spec.rb +6 -6
  49. data/spec/component/composition_spec.rb +12 -12
  50. data/spec/component/javascript_spec.rb +2 -2
  51. data/spec/core_ext_spec.rb +3 -3
  52. data/templates/core/create_netzke_preferences.rb +1 -1
  53. data/test/rails_app/app/components/component_loader.rb +8 -8
  54. data/test/rails_app/app/components/component_with_actions.rb +9 -9
  55. data/test/rails_app/app/components/component_with_custom_css.rb +2 -2
  56. data/test/rails_app/app/components/component_with_included_js.rb +5 -5
  57. data/test/rails_app/app/components/component_with_session_persistence.rb +3 -3
  58. data/test/rails_app/app/components/deprecated/server_caller.rb +2 -2
  59. data/test/rails_app/app/components/extended_component_with_actions.rb +1 -1
  60. data/test/rails_app/app/components/extended_server_caller.rb +3 -3
  61. data/test/rails_app/app/components/kinda_complex_component/basic_stuff.rb +8 -8
  62. data/test/rails_app/app/components/kinda_complex_component/extra_stuff.rb +2 -2
  63. data/test/rails_app/app/components/loader_of_component_with_custom_css.rb +2 -2
  64. data/test/rails_app/app/components/server_caller.rb +3 -3
  65. data/test/rails_app/app/components/simple_component.rb +1 -1
  66. data/test/rails_app/app/components/simple_tab_panel.rb +2 -2
  67. data/test/rails_app/app/components/some_composite.rb +16 -16
  68. data/test/rails_app/config/routes.rb +2 -2
  69. data/test/test_helper.rb +1 -1
  70. data/test/unit/core_ext_test.rb +13 -13
  71. data/test/unit/netzke_core_test.rb +20 -20
  72. data/test/unit/netzke_preference_test.rb +12 -12
  73. metadata +6 -6
@@ -6,53 +6,53 @@ module Netzke
6
6
  # it "should be possible to override toolbars without overriding action settings" do
7
7
  # ExtendedComponentWithActions.new.actions[:another_action][:disabled].should == true
8
8
  # end
9
-
9
+
10
10
  class SomeComponent < Base
11
11
  action :action_one
12
12
  action :action_two
13
13
  action :action_three do
14
14
  {:text => "Action three"}
15
15
  end
16
-
16
+
17
17
  js_property :bbar, [:action_one.action, :action_two.action]
18
-
18
+
19
19
  def config
20
20
  {
21
21
  :tbar => [:action_three.action]
22
22
  }
23
23
  end
24
-
24
+
25
25
  def actions
26
26
  super.deep_merge({
27
27
  :action_four => {:text => "Action 4"}
28
28
  })
29
29
  end
30
-
30
+
31
31
  action :action_five, :text => "Action 5"
32
32
  end
33
-
33
+
34
34
  class ExtendedComponent < SomeComponent
35
35
  js_property :bbar, [:action_one.action, :action_two.action, :action_three.action, :action_four.action, :action_five.action]
36
36
  js_property :tbar, [:action_one.action, :action_two.action, :action_three.action, :action_four.action, :action_five.action]
37
37
  end
38
-
38
+
39
39
  class AnotherExtendedComponent < ExtendedComponent
40
40
  action :action_one, :text => "Action 1"
41
41
  action :action_five, :text => "Action Five"
42
-
42
+
43
43
  action :action_two do
44
44
  super().merge :disabled => true, :text => super()[:text] + ", extended"
45
45
  end
46
-
46
+
47
47
  action :action_three do
48
48
  {:text => "Action 3"}
49
49
  end
50
50
  end
51
-
51
+
52
52
  class YetAnotherExtendedComponent < AnotherExtendedComponent
53
53
  action :action_two, :disabled => false
54
54
  end
55
-
55
+
56
56
  # it "should auto collect actions from both js_methods and config" do
57
57
  # component = SomeComponent.new
58
58
  # component.actions.keys.size.should == 5
@@ -62,7 +62,7 @@ module Netzke
62
62
  # component.actions[:action_four][:text].should == "Action 4"
63
63
  # component.actions[:action_five][:text].should == "Action 5"
64
64
  # end
65
-
65
+
66
66
  it "should not override previous actions when reconfiguring bars in child class" do
67
67
  component = ExtendedComponent.new
68
68
  # component.actions.keys.size.should == 5
@@ -72,23 +72,23 @@ module Netzke
72
72
  component.actions[:action_four][:text].should == "Action 4"
73
73
  component.actions[:action_five][:text].should == "Action 5"
74
74
  end
75
-
75
+
76
76
  it "should be possible to override actions in child class" do
77
77
  component = AnotherExtendedComponent.new
78
78
  component.actions[:action_one][:text].should == "Action 1"
79
79
  component.actions[:action_five][:text].should == "Action Five"
80
-
80
+
81
81
  component.actions[:action_two][:text].should == "Action two, extended"
82
82
  component.actions[:action_two][:disabled].should == true
83
-
83
+
84
84
  component.actions[:action_three][:text].should == "Action 3"
85
85
  end
86
-
86
+
87
87
  it "should only override the specified actions" do
88
88
  component = YetAnotherExtendedComponent.new
89
89
  component.actions[:action_two][:disabled].should == false
90
90
  component.actions[:action_two][:text].should == "Action two, extended"
91
91
  end
92
-
93
- end
92
+
93
+ end
94
94
  end
@@ -7,19 +7,19 @@ describe Netzke::Base do
7
7
  class_attribute :with_feature
8
8
  self.with_feature = "yes"
9
9
  end
10
-
10
+
11
11
  class Child < Parent; end
12
-
12
+
13
13
  Parent.with_feature.should == "yes"
14
14
  Child.with_feature.should == "yes"
15
-
15
+
16
16
  Child.with_feature = "no"
17
-
17
+
18
18
  Parent.with_feature.should == "yes"
19
19
  Child.with_feature.should == "no"
20
-
20
+
21
21
  Parent.with_feature = "maybe"
22
22
  Parent.with_feature.should == "maybe"
23
23
  Child.with_feature.should == "no"
24
24
  end
25
- end
25
+ end
@@ -54,13 +54,13 @@ module Netzke
54
54
 
55
55
  class VeryDeepNestedComponent < Base
56
56
  end
57
-
57
+
58
58
  class ComponentOne < Base
59
59
  end
60
-
60
+
61
61
  class ComponentTwo < Base
62
62
  end
63
-
63
+
64
64
  class SomeComposite < Base
65
65
  component :component_one do
66
66
  {
@@ -68,11 +68,11 @@ module Netzke
68
68
  :title => "My Cool Component"
69
69
  }
70
70
  end
71
-
71
+
72
72
  def config
73
73
  {
74
74
  :items => [
75
- {:class_name => "ComponentTwo", :name => "my_component_two"},
75
+ {:class_name => "ComponentTwo", :name => "my_component_two"},
76
76
  {:class_name => "ComponentTwo"} # name omitted, will be "component_two1"
77
77
  ]
78
78
  }.deep_merge super
@@ -96,37 +96,37 @@ module Netzke
96
96
  nested_component_two.global_id.should == 'some_component__nested_two'
97
97
  deep_nested_component.global_id.should == 'some_component__nested_two__nested'
98
98
  end
99
-
99
+
100
100
  it "should be possible to define nested components in different ways" do
101
101
  composite = SomeComposite.new
102
102
  components = composite.components
103
-
103
+
104
104
  components.keys.size.should == 3
105
105
  components[:component_one][:class_name].should == "ComponentOne"
106
106
  components[:my_component_two][:class_name].should == "ComponentTwo"
107
107
  components[:component_two1][:class_name].should == "ComponentTwo"
108
-
108
+
109
109
  end
110
110
 
111
111
  # DIDN'T WORK OUT till now
112
112
  # it "should be possible to override the superclass's declaration of a component" do
113
113
  # composite = SomeComposite.new
114
114
  # composite.components[:component_one][:title].should == "My Cool Component"
115
- #
115
+ #
116
116
  # class ExtendedComposite < SomeComposite
117
117
  # component :component_one do |orig|
118
118
  # orig.merge(:title => orig[:title] + ", extended")
119
119
  # end
120
- #
120
+ #
121
121
  # component :component_two do
122
122
  # {:title => "Another Nested Component"}
123
123
  # end
124
124
  # end
125
- #
125
+ #
126
126
  # extended_composite = ExtendedComposite.new
127
127
  # extended_composite.components[:component_one][:title].should == "My Cool Component, extended"
128
128
  # extended_composite.components[:component_one][:class_name].should == "ComponentOne"
129
129
  # extended_composite.components[:component_two][:title].should == "Another Nested Component"
130
130
  # end
131
- end
131
+ end
132
132
  end
@@ -7,9 +7,9 @@ module Netzke
7
7
  end
8
8
  class InheritedComponent < SomeComponent
9
9
  end
10
-
10
+
11
11
  describe "extends_netzke_component?" do
12
12
  InheritedComponent.extends_netzke_component?.should == true
13
13
  end
14
- end
14
+ end
15
15
  end
@@ -4,10 +4,10 @@ describe "Core extensions" do
4
4
  it "should properly do deep_each_pair" do
5
5
  res = {}
6
6
  {
7
- :one => 1,
8
- :two => {:three => 3},
7
+ :one => 1,
8
+ :two => {:three => 3},
9
9
  :nine => [
10
- {:four => 4, :five => {:six => 6}},
10
+ {:four => 4, :five => {:six => 6}},
11
11
  {:seven => [{:eight => 8}]}
12
12
  ]
13
13
  }.deep_each_pair{ |k,v| res[k] = v }
@@ -1,7 +1,7 @@
1
1
  class CreateNetzkePreferences < ActiveRecord::Migration
2
2
  def self.up
3
3
  drop_table(:netzke_preferences) if table_exists?(:netzke_preferences)
4
-
4
+
5
5
  create_table :netzke_preferences do |t|
6
6
  t.string :key
7
7
  t.text :value
@@ -1,12 +1,12 @@
1
1
  class ComponentLoader < Netzke::Base
2
2
  component :simple_component, :title => "Simple Component", :lazy_loading => true
3
-
3
+
4
4
  component :component_loaded_in_window, {
5
5
  :class_name => "SimpleComponent",
6
6
  :title => "Component loaded in window",
7
7
  :lazy_loading => true
8
8
  }
9
-
9
+
10
10
  component :window_with_simple_component, {
11
11
  :class_name => "SimpleWindow",
12
12
  :items => [{
@@ -15,7 +15,7 @@ class ComponentLoader < Netzke::Base
15
15
  }],
16
16
  :lazy_loading => true
17
17
  }
18
-
18
+
19
19
  js_method :on_load_with_feedback, <<-JS
20
20
  function(){
21
21
  this.loadComponent({name: 'simple_component', callback: function(){
@@ -25,7 +25,7 @@ class ComponentLoader < Netzke::Base
25
25
  JS
26
26
 
27
27
  action :load_with_feedback
28
-
28
+
29
29
  action :load_window_with_simple_component
30
30
 
31
31
  js_properties(
@@ -33,21 +33,21 @@ class ComponentLoader < Netzke::Base
33
33
  :layout => "fit",
34
34
  :bbar => [{:text => "Load component", :ref => "../button"}, {:text => "Load in window", :ref => "../loadInWindowButton"}, :load_with_feedback.action, :load_window_with_simple_component.action]
35
35
  )
36
-
36
+
37
37
  js_method :on_load_window_with_simple_component, <<-JS
38
38
  function(params){
39
39
  this.loadComponent({name: "window_with_simple_component"});
40
40
  }
41
41
  JS
42
-
42
+
43
43
  js_method :init_component, <<-JS
44
44
  function(){
45
45
  #{js_full_class_name}.superclass.initComponent.call(this);
46
-
46
+
47
47
  this.button.on('click', function(){
48
48
  this.loadComponent({name: 'simple_component', container: this.getId()});
49
49
  }, this);
50
-
50
+
51
51
  this.loadInWindowButton.on('click', function(){
52
52
  var w = new Ext.Window({width: 500, height: 400, modal: true, layout:'fit'});
53
53
  w.show(null, function(){
@@ -1,21 +1,21 @@
1
1
  class ComponentWithActions < Netzke::Base
2
2
  # Define actions as a hash
3
3
  action :another_action, :disabled => true, :text => "Disabled action", :icon => :accept
4
-
4
+
5
5
  # ... or as a block returning hash
6
6
  action :some_action do
7
7
  {:text => "Some Cool Action", :icon => Netzke::Core.icons_uri + "/delete.png"}
8
8
  end
9
-
9
+
10
10
  # ... or directly as a method
11
11
  def _my_action_action
12
12
  {:text => "Not used"}
13
13
  end
14
-
14
+
15
15
  js_property :title, "Panel that has actions"
16
-
16
+
17
17
  js_property :bbar, [:some_action.action, :another_action.action]
18
-
18
+
19
19
  js_property :tbar, [{
20
20
  :xtype => 'buttongroup',
21
21
  :columns => 3,
@@ -37,22 +37,22 @@ class ComponentWithActions < Netzke::Base
37
37
  :menu => [:some_action.action]
38
38
  },{
39
39
  :xtype => 'splitbutton', :text => 'Cut', :menu => [:another_action.action]
40
- }, :another_action.action,
40
+ }, :another_action.action,
41
41
  {
42
42
  :menu => [:some_action.action], :text => 'Format'
43
43
  }]
44
44
  }]
45
-
45
+
46
46
  js_method :on_some_action, <<-JS
47
47
  function(){
48
48
  this.update("Some action was triggered");
49
49
  }
50
50
  JS
51
-
51
+
52
52
  js_method :on_another_action, <<-JS
53
53
  function(){
54
54
  this.update("Another action was triggered");
55
55
  }
56
56
  JS
57
-
57
+
58
58
  end
@@ -1,8 +1,8 @@
1
1
  # This component has the header hidden by custom CSS
2
2
  class ComponentWithCustomCss < Netzke::Base
3
3
  js_property :title, "ComponentWithCustomCss"
4
-
4
+
5
5
  js_property :html, "A component with the header hidden by means of custom CSS"
6
-
6
+
7
7
  css_include "#{File.dirname(__FILE__)}/custom.css"
8
8
  end
@@ -1,16 +1,16 @@
1
1
  class ComponentWithIncludedJs < Netzke::Base
2
2
  js_include "#{File.dirname(__FILE__)}/included.js"
3
-
3
+
4
4
  js_base_class "Netzke.ComponentWithIncludedJs"
5
-
5
+
6
6
  action :print_message
7
-
7
+
8
8
  js_property :bbar, [:print_message.action]
9
-
9
+
10
10
  js_method :on_print_message, <<-JS
11
11
  function(){
12
12
  this.updateBodyWithMessage("Some message " + "shown in the body");
13
13
  }
14
14
  JS
15
-
15
+
16
16
  end
@@ -1,7 +1,7 @@
1
1
  class ComponentWithSessionPersistence < Netzke::Base
2
2
  js_property :title, "No Title (yet!)"
3
3
  js_property :bbar, [{:text => "Tell server to store new title", :ref => "../button"}]
4
-
4
+
5
5
  config :default, :session_persistence => true
6
6
 
7
7
  js_method :bug_server, <<-JS
@@ -16,10 +16,10 @@ class ComponentWithSessionPersistence < Netzke::Base
16
16
  this.button.on('click', this.bugServer, this);
17
17
  }
18
18
  JS
19
-
19
+
20
20
  endpoint :whats_up do |params|
21
21
  update_session_options(:title => "New Title!")
22
22
  {}
23
23
  end
24
-
24
+
25
25
  end
@@ -2,7 +2,7 @@ module Deprecated
2
2
  class ServerCaller < Netzke::Base
3
3
  js_properties :title => "Server caller",
4
4
  :bbar => [:call_server.action]
5
-
5
+
6
6
  js_method :on_call_server, <<-JS
7
7
  function(){
8
8
  this.whatsUp();
@@ -12,7 +12,7 @@ module Deprecated
12
12
  ActiveSupport::Deprecation.silence do
13
13
  api :whats_up
14
14
  end
15
-
15
+
16
16
  def whats_up(params)
17
17
  {:set_title => "Hello from the server!"}
18
18
  end
@@ -1,5 +1,5 @@
1
1
  class ExtendedComponentWithActions < ComponentWithActions
2
2
  js_property :bbar, [:another_action.action]
3
-
3
+
4
4
  action :some_action, :icon => :tick
5
5
  end
@@ -1,7 +1,7 @@
1
1
  class ExtendedServerCaller < ServerCaller
2
-
2
+
3
3
  js_properties :title => "Extended Server Caller"
4
-
4
+
5
5
  js_method :on_bug_server, <<-JS
6
6
  function(){
7
7
  #{js_full_class_name}.superclass.onBugServer.call(this);
@@ -14,5 +14,5 @@ class ExtendedServerCaller < ServerCaller
14
14
  orig = super
15
15
  orig.merge(:set_title => orig[:set_title] + ", shiny weather")
16
16
  end
17
-
17
+
18
18
  end
@@ -2,34 +2,34 @@ class KindaComplexComponent < Netzke::Base
2
2
  # Note the use of ActiveSupport::Concern module
3
3
  module BasicStuff
4
4
  extend ActiveSupport::Concern
5
-
5
+
6
6
  included do
7
7
  action :some_action
8
8
  action :another_action
9
-
9
+
10
10
  # Calling main class' methods is simple
11
11
  js_method :on_some_action, <<-JS
12
12
  function(){ this.items.last().setTitle("Action triggered"); }
13
13
  JS
14
-
14
+
15
15
  # Another way of defining a JS method
16
16
  js_method :on_another_action do
17
17
  <<-JS
18
18
  function(){ this.items.first().setTitle("Another action triggered"); }
19
19
  JS
20
20
  end
21
-
21
+
22
22
  js_properties(
23
23
  :active_tab => 0, :bbar => [:some_action.action, :another_action.action]
24
24
  )
25
-
25
+
26
26
  # Instance method, overridden in the ExtraStuff module
27
- # config
27
+ # config
28
28
  end
29
-
29
+
30
30
  def final_config
31
31
  super.merge(:items => [{:title => "Panel One"}, {:title => "Panel Two"}])
32
32
  end
33
-
33
+
34
34
  end
35
35
  end
@@ -1,11 +1,11 @@
1
1
  class KindaComplexComponent < Netzke::Base
2
2
  module ExtraStuff
3
3
  extend ActiveSupport::Concern
4
-
4
+
5
5
  included do
6
6
  component :server_caller
7
7
  end
8
-
8
+
9
9
  # Let's add another tab with a Netzke component in it
10
10
  def final_config
11
11
  orig = super
@@ -1,9 +1,9 @@
1
1
  # Loads a component with custom CSS, to make sure that also dynamically loaded components get the correct CSS applied
2
2
  class LoaderOfComponentWithCustomCss < Netzke::Base
3
3
  component :component_with_custom_css, :class_name => "ComponentWithCustomCss", :lazy_loading => true
4
-
4
+
5
5
  js_properties :title => "LoaderOfComponentWithCustomCss", :layout => 'fit', :bbar => [{:text => "Load ComponentWithCustomCss", :ref => "../button"}]
6
-
6
+
7
7
  js_method :init_component, <<-JS
8
8
  function(){
9
9
  #{js_full_class_name}.superclass.initComponent.call(this);
@@ -1,12 +1,12 @@
1
1
  class ServerCaller < Netzke::Base
2
2
  action :bug_server, :text => "Call server"
3
-
3
+
4
4
  js_properties(
5
5
  :title => "Server Caller",
6
6
  :html => "Wow",
7
7
  :bbar => [:bug_server.action]
8
8
  )
9
-
9
+
10
10
  js_method :on_bug_server, <<-JS
11
11
  function(){
12
12
  this.whatsUp();
@@ -17,5 +17,5 @@ class ServerCaller < Netzke::Base
17
17
  endpoint :whats_up do |params|
18
18
  {:set_title => "All quiet here on the server"}
19
19
  end
20
-
20
+
21
21
  end
@@ -1,5 +1,5 @@
1
1
  class SimpleComponent < Netzke::Base
2
- js_properties :title => "SimpleComponent",
2
+ js_properties :title => "SimpleComponent",
3
3
  :html => "Inner text"
4
4
  end
5
5
 
@@ -1,8 +1,8 @@
1
1
  class SimpleTabPanel < Netzke::Base
2
2
  js_base_class "Ext.TabPanel"
3
-
3
+
4
4
  js_property :active_tab, 0
5
-
5
+
6
6
  config :items => [{
7
7
  # Loading a primitive BorderLayoutPanel here
8
8
  :class_name => "BorderLayoutPanel",
@@ -1,65 +1,65 @@
1
1
  class SomeComposite < Netzke::Base
2
- js_properties :title => "Static Composite",
2
+ js_properties :title => "Static Composite",
3
3
  :layout => 'border',
4
4
  :bbar => [
5
- :update_west_panel.action,
5
+ :update_west_panel.action,
6
6
  :update_center_panel.action,
7
7
  :update_west_from_server.action,
8
8
  :update_east_south_from_server.action
9
9
  ]
10
-
10
+
11
11
  action :update_center_panel
12
12
  action :update_west_panel
13
13
  action :update_west_from_server
14
14
  action :update_east_south_from_server
15
-
15
+
16
16
  config :items => [
17
17
  :center_panel.component(:region => 'center'),
18
18
  :west_panel.component(:region => 'west', :width => 300, :split => true),
19
19
  {:layout => 'border', :region => :east, :width => 500, :split => true, :items => [
20
- :east_center_panel.component(:region => :center),
20
+ :east_center_panel.component(:region => :center),
21
21
  :east_south_panel.component(:region => :south, :height => 200, :split => true)
22
22
  ]},
23
23
  ]
24
-
24
+
25
25
  component :west_panel, :class_name => "ExtendedServerCaller"
26
-
26
+
27
27
  component :center_panel, :class_name => "ServerCaller"
28
-
28
+
29
29
  component :east_center_panel, :class_name => "SimpleComponent", :title => "A panel"
30
-
30
+
31
31
  component :east_south_panel, :class_name => "SimpleComponent", :title => "Another panel"
32
-
32
+
33
33
  endpoint :update_east_south do |params|
34
34
  {:east_south_panel => {:set_title => "Here's an update for south panel in east panel"}}
35
35
  end
36
-
36
+
37
37
  endpoint :update_west do |params|
38
38
  {:west_panel => {:set_title => "Here's an update for west panel"}}
39
39
  end
40
-
40
+
41
41
  js_method :on_update_west_panel, <<-JS
42
42
  function(){
43
43
  this.items.filter('name', 'west_panel').first().body.update('West Panel Body Updated');
44
44
  }
45
45
  JS
46
-
46
+
47
47
  js_method :on_update_center_panel, <<-JS
48
48
  function(){
49
49
  this.items.filter('name', 'center_panel').first().body.update('Center Panel Body Updated');
50
50
  }
51
51
  JS
52
-
52
+
53
53
  js_method :on_update_east_south_from_server, <<-JS
54
54
  function(){
55
55
  this.updateEastSouth();
56
56
  }
57
57
  JS
58
-
58
+
59
59
  js_method :on_update_west_from_server, <<-JS
60
60
  function(){
61
61
  this.updateWest();
62
62
  }
63
63
  JS
64
-
64
+
65
65
  end
@@ -57,8 +57,8 @@ RailsApp::Application.routes.draw do
57
57
 
58
58
  match 'components/:component' => 'components#show', :as => "components"
59
59
  match 'ext/:component' => 'components#ext', :as => "ext"
60
-
60
+
61
61
  match ':controller(/:action(/:id(.:format)))'
62
-
62
+
63
63
  netzke
64
64
  end
data/test/test_helper.rb CHANGED
@@ -16,6 +16,6 @@ ActiveSupport::TestCase.class_eval do
16
16
  self.use_transactional_fixtures = true
17
17
  self.use_instantiated_fixtures = false
18
18
  self.fixture_path = "#{File.dirname(__FILE__)}/fixtures"
19
-
19
+
20
20
  fixtures :all
21
21
  end