netzke-core 1.0.0.0.pre3 → 1.0.0.0.pre4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: c416391cef65576a5c36f064f79f64a91c0b4993
4
+ data.tar.gz: 1c3a58a7b46c736d829aa9f041349fb5c5a60c08
5
+ SHA512:
6
+ metadata.gz: 2175ca63de1a604840348f297dd98ea972d73529d1077c679008a000a9ae6f3f3488f9bf01ab0d99262617067b48069856ea492371cb10a9cb22507ebd5e36d3
7
+ data.tar.gz: e5f55ae2d2192b49f01381bb77bfcecf6bfd26313ea375db1e7ecad5724356481614fa0c9cde1420305496ab79fcb1e513b8118b1b1ae8949f5b117046428cd6
data/CHANGELOG.md CHANGED
@@ -20,6 +20,17 @@
20
20
 
21
21
  * `Base.js_configure` has been renamed to `Base.client_class`. There's also no longer need to call it just for the purpose of including the default mixin (which is now `<component_name>/client/<component_name>.js`).
22
22
 
23
+ * Assigning inline JS functions inside the `client_class` (former `js_configure`) block no longer makes a JSON literal
24
+ of them; instead, wrap it with the `l` method accessible for all components:
25
+
26
+ client_class do |c|
27
+ c.on_refresh = l(<<-JS)
28
+ function(){
29
+ this.setTitle("Refresh tool clicked");
30
+ }
31
+ JS
32
+ end
33
+
23
34
  * `Base.css_configure` has been renamed to `Base.client_styles`.
24
35
 
25
36
  * The `mixin` method in the former `js_configure` block (now `client_class`) has been renamed to `include`.
@@ -104,4 +115,6 @@
104
115
 
105
116
  * Calling `callParent` in JS functions from the "mixins" will now properly call the previous override if that was defined; see `spec/rails_app/app/components/js_mixins.rb` for an example.
106
117
 
