edgarj 0.01.29 → 0.01.30

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d5e9825ef6ec78aadf69f42ed50058dce4a39dd1
4
- data.tar.gz: 10de985a13ab7162942803d38437352d338dfefd
3
+ metadata.gz: 651228d83ae7f3f3b5415d2ce044522c8fa5f826
4
+ data.tar.gz: a3ecdbfbc74287563e55d3fca86f63fd8a473fff
5
5
  SHA512:
6
- metadata.gz: 5372bf5525f803339c36f7fc11cea3091db72b6300de356bb1a8c5a426cb8338d5a94bd6c1d7e82fa15805ed3dce81972693283a849762985bf670a25ed2f497
7
- data.tar.gz: 3de666c3b19d419d10f670a9a2aeb6b86233f6fc909295a5f028fc09c0b8f8ce73d2c11825d16db5ee94e80440a98c41bdc4b6d3ef5edf6782ec8eccbb3518a1
6
+ metadata.gz: f208dcc1c0c482fa715764159a33a91c8b0be399b0eed4b1a4bdbda35eb8c079381e1e5293f29884d8e9da8689169de2cef01de34723a814988fe053eb5aa45a
7
+ data.tar.gz: e2648e3312e36da84403c6ad4b3a530c620e6766a9d10e52aac534ae3907089ea66dff5ff223beec70dc41a70606c5e7e5aed00000a478ca02e29874474164d3
@@ -22,12 +22,14 @@ Edgarj.Popup = {
22
22
 
23
23
  = INPUTS
24
24
  id_target:: id target DOM
25
+ text:: default text on clear
25
26
  */
26
- clear: function(id_target){
27
- //var pf = new Edgarj.Popup.Field(id_target);
27
+ clear: function(id_target, text){
28
+ if(typeof(text)==='undefined') text = '';
29
+
28
30
  var pf = new this.Field(id_target);
29
31
  pf.id_target.val('');
30
- pf.label_target.text('');
32
+ pf.label_target.text(text);
31
33
  pf.label_hidden_field.val('');
32
34
  pf.clear_link.hide();
33
35
  }
@@ -151,10 +151,10 @@ module Edgarj
151
151
  # * edgarj search form(Edgarj::SearchForm) for search-condition entry
152
152
  #
153
153
  # === INPUTS
154
- # f:: FormBuilder object
155
- # popup_path:: popup path(url)
156
- # col_name:: 'belongs_to' column name
157
- # model:: data model class
154
+ # @param f [FormBuilder] FormBuilder object
155
+ # @param popup_path [String] popup path(url)
156
+ # @param col_name [String] 'belongs_to' column name
157
+ # @param model [AR] data model class
158
158
  def draw_belongs_to_label(f, popup_path, col_name, model = f.object.class)
159
159
  col = model.columns.detect{|c| c.name == col_name.to_s}
160
160
  return "no column found" if !col
@@ -164,7 +164,7 @@ module Edgarj
164
164
 
165
165
  link_to(
166
166
  draw_belongs_to_label_sub(model, col.name, parent_model).html_safe +
167
- content_tag(:span, '▼', class: 'edgarj_field_belongs_to_button'),
167
+ Settings.edgarj.belongs_to.link_tag.html_safe,
168
168
  popup_path,
169
169
  remote: true)
170
170
  end
@@ -176,11 +176,10 @@ module Edgarj
176
176
  # col_name:: 'belongs_to' column name
177
177
  # popup_field:: Edgarj::PopupHelper::PopupField object
178
178
  # parent_name:: initial parent name
179
- def draw_belongs_to_clear_link(f, col_name, popup_field, parent_name)
179
+ def draw_belongs_to_clear_link(f, col_name, popup_field, parent_name, default_label)
180
180
  ('  ' +
181
181
  link_to("[#{I18n.t('edgarj.default.clear')}]", '#',
182
- onClick: sprintf("Edgarj.Popup.clear('%s'); return false;",
183
- popup_field.id_target),
182
+ onClick: "Edgarj.Popup.clear('#{j(popup_field.id_target)}','#{j(default_label)}'); return false;",
184
183
  id: popup_field.clear_link,
185
184
  style: 'display:' + (parent_name.blank? ? 'none' : '')) +
186
185
  f.hidden_field(col_name)).html_safe
@@ -190,11 +189,11 @@ module Edgarj
190
189
  #
191
190
  # This is usually used with draw_belongs_to_label().
192
191
  #
193
- # === INPUTS
194
- # f:: FormBuilder object
195
- # col_name:: 'belongs_to' column name
196
- # model:: data model class
197
- def draw_belongs_to_field(f, col_name, model = f.object.class)
192
+ # @param f [FormBuilder] FormBuilder object
193
+ # @param popup_path [String] popup path(url)
194
+ # @param col_name [String] 'belongs_to' column name
195
+ # @param model [AR] data model class
196
+ def draw_belongs_to_field(f, popup_path, col_name, model = f.object.class)
198
197
  col = model.columns.detect{|c| c.name == col_name.to_s}
199
198
  return "no column found" if !col
200
199
 
@@ -204,20 +203,38 @@ module Edgarj
204
203
  parent_obj = f.object.belongs_to_AR(col)
205
204
  popup_field = Edgarj::PopupHelper::PopupField.new_builder(
206
205
  f.object_name, col_name)
207
- label = sprintf("<span id='%s'>%s</span>",
208
- popup_field.label_target,
209
- parent_obj ? parent_obj.name : '').html_safe
206
+ default_label = '[' + draw_belongs_to_label_sub(model, col.name, parent_model) + ']'
207
+ label = content_tag(:span,
208
+ parent_obj ? parent_obj.name : default_label.html_safe,
209
+ id: popup_field.label_target)
210
+ link_tag = Settings.edgarj.belongs_to.link_tag.html_safe
210
211
  if parent_obj
211
- link_to(label,
212
- # TODO: Hardcoded 'master' prefix should be fixed
213
- controller: url_prefix + parent_obj.class.name.underscore.pluralize,
214
- action: 'show',
215
- id: parent_obj,
216
- topic_path: 'add')
212
+ if Settings.edgarj.belongs_to.popup_on == 'field'
213
+ link_to(
214
+ label + link_tag,
215
+ popup_path,
216
+ remote: true)
217
+ else
218
+ link_to(label,
219
+ # TODO: Hardcoded 'master' prefix should be fixed
220
+ controller: url_prefix + parent_obj.class.name.underscore.pluralize,
221
+ action: 'show',
222
+ id: parent_obj,
223
+ topic_path: 'add')
224
+ end
217
225
  else
218
- label
226
+ if Settings.edgarj.belongs_to.popup_on == 'field'
227
+ link_to(
228
+ label + link_tag,
229
+ popup_path,
230
+ remote: true)
231
+ else
232
+ label
233
+ end
219
234
  end +
220
- draw_belongs_to_clear_link(f, col.name, popup_field, parent_obj && parent_obj.name)
235
+ draw_belongs_to_clear_link(f, col.name, popup_field,
236
+ parent_obj && parent_obj.name,
237
+ default_label)
221
238
  end
222
239
 
223
240
  # Is flag in column_value on?
@@ -44,6 +44,10 @@ module Edgarj
44
44
  # 1. 'belongs_to' column uses:
45
45
  # ** I18n.t('activerecord.attributes.MODEL.EXT_ID')
46
46
  # ** parent.human_name
47
+
48
+ # TODO: draw_field() 層があってもよい
49
+ # form.draw() と form._draw_field(), form._draw_belongs_to_field ... は
50
+ # あるけど、抽象化層の form.draw_field がない
47
51
  def draw()
48
52
  adrs_field = {}
49
53
  @vc.content_tag(:table) do
@@ -157,8 +161,11 @@ module Edgarj
157
161
 
158
162
  # draw 'belongs_to' field for AR
159
163
  def _draw_belongs_to_field(parent_model, col)
160
- _draw_head(col, @vc.draw_belongs_to_label(@f, @drawer.popup_path(col), col.name)){
161
- @vc.draw_belongs_to_field(@f, col.name)
164
+ label = Settings.edgarj.belongs_to.popup_on == 'field' ?
165
+ nil :
166
+ @vc.draw_belongs_to_label(@f, @drawer.popup_path(col), col.name)
167
+ _draw_head(col, label){
168
+ @vc.draw_belongs_to_field(@f, @drawer.popup_path(col), col.name)
162
169
  }
163
170
  end
164
171
 
@@ -280,7 +287,9 @@ module Edgarj
280
287
  'edgarj_search_form[search_form_parent][%s]' % col.name,
281
288
  parent_name.blank? ? '' : parent_name,
282
289
  id: popup_field.label_hidden_field) +
283
- @vc.draw_belongs_to_clear_link(@f, col.name, popup_field, parent_name)
290
+ @vc.draw_belongs_to_clear_link(@f, col.name, popup_field,
291
+ parent_name,
292
+ '[' + @vc.draw_belongs_to_label_sub(model, col.name, parent_model) + ']')
284
293
  }
285
294
  end
286
295
 
data/config/settings.yml CHANGED
@@ -11,3 +11,8 @@ edgarj:
11
11
 
12
12
  page_info:
13
13
  default_lines: 10
14
+
15
+ belongs_to:
16
+ # locate popup link to 'field' or 'label' (default = 'field')
17
+ popup_on: 'field'
18
+ link_tag: '<span class="edgarj_field_belongs_to_button">▼</span>'
@@ -1,3 +1,3 @@
1
1
  module Edgarj
2
- VERSION = "0.01.29"
2
+ VERSION = "0.01.30"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: edgarj
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.01.29
4
+ version: 0.01.30
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fuminori Ido
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-12 00:00:00.000000000 Z
11
+ date: 2015-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -400,94 +400,94 @@ required_rubygems_version: !ruby/object:Gem::Requirement
400
400
  version: '0'
401
401
  requirements: []
402
402
  rubyforge_project:
403
- rubygems_version: 2.2.2
403
+ rubygems_version: 2.4.1
404
404
  signing_key:
405
405
  specification_version: 4
406
406
  summary: Scaffold with Ajax, search, sort, 'belongs_to' popup, and more.
407
407
  test_files:
408
- - test/integration/navigation_test.rb
409
- - test/unit/helpers/edgarj/model_permissions_helper_test.rb
410
- - test/unit/helpers/edgarj/user_group_users_helper_test.rb
411
- - test/unit/edgarj/user_group_user_test.rb
412
- - test/unit/edgarj/sssn_test.rb
413
- - test/unit/edgarj/user_group_test.rb
414
- - test/unit/edgarj/page_info_test.rb
415
- - test/unit/edgarj/model_permission_test.rb
416
- - test/support/edgarj/controller_supporter.rb
417
- - test/test_helper.rb
418
- - test/dummy/test/helpers/authors_helper_test.rb
419
- - test/dummy/test/unit/book_test.rb
420
- - test/dummy/test/unit/author_test.rb
421
- - test/dummy/test/unit/rails_config_test.rb
422
- - test/dummy/test/functional/authors_controller_test.rb
423
- - test/dummy/test/functional/books_controller_test.rb
424
- - test/dummy/test/functional/authors_popup_controller_test.rb
425
- - test/dummy/README.rdoc
408
+ - test/fixtures/users.yml
409
+ - test/fixtures/edgarj/model_permissions.yml
410
+ - test/fixtures/edgarj/sssns.yml
411
+ - test/fixtures/edgarj/user_group_users.yml
412
+ - test/fixtures/edgarj/page_infos.yml
413
+ - test/fixtures/edgarj/user_groups.yml
414
+ - test/fixtures/authors.yml
415
+ - test/fixtures/books.yml
416
+ - test/dummy/Rakefile
426
417
  - test/dummy/config.ru
418
+ - test/dummy/bin/rails
427
419
  - test/dummy/bin/bundle
428
420
  - test/dummy/bin/rake
429
- - test/dummy/bin/rails
430
- - test/dummy/db/schema.rb
431
- - test/dummy/db/migrate/20131218011851_create_books.rb
432
- - test/dummy/db/migrate/20140807065420_create_users.rb
433
- - test/dummy/db/migrate/20140201000000_add_user_group_id_to_authors.rb
434
- - test/dummy/db/migrate/20131107120635_create_authors.rb
435
- - test/dummy/Rakefile
436
- - test/dummy/config/routes.rb
437
- - test/dummy/config/boot.rb
438
- - test/dummy/config/environment.rb
439
- - test/dummy/config/database.yml
440
- - test/dummy/config/settings.yml
441
- - test/dummy/config/environments/test.rb
442
- - test/dummy/config/environments/production.rb
443
- - test/dummy/config/environments/development.rb
444
- - test/dummy/config/application.rb
445
- - test/dummy/config/edgarj/menu_config.rb
421
+ - test/dummy/app/decorators/models/edgarj/user_group_decorator.rb
422
+ - test/dummy/app/assets/stylesheets/application.css
423
+ - test/dummy/app/assets/stylesheets/authors.css
424
+ - test/dummy/app/assets/stylesheets/scaffold.css
425
+ - test/dummy/app/assets/javascripts/application.js
426
+ - test/dummy/app/assets/javascripts/authors.js
427
+ - test/dummy/app/views/layouts/login.html.erb
428
+ - test/dummy/app/views/layouts/application.html.erb
429
+ - test/dummy/app/models/author.rb
430
+ - test/dummy/app/models/book.rb
431
+ - test/dummy/app/models/user.rb
432
+ - test/dummy/app/controllers/dummy_auth_mixin.rb
433
+ - test/dummy/app/controllers/application_controller.rb
434
+ - test/dummy/app/controllers/authors_popup_controller.rb
435
+ - test/dummy/app/controllers/books_controller.rb
436
+ - test/dummy/app/controllers/authors_controller.rb
437
+ - test/dummy/app/helpers/authors_helper.rb
438
+ - test/dummy/app/helpers/authors_popup_helper.rb
439
+ - test/dummy/app/helpers/application_helper.rb
440
+ - test/dummy/app/helpers/books_helper.rb
446
441
  - test/dummy/config/locales/en.yml
447
442
  - test/dummy/config/locales/ja.yml
448
- - test/dummy/config/initializers/strong_parameter.rb
449
- - test/dummy/config/initializers/inflections.rb
443
+ - test/dummy/config/application.rb
444
+ - test/dummy/config/edgarj/menu_config.rb
445
+ - test/dummy/config/environments/production.rb
446
+ - test/dummy/config/environments/development.rb
447
+ - test/dummy/config/environments/test.rb
448
+ - test/dummy/config/environment.rb
450
449
  - test/dummy/config/initializers/wrap_parameters.rb
451
- - test/dummy/config/initializers/session_store.rb
452
- - test/dummy/config/initializers/secret_token.rb
453
- - test/dummy/config/initializers/filter_parameter_logging.rb
454
450
  - test/dummy/config/initializers/mime_types.rb
455
451
  - test/dummy/config/initializers/backtrace_silencers.rb
456
- - test/dummy/script/rails
452
+ - test/dummy/config/initializers/secret_token.rb
453
+ - test/dummy/config/initializers/filter_parameter_logging.rb
454
+ - test/dummy/config/initializers/inflections.rb
455
+ - test/dummy/config/initializers/strong_parameter.rb
456
+ - test/dummy/config/initializers/session_store.rb
457
+ - test/dummy/config/routes.rb
458
+ - test/dummy/config/settings.yml
459
+ - test/dummy/config/database.yml
460
+ - test/dummy/config/boot.rb
457
461
  - test/dummy/public/favicon.ico
458
- - test/dummy/public/404.html
459
462
  - test/dummy/public/422.html
460
463
  - test/dummy/public/500.html
461
- - test/dummy/app/views/layouts/login.html.erb
462
- - test/dummy/app/views/layouts/application.html.erb
463
- - test/dummy/app/decorators/models/edgarj/user_group_decorator.rb
464
- - test/dummy/app/helpers/authors_helper.rb
465
- - test/dummy/app/helpers/books_helper.rb
466
- - test/dummy/app/helpers/application_helper.rb
467
- - test/dummy/app/helpers/authors_popup_helper.rb
468
- - test/dummy/app/models/book.rb
469
- - test/dummy/app/models/author.rb
470
- - test/dummy/app/models/user.rb
471
- - test/dummy/app/assets/javascripts/authors.js
472
- - test/dummy/app/assets/javascripts/application.js
473
- - test/dummy/app/assets/stylesheets/scaffold.css
474
- - test/dummy/app/assets/stylesheets/authors.css
475
- - test/dummy/app/assets/stylesheets/application.css
476
- - test/dummy/app/controllers/authors_controller.rb
477
- - test/dummy/app/controllers/books_controller.rb
478
- - test/dummy/app/controllers/dummy_auth_mixin.rb
479
- - test/dummy/app/controllers/application_controller.rb
480
- - test/dummy/app/controllers/authors_popup_controller.rb
464
+ - test/dummy/public/404.html
465
+ - test/dummy/README.rdoc
466
+ - test/dummy/db/schema.rb
467
+ - test/dummy/db/migrate/20131218011851_create_books.rb
468
+ - test/dummy/db/migrate/20131107120635_create_authors.rb
469
+ - test/dummy/db/migrate/20140201000000_add_user_group_id_to_authors.rb
470
+ - test/dummy/db/migrate/20140807065420_create_users.rb
471
+ - test/dummy/test/unit/author_test.rb
472
+ - test/dummy/test/unit/rails_config_test.rb
473
+ - test/dummy/test/unit/book_test.rb
474
+ - test/dummy/test/functional/books_controller_test.rb
475
+ - test/dummy/test/functional/authors_popup_controller_test.rb
476
+ - test/dummy/test/functional/authors_controller_test.rb
477
+ - test/dummy/test/helpers/authors_helper_test.rb
478
+ - test/dummy/script/rails
479
+ - test/unit/edgarj/sssn_test.rb
480
+ - test/unit/edgarj/model_permission_test.rb
481
+ - test/unit/edgarj/user_group_test.rb
482
+ - test/unit/edgarj/user_group_user_test.rb
483
+ - test/unit/edgarj/page_info_test.rb
484
+ - test/unit/helpers/edgarj/user_group_users_helper_test.rb
485
+ - test/unit/helpers/edgarj/model_permissions_helper_test.rb
486
+ - test/support/edgarj/controller_supporter.rb
481
487
  - test/edgar_test.rb
482
- - test/fixtures/authors.yml
483
- - test/fixtures/users.yml
484
- - test/fixtures/edgarj/page_infos.yml
485
- - test/fixtures/edgarj/user_group_users.yml
486
- - test/fixtures/edgarj/user_groups.yml
487
- - test/fixtures/edgarj/model_permissions.yml
488
- - test/fixtures/edgarj/sssns.yml
489
- - test/fixtures/books.yml
488
+ - test/test_helper.rb
489
+ - test/integration/navigation_test.rb
490
490
  - test/functional/edgarj/user_group_users_controller_test.rb
491
- - test/functional/edgarj/edgarj_controller_test.rb
492
491
  - test/functional/edgarj/model_permissions_controller_test.rb
492
+ - test/functional/edgarj/edgarj_controller_test.rb
493
493
  has_rdoc: