active_scaffold 3.2.11 → 3.2.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (53) hide show
  1. data/CHANGELOG +23 -2
  2. data/app/assets/javascripts/jquery/active_scaffold.js +55 -46
  3. data/app/assets/javascripts/prototype/active_scaffold.js +54 -35
  4. data/app/assets/stylesheets/active_scaffold_layout.css +4 -0
  5. data/config/locales/de.yml +5 -0
  6. data/config/locales/en.yml +5 -0
  7. data/config/locales/es.yml +5 -0
  8. data/config/locales/fr.yml +5 -0
  9. data/config/locales/hu.yml +5 -0
  10. data/config/locales/ja.yml +5 -0
  11. data/config/locales/ru.yml +5 -0
  12. data/frontends/default/views/_form_association.html.erb +2 -2
  13. data/frontends/default/views/_form_association_footer.html.erb +2 -2
  14. data/frontends/default/views/_horizontal_subform.html.erb +3 -3
  15. data/frontends/default/views/_list_inline_adapter.html.erb +7 -4
  16. data/frontends/default/views/_list_messages.html.erb +2 -1
  17. data/frontends/default/views/_messages.html.erb +1 -1
  18. data/frontends/default/views/_row.html.erb +1 -6
  19. data/frontends/default/views/_vertical_subform.html.erb +2 -2
  20. data/frontends/default/views/add_existing.js.erb +1 -1
  21. data/frontends/default/views/destroy.js.erb +2 -2
  22. data/frontends/default/views/on_action_update.js.erb +1 -1
  23. data/frontends/default/views/on_create.js.erb +3 -17
  24. data/frontends/default/views/on_mark.js.erb +6 -0
  25. data/frontends/default/views/on_update.js.erb +4 -13
  26. data/frontends/default/views/row.js.erb +1 -0
  27. data/lib/active_scaffold.rb +1 -0
  28. data/lib/active_scaffold/actions/core.rb +9 -7
  29. data/lib/active_scaffold/actions/create.rb +1 -1
  30. data/lib/active_scaffold/actions/delete.rb +1 -1
  31. data/lib/active_scaffold/actions/list.rb +11 -4
  32. data/lib/active_scaffold/actions/mark.rb +35 -24
  33. data/lib/active_scaffold/actions/nested.rb +3 -1
  34. data/lib/active_scaffold/actions/subform.rb +2 -2
  35. data/lib/active_scaffold/config/core.rb +17 -1
  36. data/lib/active_scaffold/config/form.rb +1 -1
  37. data/lib/active_scaffold/config/list.rb +0 -8
  38. data/lib/active_scaffold/config/mark.rb +7 -12
  39. data/lib/active_scaffold/data_structures/action_columns.rb +19 -15
  40. data/lib/active_scaffold/data_structures/nested_info.rb +27 -7
  41. data/lib/active_scaffold/extensions/routing_mapper.rb +2 -2
  42. data/lib/active_scaffold/finder.rb +12 -11
  43. data/lib/active_scaffold/helpers/controller_helpers.rb +5 -9
  44. data/lib/active_scaffold/helpers/form_column_helpers.rb +3 -3
  45. data/lib/active_scaffold/helpers/id_helpers.rb +5 -1
  46. data/lib/active_scaffold/helpers/list_column_helpers.rb +55 -40
  47. data/lib/active_scaffold/helpers/view_helpers.rb +22 -6
  48. data/lib/active_scaffold/marked_model.rb +4 -4
  49. data/lib/active_scaffold/tableless.rb +18 -0
  50. data/lib/active_scaffold/version.rb +1 -1
  51. data/test/config/list_test.rb +0 -6
  52. metadata +18 -18
  53. data/frontends/default/views/on_mark_all.js.erb +0 -12
data/CHANGELOG CHANGED
@@ -1,8 +1,29 @@
1
- = 3.2.10 (not released yet)
1
+ = 3.2.12 (not released yet)
2
+ - improve support for tableless models, add support for count
3
+ - fix div id for nested scaffolds
4
+ - add config.timestamped_messages and config.highlight_messages
5
+ - Improve performance using class to check authorization for plural associations which are not loaded, and avoiding to load associations if it's not needed
6
+ - Fix using a scope in main form, it wasn't working for associations (for create multiple from active_scaffold_batch)
7
+ - Fix searches with no results, it was loading first page without conditions
8
+ - Allow to change highlight options with ActiveScaffold.js_config
9
+ - allow to override column count calculation for colspan
10
+ - Remove conditions_from_params from nested links
11
+ - Fix nested forms for singular associations
12
+ - enable to get constraints in helpers, so can be used in options_for_association_conditions, for example
13
+ - Allow to edit has_one :through association in nested forms
14
+ - Fix cancan bridge broken in a previous release
15
+ - Fix mark action
16
+
17
+ = 3.2.11
18
+ - improve support for tableless models and active_scaffold_batch
19
+ - fix count includes which were broken in 3.2.9
20
+ - remove duplicated conditions in nested scaffolds, added by conditions_from_params
21
+
22
+ = 3.2.10
2
23
  - fix nested scaffolds with update action disabled
3
24
  - initial work for tableless support (index with limited options)
4
25
  - fix scrolling on closing nested scaffolds
5
- - fix calculations and count includes which were broken in 3.2.9
26
+ - fix calculations which were broken in 3.2.9
6
27
 
7
28
  = 3.2.9
8
29
  - remove duplicated conditions with constraints
