Ticket #3659: ui.tab-add-placeholder-spinners.patch

File ui.tab-add-placeholder-spinners.patch, 1.5 KB (added by J5, 14 years ago)
  • ui/ui.tabs.js

    old new  
    438438                var cleanup = function() {
    439439                        self.$tabs.filter('.' + o.loadingClass).removeClass(o.loadingClass)
    440440                                        .each(function() {
    441                                                 if (o.spinner)
    442                                                         inner(this).parent().html(inner(this).data('label.tabs'));
     441                                                if (o.spinner) {
     442                                                        if (o.spinner_placeholder) {
     443                                                                var $placeholder = o.spinner_placeholder;
     444                                                                if (!$placeholder.jquery)
     445                                                                        $placeholder = $(o.spinner_placeholder, this);
     446                                                               
     447                                                                var $inner_span = $('> span', $placeholder);
     448                                                                $placeholder.html($inner_span.data('placeholder.tabs'));
     449                                                        } else {
     450                                                                inner(this).parent().html(inner(this).data('label.tabs'));
     451                                                        }
     452                                                }
    443453                                        });
    444454                        self.xhr = null;
    445455                };
    446456
    447457                if (o.spinner) {
    448                         var label = inner(a).html();
    449                         inner(a).wrapInner('<em></em>')
    450                                 .find('em').data('label.tabs', label).html(o.spinner);
     458                        if (o.spinner_placeholder) {
     459                                var $placeholder = o.spinner_placeholder;
     460                                if (!$placeholder.jquery)
     461                                        $placeholder = $(o.spinner_placeholder, a);
     462
     463                                var ph_inner = $placeholder.html();
     464                                $placeholder.html('<span></span>')
     465                                        .find('span')
     466                                                .data('placeholder.tabs', ph_inner)
     467                                                        .html(o.spinner);
     468                        } else {
     469                                var label = inner(a).html();
     470                                inner(a).wrapInner('<em></em>')
     471                                        .find('em').data('label.tabs', label).html(o.spinner);
     472                        }
    451473                }
    452474
    453475                var ajaxOptions = $.extend({}, o.ajaxOptions, {