118
+ * There's no longer need to call `netzke` in routes.rb unless you want to modify routing defaults.
119
+
107
120
  Please check [0-12](https://github.com/netzke/netzke-core/blob/0-12/CHANGELOG.md) for previous changes.
@@ -0,0 +1,2 @@
1
+ # Start xvfb in preparation for selenium webdriver
2
+ sh -e /etc/init.d/xvfb start
data/config/routes.rb ADDED
@@ -0,0 +1,3 @@
1
+ Rails.application.routes.draw do
2
+ netzke unless Rails.application.routes.named_routes.routes[:netzke]
3
+ end
@@ -31,7 +31,7 @@ module Netzke
31
31
  # c.title = "My cool component"
32
32
  #
33
33
  # # this will result in the +onButtonPress+ function defined on the client class prototype
34
- # c.on_button_press = <<-JS
34
+ # c.on_button_press = l(<<-JS)
35
35
  # function(){
36
36
  # // ...
37
37
  # }
@@ -39,7 +39,7 @@ module Netzke
39
39
  # end
40
40
  # end
41
41
  #
42
- # An alternative way to define prototype properties is by using {ClientClassConfig#include}
42
+ # An better way to define prototype properties though is by using {ClientClassConfig#include}
43
43
  #
44
44
  # As attributes are accessible from inside +client_class+:
45
45
  #
@@ -51,7 +51,7 @@ module Netzke
51
51
  # end
52
52
  # end
53
53
  #
54
- # ... you can configure your component on a class level like this:
54
+ # ...you can configure your component on a class level like this:
55
55
  #
56
56
  # # e.g. in Rails initializers
57
57
  # MyComponent.title = "New title for all MyComponents"
@@ -64,7 +64,7 @@ module Netzke
64
64
  def method_missing(name, *args)
65
65
  if name =~ /(.+)=$/
66
66
  value = args.first
67
- @properties[$1.to_sym] = value.is_a?(String) && value =~ /^\s*function/ ? Netzke::Core::JsonLiteral.new(value) : value
67
+ @properties[$1.to_sym] = value
68
68
  else
69
69
  @properties[name.to_sym]
70
70
  end
@@ -50,6 +50,12 @@ module Netzke::Core
50
50
  def dir(cllr)
51
51
  %Q(#{cllr.split(".rb:").first})
52
52
  end
53
+
54
+ # Converts given string to a string that returns itself as its JSON-encoded form for given string. See
55
+ # {ClientCode#l}
56
+ def l(str)
57
+ Netzke::Core::JsonLiteral.new(str)
58
+ end
53
59
  end
54
60
 
55
61
  # Builds {#js_config} used for instantiating a client class. Override it when you need to extend/modify the config for the JS component intance. It's *not* being called when the *server* class is being instantiated (e.g. to process an endpoint call). With other words, it's only being called before a component is first being loaded in the browser. so, it's ok to do heavy stuf fhere, like building a tree panel nodes from the database.
@@ -125,6 +131,18 @@ module Netzke::Core
125
131
 
126
132
  protected
127
133
 
134
+ # Converts given string to a string that returns itself as its JSON-encoded form for given string. Can sometimes be hande, for example, to pass simple client-side handler inline in the Ruby code:
135
+ #
136
+ # def configure(c)
137
+ # super
138
+ # c.tools = [
139
+ # { type: :refresh, handler: l("function(){alert('Refresh clicked')}") }
140
+ # ]
141
+ # end
142
+ def l(str)
143
+ self.class.l(str)
144
+ end
145
+
128
146
  # Allows referring to client-side function that will be called in the scope of the component. Handy to specify
129
147
  # handlers for tools/actions, or any other functions that have to be passed as configuration to different Ext JS
130
148
  # components. Usage:
@@ -136,11 +154,11 @@ module Netzke::Core
136
154
  # end
137
155
  # end
138
156
  #
139
- # As a result, `MyComponent`'s client-side `doExport` function will be called in the component's scope, receiving all the
157
+ # As a result, `MyComponent`'s client-side `doExport` function will be called *in the component's scope*, receiving all the
140
158
  # usual handler parameters from Ext JS.
141
159
  # Read more on how to define client-side functions in `Netzke::Core::ClientClassConfig`.
142
160
  def f(name)
143
- Netzke::Core::JsonLiteral.new("function(){var c=Ext.getCmp('#{js_id}'); return c.#{name.to_s.camelize(:lower)}.apply(c, arguments);}")
161
+ l("function(){var c=Ext.getCmp('#{js_id}'); return c.#{name.to_s.camelize(:lower)}.apply(c, arguments);}")
144
162
  end
145
163
 
146
164
  private
@@ -1,5 +1,5 @@
1
1
  module Netzke
2
2
  module Core
3
- VERSION = "1.0.0.0.pre3"
3
+ VERSION = "1.0.0.0.pre4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,46 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: netzke-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.0.pre3
5
- prerelease: 8
4
+ version: 1.0.0.0.pre4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Max Gorin
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2015-12-28 00:00:00.000000000 Z
11
+ date: 2015-12-29 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: uglifier
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: execjs
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  description: Build complex web GUI in a modular way
@@ -49,14 +44,24 @@ executables: []
49
44
  extensions: []
50
45
  extra_rdoc_files: []
51
46
  files:
47
+ - CHANGELOG.md
48
+ - Gemfile
49
+ - LICENSE
50
+ - README.md
51
+ - Rakefile
52
52
  - app/controllers/netzke_controller.rb
53
+ - config/ci/before-travis.sh
54
+ - config/routes.rb
55
+ - init.rb
53
56
  - javascripts/base.js
54
57
  - javascripts/core.js
55
58
  - javascripts/js_extensions.js
56
59
  - javascripts/notifications.js
57
60
  - javascripts/remoting_provider.js
58
61
  - javascripts/routing.js
62
+ - lib/netzke-core.rb
59
63
  - lib/netzke/base.rb
64
+ - lib/netzke/core.rb
60
65
  - lib/netzke/core/action_config.rb
61
66
  - lib/netzke/core/actions.rb
62
67
  - lib/netzke/core/client_class_config.rb
@@ -74,56 +79,47 @@ files:
74
79
  - lib/netzke/core/json_literal.rb
75
80
  - lib/netzke/core/panel.rb
76
81
  - lib/netzke/core/plugins.rb
82
+ - lib/netzke/core/railz.rb
77
83
  - lib/netzke/core/railz/action_view_ext.rb
78
84
  - lib/netzke/core/railz/controller_extensions.rb
79
85
  - lib/netzke/core/railz/engine.rb
80
86
  - lib/netzke/core/railz/routes.rb
81
- - lib/netzke/core/railz.rb
87
+ - lib/netzke/core/ruby_ext.rb
82
88
  - lib/netzke/core/ruby_ext/array.rb
83
89
  - lib/netzke/core/ruby_ext/hash.rb
84
90
  - lib/netzke/core/ruby_ext/time_with_zone.rb
85
- - lib/netzke/core/ruby_ext.rb
86
91
  - lib/netzke/core/services.rb
87
92
  - lib/netzke/core/session.rb
88
93
  - lib/netzke/core/state.rb
89
94
  - lib/netzke/core/stylesheets.rb
90
95
  - lib/netzke/core/version.rb
91
- - lib/netzke/core.rb
92
96
  - lib/netzke/plugin.rb
93
- - lib/netzke-core.rb
94
97
  - lib/tasks/netzke_core_tasks.rake
95
98
  - stylesheets/core.css
96
99
  - tasks/app_test_tasks.rake
97
100
  - tasks/rake_helper.rb
98
- - CHANGELOG.md
99
- - Gemfile
100
- - LICENSE
101
- - Rakefile
102
- - README.md
103
- - init.rb
104
101
  homepage: http://netzke.org
105
102
  licenses: []
103
+ metadata: {}
106
104
  post_install_message:
107
105
  rdoc_options: []
108
106
  require_paths:
109
107
  - lib
110
108
  required_ruby_version: !ruby/object:Gem::Requirement
111
- none: false
112
109
  requirements:
113
- - - ! '>='
110
+ - - ">="
114
111
  - !ruby/object:Gem::Version
115
112
  version: '0'
116
113
  required_rubygems_version: !ruby/object:Gem::Requirement
117
- none: false
118
114
  requirements:
119
- - - ! '>='
115
+ - - ">="
120
116
  - !ruby/object:Gem::Version
121
117
  version: 1.3.4
122
118
  requirements: []
123
119
  rubyforge_project:
124
- rubygems_version: 1.8.23.2
120
+ rubygems_version: 2.5.1
125
121
  signing_key:
126
- specification_version: 3
122
+ specification_version: 4
127
123
  summary: Client-server GUI components with Sencha Ext JS and Ruby on Rails
128
124
  test_files: []
129
125
  has_rdoc: