active_scaffold 3.0.12 → 3.0.21
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.
- data/README +21 -11
- data/frontends/default/images/close_touch.png +0 -0
- data/frontends/default/javascripts/jquery/active_scaffold.js +187 -99
- data/frontends/default/javascripts/prototype/active_scaffold.js +105 -33
- data/frontends/default/javascripts/prototype/dhtml_history.js +80 -77
- data/frontends/default/stylesheets/stylesheet.css +121 -2
- data/frontends/default/views/_action_group.html.erb +6 -2
- data/frontends/default/views/_base_form.html.erb +11 -5
- data/frontends/default/views/_base_form.html.erb~ +42 -0
- data/frontends/default/views/_field_search.html.erb +1 -1
- data/frontends/default/views/_form.html.erb +9 -7
- data/frontends/default/views/_form_association.html.erb +8 -3
- data/frontends/default/views/_form_association_footer.html.erb +10 -3
- data/frontends/default/views/_form_attribute.html.erb +8 -3
- data/frontends/default/views/_horizontal_subform.html.erb +12 -2
- data/frontends/default/views/_horizontal_subform_header.html.erb +1 -1
- data/frontends/default/views/_horizontal_subform_record.html.erb +5 -4
- data/frontends/default/views/_list_messages.html.erb +1 -1
- data/frontends/default/views/_list_with_header.html.erb +1 -1
- data/frontends/default/views/_render_field.js.rjs +4 -6
- data/frontends/default/views/_vertical_subform.html.erb +1 -1
- data/frontends/default/views/_vertical_subform_record.html.erb +2 -2
- data/frontends/default/views/on_action_update.js.rjs +3 -1
- data/frontends/default/views/on_mark_all.js.rjs +12 -0
- data/frontends/default/views/on_update.js.rjs +1 -1
- data/frontends/default/views/render_field.js.rjs +1 -0
- data/frontends/default/views/update_column.js.rjs +1 -1
- data/lib/active_scaffold.rb +60 -21
- data/lib/active_scaffold/actions/common_search.rb +2 -2
- data/lib/active_scaffold/actions/core.rb +30 -9
- data/lib/active_scaffold/actions/create.rb +14 -10
- data/lib/active_scaffold/actions/field_search.rb +6 -6
- data/lib/active_scaffold/actions/list.rb +22 -12
- data/lib/active_scaffold/actions/mark.rb +34 -9
- data/lib/active_scaffold/actions/nested.rb +12 -16
- data/lib/active_scaffold/actions/show.rb +2 -2
- data/lib/active_scaffold/actions/subform.rb +15 -8
- data/lib/active_scaffold/actions/update.rb +14 -4
- data/lib/active_scaffold/attribute_params.rb +15 -10
- data/lib/active_scaffold/bridges/bridge.rb +21 -12
- data/lib/active_scaffold/bridges/calendar_date_select/bridge.rb +3 -3
- data/lib/active_scaffold/bridges/cancan/bridge.rb +12 -0
- data/lib/active_scaffold/bridges/cancan/lib/cancan_bridge.rb +107 -0
- data/lib/active_scaffold/bridges/carrierwave/bridge.rb +1 -1
- data/lib/active_scaffold/bridges/carrierwave/lib/carrierwave_bridge.rb +3 -8
- data/lib/active_scaffold/bridges/carrierwave/lib/carrierwave_bridge_helpers.rb +1 -15
- data/lib/active_scaffold/bridges/carrierwave/lib/form_ui.rb +23 -13
- data/lib/active_scaffold/bridges/carrierwave/lib/list_ui.rb +1 -1
- data/lib/active_scaffold/bridges/country_helper/bridge.rb +9 -0
- data/lib/active_scaffold/bridges/country_helper/lib/country_helper_bridge.rb +358 -0
- data/lib/active_scaffold/bridges/date_picker/bridge.rb +5 -3
- data/lib/active_scaffold/bridges/date_picker/lib/datepicker_bridge.rb +9 -0
- data/lib/active_scaffold/bridges/dragonfly/bridge.rb +9 -0
- data/lib/active_scaffold/bridges/dragonfly/bridge.rb~ +12 -0
- data/lib/active_scaffold/bridges/dragonfly/lib/dragonfly_bridge.rb +36 -0
- data/lib/active_scaffold/bridges/dragonfly/lib/dragonfly_bridge.rb~ +36 -0
- data/lib/active_scaffold/bridges/dragonfly/lib/dragonfly_bridge_helpers.rb +12 -0
- data/lib/active_scaffold/bridges/dragonfly/lib/dragonfly_bridge_helpers.rb~ +12 -0
- data/lib/active_scaffold/bridges/dragonfly/lib/form_ui.rb +27 -0
- data/lib/active_scaffold/bridges/dragonfly/lib/form_ui.rb~ +27 -0
- data/lib/active_scaffold/bridges/dragonfly/lib/list_ui.rb +16 -0
- data/lib/active_scaffold/bridges/dragonfly/lib/list_ui.rb~ +16 -0
- data/lib/active_scaffold/bridges/paperclip/bridge.rb +1 -1
- data/lib/active_scaffold/bridges/record_select/bridge.rb +5 -0
- data/lib/active_scaffold/bridges/record_select/lib/record_select_bridge.rb +87 -0
- data/lib/active_scaffold/bridges/record_select/lib/record_select_bridge.rb~ +84 -0
- data/lib/active_scaffold/bridges/shared/date_bridge.rb +56 -34
- data/lib/active_scaffold/bridges/tiny_mce/lib/tiny_mce_bridge.rb +19 -3
- data/lib/active_scaffold/config/base.rb +4 -4
- data/lib/active_scaffold/config/core.rb +4 -0
- data/lib/active_scaffold/config/create.rb +1 -1
- data/lib/active_scaffold/config/field_search.rb +7 -7
- data/lib/active_scaffold/config/form.rb +8 -2
- data/lib/active_scaffold/config/list.rb +22 -8
- data/lib/active_scaffold/config/mark.rb +18 -5
- data/lib/active_scaffold/config/nested.rb +3 -3
- data/lib/active_scaffold/config/search.rb +1 -1
- data/lib/active_scaffold/config/show.rb +1 -1
- data/lib/active_scaffold/data_structures/action_columns.rb +10 -6
- data/lib/active_scaffold/data_structures/action_link.rb +14 -10
- data/lib/active_scaffold/data_structures/action_links.rb +2 -2
- data/lib/active_scaffold/data_structures/column.rb +25 -11
- data/lib/active_scaffold/data_structures/nested_info.rb +21 -21
- data/lib/active_scaffold/data_structures/set.rb +2 -3
- data/lib/active_scaffold/data_structures/sorting.rb +8 -8
- data/lib/{extensions → active_scaffold/extensions}/action_controller_rendering.rb +3 -1
- data/lib/{extensions → active_scaffold/extensions}/action_view_rendering.rb +31 -33
- data/lib/{extensions → active_scaffold/extensions}/action_view_resolver.rb +0 -0
- data/lib/{extensions → active_scaffold/extensions}/active_association_reflection.rb +0 -0
- data/lib/active_scaffold/extensions/active_record_offset.rb +12 -0
- data/lib/{extensions → active_scaffold/extensions}/array.rb +0 -0
- data/lib/{extensions → active_scaffold/extensions}/localize.rb +1 -1
- data/lib/{extensions → active_scaffold/extensions}/name_option_for_datetime.rb +1 -1
- data/lib/{extensions → active_scaffold/extensions}/nil_id_in_url_params.rb +0 -0
- data/lib/{extensions → active_scaffold/extensions}/paginator_extensions.rb +2 -2
- data/lib/{extensions → active_scaffold/extensions}/reverse_associations.rb +1 -1
- data/lib/{extensions → active_scaffold/extensions}/routing_mapper.rb +2 -2
- data/lib/{extensions → active_scaffold/extensions}/to_label.rb +0 -0
- data/lib/{extensions → active_scaffold/extensions}/unsaved_associated.rb +0 -0
- data/lib/{extensions → active_scaffold/extensions}/unsaved_record.rb +0 -0
- data/lib/active_scaffold/extensions/usa_state.rb +46 -0
- data/lib/active_scaffold/finder.rb +30 -19
- data/lib/active_scaffold/helpers/controller_helpers.rb +3 -5
- data/lib/active_scaffold/helpers/form_column_helpers.rb +19 -45
- data/lib/active_scaffold/helpers/human_condition_helpers.rb +1 -1
- data/lib/active_scaffold/helpers/id_helpers.rb +2 -2
- data/lib/active_scaffold/helpers/list_column_helpers.rb +28 -17
- data/lib/active_scaffold/helpers/search_column_helpers.rb +51 -40
- data/lib/active_scaffold/helpers/search_column_helpers.rb~ +215 -0
- data/lib/active_scaffold/helpers/show_column_helpers.rb +8 -4
- data/lib/active_scaffold/helpers/view_helpers.rb +50 -27
- data/lib/active_scaffold/locale/de.yml +111 -0
- data/lib/active_scaffold/locale/en.yml +115 -0
- data/lib/active_scaffold/locale/es.yml +32 -32
- data/lib/active_scaffold/locale/fr.yml +118 -0
- data/lib/active_scaffold/marked_model.rb +6 -6
- data/lib/active_scaffold/version.rb +1 -1
- data/lib/active_scaffold_assets.rb +1 -3
- data/lib/active_scaffold_env.rb +1 -2
- data/lib/generators/active_scaffold/active_scaffold_generator.rb +5 -5
- data/lib/generators/active_scaffold_controller/active_scaffold_controller_generator.rb +3 -2
- data/lib/generators/active_scaffold_controller/templates/helper.rb +2 -0
- data/lib/generators/active_scaffold_setup/active_scaffold_setup_generator.rb +17 -19
- data/shoulda_macros/macros.rb +4 -4
- data/test/misc/finder_test.rb +2 -2
- data/test/mock_app/public/stylesheets/active_scaffold/default/stylesheet.css +4 -1
- metadata +144 -126
- data/.autotest +0 -27
- data/.document +0 -5
- data/Gemfile +0 -13
- data/Gemfile.lock +0 -20
- data/Rakefile +0 -53
- data/active_scaffold.gemspec +0 -385
- data/init.rb +0 -2
- data/lib/active_scaffold/helpers/country_helpers.rb +0 -358
- data/lib/active_scaffold/locale/de.rb +0 -120
- data/lib/active_scaffold/locale/en.rb +0 -119
- data/lib/active_scaffold/locale/fr.rb +0 -116
- data/lib/extensions/active_record_offset.rb +0 -12
- data/lib/extensions/usa_state.rb +0 -50
- data/test/mock_app/.gitignore +0 -2
- data/uninstall.rb +0 -13
|
@@ -155,6 +155,10 @@ document.observe("dom:loaded", function() {
|
|
|
155
155
|
csrf_token = $$('meta[name=csrf-token]')[0],
|
|
156
156
|
my_parent = span.up(),
|
|
157
157
|
column_heading = null;
|
|
158
|
+
|
|
159
|
+
if(!(my_parent.nodeName.toLowerCase() === 'td' || my_parent.nodeName.toLowerCase() === 'th')){
|
|
160
|
+
my_parent = span.up('td');
|
|
161
|
+
}
|
|
158
162
|
|
|
159
163
|
if (my_parent.nodeName.toLowerCase() === 'td') {
|
|
160
164
|
var heading_selector = '.' + span.up().readAttribute('class').split(' ')[0] + '_heading';
|
|
@@ -180,7 +184,7 @@ document.observe("dom:loaded", function() {
|
|
|
180
184
|
|
|
181
185
|
if (span.up('div.active-scaffold').readAttribute('data-eid')) {
|
|
182
186
|
if (options['params'].length > 0) {
|
|
183
|
-
options['params'] += "
|
|
187
|
+
options['params'] += "&";
|
|
184
188
|
}
|
|
185
189
|
options['params'] += ("eid=" + span.up('div.active-scaffold').readAttribute('data-eid'));
|
|
186
190
|
}
|
|
@@ -226,7 +230,7 @@ document.observe("dom:loaded", function() {
|
|
|
226
230
|
if(loading_indicator) loading_indicator.style.visibility = 'hidden';
|
|
227
231
|
return true;
|
|
228
232
|
});
|
|
229
|
-
document.on('ajax:before', 'input[type=button].as_add_existing', function(event) {
|
|
233
|
+
document.on('ajax:before', 'input[type=button].as_add_existing, input[type=button].as_replace_existing', function(event) {
|
|
230
234
|
var button = event.findElement();
|
|
231
235
|
var url = button.readAttribute('href').sub('--ID--', button.previous().getValue());
|
|
232
236
|
event.memo.url = url;
|
|
@@ -234,26 +238,7 @@ document.observe("dom:loaded", function() {
|
|
|
234
238
|
});
|
|
235
239
|
document.on('change', 'input.update_form, select.update_form', function(event) {
|
|
236
240
|
var element = event.findElement();
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
new Ajax.Request(element.readAttribute('data-update_url'), {
|
|
240
|
-
method: 'get',
|
|
241
|
-
parameters: {value: element.getValue()},
|
|
242
|
-
onLoading: function(response) {
|
|
243
|
-
element.next('img.loading-indicator').style.visibility = 'visible';
|
|
244
|
-
as_form.disable();
|
|
245
|
-
},
|
|
246
|
-
onComplete: function(response) {
|
|
247
|
-
element.next('img.loading-indicator').style.visibility = 'hidden';
|
|
248
|
-
as_form.enable();
|
|
249
|
-
},
|
|
250
|
-
onFailure: function(request) {
|
|
251
|
-
var as_div = event.findElement('div.active-scaffold');
|
|
252
|
-
if (as_div) {
|
|
253
|
-
ActiveScaffold.report_500_response(as_div)
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
});
|
|
241
|
+
ActiveScaffold.update_column(element, element.readAttribute('data-update_url'), element.hasAttribute('data-update_send_form'), element.readAttribute('id'), element.getValue());
|
|
257
242
|
return true;
|
|
258
243
|
});
|
|
259
244
|
document.on('change', 'select.as_search_range_option', function(event) {
|
|
@@ -276,10 +261,27 @@ document.observe("dom:loaded", function() {
|
|
|
276
261
|
return true;
|
|
277
262
|
});
|
|
278
263
|
document.on("click", "a[data-popup]", function(event, element) {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
264
|
+
if (event.stopped) return;
|
|
265
|
+
window.open($(element).href);
|
|
266
|
+
event.stop();
|
|
267
|
+
});
|
|
268
|
+
document.on("click", ".hover_click", function(event, element) {
|
|
269
|
+
var ul_element = element.down('ul');
|
|
270
|
+
if (ul_element.getStyle('display') === 'none') {
|
|
271
|
+
ul_element.style.display = 'block';
|
|
272
|
+
} else {
|
|
273
|
+
ul_element.style.display = 'none';
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
return true;
|
|
277
|
+
});
|
|
278
|
+
document.on("click", ".hover_click a.as_action", function(event, element) {
|
|
279
|
+
var element = element.up('.hover_click').down('ul');
|
|
280
|
+
if (element) {
|
|
281
|
+
element.style.display = 'none';
|
|
282
|
+
}
|
|
283
|
+
return true;
|
|
284
|
+
});
|
|
283
285
|
});
|
|
284
286
|
|
|
285
287
|
|
|
@@ -451,6 +453,14 @@ var ActiveScaffold = {
|
|
|
451
453
|
this.reload_if_empty(tbody, page_reload_url);
|
|
452
454
|
},
|
|
453
455
|
|
|
456
|
+
delete_subform_record: function(record) {
|
|
457
|
+
var errors = $(record).previous();
|
|
458
|
+
if (errors.hasClassName('association-record-errors')) {
|
|
459
|
+
this.replace_html(errors, '');
|
|
460
|
+
}
|
|
461
|
+
this.remove(record);
|
|
462
|
+
},
|
|
463
|
+
|
|
454
464
|
report_500_response: function(active_scaffold_id) {
|
|
455
465
|
server_error = $(active_scaffold_id).down('td.messages-container p.server-error');
|
|
456
466
|
if (server_error.visible()) {
|
|
@@ -524,7 +534,7 @@ var ActiveScaffold = {
|
|
|
524
534
|
element.insert(content);
|
|
525
535
|
}
|
|
526
536
|
} else {
|
|
527
|
-
var current = $$('#' + element.readAttribute('id') + '
|
|
537
|
+
var current = $$('#' + element.readAttribute('id') + ' .association-record');
|
|
528
538
|
if (current[0]) {
|
|
529
539
|
this.replace(current[0], content);
|
|
530
540
|
} else {
|
|
@@ -533,12 +543,20 @@ var ActiveScaffold = {
|
|
|
533
543
|
}
|
|
534
544
|
},
|
|
535
545
|
|
|
536
|
-
render_form_field: function(
|
|
537
|
-
var
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
546
|
+
render_form_field: function(source, content, options) {
|
|
547
|
+
var source = $(source);
|
|
548
|
+
var element = source.up('.association-record');
|
|
549
|
+
if (typeof(element) === 'undefined') {
|
|
550
|
+
element = source.up('ol.form');
|
|
551
|
+
}
|
|
552
|
+
element = element.down('.' + options.field_class);
|
|
553
|
+
|
|
554
|
+
if (element) {
|
|
555
|
+
if (options.is_subform == false) {
|
|
556
|
+
this.replace(element.up('dl'), content);
|
|
557
|
+
} else {
|
|
558
|
+
this.replace_html(element, content);
|
|
559
|
+
}
|
|
542
560
|
}
|
|
543
561
|
},
|
|
544
562
|
|
|
@@ -552,6 +570,60 @@ var ActiveScaffold = {
|
|
|
552
570
|
}
|
|
553
571
|
}
|
|
554
572
|
);
|
|
573
|
+
},
|
|
574
|
+
|
|
575
|
+
// element is tbody id
|
|
576
|
+
mark_records: function(element, options) {
|
|
577
|
+
var element = $(element);
|
|
578
|
+
var mark_checkboxes = $$('#' + element.readAttribute('id') + ' > tr.record td.marked-column input[type="checkbox"]');
|
|
579
|
+
mark_checkboxes.each(function(item) {
|
|
580
|
+
if(options.checked === true) {
|
|
581
|
+
item.writeAttribute({ checked: 'checked' });
|
|
582
|
+
} else {
|
|
583
|
+
item.removeAttribute('checked');
|
|
584
|
+
}
|
|
585
|
+
item.writeAttribute('value', ('' + !options.checked));
|
|
586
|
+
});
|
|
587
|
+
if(options.include_mark_all === true) {
|
|
588
|
+
var mark_all_checkbox = element.previous('thead').down('th.marked-column_heading span input[type="checkbox"]');
|
|
589
|
+
if(options.checked === true) {
|
|
590
|
+
mark_all_checkbox.writeAttribute({ checked: 'checked' });
|
|
591
|
+
} else {
|
|
592
|
+
mark_all_checkbox.removeAttribute('checked');
|
|
593
|
+
}
|
|
594
|
+
mark_all_checkbox.writeAttribute('value', ('' + !options.checked));
|
|
595
|
+
}
|
|
596
|
+
},
|
|
597
|
+
|
|
598
|
+
update_column: function(element, url, send_form, source_id, val) {
|
|
599
|
+
var as_form = element.up('form.as_form');
|
|
600
|
+
var params = null;
|
|
601
|
+
|
|
602
|
+
if (send_form) {
|
|
603
|
+
params = as_form.serialize(true);
|
|
604
|
+
} else {
|
|
605
|
+
params = {value: val};
|
|
606
|
+
}
|
|
607
|
+
params.source_id = source_id;
|
|
608
|
+
|
|
609
|
+
new Ajax.Request(url, {
|
|
610
|
+
method: 'get',
|
|
611
|
+
parameters: params,
|
|
612
|
+
onLoading: function(response) {
|
|
613
|
+
element.next('img.loading-indicator').style.visibility = 'visible';
|
|
614
|
+
as_form.disable();
|
|
615
|
+
},
|
|
616
|
+
onComplete: function(response) {
|
|
617
|
+
element.next('img.loading-indicator').style.visibility = 'hidden';
|
|
618
|
+
as_form.enable();
|
|
619
|
+
},
|
|
620
|
+
onFailure: function(request) {
|
|
621
|
+
var as_div = event.findElement('div.active-scaffold');
|
|
622
|
+
if (as_div) {
|
|
623
|
+
ActiveScaffold.report_500_response(as_div)
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
});
|
|
555
627
|
}
|
|
556
628
|
}
|
|
557
629
|
|
|
@@ -53,18 +53,6 @@ window.dhtmlHistory = {
|
|
|
53
53
|
|
|
54
54
|
var that = this;
|
|
55
55
|
|
|
56
|
-
/*Set up the historyStorage object; pass in options bundle*/
|
|
57
|
-
window.historyStorage.setup(options);
|
|
58
|
-
|
|
59
|
-
/*Set up our base title if one is passed in*/
|
|
60
|
-
if (options && options.baseTitle) {
|
|
61
|
-
if (options.baseTitle.indexOf("@@@") < 0 && historyStorage.debugMode) {
|
|
62
|
-
throw new Error("Programmer error: options.baseTitle must contain the replacement parameter"
|
|
63
|
-
+ " '@@@' to be useful.");
|
|
64
|
-
}
|
|
65
|
-
this.baseTitle = options.baseTitle;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
56
|
/*set user-agent flags*/
|
|
69
57
|
var UA = navigator.userAgent.toLowerCase();
|
|
70
58
|
var platform = navigator.platform.toLowerCase();
|
|
@@ -80,77 +68,92 @@ window.dhtmlHistory = {
|
|
|
80
68
|
this.isSupported = true;
|
|
81
69
|
} else if (vendor.indexOf("Apple Computer, Inc.") > -1) {
|
|
82
70
|
this.isSafari = true;
|
|
83
|
-
this.isSupported = (platform.indexOf("mac") > -1);
|
|
71
|
+
//this.isSupported = (platform.indexOf("mac") > -1);
|
|
72
|
+
this.isSupported = false;
|
|
84
73
|
} else if (UA.indexOf("gecko") != -1) {
|
|
85
74
|
this.isGecko = true;
|
|
86
75
|
this.isSupported = true;
|
|
87
76
|
}
|
|
88
77
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
78
|
+
if (this.isSupported) {
|
|
79
|
+
/*Set up the historyStorage object; pass in options bundle*/
|
|
80
|
+
window.historyStorage.setup(options);
|
|
81
|
+
|
|
82
|
+
/*Set up our base title if one is passed in*/
|
|
83
|
+
if (options && options.baseTitle) {
|
|
84
|
+
if (options.baseTitle.indexOf("@@@") < 0 && historyStorage.debugMode) {
|
|
85
|
+
throw new Error("Programmer error: options.baseTitle must contain the replacement parameter"
|
|
86
|
+
+ " '@@@' to be useful.");
|
|
87
|
+
}
|
|
88
|
+
this.baseTitle = options.baseTitle;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/*Create Safari/Opera-specific code*/
|
|
92
|
+
if (this.isSafari && this.isSupported) {
|
|
93
|
+
this.createSafari();
|
|
94
|
+
} else if (this.isOpera) {
|
|
95
|
+
this.createOpera();
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/*Get our initial location*/
|
|
99
|
+
var initialHash = this.getCurrentLocation();
|
|
100
|
+
|
|
101
|
+
/*Save it as our current location*/
|
|
102
|
+
this.currentLocation = initialHash;
|
|
103
|
+
|
|
104
|
+
/*Now that we have a hash, create IE-specific code*/
|
|
105
|
+
if (this.isIE) {
|
|
106
|
+
/*Optionally override the URL of IE's blank HTML file*/
|
|
107
|
+
if (options && options.blankURL) {
|
|
108
|
+
var u = options.blankURL;
|
|
109
|
+
/*assign the value, adding the trailing ? if it's not passed in*/
|
|
110
|
+
this.blankURL = (u.indexOf("?") != u.length - 1
|
|
111
|
+
? u + "?"
|
|
112
|
+
: u
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
this.createIE(initialHash);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/*Add an unload listener for the page; this is needed for FF 1.5+ because this browser caches all dynamic updates to the
|
|
119
|
+
page, which can break some of our logic related to testing whether this is the first instance a page has loaded or whether
|
|
120
|
+
it is being pulled from the cache*/
|
|
121
|
+
|
|
122
|
+
var unloadHandler = function() {
|
|
123
|
+
that.firstLoad = null;
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
this.addEventListener(window,'unload',unloadHandler);
|
|
127
|
+
|
|
128
|
+
/*Determine if this is our first page load; for IE, we do this in this.iframeLoaded(), which is fired on pageload. We do it
|
|
129
|
+
there because we have no historyStorage at this point, which only exists after the page is finished loading in IE*/
|
|
130
|
+
if (this.isIE) {
|
|
131
|
+
/*The iframe will get loaded on page load, and we want to ignore this fact*/
|
|
132
|
+
this.ignoreLocationChange = true;
|
|
133
|
+
} else if (this.isSupported) {
|
|
134
|
+
if (!historyStorage.hasKey(this.PAGELOADEDSTRING)) {
|
|
135
|
+
/*This is our first page load, so ignore the location change and add our special history entry*/
|
|
136
|
+
this.ignoreLocationChange = true;
|
|
137
|
+
this.firstLoad = true;
|
|
138
|
+
historyStorage.put(this.PAGELOADEDSTRING, true);
|
|
139
|
+
} else {
|
|
140
|
+
/*This isn't our first page load, so indicate that we want to pay attention to this location change*/
|
|
141
|
+
this.ignoreLocationChange = false;
|
|
142
|
+
this.firstLoad = false;
|
|
143
|
+
/*For browsers other than IE, fire a history change event; on IE, the event will be thrown automatically when its
|
|
144
|
+
hidden iframe reloads on page load. Unfortunately, we don't have any listeners yet; indicate that we want to fire
|
|
145
|
+
an event when a listener is added.*/
|
|
146
|
+
this.fireOnNewListener = true;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/*Other browsers can use a location handler that checks at regular intervals as their primary mechanism; we use it for IE as
|
|
151
|
+
well to handle an important edge case; see checkLocation() for details*/
|
|
152
|
+
var locationHandler = function() {
|
|
153
|
+
that.checkLocation();
|
|
154
|
+
};
|
|
155
|
+
setInterval(locationHandler, 100);
|
|
146
156
|
}
|
|
147
|
-
|
|
148
|
-
/*Other browsers can use a location handler that checks at regular intervals as their primary mechanism; we use it for IE as
|
|
149
|
-
well to handle an important edge case; see checkLocation() for details*/
|
|
150
|
-
var locationHandler = function() {
|
|
151
|
-
that.checkLocation();
|
|
152
|
-
};
|
|
153
|
-
setInterval(locationHandler, 100);
|
|
154
157
|
},
|
|
155
158
|
|
|
156
159
|
/*Public: Initialize our DHTML history. You must call this after the page is finished loading. Optionally, you can pass your listener in
|
|
@@ -35,7 +35,7 @@ text-decoration: none;
|
|
|
35
35
|
color: #999;
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
.active-scaffold a:hover, .active-scaffold div.hover {
|
|
38
|
+
.active-scaffold a:hover, .active-scaffold div.hover, .active-scaffold td span.hover {
|
|
39
39
|
background-color: #ff8;
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -99,6 +99,15 @@ background-position: 1px 50%;
|
|
|
99
99
|
background-repeat: no-repeat;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
+
.active-scaffold-header div.actions a {
|
|
103
|
+
padding: 5px 5px;
|
|
104
|
+
margin-left: 0px;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.active-scaffold .active-scaffold .active-scaffold-header div.actions > a {
|
|
108
|
+
padding: 1px 5px;
|
|
109
|
+
}
|
|
110
|
+
|
|
102
111
|
.active-scaffold-header div.actions div.action_group {
|
|
103
112
|
display: inline;
|
|
104
113
|
float: right;
|
|
@@ -112,6 +121,10 @@ margin: 0;
|
|
|
112
121
|
|
|
113
122
|
.active-scaffold-header div.actions .action_group ul {
|
|
114
123
|
line-height: 130%;
|
|
124
|
+
top: 19px;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.active-scaffold .active-scaffold .active-scaffold-header div.actions .action_group ul {
|
|
115
128
|
top: 14px;
|
|
116
129
|
}
|
|
117
130
|
|
|
@@ -141,6 +154,17 @@ opacity: 0.5;
|
|
|
141
154
|
.active-scaffold-header div.actions a.show_config_list,
|
|
142
155
|
.active-scaffold-header div.actions div.action_group div {
|
|
143
156
|
margin:0;
|
|
157
|
+
padding: 5px 5px 5px 25px;
|
|
158
|
+
background-position: 5px 50%;
|
|
159
|
+
background-repeat: no-repeat;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
.active-scaffold .active-scaffold .active-scaffold-header div.actions > a.new,
|
|
163
|
+
.active-scaffold .active-scaffold .active-scaffold-header div.actions > a.new_existing,
|
|
164
|
+
.active-scaffold .active-scaffold .active-scaffold-header div.actions > a.show_search,
|
|
165
|
+
.active-scaffold .active-scaffold .active-scaffold-header div.actions > a.show_config_list,
|
|
166
|
+
.active-scaffold .active-scaffold .active-scaffold-header div.actions div.action_group > div {
|
|
167
|
+
margin:0;
|
|
144
168
|
padding: 1px 5px 1px 20px;
|
|
145
169
|
background-position: 1px 50%;
|
|
146
170
|
background-repeat: no-repeat;
|
|
@@ -755,6 +779,7 @@ padding: 6px 0;
|
|
|
755
779
|
float: left;
|
|
756
780
|
}
|
|
757
781
|
|
|
782
|
+
.active-scaffold li.form-element dd p,
|
|
758
783
|
.active-scaffold li.form-element dd input[type="checkbox"] {
|
|
759
784
|
margin-top: 6px;
|
|
760
785
|
}
|
|
@@ -793,8 +818,11 @@ padding: 2px;
|
|
|
793
818
|
}
|
|
794
819
|
|
|
795
820
|
.active-scaffold .fieldWithErrors input,
|
|
821
|
+
.active-scaffold .field_with_errors input,
|
|
796
822
|
.active-scaffold .fieldWithErrors textarea,
|
|
797
|
-
.active-scaffold .
|
|
823
|
+
.active-scaffold .field_with_errors textarea,
|
|
824
|
+
.active-scaffold .fieldWithErrors select,
|
|
825
|
+
.active-scaffold .field_with_errors select {
|
|
798
826
|
border: solid 1px #f00;
|
|
799
827
|
}
|
|
800
828
|
|
|
@@ -968,3 +996,94 @@ font-size: 100%;
|
|
|
968
996
|
.active-scaffold-found {
|
|
969
997
|
float:left;
|
|
970
998
|
}
|
|
999
|
+
|
|
1000
|
+
|
|
1001
|
+
.active-scaffold-component > .active-scaffold-header h2 {
|
|
1002
|
+
border: none;
|
|
1003
|
+
}
|
|
1004
|
+
.active-scaffold-component > .active-scaffold-header h2 a,
|
|
1005
|
+
.active-scaffold-component > .active-scaffold-header h2 a:active,
|
|
1006
|
+
.active-scaffold-component > .active-scaffold-header h2 a:visited {
|
|
1007
|
+
text-decoration: none;
|
|
1008
|
+
color: inherit;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
|
|
1012
|
+
.as_touch a.inline-adapter-close {
|
|
1013
|
+
width: 25px;
|
|
1014
|
+
height: 27px;
|
|
1015
|
+
background: url(../../../images/active_scaffold/default/close_touch.png) 0 0 no-repeat;
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
.as_touch .as_paginate {
|
|
1019
|
+
font-size: 20px;
|
|
1020
|
+
padding: 3px 10px;
|
|
1021
|
+
}
|
|
1022
|
+
|
|
1023
|
+
.as_touch .active-scaffold-header div.actions a {
|
|
1024
|
+
padding: 7px 5px;
|
|
1025
|
+
}
|
|
1026
|
+
|
|
1027
|
+
.as_touch .active-scaffold .active-scaffold-header div.actions a {
|
|
1028
|
+
padding: 7px 5px;
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
.as_touch .active-scaffold-header div.actions .action_group ul {
|
|
1032
|
+
line-height: 130%;
|
|
1033
|
+
top: 23px;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
.as_touch .active-scaffold .active-scaffold-header div.actions .action_group ul {
|
|
1037
|
+
top: 23px;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
.as_touch .active-scaffold-header div.actions a.new,
|
|
1041
|
+
.as_touch .active-scaffold-header div.actions a.new_existing,
|
|
1042
|
+
.as_touch .active-scaffold-header div.actions a.show_search,
|
|
1043
|
+
.as_touch .active-scaffold-header div.actions a.show_config_list,
|
|
1044
|
+
.as_touch .active-scaffold-header div.actions div.action_group div {
|
|
1045
|
+
padding: 7px 5px 7px 25px;
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
.as_touch .active-scaffold .active-scaffold-header div.actions > a.new,
|
|
1049
|
+
.as_touch .active-scaffold .active-scaffold-header div.actions > a.new_existing,
|
|
1050
|
+
.as_touch .active-scaffold .active-scaffold-header div.actions > a.show_search,
|
|
1051
|
+
.as_touch .active-scaffold .active-scaffold-header div.actions > a.show_config_list,
|
|
1052
|
+
.as_touch .active-scaffold .active-scaffold-header div.actions div.action_group > div {
|
|
1053
|
+
padding: 7px 5px 7px 25px;
|
|
1054
|
+
background-position: 5px 50%;
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
.as_touch .actions .action_group ul li div {
|
|
1058
|
+
padding: 7px 5px 7px 25px;
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
.as_touch .actions .action_group ul li a {
|
|
1062
|
+
padding: 7px 5px 7px 25px;
|
|
1063
|
+
}
|
|
1064
|
+
|
|
1065
|
+
.as_touch .active-scaffold-header h2 {
|
|
1066
|
+
padding: 4px 0px;
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
.as_touch .active-scaffold .active-scaffold-header div.actions a,
|
|
1070
|
+
.as_touch .active-scaffold .active-scaffold-header div.actions div {
|
|
1071
|
+
font: bold 14px arial;
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
.as_touch .active-scaffold .active-scaffold-header div.actions {
|
|
1075
|
+
right: 15px;
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1078
|
+
.as_touch tr.record {
|
|
1079
|
+
line-height: 130%;
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
.as_touch th a, .as_touch th a:visited {
|
|
1083
|
+
color: #fff;
|
|
1084
|
+
padding: 5px 2px 5px 5px;
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
.as_touch tr.record td {
|
|
1088
|
+
padding: 5px 10px;
|
|
1089
|
+
}
|