Browse Source

handling more user issues

pull/412/head
William Panting 11 years ago
parent
commit
06a17da8f3
  1. 7
      includes/ingest.form.inc
  2. 33
      js/ingesting_object.js

7
includes/ingest.form.inc

@ -696,10 +696,11 @@ function islandora_ingest_form_ingest_button(array &$form_state) {
$islandora_path = drupal_get_path('module', 'islandora'); $islandora_path = drupal_get_path('module', 'islandora');
drupal_add_js($islandora_path . '/js/spin/spin.min.js');
drupal_add_js($islandora_path . '/js/ingesting_object.js');
return array( return array(
'#attached' => array('js' => array(
"$islandora_path/js/spin/spin.min.js",
"$islandora_path/js/ingesting_object.js",
)),
'#type' => 'submit', '#type' => 'submit',
'#name' => 'ingest', '#name' => 'ingest',
'#value' => t('Ingest'), '#value' => t('Ingest'),

33
js/ingesting_object.js

@ -6,7 +6,7 @@
(function ($) { (function ($) {
function islandora_start_ingest_feedback() { function islandora_start_ingest_feedback() {
$('#islandora-ingest-form').after('<div id="islandora_is_working"><div>' + $('#islandora-ingest-form').after('<div id="islandora_is_working"><div>' +
Drupal.t('Please wait while the object is ingested.') + Drupal.t('Please be patient while the the page loads.') +
'</div></div>'); '</div></div>');
var opts = { var opts = {
@ -29,19 +29,26 @@
}; };
var target = document.getElementById('islandora_is_working'); var target = document.getElementById('islandora_is_working');
var spinner = new Spinner(opts).spin(target); var spinner = new Spinner(opts).spin(target);
// Don't want to do this in Safari, can't submit after form errors.
if (!(navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1)) {
$('#edit-next').hide();
$('#edit-prev').hide();
}
} }
$(document).ready(function() { Drupal.behaviors.islandoraIngestingObject = {
// Safari is having issues with stalling JS execution that was preventing this from running. attach: function(context, settings) {
if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) { // Safari is having issues with stalling JS execution that was preventing this from running.
$('#edit-next').mousedown(function() { if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1) {
islandora_start_ingest_feedback() $('#edit-next').one('mousedown', function() {
}); islandora_start_ingest_feedback()
} });
else { }
$('#islandora-ingest-form').submit(function() { else {
islandora_start_ingest_feedback() $('#islandora-ingest-form').one('submit', function() {
}); islandora_start_ingest_feedback()
});
}
} }
}); };
})(jQuery); })(jQuery);

Loading…
Cancel
Save