Bug Tracker

Ticket #2007: BringToFront.diff

File BringToFront.diff, 1.6 KB (added by Xichekolas, 15 years ago)
  • ui.dialog.js

     
    6363                var uiDialogContainer = uiDialogContent.parent().addClass('ui-dialog-container').css({position: 'relative'});
    6464                var uiDialog = uiDialogContainer.parent()
    6565                        .addClass('ui-dialog')
    66                         .css({position: 'absolute', width: options.width, height: options.height, overflow: 'hidden'});
     66                        .css({position: 'absolute', width: options.width, height: options.height, overflow: 'hidden'})
     67                        .css("z-index", $('.ui-dialog:visible').size());
    6768               
    6869                if (options.resizable) {
    6970                        uiDialog.append("<div class='ui-resizable-n ui-resizable-handle'></div>")
     
    106107                if (options.draggable) {
    107108                        uiDialog.draggable({ handle: '.ui-dialog-titlebar' });
    108109                }
     110
     111                this.bringToFront = function() {
     112                        var curZindex = uiDialog.css("z-index");
     113                        // It'd be really nice if we could sort visible siblings on z-index so they'd maintain relative order.
     114                        uiDialog.siblings('.ui-dialog:visible').each(function() {
     115                                var elem = $(this);
     116                                if (elem.css("z-index") >= curZindex) {
     117                                        elem.css("z-index",curZindex);
     118                                        curZindex++;
     119                                };
     120                        });
     121                        uiDialog.css("z-index", curZindex);
     122                };
     123                uiDialog.click(function() {self.bringToFront();});
    109124       
    110125                this.open = function() {
    111126                        uiDialog.appendTo('body');
     
    135150                        top = top < doc.scrollTop() ? doc.scrollTop() : top;
    136151                        uiDialog.css({top: top, left: left});
    137152                        uiDialog.show();
     153                        self.bringToFront();
    138154                };
    139155
    140156                this.close = function() {