'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content')
}
});
+
+ $(document).ajaxStart(function(){
+ $('.modal-with-loading-spinner .spinner').show();
+ }).ajaxStop(function(){
+ $('.modal-with-loading-spinner .spinner').hide();
+ });
+
$('[data-toggle=tooltip]').tooltip();
$('.expand-collapse-row').on('click', function(event) {
targets.fadeToggle(200);
});
+ var ajaxCount = 0;
+
$(document).
on('ajax:send', function(e, xhr) {
- $('.loading').fadeTo('fast', 1);
+ ajaxCount += 1;
+ if (ajaxCount == 1) {
+ $('.loading').fadeTo('fast', 1);
+ }
}).
on('ajax:complete', function(e, status) {
- $('.loading').fadeOut('fast', 0);
+ ajaxCount -= 1;
+ if (ajaxCount == 0) {
+ $('.loading').fadeOut('fast', 0);
+ }
+ }).
+ on('ajaxSend', function(e, xhr) {
+ // jQuery triggers 'ajaxSend' event when starting an ajax call, but
+ // rails-generated ajax triggers generate 'ajax:send'. Workbench
+ // event listeners currently expect 'ajax:send', so trigger the
+ // rails event in response to the jQuery one.
+ $(document).trigger('ajax:send');
+ }).
+ on('ajaxComplete', function(e, xhr) {
+ // See comment above about ajaxSend/ajax:send
+ $(document).trigger('ajax:complete');
}).
on('click', '.removable-tag a', function(e) {
var tag_span = $(this).parents('[data-tag-link-uuid]').eq(0)