Bug Tracker

Changeset 4891

Show
Ignore:
Timestamp:
03/13/08 02:50:15 (10 months ago)
Author:
rdworth
Message:

Fixed #2419 - Dialog options after init

Location:
trunk/ui
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/ui/tests/uiTest.dialog.js

    r4881 r4891  
    1818                "draggable" : { 
    1919                    "true" : "$('#foo').dialog({\n\t draggable: true \n});", 
    20                     "false" : "$('#foo').dialog({\n\t draggable: false \n});" 
     20                    "false" : "$('#foo').dialog({\n\t draggable: false \n});", 
     21                    "set-true" : "$('#foo').dialog({\n\t draggable: false \n});\nsetTimeout(\n\t\"$('#foo').data('draggable.dialog', true);\"\n, 3000);", 
     22                    "set-false" : "$('#foo').dialog({\n\t draggable: true \n});\nsetTimeout(\n\t\"$('#foo').data('draggable.dialog', false);\"\n, 3000);" 
    2123                }, 
    2224                "height" : { 
    2325                    "400" : "$('#foo').dialog({\n\t height: 400 \n});", 
    24                     "600" : "$('#foo').dialog({\n\t height: 600 \n});" 
     26                    "600" : "$('#foo').dialog({\n\t height: 600 \n});", 
     27                    "set-600" : "$('#foo').dialog();\nsetTimeout(\n\t\"$('#foo').data('height.dialog', 600);\"\n, 3000);" 
    2528                }, 
    2629                "maxHeight" : { 
    27                     "40" : "$('#foo').dialog({\n\t maxHeight: 40 \n});", 
     30                    "100" : "$('#foo').dialog({\n\t maxHeight: 100 \n});", 
    2831                    "400" : "$('#foo').dialog({\n\t maxHeight: 400 \n});", 
    29                     "600" : "$('#foo').dialog({\n\t maxHeight: 600 \n});" 
     32                    "600" : "$('#foo').dialog({\n\t maxHeight: 600 \n});", 
     33                    "set-600" : "$('#foo').dialog();\nsetTimeout(\n\t\"$('#foo').data('maxHeight.dialog', 600);\"\n, 3000);" 
    3034                }, 
    3135                "minHeight" : { 
    32                     "40" : "$('#foo').dialog({\n\tminHeight: 40 \n});", 
    33                     "400" : "$('#foo').dialog({\n\tminHeight: 400 \n});", 
    34                     "600" : "$('#foo').dialog({\n\tminHeight: 600 \n});" 
     36                    "100" : "$('#foo').dialog({\n\t minHeight: 100 \n});", 
     37                    "400" : "$('#foo').dialog({\n\t minHeight: 400 \n});", 
     38                    "600" : "$('#foo').dialog({\n\t minHeight: 600 \n});", 
     39                    "set-400" : "$('#foo').dialog();\nsetTimeout(\n\t\"$('#foo').data('minHeight.dialog', 400);\"\n, 3000);" 
    3540                }, 
    3641                "maxWidth" : { 
    3742                    "40" : "$('#foo').dialog({\n\t maxWidth: 40 \n});", 
    3843                    "400" : "$('#foo').dialog({\n\t maxWidth: 400 \n});", 
    39                     "600" : "$('#foo').dialog({\n\t maxWidth: 600 \n});" 
     44                    "600" : "$('#foo').dialog({\n\t maxWidth: 600 \n});", 
     45                    "set-600" : "$('#foo').dialog();\nsetTimeout(\n\t\"$('#foo').data('maxWidth.dialog', 600);\"\n, 3000);" 
    4046                }, 
    4147                "minWidth" : { 
    4248                    "40" : "$('#foo').dialog({\n\t minWidth: 40 \n});", 
    4349                    "400" : "$('#foo').dialog({\n\t minWidth: 400 \n});", 
    44                     "600" : "$('#foo').dialog({\n\t minWidth: 600 \n});" 
     50                    "600" : "$('#foo').dialog({\n\t minWidth: 600 \n});", 
     51                    "set-400" : "$('#foo').dialog();\nsetTimeout(\n\t\"$('#foo').data('minWidth.dialog', 400);\"\n, 3000);" 
    4552                }, 
    4653                "modal" : { 
     
    6067                    "Array-300-80" : "$('#foo').dialog({\n\t position: [300, 80] \n});", 
    6168                    "Array-80-300" : "$('#foo').dialog({\n\t position: [80, 300] \n});", 
    62                     "foo" : "$('#foo').dialog({\n\t position: 'foo' \n});" 
     69                    "foo" : "$('#foo').dialog({\n\t position: 'foo' \n});", 
     70                    "set-center" : "$('#foo').dialog({\n\t position: 'top' \n});\nsetTimeout(\n\t\"$('#foo').data('position.dialog', 'center');\"\n, 3000);", 
     71                    "set-Array-300-80" : "$('#foo').dialog();\nsetTimeout(\n\t\"$('#foo').data('position.dialog', [300, 80]);\"\n, 3000);" 
    6372                }, 
    6473                "resizable" : { 
    6574                    "true" : "$('#foo').dialog({\n\t resizable: true \n});", 
    66                     "false" : "$('#foo').dialog({\n\t resizable: false \n});" 
     75                    "false" : "$('#foo').dialog({\n\t resizable: false \n});", 
     76                    "set-true" : "$('#foo').dialog({\n\t resizable: false \n});\nsetTimeout(\n\t\"$('#foo').data('resizable.dialog', true);\"\n, 3000);", 
     77                    "set-false" : "$('#foo').dialog({\n\t resizable: true \n});\nsetTimeout(\n\t\"$('#foo').data('resizable.dialog', false);\"\n, 3000);" 
    6778                }, 
    6879                "title" : { 
    6980                    "attribute" : "$('#foo')\n  .attr( 'title', 'Dialog Title' )\n  .dialog();", 
    70                     "option" : "$('#foo').dialog({\n\t title: 'Dialog Title' \n});" 
     81                    "option" : "$('#foo').dialog({\n\t title: 'Dialog Title' \n});", 
     82                    "set" : "$('#foo').dialog();\nsetTimeout(\n\t\"$('#foo').data('title.dialog', 'Dialog Title');\"\n, 3000);" 
    7183                }, 
    7284                "width" : { 
    7385                    "400" : "$('#foo').dialog({\n\t width: 400 \n});", 
    74                     "600" : "$('#foo').dialog({\n\t width: 600 \n});" 
     86                    "600" : "$('#foo').dialog({\n\t width: 600 \n});", 
     87                    "set-400" : "$('#foo').dialog();\nsetTimeout(\n\t\"$('#foo').data('width.dialog', 400);\"\n, 3000);", 
     88                    "set-600" : "$('#foo').dialog();\nsetTimeout(\n\t\"$('#foo').data('width.dialog', 600);\"\n, 3000);" 
    7589                } 
    7690            }, 
  • trunk/ui/ui.dialog.js

    r4883 r4891  
    3131         
    3232        $(el).bind("setData.dialog", function(event, key, value){ 
     33            switch (key) { 
     34                case "draggable": 
     35                    uiDialog.draggable(value ? 'enable' : 'disable'); 
     36                    break; 
     37                case "height": 
     38                    uiDialog.height(value); 
     39                    break; 
     40                case "maxHeight": case "minHeight": case "maxWidth": case "minWidth": 
     41                    uiDialog.data(key + ".resizable", value); 
     42                    break; 
     43                case "position": 
     44                    self.position(value); 
     45                    break; 
     46                case "resizable": 
     47                    uiDialog.resizable(value ? 'enable' : 'disable'); 
     48                    break; 
     49                case "title": 
     50                    $(".ui-dialog-title", uiDialogTitlebar).text(value); 
     51                    break; 
     52                case "width": 
     53                    break; 
     54            } 
    3355            options[key] = value; 
    3456        }).bind("getData.dialog", function(event, key){ 
     
    5678                uiDialog.addClass(className); 
    5779        }); 
    58          
    59         if (options.resizable && $.fn.resizable) { 
     80 
     81        if ($.fn.resizable) { 
    6082            uiDialog.append('<div class="ui-resizable-n ui-resizable-handle"></div>') 
    6183                .append('<div class="ui-resizable-s ui-resizable-handle"></div>') 
     
    7395                stop: $.ui.dialog.overlay.resize 
    7496            }); 
     97            if (!options.resizable) 
     98                uiDialog.resizable('disable'); 
    7599        } 
    76100 
     
    105129            }); 
    106130        } 
    107      
    108         if (options.draggable && $.fn.draggable) { 
     131 
     132        if ($.fn.draggable) { 
    109133            uiDialog.draggable({ 
    110134                handle: '.ui-dialog-titlebar', 
     
    114138                stop: $.ui.dialog.overlay.resize 
    115139            }); 
    116         } 
     140            if (!options.draggable) 
     141                uiDialog.draggable('disable') 
     142        } 
     143     
    117144        uiDialog.mousedown(function() { 
    118145            self.activate(); 
     
    123150         
    124151        options.bgiframe && $.fn.bgiframe && uiDialog.bgiframe(); 
    125          
    126         this.open = function() { 
    127             this.overlay = options.modal ? new $.ui.dialog.overlay(self) : null; 
    128             uiDialog.appendTo('body'); 
     152 
     153        this.position = function(pos) { 
    129154            var wnd = $(window), doc = $(document), top = doc.scrollTop(), left = doc.scrollLeft(); 
    130             if (options.position.constructor == Array) { 
     155            if (pos.constructor == Array) { 
    131156                // [x, y] 
    132                 top += options.position[1]; 
    133                 left += options.position[0]; 
     157                top += pos[1]; 
     158                left += pos[0]; 
    134159            } else { 
    135                 switch (options.position) { 
     160                switch (pos) { 
    136161                    case 'center': 
    137162                        top += (wnd.height() / 2) - (uiDialog.height() / 2); 
     
    162187            top = top < doc.scrollTop() ? doc.scrollTop() : top; 
    163188            uiDialog.css({top: top, left: left}); 
     189        } 
     190         
     191        this.open = function() { 
     192            this.overlay = options.modal ? new $.ui.dialog.overlay(self) : null; 
     193            uiDialog.appendTo('body'); 
     194            this.position(options.position); 
    164195            uiDialog.show(); 
    165196            self.moveToTop();