Skip to content

Commit b1f75cb

Browse files
committed
Dialog: Add classes option
1 parent 355dc9b commit b1f75cb

File tree

8 files changed

+223
-51
lines changed

8 files changed

+223
-51
lines changed

tests/unit/dialog/dialog.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
<title>jQuery UI Dialog Test Suite</title>
66

77
<script src="../../jquery.js"></script>
8+
<script>
9+
$.uiBackCompat = false;
10+
</script>
811
<link rel="stylesheet" href="../../../external/qunit/qunit.css">
912
<script src="../../../external/qunit/qunit.js"></script>
1013
<script src="../../../external/jquery-simulate/jquery.simulate.js"></script>

tests/unit/dialog/dialog_common.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@ TestHelpers.commonWidgetTests( "dialog", {
33
appendTo: "body",
44
autoOpen: true,
55
buttons: [],
6+
classes: {
7+
"ui-dialog": "ui-corner-all",
8+
"ui-dialog-titlebar": "ui-corner-all"
9+
},
610
closeOnEscape: true,
711
closeText: "Close",
812
disabled: false,
9-
dialogClass: "",
1013
draggable: true,
1114
height: "auto",
1215
hide: null,
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
TestHelpers.commonWidgetTests( "dialog", {
2+
defaults: {
3+
appendTo: "body",
4+
autoOpen: true,
5+
buttons: [],
6+
classes: {
7+
"ui-dialog": "ui-corner-all",
8+
"ui-dialog-titlebar": "ui-corner-all"
9+
},
10+
closeOnEscape: true,
11+
closeText: "close",
12+
dialogClass: "",
13+
disabled: false,
14+
draggable: true,
15+
height: "auto",
16+
hide: null,
17+
maxHeight: null,
18+
maxWidth: null,
19+
minHeight: 150,
20+
minWidth: 150,
21+
modal: false,
22+
position: {
23+
my: "center",
24+
at: "center",
25+
of: window,
26+
collision: "fit",
27+
using: $.ui.dialog.prototype.options.position.using
28+
},
29+
resizable: true,
30+
show: null,
31+
title: null,
32+
width: 300,
33+
34+
// callbacks
35+
beforeClose: null,
36+
close: null,
37+
create: null,
38+
drag: null,
39+
dragStart: null,
40+
dragStop: null,
41+
focus: null,
42+
open: null,
43+
resize: null,
44+
resizeStart: null,
45+
resizeStop: null
46+
}
47+
});

tests/unit/dialog/dialog_core.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,29 @@
77
// TODO add teardown callback to remove dialogs
88
module("dialog: core");
99

10+
test( "markup structure", function( assert ) {
11+
expect( 7 );
12+
var element = $( "<div></div>" ).dialog({
13+
buttons: [ {
14+
text: "Ok",
15+
click: $.noop
16+
} ]
17+
}),
18+
widget = element.dialog( "widget" ),
19+
titlebar = widget.find( ".ui-dialog-titlebar" ),
20+
close = titlebar.find( ".ui-button" ),
21+
buttonpane = widget.find( ".ui-dialog-buttonpane" );
22+
23+
assert.hasClasses( widget, "ui-dialog ui-widget ui-widget-content ui-dialog-buttons" );
24+
assert.hasClasses( titlebar, "ui-dialog-titlebar" );
25+
assert.hasClasses( element, "ui-dialog-content ui-widget-content" );
26+
assert.hasClasses( buttonpane, "ui-dialog-buttonpane ui-widget-content");
27+
assert.hasClasses( close, "ui-dialog-titlebar-close" );
28+
ok( titlebar.find( ".ui-dialog-title" ).length, "Title hasClass ui-dialog-title" );
29+
ok( buttonpane.find( ".ui-dialog-buttonset" ).length,
30+
"Buttonset has class ui-dialog-buttonset" );
31+
});
32+
1033
test("title id", function() {
1134
expect(1);
1235

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<!doctype html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="utf-8">
5+
<title>jQuery UI Dialog Test Suite</title>
6+
7+
<script src="../../jquery.js"></script>
8+
<link rel="stylesheet" href="../../../external/qunit/qunit.css">
9+
<script src="../../../external/qunit/qunit.js"></script>
10+
<script src="../../../external/jquery-simulate/jquery.simulate.js"></script>
11+
<script src="../testsuite.js"></script>
12+
<script>
13+
TestHelpers.loadResources({
14+
css: [ "core", "dialog" ],
15+
js: [
16+
"ui/core.js",
17+
"ui/widget.js",
18+
"ui/position.js",
19+
"ui/mouse.js",
20+
"ui/draggable.js",
21+
"ui/resizable.js",
22+
"ui/button.js",
23+
"ui/effect.js",
24+
"ui/effect-blind.js",
25+
"ui/effect-clip.js",
26+
"ui/effect-explode.js",
27+
"ui/dialog.js"
28+
]
29+
});
30+
</script>
31+
32+
<script src="dialog_common_derecated.js"></script>
33+
<script src="dialog_core.js"></script>
34+
<script src="dialog_events.js"></script>
35+
<script src="dialog_methods.js"></script>
36+
<script src="dialog_options.js"></script>
37+
<script src="dialog_deprecated.js"></script>
38+
<script src="dialog_test_helpers.js"></script>
39+
40+
<script src="../swarminject.js"></script>
41+
</head>
42+
<body>
43+
44+
<div id="qunit"></div>
45+
<div id="qunit-fixture">
46+
<div id="dialog1"></div>
47+
<div id="dialog2"></div>
48+
<div id="form-dialog" title="Profile Information">
49+
<!-- create a spacer to ensure there's enough space to scroll -->
50+
<div style="height: 250px;">...</div>
51+
<fieldset>
52+
<legend>Please share some personal information</legend>
53+
<label for="favorite-animal">Your favorite animal</label><input id="favorite-animal">
54+
<label for="favorite-color">Your favorite color</label><input id="favorite-color">
55+
</fieldset>
56+
<div role="group" aria-describedby="section2">
57+
<p id="section2">Some more (optional) information</p>
58+
<label for="favorite-food">Favorite food</label><input id="favorite-food">
59+
</div>
60+
</div>
61+
<div class="wrap" id="wrap1"></div>
62+
<div class="wrap" id="wrap2"></div>
63+
</div>
64+
</body>
65+
</html>
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
(function( $ ) {
2+
3+
module( "dialog (deprecated): options" );
4+
5+
test( "dialogClass", function() {
6+
expect( 6 );
7+
8+
var element = $( "<div></div>" ).dialog(),
9+
widget = element.dialog( "widget" );
10+
equal( widget.is( ".foo" ), false, "dialogClass not specified. class not added" );
11+
element.remove();
12+
13+
element = $( "<div></div>" ).dialog({ dialogClass: "foo" });
14+
widget = element.dialog( "widget" );
15+
equal( widget.is( ".foo" ), true, "dialogClass in init, foo class added" );
16+
element.dialog( "option", "dialogClass", "foobar" );
17+
equal( widget.is( ".foo" ), false, "dialogClass changed, previous one was removed" );
18+
equal( widget.is( ".foobar" ), true, "dialogClass changed, new one was added" );
19+
element.remove();
20+
21+
element = $( "<div></div>" ).dialog({ dialogClass: "foo bar" });
22+
widget = element.dialog( "widget" );
23+
equal( widget.is( ".foo" ), true, "dialogClass in init, two classes. foo class added" );
24+
equal( widget.is( ".bar" ), true, "dialogClass in init, two classes. bar class added" );
25+
element.remove();
26+
});
27+
28+
})( jQuery );

tests/unit/dialog/dialog_options.js

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -224,26 +224,6 @@ test("closeText", function() {
224224
element.remove();
225225
});
226226

227-
test("dialogClass", function() {
228-
expect( 6 );
229-
230-
var element = $("<div></div>").dialog();
231-
equal(element.dialog("widget").is(".foo"), false, "dialogClass not specified. foo class added");
232-
element.remove();
233-
234-
element = $("<div></div>").dialog({ dialogClass: "foo" });
235-
equal(element.dialog("widget").is(".foo"), true, "dialogClass in init. foo class added");
236-
element.dialog( "option", "dialogClass", "foobar" );
237-
equal( element.dialog("widget").is(".foo"), false, "dialogClass changed, previous one was removed" );
238-
equal( element.dialog("widget").is(".foobar"), true, "dialogClass changed, new one was added" );
239-
element.remove();
240-
241-
element = $("<div></div>").dialog({ dialogClass: "foo bar" });
242-
equal(element.dialog("widget").is(".foo"), true, "dialogClass in init, two classes. foo class added");
243-
equal(element.dialog("widget").is(".bar"), true, "dialogClass in init, two classes. bar class added");
244-
element.remove();
245-
});
246-
247227
test("draggable", function() {
248228
expect(4);
249229

0 commit comments

Comments
 (0)