@@ -1,7 +1,7 @@
1
1
  jQuery(document).ready(function() {
2
2
  jQuery('form.as_form').live('ajax:beforeSend', function(event) {
3
3
  var as_form = jQuery(this).closest("form");
4
- if (as_form && as_form.attr('data-loading') == 'true') {
4
+ if (as_form.attr('data-loading') == 'true') {
5
5
  ActiveScaffold.disable_form(as_form);
6
6
  }
7
7
  return true;
@@ -9,19 +9,19 @@ jQuery(document).ready(function() {
9
9
 
10
10
  jQuery('form.as_form').live('ajax:complete', function(event) {
11
11
  var as_form = jQuery(this).closest("form");
12
- if (as_form && as_form.attr('data-loading') == 'true') {
12
+ if (as_form.attr('data-loading') == 'true') {
13
13
  ActiveScaffold.enable_form(as_form);
14
14
  }
15
15
  });
16
16
  jQuery('form.as_form').live('ajax:error', function(event, xhr, status, error) {
17
17
  var as_div = jQuery(this).closest("div.active-scaffold");
18
- if (as_div) {
19
- ActiveScaffold.report_500_response(as_div)
18
+ if (as_div.length) {
19
+ ActiveScaffold.report_500_response(as_div);
20
20
  }
21
21
  });
22
22
  jQuery('form.as_form.as_remote_upload').live('submit', function(event) {
23
23
  var as_form = jQuery(this).closest("form");
24
- if (as_form && as_form.attr('data-loading') == 'true') {
24
+ if (as_form.attr('data-loading') == 'true') {
25
25
  setTimeout("ActiveScaffold.disable_form('" + as_form.attr('id') + "')", 10);
26
26
  }
27
27
  return true;
@@ -122,7 +122,7 @@ jQuery(document).ready(function() {
122
122
  }
123
123
  return true;
124
124
  });
125
- jQuery('td.in_place_editor_field').live('click', function(event) {
125
+ jQuery('td.in_place_editor_field, th.as_marked-column_heading').live('click', function(event) {
126
126
  var span = jQuery(this).find('span.in_place_editor_field');
127
127
  span.data('addEmptyOnCancel', jQuery(this).hasClass('empty'));
128
128
  jQuery(this).removeClass('empty');
@@ -418,12 +418,10 @@ var ActiveScaffold = {
418
418
  replace: function(element, html) {
419
419
  if (typeof(element) == 'string') element = '#' + element;
420
420
  element = jQuery(element);
421
- element.replaceWith(html);
422
- if (element.attr('id')) {
423
- element = jQuery('#' + element.attr('id'));
424
- }
425
- element.trigger('as:element_updated');
426
- return element;
421
+ var new_element = jQuery(html);
422
+ element.replaceWith(new_element);
423
+ new_element.trigger('as:element_updated');
424
+ return new_element;
427
425
  },
428
426
 
429
427
  replace_html: function(element, html) {
@@ -541,8 +539,10 @@ var ActiveScaffold = {
541
539
  },
542
540
 
543
541
  report_500_response: function(active_scaffold_id) {
544
- server_error = jQuery(active_scaffold_id).find('td.messages-container p.server-error');
545
- if (!jQuery(server_error).is(':visible')) {
542
+ var server_error = jQuery(active_scaffold_id).find('td.messages-container p.server-error').first();
543
+ if (server_error.is(':visible')) {
544
+ ActiveScaffold.highlight(server_error);
545
+ } else {
546
546
  server_error.show();
547
547
  }
548
548
  },
@@ -585,13 +585,13 @@ var ActiveScaffold = {
585
585
  },
586
586
 
587
587
  read_inplace_edit_heading_attributes: function(column_heading, options) {
588
- if (column_heading.attr('data-ie_cancel_text')) options.cancel_button = '<button class="inplace_cancel">' + column_heading.attr('data-ie_cancel_text') + "</button>";
589
- if (column_heading.attr('data-ie_loading_text')) options.loading_text = column_heading.attr('data-ie_loading_text');
590
- if (column_heading.attr('data-ie_saving_text')) options.saving_text = column_heading.attr('data-ie_saving_text');
591
- if (column_heading.attr('data-ie_save_text')) options.save_button = '<button class="inplace_save">' + column_heading.attr('data-ie_save_text') + "</button>";
592
- if (column_heading.attr('data-ie_rows')) options.textarea_rows = column_heading.attr('data-ie_rows');
593
- if (column_heading.attr('data-ie_cols')) options.textarea_cols = column_heading.attr('data-ie_cols');
594
- if (column_heading.attr('data-ie_size')) options.text_size = column_heading.attr('data-ie_size');
588
+ if (column_heading.data('ie-cancel-text')) options.cancel_button = '<button class="inplace_cancel">' + column_heading.data('ie-cancel-text') + "</button>";
589
+ if (column_heading.data('ie-loading-text')) options.loading_text = column_heading.data('ie-loading-text');
590
+ if (column_heading.data('ie-saving-text')) options.saving_text = column_heading.data('ie-saving-text');
591
+ if (column_heading.data('ie-save-text')) options.save_button = '<button class="inplace_save">' + column_heading.data('ie-save-text') + "</button>";
592
+ if (column_heading.data('ie-rows')) options.textarea_rows = column_heading.data('ie-rows');
593
+ if (column_heading.data('ie-cols')) options.textarea_cols = column_heading.data('ie-cols');
594
+ if (column_heading.data('ie-size')) options.text_size = column_heading.data('ie-size');
595
595
  },
596
596
 
597
597
  create_inplace_editor: function(span, options) {
@@ -603,7 +603,7 @@ var ActiveScaffold = {
603
603
  highlight: function(element) {
604
604
  if (typeof(element) == 'string') element = jQuery('#' + element);
605
605
  if (typeof(element.effect) == 'function') {
606
- element.effect("highlight", {}, 3000);
606
+ element.effect("highlight", jQuery.extend({}, ActiveScaffold.config.highlight), 3000);
607
607
  }
608
608
  },
609
609
 
@@ -659,7 +659,7 @@ var ActiveScaffold = {
659
659
  sortable: function(element, controller, options, url_params) {
660
660
  if (typeof(element) == 'string') element = '#' + element;
661
661
  var element = jQuery(element);
662
- var sortable_options = {};
662
+ var sortable_options = jQuery.extend({}, options);
663
663
  if (options.update === true) {
664
664
  url_params.authenticity_token = jQuery('meta[name=csrf-param]').attr('content');
665
665
  sortable_options.update = function(event, ui) {
@@ -684,19 +684,21 @@ var ActiveScaffold = {
684
684
  mark_records: function(element, options) {
685
685
  if (typeof(element) == 'string') element = '#' + element;
686
686
  var element = jQuery(element);
687
- var mark_checkboxes = jQuery('#' + element.attr('id') + ' > tr.record td.marked-column input[type="checkbox"]');
688
- mark_checkboxes.each(function (index) {
689
- var item = jQuery(this);
690
- if(options.checked === true) {
691
- item.attr('checked', 'checked');
692
- } else {
693
- item.removeAttr('checked');
694
- }
695
- item.attr('value', ('' + !options.checked));
696
- });
697
- if(options.include_mark_all === true) {
698
- var mark_all_checkbox = element.prev('thead').find('th.marked-column_heading span input[type="checkbox"]');
699
- if(options.checked === true) {
687
+ if (options.include_checkboxes) {
688
+ var mark_checkboxes = jQuery('#' + element.attr('id') + ' > tr.record td.as_marked-column input[type="checkbox"]');
689
+ mark_checkboxes.each(function (index) {
690
+ var item = jQuery(this);
691
+ if(options.checked) {
692
+ item.attr('checked', 'checked');
693
+ } else {
694
+ item.removeAttr('checked');
695
+ }
696
+ item.attr('value', ('' + !options.checked));
697
+ });
698
+ }
699
+ if(options.include_mark_all) {
700
+ var mark_all_checkbox = element.prevAll('thead').find('th.as_marked-column_heading span input[type="checkbox"]');
701
+ if(options.checked) {
700
702
  mark_all_checkbox.attr('checked', 'checked');
701
703
  } else {
702
704
  mark_all_checkbox.removeAttr('checked');
@@ -735,16 +737,16 @@ var ActiveScaffold = {
735
737
  column_heading = my_parent;
736
738
  }
737
739
 
738
- var render_url = column_heading.attr('data-ie_render_url'),
739
- mode = column_heading.attr('data-ie_mode'),
740
- record_id = span.attr('data-ie_id');
740
+ var render_url = column_heading.data('ie-render-url'),
741
+ mode = column_heading.data('ie-mode'),
742
+ record_id = span.data('ie-id') || '';
741
743
 
742
744
  ActiveScaffold.read_inplace_edit_heading_attributes(column_heading, options);
743
745
 
744
- if (span.attr('data-ie_url')) {
745
- options.url = span.attr('data-ie_url').replace(/__id__/, record_id);
746
+ if (span.data('ie-url')) {
747
+ options.url = span.data('ie-url').replace(/__id__/, record_id);
746
748
  } else {
747
- options.url = column_heading.attr('data-ie_url').replace(/__id__/, record_id);
749
+ options.url = column_heading.data('ie-url').replace(/__id__/, record_id);
748
750
  }
749
751
 
750
752
  if (csrf_param) options['params'] = csrf_param.attr('content') + '=' + csrf_token.attr('content');
@@ -764,7 +766,7 @@ var ActiveScaffold = {
764
766
 
765
767
  if (render_url) {
766
768
  var plural = false;
767
- if (column_heading.attr('data-ie_plural')) plural = true;
769
+ if (column_heading.data('ie-plural')) plural = true;
768
770
  options.field_type = 'remote';
769
771
  options.editor_url = render_url.replace(/__id__/, record_id)
770
772
  }
@@ -1024,10 +1026,17 @@ ActiveScaffold.ActionLink.Record = ActiveScaffold.ActionLink.Abstract.extend({
1024
1026
  ActiveScaffold.highlight(this.adapter.find('td'));
1025
1027
  },
1026
1028
 
1027
- close: function(refreshed_content) {
1029
+ close: function(refreshed_content_or_reload) {
1028
1030
  this._super();
1029
- if (refreshed_content) {
1030
- ActiveScaffold.update_row(this.target, refreshed_content);
1031
+ if (refreshed_content_or_reload) {
1032
+ if (typeof refreshed_content_or_reload == 'string') {
1033
+ ActiveScaffold.update_row(this.target, refreshed_content_or_reload);
1034
+ } else if (this.refresh_url) {
1035
+ var target = this.target;
1036
+ jQuery.get(this.refresh_url, function(e, status, response) {
1037
+ ActiveScaffold.update_row(target, response.responseText);
1038
+ });
1039
+ }
1031
1040
  }
1032
1041
  },
1033
1042
 
@@ -170,18 +170,18 @@ document.observe("dom:loaded", function() {
170
170
  column_heading = my_parent;
171
171
  }
172
172
 
173
- var render_url = column_heading.readAttribute('data-ie_render_url'),
174
- mode = column_heading.readAttribute('data-ie_mode'),
175
- record_id = span.readAttribute('data-ie_id');
173
+ var render_url = column_heading.readAttribute('data-ie-render-url'),
174
+ mode = column_heading.readAttribute('data-ie-mode'),
175
+ record_id = span.readAttribute('data-ie-id') || '';
176
176
 
177
177
  ActiveScaffold.read_inplace_edit_heading_attributes(column_heading, options);
178
178
 
179
- if (span.readAttribute('data-ie_url')) {
180
- options.url = span.readAttribute('data-ie_url');
179
+ if (span.readAttribute('data-ie-url')) {
180
+ options.url = span.readAttribute('data-ie-url');
181
181
  } else {
182
- options.url = column_heading.readAttribute('data-ie_url');
182
+ options.url = column_heading.readAttribute('data-ie-url');
183
183
  }
184
- if (record_id) options.url = options.url.sub('__id__', record_id);
184
+ options.url = options.url.sub('__id__', record_id);
185
185
 
186
186
  if (csrf_param) options['params'] = csrf_param.readAttribute('content') + '=' + csrf_token.readAttribute('content');
187
187
 
@@ -200,7 +200,7 @@ document.observe("dom:loaded", function() {
200
200
 
201
201
  if (render_url) {
202
202
  var plural = false;
203
- if (column_heading.readAttribute('data-ie_plural')) plural = true;
203
+ if (column_heading.readAttribute('data-ie-plural')) plural = true;
204
204
  options['onFormCustomization'] = new Function('element', 'form', 'element.setFieldFromAjax(' + "'" + render_url.sub('__id__', record_id) + "', {plural: " + plural + '});');
205
205
  }
206
206
 
@@ -375,7 +375,7 @@ var ActiveScaffold = {
375
375
  row = $(row);
376
376
  var new_row = this.replace(row, html)
377
377
  if (row.hasClassName('even-record')) new_row.addClassName('even-record');
378
- new_row.highlight();
378
+ ActiveScaffold.highlight(new_row);
379
379
  },
380
380
 
381
381
  replace: function(element, html) {
@@ -451,7 +451,7 @@ var ActiveScaffold = {
451
451
  this.stripe(tbody);
452
452
  this.hide_empty_message(tbody);
453
453
  this.increment_record_count(tbody.up('div.active-scaffold'));
454
- new_row.highlight();
454
+ ActiveScaffold.highlight(new_row);
455
455
  },
456
456
 
457
457
  delete_record_row: function(row, page_reload_url) {
@@ -488,9 +488,9 @@ var ActiveScaffold = {
488
488
  },
489
489
 
490
490
  report_500_response: function(active_scaffold_id) {
491
- server_error = $(active_scaffold_id).down('td.messages-container p.server-error');
491
+ var server_error = $(active_scaffold_id).down('td.messages-container p.server-error');
492
492
  if (server_error.visible()) {
493
- server_error.highlight();
493
+ ActiveScaffold.highlight(server_error);
494
494
  } else {
495
495
  server_error.show();
496
496
  }
@@ -530,13 +530,13 @@ var ActiveScaffold = {
530
530
  },
531
531
 
532
532
  read_inplace_edit_heading_attributes: function(column_heading, options) {
533
- if (column_heading.readAttribute('data-ie_cancel_text')) options.cancelText = column_heading.readAttribute('data-ie_cancel_text');
534
- if (column_heading.readAttribute('data-ie_loading_text')) options.loadingText = column_heading.readAttribute('data-ie_loading_text');
535
- if (column_heading.readAttribute('data-ie_saving_text')) options.savingText = column_heading.readAttribute('data-ie_saving_text');
536
- if (column_heading.readAttribute('data-ie_save_text')) options.okText = column_heading.readAttribute('data-ie_save_text');
537
- if (column_heading.readAttribute('data-ie_rows')) options.rows = column_heading.readAttribute('data-ie_rows');
538
- if (column_heading.readAttribute('data-ie_cols')) options.cols = column_heading.readAttribute('data-ie_cols');
539
- if (column_heading.readAttribute('data-ie_size')) options.size = column_heading.readAttribute('data-ie_size');
533
+ if (column_heading.readAttribute('data-ie-cancel-text')) options.cancelText = column_heading.readAttribute('data-ie-cancel-text');
534
+ if (column_heading.readAttribute('data-ie-loading-text')) options.loadingText = column_heading.readAttribute('data-ie-loading-text');
535
+ if (column_heading.readAttribute('data-ie-saving-text')) options.savingText = column_heading.readAttribute('data-ie-saving-text');
536
+ if (column_heading.readAttribute('data-ie-save-text')) options.okText = column_heading.readAttribute('data-ie-save-text');
537
+ if (column_heading.readAttribute('data-ie-rows')) options.rows = column-heading.readAttribute('data-ie-rows');
538
+ if (column_heading.readAttribute('data-ie-cols')) options.cols = column-heading.readAttribute('data-ie-cols');
539
+ if (column_heading.readAttribute('data-ie-size')) options.size = column-heading.readAttribute('data-ie-size');
540
540
  },
541
541
 
542
542
  create_inplace_editor: function(span, options) {
@@ -610,18 +610,20 @@ var ActiveScaffold = {
610
610
  // element is tbody id
611
611
  mark_records: function(element, options) {
612
612
  var element = $(element);
613
- var mark_checkboxes = $$('#' + element.readAttribute('id') + ' > tr.record td.marked-column input[type="checkbox"]');
614
- mark_checkboxes.each(function(item) {
615
- if(options.checked === true) {
616
- item.writeAttribute({ checked: 'checked' });
617
- } else {
618
- item.removeAttribute('checked');
619
- }
620
- item.writeAttribute('value', ('' + !options.checked));
621
- });
622
- if(options.include_mark_all === true) {
613
+ if (options.include_checkboxes) {
614
+ var mark_checkboxes = $$('#' + element.readAttribute('id') + ' > tr.record td.marked-column input[type="checkbox"]');
615
+ mark_checkboxes.each(function(item) {
616
+ if(options.checked) {
617
+ item.writeAttribute({ checked: 'checked' });
618
+ } else {
619
+ item.removeAttribute('checked');
620
+ }
621
+ item.writeAttribute('value', ('' + !options.checked));
622
+ });
623
+ }
624
+ if(options.include_mark_all) {
623
625
  var mark_all_checkbox = element.previous('thead').down('th.marked-column_heading span input[type="checkbox"]');
624
- if(options.checked === true) {
626
+ if(options.checked) {
625
627
  mark_all_checkbox.writeAttribute({ checked: 'checked' });
626
628
  } else {
627
629
  mark_all_checkbox.removeAttribute('checked');
@@ -668,6 +670,13 @@ var ActiveScaffold = {
668
670
 
669
671
  draggable_lists: function(element) {
670
672
  new DraggableLists(element);
673
+ },
674
+
675
+ highlight: function(element) {
676
+ element = $(element);
677
+ if (typeof(element.highlight) == 'function') {
678
+ element.highlight(Object.extend({duration: 3}, ActiveScaffold.config.highlight));
679
+ }
671
680
  }
672
681
  }
673
682
 
@@ -907,13 +916,23 @@ ActiveScaffold.ActionLink.Record = Class.create(ActiveScaffold.ActionLink.Abstra
907
916
  else {
908
917
  return false;
909
918
  }
910
- this.adapter.down('td').down().highlight();
919
+ ActiveScaffold.highlight(this.adapter.down('td').down());
911
920
  },
912
921
 
913
- close: function($super, refreshed_content) {
922
+ close: function($super, refreshed_content_or_reload) {
914
923
  $super();
915
- if (refreshed_content) {
916
- ActiveScaffold.update_row(this.target, refreshed_content);
924
+ if (refreshed_content_or_reload) {
925
+ if (typeof refreshed_content_or_reload == 'string') {
926
+ ActiveScaffold.update_row(this.target, refreshed_content_or_update);
927
+ } else if (this.refresh_url) {
928
+ var target = this.target;
929
+ new Ajax.Request(this.refresh_url, {
930
+ method: 'get',
931
+ onComplete: function(response) {
932
+ ActiveScaffold.update_row(target, response.responseText);
933
+ }
934
+ });
935
+ }
917
936
  }
918
937
  },
919
938
 
@@ -965,7 +984,7 @@ ActiveScaffold.ActionLink.Table = Class.create(ActiveScaffold.ActionLink.Abstrac
965
984
  else {
966
985
  throw 'Unknown position "' + this.position + '"'
967
986
  }
968
- this.adapter.down('td').down().highlight();
987
+ ActiveScaffold.highlight(this.adapter.down('td').down());
969
988
  },
970
989
 
971
990
  reload: function() {
@@ -450,6 +450,10 @@ position: relative;
450
450
  margin: 2px 7px;
451
451
  line-height: 12px;
452
452
  }
453
+ .active-scaffold .message .timestamp,
454
+ .active-scaffold .message .message-content {
455
+ display: inline;
456
+ }
453
457
 
454
458
  .active-scaffold .filtered-message .reset {
455
459
  position: absolute;
@@ -31,8 +31,10 @@ de:
31
31
  filtered: '(Gefiltert)'
32
32
  found: 'Gefunden'
33
33
  hide: 'Verstecken'
34
+ inplace_edit_handle: '--'
34
35
  live_search: 'Live-Suche'
35
36
  loading: 'Lade…'
37
+ mark_all_records: "Mark all"
36
38
  next: 'Vor'
37
39
  no_entries: 'Keine Einträge'
38
40
  no_options: 'Keine Optionen'
@@ -41,6 +43,9 @@ de:
41
43
  pdf: 'PDF'
42
44
  previous: 'Zurück'
43
45
  print: 'Drucken'
46
+ records_marked:
47
+ one: "1 marked %{model}"
48
+ other: "%{count} marked %{model}"
44
49
  refresh: 'Neu laden'
45
50
  remove: 'Entfernen'
46
51
  remove_file: 'Entferne oder Ersetze Datei'
@@ -31,8 +31,10 @@ en:
31
31
  filtered: '(Filtered)'
32
32
  found: 'Found'
33
33
  hide: 'Hide'
34
+ inplace_edit_handle: '--'
34
35
  live_search: 'Live Search'
35
36
  loading: 'Loading…'
37
+ mark_all_records: "Mark all"
36
38
  next: 'Next'
37
39
  no_entries: 'No Entries'
38
40
  no_options: 'no options'
@@ -41,6 +43,9 @@ en:
41
43
  pdf: 'PDF'
42
44
  previous: 'Previous'
43
45
  print: 'Print'
46
+ records_marked:
47
+ one: "1 marked %{model}"
48
+ other: "%{count} marked %{model}"
44
49
  refresh: 'Refresh'
45
50
  remove: 'Remove'
46
51
  remove_file: 'Remove or Replace file'
@@ -31,8 +31,10 @@ es:
31
31
  one: 'encontrado'
32
32
  other: 'encontrados'
33
33
  hide: 'Ocultar'
34
+ inplace_edit_handle: '--'
34
35
  live_search: 'Buscar en Vivo'
35
36
  loading: 'Cargando…'
37
+ mark_all_records: "Seleccionar todos"
36
38
  nested_for_model: '%{nested_model} de %{parent_model}'
37
39
  nested_of_model: '%{nested_model} de %{parent_model}'
38
40
  next: 'Siguiente'
@@ -43,6 +45,9 @@ es:
43
45
  pdf: 'PDF'
44
46
  previous: 'Anterior'
45
47
  print: 'Imprimir'
48
+ records_marked:
49
+ one: "1 %{model} seleccionado"
50
+ other: "%{count} %{model} seleccionados"
46
51
  refresh: 'Recargar'
47
52
  remove: 'Eliminar'
48
53
  remove_file: 'Eliminar o Reemplazar archivo'