hobo_rapid 2.0.0.pre7 → 2.0.0.pre8

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.0.pre7
1
+ 2.0.0.pre8
@@ -42,7 +42,7 @@ If the transition could not be found, the user does not have permissions for the
42
42
  has_params = !transition.options[:params].blank?
43
43
  ajax_attributes, html_attributes = attributes.partition_hash(HoboRapidHelper::AJAX_ATTRS)
44
44
 
45
- html_attributes[:method] ||= has_params ? :get : :put
45
+ html_attributes[:method] ||= has_params ? "get" : "put"
46
46
  add_classes!(html_attributes, "transition-button #{transition_name}-button")
47
47
  label = t("activerecord.attributes.#{this.class.to_s.underscore}.lifecycle.transitions.#{transition_name}", :default => (label || transition_name.to_s.titleize))
48
48
  title = t("activerecord.attribute_help.#{this.class.to_s.underscore}.lifecycle.transitions.#{transition_name}")
@@ -86,7 +86,7 @@ All extra attributes are used as non-hierarchical cache keys, so for
86
86
  inner caches these should either be constants or be manually
87
87
  propagated to the outer caches
88
88
 
89
- `dependencies`: see above. Default is "&[this]"
89
+ `dependencies`: see above. Default is `&[this]`
90
90
 
91
91
  `query-params`: A comma separated list of query (or post) parameters
92
92
  used as non-hierarchical cache keys.
@@ -65,7 +65,7 @@ or on a standard generated page using a default form:
65
65
 
66
66
  - web-method
67
67
 
68
- - lifecycle
68
+ - lifecycle: specifies the name of a transition or creator. This attribute is an alternative to the action and method attributes. There should also be auto-generated forms in your `app/views/taglibs/auto/rapid/forms.dryml` that you may be able to use unchanged or with light customization. See [the lifecycles manual](/manual/lifecycles#lifecycles_in_rapid_pages_forms_and_buttons) for more information
69
69
 
70
70
  - owner
71
71
 
data/taglibs/html/a.dryml CHANGED
@@ -71,7 +71,7 @@ This is desired behaviour; `<a>` usually means 'go somewhere else' after all.
71
71
 
72
72
  The standard AJAX attributes are supported.
73
73
 
74
- * action: If "new", triggers the special behaviour listed above. Otherwise, contains the action to be performed on the context. If neither `action` nor `method` are specified, the action will be "index" or "show", as appropriate.
74
+ * action: If "new", triggers the special behaviour listed above. Otherwise, contains the action to be performed on the context. If `action` is not specified specified, the action will be "index" or "show", as appropriate.
75
75
 
76
76
  * to: Use this item as the target instead of the current context.
77
77
 
@@ -87,12 +87,12 @@ The standard AJAX attributes are supported.
87
87
 
88
88
  * force: overrides the permission check if `action` is "new"
89
89
 
90
- * method: "get", "put", "post" or "delete". "get" is the default
90
+ * method: "get", "put", "post" or "delete". "get" is the default. This parameter assumes jquey-rails is being used, and simply sets data-method as well as rel="nofollow".
91
91
 
92
92
  * only-path, protocol, host, subdomain, domain, tld-length, port, anchor, trailing-slash: In smart mode, passed through to Rails' polymorphic_url. For more information, see the Rails documentation for url_for.
93
93
 
94
94
  -->
95
- <def tag="a" attrs="action, to, params, query-params, href, format, subsite, force"><%=
95
+ <def tag="a" attrs="action, to, params, query-params, href, format, subsite, force, method"><%=
96
96
  content = parameters.default
97
97
 
98
98
  ajax_attrs, attributes = attributes.partition_hash(HoboRapidHelper::AJAX_ATTRS)
@@ -121,6 +121,12 @@ The standard AJAX attributes are supported.
121
121
 
122
122
  target = to || this
123
123
 
124
+ if method!="get"
125
+ # assume jquery-rails
126
+ attributes['data-method']=method
127
+ attributes['rel']='nofollow'
128
+ end
129
+
124
130
  if target.nil?
125
131
  Dryml.last_if = false
126
132
  nil_view
@@ -24,7 +24,7 @@ Use the `go-back` option to return to the page in `session[:previous_uri]`:
24
24
  ...
25
25
  </form>
26
26
 
27
- Note that session[:previous_uri] isn't automatically populated. To
27
+ Note that `session[:previous_uri]` isn't automatically populated. To
28
28
  automatically populate it, add to application_controller.rb:
29
29
 
30
30
  after_filter HoboRapid::PreviousUriFilter
@@ -6,11 +6,11 @@ An example of when this is useful is when a form is rendered differently dependi
6
6
  <field-list: replace>
7
7
  <do part="shipping">
8
8
  <field-list fields="address,city,region,country,postal_code">
9
- <country-view:><hot-input ajax /><country-view:>
10
- <region-label:><%= this_parent.country._?.region_label %><region-label:>
11
- <field-list>
9
+ <country-view:><hot-input ajax /></country-view:>
10
+ <region-label:><%= this_parent.country._?.region_label %></region-label:>
11
+ </field-list>
12
12
  </do>
13
- <field-list:>
13
+ </field-list:>
14
14
 
15
15
  The actual input is exposed as the default parameter, so it can be customized:
16
16
 
@@ -18,6 +18,18 @@ Assuming the context is a blog post...
18
18
 
19
19
  <view/> -> <span class="view model:blog-post-1"><a href="/blog_posts/1">My First Blog Post</a></span>
20
20
 
21
+ ### if-blank
22
+
23
+ The `if-blank` attribute can be used to provide alternate content if `this.blank?`.
24
+
25
+ <view if-blank="(None)"/>
26
+
27
+ ### force
28
+
29
+ The `force` attribute causes the permission check to be skipped.
30
+
31
+ <view force/>
32
+
21
33
  ### Additional Notes
22
34
 
23
35
  * The wrapper tag is `<span>` unless the field type is `Text` (different to `String`) where it is `<div>`. Use the `inline` or `block` attributes to force a `<span>` or a `<div>`, e.g.
@@ -27,13 +39,14 @@ Assuming the context is a blog post...
27
39
  <view:body inline/> -> <span class="view blog-post-body">This is my blog post body</span>
28
40
 
29
41
  <view:created_at block/> -> <div class="view blog-post-created-at">June 09, 2008 15:36</div>
42
+
30
43
  * Use the `no-wrapper` attribute to remove the wrapper tag completely. e.g.
31
44
 
32
45
  <view:created_at no-wrapper/> -> June 09, 2008 15:36
33
46
  -->
34
- <def tag="view" attrs="inline, block, if-blank, no-wrapper, truncate"><%=
47
+ <def tag="view" attrs="inline, block, if-blank, no-wrapper, truncate, force"><%=
35
48
  raise Hobo::PermissionDeniedError, "view of non-viewable field '#{this_field}' of #{this_parent.typed_id rescue this_parent}" unless
36
- can_view?
49
+ force || can_view?
37
50
 
38
51
  res = if this.nil? && if_blank.nil?
39
52
  this_type.is_a?(Class) && this_type <= String ? "" : nil_view
metadata CHANGED
@@ -1,38 +1,51 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: hobo_rapid
3
- version: !ruby/object:Gem::Version
4
- version: 2.0.0.pre7
3
+ version: !ruby/object:Gem::Version
4
+ hash: 43576927
5
5
  prerelease: 6
6
+ segments:
7
+ - 2
8
+ - 0
9
+ - 0
10
+ - pre
11
+ - 8
12
+ version: 2.0.0.pre8
6
13
  platform: ruby
7
- authors:
14
+ authors:
8
15
  - Tom Locke, Bryan Larsen
9
16
  autorequire:
10
17
  bindir: bin
11
18
  cert_chain: []
12
- date: 2012-12-06 00:00:00.000000000 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
19
+
20
+ date: 2013-02-04 00:00:00 Z
21
+ dependencies:
22
+ - !ruby/object:Gem::Dependency
15
23
  name: hobo
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - '='
20
- - !ruby/object:Gem::Version
21
- version: 2.0.0.pre7
22
- type: :runtime
23
24
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
+ requirement: &id001 !ruby/object:Gem::Requirement
25
26
  none: false
26
- requirements:
27
- - - '='
28
- - !ruby/object:Gem::Version
29
- version: 2.0.0.pre7
27
+ requirements:
28
+ - - "="
29
+ - !ruby/object:Gem::Version
30
+ hash: 43576927
31
+ segments:
32
+ - 2
33
+ - 0
34
+ - 0
35
+ - pre
36
+ - 8
37
+ version: 2.0.0.pre8
38
+ type: :runtime
39
+ version_requirements: *id001
30
40
  description: The RAPID tag library for Hobo
31
41
  email: tom@tomlocke.com
32
42
  executables: []
43
+
33
44
  extensions: []
45
+
34
46
  extra_rdoc_files: []
35
- files:
47
+
48
+ files:
36
49
  - README.markdown
37
50
  - VERSION
38
51
  - app/controllers/dev_controller.rb
@@ -101,7 +114,6 @@ files:
101
114
  - taglibs/inputs/select_many.dryml
102
115
  - taglibs/inputs/select_menu.dryml
103
116
  - taglibs/inputs/select_one.dryml
104
- - taglibs/inputs/sortable_input_many.dryml
105
117
  - taglibs/inputs/sti_type_input.dryml
106
118
  - taglibs/lists/collection.dryml
107
119
  - taglibs/lists/empty_collection_message.dryml
@@ -126,7 +138,6 @@ files:
126
138
  - taglibs/plus/live_search.dryml
127
139
  - taglibs/plus/plus.dryml
128
140
  - taglibs/plus/search_filter.dryml
129
- - taglibs/plus/sortable_collection.dryml
130
141
  - taglibs/plus/table_plus.dryml
131
142
  - taglibs/views/a_or_an.dryml
132
143
  - taglibs/views/collection_name.dryml
@@ -147,29 +158,40 @@ files:
147
158
  - vendor/assets/stylesheets/hobo_rapid.css
148
159
  homepage: http://hobocentral.net
149
160
  licenses: []
161
+
150
162
  post_install_message:
151
- rdoc_options:
163
+ rdoc_options:
152
164
  - --charset=UTF-8
153
- require_paths:
165
+ require_paths:
154
166
  - lib
155
167
  - vendor
156
- required_ruby_version: !ruby/object:Gem::Requirement
168
+ required_ruby_version: !ruby/object:Gem::Requirement
157
169
  none: false
158
- requirements:
159
- - - ! '>='
160
- - !ruby/object:Gem::Version
161
- version: '0'
162
- required_rubygems_version: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ hash: 3
174
+ segments:
175
+ - 0
176
+ version: "0"
177
+ required_rubygems_version: !ruby/object:Gem::Requirement
163
178
  none: false
164
- requirements:
165
- - - ! '>='
166
- - !ruby/object:Gem::Version
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ hash: 23
183
+ segments:
184
+ - 1
185
+ - 3
186
+ - 6
167
187
  version: 1.3.6
168
188
  requirements: []
189
+
169
190
  rubyforge_project: hobo
170
- rubygems_version: 1.8.24
191
+ rubygems_version: 1.8.25
171
192
  signing_key:
172
193
  specification_version: 3
173
194
  summary: The RAPID tag library for Hobo
174
195
  test_files: []
196
+
175
197
  has_rdoc:
@@ -1,35 +0,0 @@
1
- <!-- An enhanced version of [`<input-many>`](/api_tag_defs/input-many) that supports drag-and-drop re-ordering.
2
-
3
- Each item in the collection has a `<div class="ordering-handle" param="handle">` added, which can be used to drag the item up and down.
4
-
5
- If the items in the collection contain an [`acts_as_list`](http://ar.rubyonrails.org/classes/ActiveRecord/Acts/List/ClassMethods.html) declaration, it is updated.
6
-
7
- The specified sort order may be maintained even without `acts_as_list`. The items will be passed to the controller in the correct order, so the order may be persisted there.
8
-
9
- ### Attributes
10
-
11
- - `position-column`: The position column may be specified via `acts_as_list`, via a `position_column` method on your model or via this attribute.
12
- - others: all other attributes are passed through to [jQuery UI's Sortable](http://jqueryui.com/demos/sortable/) or to `<input-many>`, as appropriate.
13
-
14
- The jQuery UI option `update` is used internally to update the order. If you modify this option, your function may call `$(this).hjq_sortable_input_many('update')` to retain this functionality.
15
- -->
16
-
17
- <def tag="sortable-input-many" attrs="position-column, template">
18
- <%
19
- options, attributes = attributes.partition_hash(['disabled', 'appendTo', 'axis', 'cancel', 'connectWith', 'containment', 'cursor', 'cursorAt', 'delay', 'distance', 'dropOnEmpty', 'forceHelperSize', 'forcePlaceholderSize', 'grid', 'handle', 'helper', 'items', 'opacity', 'placeholder', 'revert', 'scroll', 'scrollSensitivity', 'scrollSpeed', 'tolerance', 'zIndex'])
20
- events, attributes = attributes.partition_hash(['create', 'start', 'sort', 'change', 'beforeStop', 'stop', 'update', 'receive', 'remove', 'over', 'out', 'activate', 'deactivate'])
21
-
22
- data_rapid_options = { :options => options, :events => events }
23
- %>
24
- <% template ||= this.try.new_candidate || this.member_class.new %>
25
- <% position_column ||= template.try.position_column -%>
26
- <input-many merge class="sortable-input-many" template="&template" more-skip="&position_column" data-rapid="&data_rapid('sortable-input-many', data_rapid_options)">
27
- <default: replace>
28
- <div class="ordering-handle" param="handle" if="&can_edit?">&uarr;<br/>&darr;</div>
29
- <if test="&position_column">
30
- <input class="sortable-position" type="hidden" value="&this.send(position_column)" name="#{param_name_for_this}[#{position_column}]" />
31
- </if>
32
- <default restore/>
33
- </default:>
34
- </input-many>
35
- </def>
@@ -1,36 +0,0 @@
1
- <!-- An enhanced version of Rapid's `<collection>` tag that supports drag-and-drop re-ordering.
2
-
3
- Each item in the collection has a `<div class="ordering-handle" param="handle">` added, which can be used to drag the item up and down.
4
-
5
- ### Attributes
6
-
7
- `sortable-collection` supports all of the options and events defined by [jQuery UI's Sortable](http://jqueryui.com/demos/sortable/).
8
-
9
- Sortable also supports all of the standard [Hobo AJAX callbacks](http://cookbook.hobocentral.net/api_taglibs/rapid_forms).
10
-
11
- The jQuery UI option `update` is used internally to save the new order via Ajax. If you modify this option, your function may call `$(this).hjq_sortable_collection('update')` to retain this functionality.
12
-
13
- ### Controller support
14
-
15
- This tag assumes the controller has a `reorder` action and the model has a `position_column` method. This action is added automatically by Hobo's model-controller if the model declares `acts_as_list`. See also [Drag and Drop Reordering](/manual/controllers#drag_and_drop_reordering) in the [Controllers and Routing](/manual/controllers) chapter of the manual.
16
- -->
17
- <def tag="sortable-collection">
18
- <%
19
- options, attrs = attributes.partition_hash(['disabled', 'appendTo', 'axis', 'cancel', 'connectWith', 'containment', 'cursor', 'cursorAt', 'delay', 'distance', 'dropOnEmpty', 'forceHelperSize', 'forcePlaceholderSize', 'grid', 'handle', 'helper', 'items', 'opacity', 'placeholder', 'revert', 'scroll', 'scrollSensitivity', 'scrollSpeed', 'tolerance', 'zIndex'])
20
- events, html_attrs = attrs.partition_hash(['create', 'start', 'sort', 'change', 'beforeStop', 'stop', 'update', 'receive', 'remove', 'over', 'out', 'activate', 'deactivate'])
21
- ajax_attrs, html_attrs = attrs.partition_hash(HoboRapidHelper::AJAX_CALLBACKS)
22
-
23
- singular_name = this.member_class.name.underscore
24
- route_method = subsite ? "#{subsite}_reorder_#{singular_name.pluralize}_url" : "reorder_#{singular_name.pluralize}_url"
25
- reorder_url = send(route_method)
26
-
27
- add_classes!(html_attrs, "sortable-collection")
28
- add_data_rapid!(html_attrs, "sortable-collection", :options => options, :events => events, :ajax_attrs => ajax_attrs, :reorder_url => reorder_url, :reorder_parameter => "#{singular_name}_ordering")
29
- %>
30
- <collection class="sortable" merge-attrs="&html_attrs" merge-params>
31
- <item: param>
32
- <div class="ordering-handle" param="handle" if="&can_edit?(this.position_column)">&uarr;<br/>&darr;</div>
33
- <do param="default"><card param/></do>
34
- </item:>
35
- </collection>
36
- </def>