mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Merge branch 'master' into selectmenu
This commit is contained in:
commit
1ba02e9c5f
@ -24,7 +24,7 @@
|
||||
$(function() {
|
||||
var tabTitle = $( "#tab_title" ),
|
||||
tabContent = $( "#tab_content" ),
|
||||
tabTemplate = "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close'>Remove Tab</span></li>",
|
||||
tabTemplate = "<li><a href='#{href}'>#{label}</a> <span class='ui-icon ui-icon-close' role='presentation'>Remove Tab</span></li>",
|
||||
tabCounter = 2;
|
||||
|
||||
var tabs = $( "#tabs" ).tabs();
|
||||
@ -75,11 +75,19 @@
|
||||
});
|
||||
|
||||
// close icon: removing the tab on click
|
||||
$( "#tabs span.ui-icon-close" ).live( "click", function() {
|
||||
tabs.delegate( "span.ui-icon-close", "click", function() {
|
||||
var panelId = $( this ).closest( "li" ).remove().attr( "aria-controls" );
|
||||
$( "#" + panelId ).remove();
|
||||
tabs.tabs( "refresh" );
|
||||
});
|
||||
|
||||
tabs.bind( "keyup", function( event ) {
|
||||
if ( event.altKey && event.keyCode === $.ui.keyCode.BACKSPACE ) {
|
||||
var panelId = tabs.find( ".ui-tabs-active" ).remove().attr( "aria-controls" );
|
||||
$( "#" + panelId ).remove();
|
||||
tabs.tabs( "refresh" );
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
@ -100,7 +108,7 @@
|
||||
|
||||
<div id="tabs">
|
||||
<ul>
|
||||
<li><a href="#tabs-1">Nunc tincidunt</a> <span class="ui-icon ui-icon-close">Remove Tab</span></li>
|
||||
<li><a href="#tabs-1">Nunc tincidunt</a> <span class="ui-icon ui-icon-close" role="presentation">Remove Tab</span></li>
|
||||
</ul>
|
||||
<div id="tabs-1">
|
||||
<p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
|
||||
|
@ -9,6 +9,7 @@
|
||||
"latedef": true,
|
||||
"noarg": true,
|
||||
"onevar": true,
|
||||
"quotmark": "double",
|
||||
"trailing": true,
|
||||
"undef": true,
|
||||
"unused": true,
|
||||
|
@ -35,6 +35,10 @@
|
||||
font-size: 12px;
|
||||
line-height: 15px;
|
||||
}
|
||||
/* avoid IE7 oscillating between overflow visible and scroll values */
|
||||
#list1 > div {
|
||||
overflow: visible;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
@ -25,7 +25,6 @@
|
||||
<script src="button_events.js"></script>
|
||||
<script src="button_methods.js"></script>
|
||||
<script src="button_options.js"></script>
|
||||
<script src="button_tickets.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
</head>
|
||||
|
@ -6,19 +6,19 @@
|
||||
module("core - selectors");
|
||||
|
||||
function isFocusable(selector, msg) {
|
||||
QUnit.push($(selector).is(':focusable'), null, null, msg + " - selector " + selector + " is focusable");
|
||||
QUnit.push($(selector).is(":focusable"), null, null, msg + " - selector " + selector + " is focusable");
|
||||
}
|
||||
|
||||
function isNotFocusable(selector, msg) {
|
||||
QUnit.push($(selector).length && !$(selector).is(':focusable'), null, null, msg + " - selector " + selector + " is not focusable");
|
||||
QUnit.push($(selector).length && !$(selector).is(":focusable"), null, null, msg + " - selector " + selector + " is not focusable");
|
||||
}
|
||||
|
||||
function isTabbable(selector, msg) {
|
||||
QUnit.push($(selector).is(':tabbable'), null, null, msg + " - selector " + selector + " is tabbable");
|
||||
QUnit.push($(selector).is(":tabbable"), null, null, msg + " - selector " + selector + " is tabbable");
|
||||
}
|
||||
|
||||
function isNotTabbable(selector, msg) {
|
||||
QUnit.push($(selector).length && !$(selector).is(':tabbable'), null, null, msg + " - selector " + selector + " is not tabbable");
|
||||
QUnit.push($(selector).length && !$(selector).is(":tabbable"), null, null, msg + " - selector " + selector + " is not tabbable");
|
||||
}
|
||||
|
||||
test("data", function() {
|
||||
@ -26,135 +26,135 @@ test("data", function() {
|
||||
|
||||
var el;
|
||||
function shouldHaveData(msg) {
|
||||
ok(el.is(':data(test)'), msg);
|
||||
ok(el.is(":data(test)"), msg);
|
||||
}
|
||||
function shouldNotHaveData(msg) {
|
||||
ok(!el.is(':data(test)'), msg);
|
||||
ok(!el.is(":data(test)"), msg);
|
||||
}
|
||||
|
||||
el = $('<div>');
|
||||
shouldNotHaveData('data never set');
|
||||
el = $("<div>");
|
||||
shouldNotHaveData("data never set");
|
||||
|
||||
el = $('<div>').data('test', null);
|
||||
shouldNotHaveData('data is null');
|
||||
el = $("<div>").data("test", null);
|
||||
shouldNotHaveData("data is null");
|
||||
|
||||
el = $('<div>').data('test', true);
|
||||
shouldHaveData('data set to true');
|
||||
el = $("<div>").data("test", true);
|
||||
shouldHaveData("data set to true");
|
||||
|
||||
el = $('<div>').data('test', false);
|
||||
shouldNotHaveData('data set to false');
|
||||
el = $("<div>").data("test", false);
|
||||
shouldNotHaveData("data set to false");
|
||||
|
||||
el = $('<div>').data('test', 0);
|
||||
shouldNotHaveData('data set to 0');
|
||||
el = $("<div>").data("test", 0);
|
||||
shouldNotHaveData("data set to 0");
|
||||
|
||||
el = $('<div>').data('test', 1);
|
||||
shouldHaveData('data set to 1');
|
||||
el = $("<div>").data("test", 1);
|
||||
shouldHaveData("data set to 1");
|
||||
|
||||
el = $('<div>').data('test', '');
|
||||
shouldNotHaveData('data set to empty string');
|
||||
el = $("<div>").data("test", "");
|
||||
shouldNotHaveData("data set to empty string");
|
||||
|
||||
el = $('<div>').data('test', 'foo');
|
||||
shouldHaveData('data set to string');
|
||||
el = $("<div>").data("test", "foo");
|
||||
shouldHaveData("data set to string");
|
||||
|
||||
el = $('<div>').data('test', []);
|
||||
shouldHaveData('data set to empty array');
|
||||
el = $("<div>").data("test", []);
|
||||
shouldHaveData("data set to empty array");
|
||||
|
||||
el = $('<div>').data('test', [1]);
|
||||
shouldHaveData('data set to array');
|
||||
el = $("<div>").data("test", [1]);
|
||||
shouldHaveData("data set to array");
|
||||
|
||||
el = $('<div>').data('test', {});
|
||||
shouldHaveData('data set to empty object');
|
||||
el = $("<div>").data("test", {});
|
||||
shouldHaveData("data set to empty object");
|
||||
|
||||
el = $('<div>').data('test', {foo: 'bar'});
|
||||
shouldHaveData('data set to object');
|
||||
el = $("<div>").data("test", {foo: "bar"});
|
||||
shouldHaveData("data set to object");
|
||||
|
||||
el = $('<div>').data('test', new Date());
|
||||
shouldHaveData('data set to date');
|
||||
el = $("<div>").data("test", new Date());
|
||||
shouldHaveData("data set to date");
|
||||
|
||||
el = $('<div>').data('test', /test/);
|
||||
shouldHaveData('data set to regexp');
|
||||
el = $("<div>").data("test", /test/);
|
||||
shouldHaveData("data set to regexp");
|
||||
|
||||
el = $('<div>').data('test', function() {});
|
||||
shouldHaveData('data set to function');
|
||||
el = $("<div>").data("test", function() {});
|
||||
shouldHaveData("data set to function");
|
||||
});
|
||||
|
||||
test("focusable - visible, enabled elements", function() {
|
||||
expect(18);
|
||||
|
||||
isNotFocusable('#formNoTabindex', 'form');
|
||||
isFocusable('#formTabindex', 'form with tabindex');
|
||||
isFocusable('#visibleAncestor-inputTypeNone', 'input, no type');
|
||||
isFocusable('#visibleAncestor-inputTypeText', 'input, type text');
|
||||
isFocusable('#visibleAncestor-inputTypeCheckbox', 'input, type checkbox');
|
||||
isFocusable('#visibleAncestor-inputTypeRadio', 'input, type radio');
|
||||
isFocusable('#visibleAncestor-inputTypeButton', 'input, type button');
|
||||
isNotFocusable('#visibleAncestor-inputTypeHidden', 'input, type hidden');
|
||||
isFocusable('#visibleAncestor-button', 'button');
|
||||
isFocusable('#visibleAncestor-select', 'select');
|
||||
isFocusable('#visibleAncestor-textarea', 'textarea');
|
||||
isFocusable('#visibleAncestor-object', 'object');
|
||||
isFocusable('#visibleAncestor-anchorWithHref', 'anchor with href');
|
||||
isNotFocusable('#visibleAncestor-anchorWithoutHref', 'anchor without href');
|
||||
isNotFocusable('#visibleAncestor-span', 'span');
|
||||
isNotFocusable('#visibleAncestor-div', 'div');
|
||||
isFocusable("#visibleAncestor-spanWithTabindex", 'span with tabindex');
|
||||
isFocusable("#visibleAncestor-divWithNegativeTabindex", 'div with tabindex');
|
||||
isNotFocusable("#formNoTabindex", "form");
|
||||
isFocusable("#formTabindex", "form with tabindex");
|
||||
isFocusable("#visibleAncestor-inputTypeNone", "input, no type");
|
||||
isFocusable("#visibleAncestor-inputTypeText", "input, type text");
|
||||
isFocusable("#visibleAncestor-inputTypeCheckbox", "input, type checkbox");
|
||||
isFocusable("#visibleAncestor-inputTypeRadio", "input, type radio");
|
||||
isFocusable("#visibleAncestor-inputTypeButton", "input, type button");
|
||||
isNotFocusable("#visibleAncestor-inputTypeHidden", "input, type hidden");
|
||||
isFocusable("#visibleAncestor-button", "button");
|
||||
isFocusable("#visibleAncestor-select", "select");
|
||||
isFocusable("#visibleAncestor-textarea", "textarea");
|
||||
isFocusable("#visibleAncestor-object", "object");
|
||||
isFocusable("#visibleAncestor-anchorWithHref", "anchor with href");
|
||||
isNotFocusable("#visibleAncestor-anchorWithoutHref", "anchor without href");
|
||||
isNotFocusable("#visibleAncestor-span", "span");
|
||||
isNotFocusable("#visibleAncestor-div", "div");
|
||||
isFocusable("#visibleAncestor-spanWithTabindex", "span with tabindex");
|
||||
isFocusable("#visibleAncestor-divWithNegativeTabindex", "div with tabindex");
|
||||
});
|
||||
|
||||
test("focusable - disabled elements", function() {
|
||||
expect(9);
|
||||
|
||||
isNotFocusable('#disabledElement-inputTypeNone', 'input, no type');
|
||||
isNotFocusable('#disabledElement-inputTypeText', 'input, type text');
|
||||
isNotFocusable('#disabledElement-inputTypeCheckbox', 'input, type checkbox');
|
||||
isNotFocusable('#disabledElement-inputTypeRadio', 'input, type radio');
|
||||
isNotFocusable('#disabledElement-inputTypeButton', 'input, type button');
|
||||
isNotFocusable('#disabledElement-inputTypeHidden', 'input, type hidden');
|
||||
isNotFocusable('#disabledElement-button', 'button');
|
||||
isNotFocusable('#disabledElement-select', 'select');
|
||||
isNotFocusable('#disabledElement-textarea', 'textarea');
|
||||
isNotFocusable("#disabledElement-inputTypeNone", "input, no type");
|
||||
isNotFocusable("#disabledElement-inputTypeText", "input, type text");
|
||||
isNotFocusable("#disabledElement-inputTypeCheckbox", "input, type checkbox");
|
||||
isNotFocusable("#disabledElement-inputTypeRadio", "input, type radio");
|
||||
isNotFocusable("#disabledElement-inputTypeButton", "input, type button");
|
||||
isNotFocusable("#disabledElement-inputTypeHidden", "input, type hidden");
|
||||
isNotFocusable("#disabledElement-button", "button");
|
||||
isNotFocusable("#disabledElement-select", "select");
|
||||
isNotFocusable("#disabledElement-textarea", "textarea");
|
||||
});
|
||||
|
||||
test("focusable - hidden styles", function() {
|
||||
expect(8);
|
||||
|
||||
isNotFocusable('#displayNoneAncestor-input', 'input, display: none parent');
|
||||
isNotFocusable('#displayNoneAncestor-span', 'span with tabindex, display: none parent');
|
||||
isNotFocusable("#displayNoneAncestor-input", "input, display: none parent");
|
||||
isNotFocusable("#displayNoneAncestor-span", "span with tabindex, display: none parent");
|
||||
|
||||
isNotFocusable('#visibilityHiddenAncestor-input', 'input, visibility: hidden parent');
|
||||
isNotFocusable('#visibilityHiddenAncestor-span', 'span with tabindex, visibility: hidden parent');
|
||||
isNotFocusable("#visibilityHiddenAncestor-input", "input, visibility: hidden parent");
|
||||
isNotFocusable("#visibilityHiddenAncestor-span", "span with tabindex, visibility: hidden parent");
|
||||
|
||||
isNotFocusable('#displayNone-input', 'input, display: none');
|
||||
isNotFocusable('#visibilityHidden-input', 'input, visibility: hidden');
|
||||
isNotFocusable("#displayNone-input", "input, display: none");
|
||||
isNotFocusable("#visibilityHidden-input", "input, visibility: hidden");
|
||||
|
||||
isNotFocusable('#displayNone-span', 'span with tabindex, display: none');
|
||||
isNotFocusable('#visibilityHidden-span', 'span with tabindex, visibility: hidden');
|
||||
isNotFocusable("#displayNone-span", "span with tabindex, display: none");
|
||||
isNotFocusable("#visibilityHidden-span", "span with tabindex, visibility: hidden");
|
||||
});
|
||||
|
||||
test("focusable - natively focusable with various tabindex", function() {
|
||||
expect(4);
|
||||
|
||||
isFocusable('#inputTabindex0', 'input, tabindex 0');
|
||||
isFocusable('#inputTabindex10', 'input, tabindex 10');
|
||||
isFocusable('#inputTabindex-1', 'input, tabindex -1');
|
||||
isFocusable('#inputTabindex-50', 'input, tabindex -50');
|
||||
isFocusable("#inputTabindex0", "input, tabindex 0");
|
||||
isFocusable("#inputTabindex10", "input, tabindex 10");
|
||||
isFocusable("#inputTabindex-1", "input, tabindex -1");
|
||||
isFocusable("#inputTabindex-50", "input, tabindex -50");
|
||||
});
|
||||
|
||||
test("focusable - not natively focusable with various tabindex", function() {
|
||||
expect(4);
|
||||
|
||||
isFocusable('#spanTabindex0', 'span, tabindex 0');
|
||||
isFocusable('#spanTabindex10', 'span, tabindex 10');
|
||||
isFocusable('#spanTabindex-1', 'span, tabindex -1');
|
||||
isFocusable('#spanTabindex-50', 'span, tabindex -50');
|
||||
isFocusable("#spanTabindex0", "span, tabindex 0");
|
||||
isFocusable("#spanTabindex10", "span, tabindex 10");
|
||||
isFocusable("#spanTabindex-1", "span, tabindex -1");
|
||||
isFocusable("#spanTabindex-50", "span, tabindex -50");
|
||||
});
|
||||
|
||||
test("focusable - area elements", function() {
|
||||
expect( 3 );
|
||||
|
||||
isFocusable('#areaCoordsHref', 'coords and href');
|
||||
isFocusable('#areaNoCoordsHref', 'href but no coords');
|
||||
isNotFocusable('#areaNoImg', 'not associated with an image');
|
||||
isFocusable("#areaCoordsHref", "coords and href");
|
||||
isFocusable("#areaNoCoordsHref", "href but no coords");
|
||||
isNotFocusable("#areaNoImg", "not associated with an image");
|
||||
});
|
||||
|
||||
test( "focusable - dimensionless parent with overflow", function() {
|
||||
@ -166,80 +166,80 @@ test( "focusable - dimensionless parent with overflow", function() {
|
||||
test("tabbable - visible, enabled elements", function() {
|
||||
expect(18);
|
||||
|
||||
isNotTabbable('#formNoTabindex', 'form');
|
||||
isTabbable('#formTabindex', 'form with tabindex');
|
||||
isTabbable('#visibleAncestor-inputTypeNone', 'input, no type');
|
||||
isTabbable('#visibleAncestor-inputTypeText', 'input, type text');
|
||||
isTabbable('#visibleAncestor-inputTypeCheckbox', 'input, type checkbox');
|
||||
isTabbable('#visibleAncestor-inputTypeRadio', 'input, type radio');
|
||||
isTabbable('#visibleAncestor-inputTypeButton', 'input, type button');
|
||||
isNotTabbable('#visibleAncestor-inputTypeHidden', 'input, type hidden');
|
||||
isTabbable('#visibleAncestor-button', 'button');
|
||||
isTabbable('#visibleAncestor-select', 'select');
|
||||
isTabbable('#visibleAncestor-textarea', 'textarea');
|
||||
isTabbable('#visibleAncestor-object', 'object');
|
||||
isTabbable('#visibleAncestor-anchorWithHref', 'anchor with href');
|
||||
isNotTabbable('#visibleAncestor-anchorWithoutHref', 'anchor without href');
|
||||
isNotTabbable('#visibleAncestor-span', 'span');
|
||||
isNotTabbable('#visibleAncestor-div', 'div');
|
||||
isTabbable("#visibleAncestor-spanWithTabindex", 'span with tabindex');
|
||||
isNotTabbable("#visibleAncestor-divWithNegativeTabindex", 'div with tabindex');
|
||||
isNotTabbable("#formNoTabindex", "form");
|
||||
isTabbable("#formTabindex", "form with tabindex");
|
||||
isTabbable("#visibleAncestor-inputTypeNone", "input, no type");
|
||||
isTabbable("#visibleAncestor-inputTypeText", "input, type text");
|
||||
isTabbable("#visibleAncestor-inputTypeCheckbox", "input, type checkbox");
|
||||
isTabbable("#visibleAncestor-inputTypeRadio", "input, type radio");
|
||||
isTabbable("#visibleAncestor-inputTypeButton", "input, type button");
|
||||
isNotTabbable("#visibleAncestor-inputTypeHidden", "input, type hidden");
|
||||
isTabbable("#visibleAncestor-button", "button");
|
||||
isTabbable("#visibleAncestor-select", "select");
|
||||
isTabbable("#visibleAncestor-textarea", "textarea");
|
||||
isTabbable("#visibleAncestor-object", "object");
|
||||
isTabbable("#visibleAncestor-anchorWithHref", "anchor with href");
|
||||
isNotTabbable("#visibleAncestor-anchorWithoutHref", "anchor without href");
|
||||
isNotTabbable("#visibleAncestor-span", "span");
|
||||
isNotTabbable("#visibleAncestor-div", "div");
|
||||
isTabbable("#visibleAncestor-spanWithTabindex", "span with tabindex");
|
||||
isNotTabbable("#visibleAncestor-divWithNegativeTabindex", "div with tabindex");
|
||||
});
|
||||
|
||||
test("tabbable - disabled elements", function() {
|
||||
expect(9);
|
||||
|
||||
isNotTabbable('#disabledElement-inputTypeNone', 'input, no type');
|
||||
isNotTabbable('#disabledElement-inputTypeText', 'input, type text');
|
||||
isNotTabbable('#disabledElement-inputTypeCheckbox', 'input, type checkbox');
|
||||
isNotTabbable('#disabledElement-inputTypeRadio', 'input, type radio');
|
||||
isNotTabbable('#disabledElement-inputTypeButton', 'input, type button');
|
||||
isNotTabbable('#disabledElement-inputTypeHidden', 'input, type hidden');
|
||||
isNotTabbable('#disabledElement-button', 'button');
|
||||
isNotTabbable('#disabledElement-select', 'select');
|
||||
isNotTabbable('#disabledElement-textarea', 'textarea');
|
||||
isNotTabbable("#disabledElement-inputTypeNone", "input, no type");
|
||||
isNotTabbable("#disabledElement-inputTypeText", "input, type text");
|
||||
isNotTabbable("#disabledElement-inputTypeCheckbox", "input, type checkbox");
|
||||
isNotTabbable("#disabledElement-inputTypeRadio", "input, type radio");
|
||||
isNotTabbable("#disabledElement-inputTypeButton", "input, type button");
|
||||
isNotTabbable("#disabledElement-inputTypeHidden", "input, type hidden");
|
||||
isNotTabbable("#disabledElement-button", "button");
|
||||
isNotTabbable("#disabledElement-select", "select");
|
||||
isNotTabbable("#disabledElement-textarea", "textarea");
|
||||
});
|
||||
|
||||
test("tabbable - hidden styles", function() {
|
||||
expect(8);
|
||||
|
||||
isNotTabbable('#displayNoneAncestor-input', 'input, display: none parent');
|
||||
isNotTabbable('#displayNoneAncestor-span', 'span with tabindex, display: none parent');
|
||||
isNotTabbable("#displayNoneAncestor-input", "input, display: none parent");
|
||||
isNotTabbable("#displayNoneAncestor-span", "span with tabindex, display: none parent");
|
||||
|
||||
isNotTabbable('#visibilityHiddenAncestor-input', 'input, visibility: hidden parent');
|
||||
isNotTabbable('#visibilityHiddenAncestor-span', 'span with tabindex, visibility: hidden parent');
|
||||
isNotTabbable("#visibilityHiddenAncestor-input", "input, visibility: hidden parent");
|
||||
isNotTabbable("#visibilityHiddenAncestor-span", "span with tabindex, visibility: hidden parent");
|
||||
|
||||
isNotTabbable('#displayNone-input', 'input, display: none');
|
||||
isNotTabbable('#visibilityHidden-input', 'input, visibility: hidden');
|
||||
isNotTabbable("#displayNone-input", "input, display: none");
|
||||
isNotTabbable("#visibilityHidden-input", "input, visibility: hidden");
|
||||
|
||||
isNotTabbable('#displayNone-span', 'span with tabindex, display: none');
|
||||
isNotTabbable('#visibilityHidden-span', 'span with tabindex, visibility: hidden');
|
||||
isNotTabbable("#displayNone-span", "span with tabindex, display: none");
|
||||
isNotTabbable("#visibilityHidden-span", "span with tabindex, visibility: hidden");
|
||||
});
|
||||
|
||||
test("tabbable - natively tabbable with various tabindex", function() {
|
||||
expect(4);
|
||||
|
||||
isTabbable('#inputTabindex0', 'input, tabindex 0');
|
||||
isTabbable('#inputTabindex10', 'input, tabindex 10');
|
||||
isNotTabbable('#inputTabindex-1', 'input, tabindex -1');
|
||||
isNotTabbable('#inputTabindex-50', 'input, tabindex -50');
|
||||
isTabbable("#inputTabindex0", "input, tabindex 0");
|
||||
isTabbable("#inputTabindex10", "input, tabindex 10");
|
||||
isNotTabbable("#inputTabindex-1", "input, tabindex -1");
|
||||
isNotTabbable("#inputTabindex-50", "input, tabindex -50");
|
||||
});
|
||||
|
||||
test("tabbable - not natively tabbable with various tabindex", function() {
|
||||
expect(4);
|
||||
|
||||
isTabbable('#spanTabindex0', 'span, tabindex 0');
|
||||
isTabbable('#spanTabindex10', 'span, tabindex 10');
|
||||
isNotTabbable('#spanTabindex-1', 'span, tabindex -1');
|
||||
isNotTabbable('#spanTabindex-50', 'span, tabindex -50');
|
||||
isTabbable("#spanTabindex0", "span, tabindex 0");
|
||||
isTabbable("#spanTabindex10", "span, tabindex 10");
|
||||
isNotTabbable("#spanTabindex-1", "span, tabindex -1");
|
||||
isNotTabbable("#spanTabindex-50", "span, tabindex -50");
|
||||
});
|
||||
|
||||
test("tabbable - area elements", function() {
|
||||
expect( 3 );
|
||||
|
||||
isTabbable('#areaCoordsHref', 'coords and href');
|
||||
isTabbable('#areaNoCoordsHref', 'href but no coords');
|
||||
isNotTabbable('#areaNoImg', 'not associated with an image');
|
||||
isTabbable("#areaCoordsHref", "coords and href");
|
||||
isTabbable("#areaNoCoordsHref", "href but no coords");
|
||||
isNotTabbable("#areaNoImg", "not associated with an image");
|
||||
});
|
||||
|
||||
test( "tabbable - dimensionless parent with overflow", function() {
|
||||
|
@ -10,12 +10,12 @@ TestHelpers.testJshint( "datepicker" );
|
||||
|
||||
test("initialization - Reinitialization after body had been emptied.", function() {
|
||||
expect( 1 );
|
||||
var bodyContent = $('body').children(), inp = $("#inp");
|
||||
var bodyContent = $("body").children(), inp = $("#inp");
|
||||
$("#inp").datepicker();
|
||||
$('body').empty().append(inp);
|
||||
$("body").empty().append(inp);
|
||||
$("#inp").datepicker();
|
||||
ok( $("#"+$.datepicker._mainDivId).length===1, "Datepicker container added" );
|
||||
$('body').empty().append(bodyContent); // Returning to initial state for later tests
|
||||
$("body").empty().append(bodyContent); // Returning to initial state for later tests
|
||||
});
|
||||
|
||||
test( "widget method - empty collection", function() {
|
||||
@ -30,46 +30,46 @@ test("widget method", function() {
|
||||
deepEqual($("body > #ui-datepicker-div:last-child")[0], actual);
|
||||
});
|
||||
|
||||
asyncTest('baseStructure', function() {
|
||||
asyncTest("baseStructure", function() {
|
||||
expect( 58 );
|
||||
var header, title, table, thead, week, panel, inl, child,
|
||||
inp = TestHelpers.datepicker.init('#inp'),
|
||||
dp = $('#ui-datepicker-div');
|
||||
inp = TestHelpers.datepicker.init("#inp"),
|
||||
dp = $("#ui-datepicker-div");
|
||||
|
||||
function step1() {
|
||||
inp[0].focus();
|
||||
setTimeout(function() {
|
||||
ok(dp.is(':visible'), 'Structure - datepicker visible');
|
||||
ok(!dp.is('.ui-datepicker-rtl'), 'Structure - not right-to-left');
|
||||
ok(!dp.is('.ui-datepicker-multi'), 'Structure - not multi-month');
|
||||
equal(dp.children().length, 2, 'Structure - child count');
|
||||
ok(dp.is(":visible"), "Structure - datepicker visible");
|
||||
ok(!dp.is(".ui-datepicker-rtl"), "Structure - not right-to-left");
|
||||
ok(!dp.is(".ui-datepicker-multi"), "Structure - not multi-month");
|
||||
equal(dp.children().length, 2, "Structure - child count");
|
||||
|
||||
header = dp.children(':first');
|
||||
ok(header.is('div.ui-datepicker-header'), 'Structure - header division');
|
||||
equal(header.children().length, 3, 'Structure - header child count');
|
||||
ok(header.children(':first').is('a.ui-datepicker-prev') && header.children(':first').html() !== '', 'Structure - prev link');
|
||||
ok(header.children(':eq(1)').is('a.ui-datepicker-next') && header.children(':eq(1)').html() !== '', 'Structure - next link');
|
||||
header = dp.children(":first");
|
||||
ok(header.is("div.ui-datepicker-header"), "Structure - header division");
|
||||
equal(header.children().length, 3, "Structure - header child count");
|
||||
ok(header.children(":first").is("a.ui-datepicker-prev") && header.children(":first").html() !== "", "Structure - prev link");
|
||||
ok(header.children(":eq(1)").is("a.ui-datepicker-next") && header.children(":eq(1)").html() !== "", "Structure - next link");
|
||||
|
||||
title = header.children(':last');
|
||||
ok(title.is('div.ui-datepicker-title') && title.html() !== '','Structure - title division');
|
||||
equal(title.children().length, 2, 'Structure - title child count');
|
||||
ok(title.children(':first').is('span.ui-datepicker-month') && title.children(':first').text() !== '', 'Structure - month text');
|
||||
ok(title.children(':last').is('span.ui-datepicker-year') && title.children(':last').text() !== '', 'Structure - year text');
|
||||
title = header.children(":last");
|
||||
ok(title.is("div.ui-datepicker-title") && title.html() !== "","Structure - title division");
|
||||
equal(title.children().length, 2, "Structure - title child count");
|
||||
ok(title.children(":first").is("span.ui-datepicker-month") && title.children(":first").text() !== "", "Structure - month text");
|
||||
ok(title.children(":last").is("span.ui-datepicker-year") && title.children(":last").text() !== "", "Structure - year text");
|
||||
|
||||
table = dp.children(':eq(1)');
|
||||
ok(table.is('table.ui-datepicker-calendar'), 'Structure - month table');
|
||||
ok(table.children(':first').is('thead'), 'Structure - month table thead');
|
||||
thead = table.children(':first').children(':first');
|
||||
ok(thead.is('tr'), 'Structure - month table title row');
|
||||
equal(thead.find('th').length, 7, 'Structure - month table title cells');
|
||||
ok(table.children(':eq(1)').is('tbody'), 'Structure - month table body');
|
||||
ok(table.children(':eq(1)').children('tr').length >= 4, 'Structure - month table week count');
|
||||
week = table.children(':eq(1)').children(':first');
|
||||
ok(week.is('tr'), 'Structure - month table week row');
|
||||
equal(week.children().length, 7, 'Structure - week child count');
|
||||
ok(week.children(':first').is('td.ui-datepicker-week-end'), 'Structure - month table first day cell');
|
||||
ok(week.children(':last').is('td.ui-datepicker-week-end'), 'Structure - month table second day cell');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
table = dp.children(":eq(1)");
|
||||
ok(table.is("table.ui-datepicker-calendar"), "Structure - month table");
|
||||
ok(table.children(":first").is("thead"), "Structure - month table thead");
|
||||
thead = table.children(":first").children(":first");
|
||||
ok(thead.is("tr"), "Structure - month table title row");
|
||||
equal(thead.find("th").length, 7, "Structure - month table title cells");
|
||||
ok(table.children(":eq(1)").is("tbody"), "Structure - month table body");
|
||||
ok(table.children(":eq(1)").children("tr").length >= 4, "Structure - month table week count");
|
||||
week = table.children(":eq(1)").children(":first");
|
||||
ok(week.is("tr"), "Structure - month table week row");
|
||||
equal(week.children().length, 7, "Structure - week child count");
|
||||
ok(week.children(":first").is("td.ui-datepicker-week-end"), "Structure - month table first day cell");
|
||||
ok(week.children(":last").is("td.ui-datepicker-week-end"), "Structure - month table second day cell");
|
||||
inp.datepicker("hide").datepicker("destroy");
|
||||
|
||||
step2();
|
||||
});
|
||||
@ -77,19 +77,19 @@ asyncTest('baseStructure', function() {
|
||||
|
||||
function step2() {
|
||||
// Editable month/year and button panel
|
||||
inp = TestHelpers.datepicker.init('#inp', {changeMonth: true, changeYear: true, showButtonPanel: true});
|
||||
inp = TestHelpers.datepicker.init("#inp", {changeMonth: true, changeYear: true, showButtonPanel: true});
|
||||
inp.focus();
|
||||
setTimeout(function() {
|
||||
title = dp.find('div.ui-datepicker-title');
|
||||
ok(title.children(':first').is('select.ui-datepicker-month'), 'Structure - month selector');
|
||||
ok(title.children(':last').is('select.ui-datepicker-year'), 'Structure - year selector');
|
||||
title = dp.find("div.ui-datepicker-title");
|
||||
ok(title.children(":first").is("select.ui-datepicker-month"), "Structure - month selector");
|
||||
ok(title.children(":last").is("select.ui-datepicker-year"), "Structure - year selector");
|
||||
|
||||
panel = dp.children(':last');
|
||||
ok(panel.is('div.ui-datepicker-buttonpane'), 'Structure - button panel division');
|
||||
equal(panel.children().length, 2, 'Structure - button panel child count');
|
||||
ok(panel.children(':first').is('button.ui-datepicker-current'), 'Structure - today button');
|
||||
ok(panel.children(':last').is('button.ui-datepicker-close'), 'Structure - close button');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
panel = dp.children(":last");
|
||||
ok(panel.is("div.ui-datepicker-buttonpane"), "Structure - button panel division");
|
||||
equal(panel.children().length, 2, "Structure - button panel child count");
|
||||
ok(panel.children(":first").is("button.ui-datepicker-current"), "Structure - today button");
|
||||
ok(panel.children(":last").is("button.ui-datepicker-close"), "Structure - close button");
|
||||
inp.datepicker("hide").datepicker("destroy");
|
||||
|
||||
step3();
|
||||
});
|
||||
@ -97,19 +97,19 @@ asyncTest('baseStructure', function() {
|
||||
|
||||
function step3() {
|
||||
// Multi-month 2
|
||||
inp = TestHelpers.datepicker.init('#inp', {numberOfMonths: 2});
|
||||
inp = TestHelpers.datepicker.init("#inp", {numberOfMonths: 2});
|
||||
inp.focus();
|
||||
setTimeout(function() {
|
||||
ok(dp.is('.ui-datepicker-multi'), 'Structure multi [2] - multi-month');
|
||||
equal(dp.children().length, 3, 'Structure multi [2] - child count');
|
||||
child = dp.children(':first');
|
||||
ok(child.is('div.ui-datepicker-group') && child.is('div.ui-datepicker-group-first'), 'Structure multi [2] - first month division');
|
||||
child = dp.children(':eq(1)');
|
||||
ok(child.is('div.ui-datepicker-group') && child.is('div.ui-datepicker-group-last'), 'Structure multi [2] - second month division');
|
||||
child = dp.children(':eq(2)');
|
||||
ok(child.is('div.ui-datepicker-row-break'), 'Structure multi [2] - row break');
|
||||
ok(dp.is('.ui-datepicker-multi-2'), 'Structure multi [2] - multi-2');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
ok(dp.is(".ui-datepicker-multi"), "Structure multi [2] - multi-month");
|
||||
equal(dp.children().length, 3, "Structure multi [2] - child count");
|
||||
child = dp.children(":first");
|
||||
ok(child.is("div.ui-datepicker-group") && child.is("div.ui-datepicker-group-first"), "Structure multi [2] - first month division");
|
||||
child = dp.children(":eq(1)");
|
||||
ok(child.is("div.ui-datepicker-group") && child.is("div.ui-datepicker-group-last"), "Structure multi [2] - second month division");
|
||||
child = dp.children(":eq(2)");
|
||||
ok(child.is("div.ui-datepicker-row-break"), "Structure multi [2] - row break");
|
||||
ok(dp.is(".ui-datepicker-multi-2"), "Structure multi [2] - multi-2");
|
||||
inp.datepicker("hide").datepicker("destroy");
|
||||
|
||||
step4();
|
||||
});
|
||||
@ -117,12 +117,12 @@ asyncTest('baseStructure', function() {
|
||||
|
||||
function step4() {
|
||||
// Multi-month 3
|
||||
inp = TestHelpers.datepicker.init('#inp', {numberOfMonths: 3});
|
||||
inp = TestHelpers.datepicker.init("#inp", {numberOfMonths: 3});
|
||||
inp.focus();
|
||||
setTimeout(function() {
|
||||
ok(dp.is('.ui-datepicker-multi-3'), 'Structure multi [3] - multi-3');
|
||||
ok(! dp.is('.ui-datepicker-multi-2'), 'Structure multi [3] - Trac #6704');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
ok(dp.is(".ui-datepicker-multi-3"), "Structure multi [3] - multi-3");
|
||||
ok(! dp.is(".ui-datepicker-multi-2"), "Structure multi [3] - Trac #6704");
|
||||
inp.datepicker("hide").datepicker("destroy");
|
||||
|
||||
step5();
|
||||
});
|
||||
@ -130,53 +130,53 @@ asyncTest('baseStructure', function() {
|
||||
|
||||
function step5() {
|
||||
// Multi-month [2, 2]
|
||||
inp = TestHelpers.datepicker.init('#inp', {numberOfMonths: [2, 2]});
|
||||
inp = TestHelpers.datepicker.init("#inp", {numberOfMonths: [2, 2]});
|
||||
inp.focus();
|
||||
setTimeout(function() {
|
||||
ok(dp.is('.ui-datepicker-multi'), 'Structure multi - multi-month');
|
||||
equal(dp.children().length, 6, 'Structure multi [2,2] - child count');
|
||||
child = dp.children(':first');
|
||||
ok(child.is('div.ui-datepicker-group') && child.is('div.ui-datepicker-group-first'), 'Structure multi [2,2] - first month division');
|
||||
child = dp.children(':eq(1)');
|
||||
ok(child.is('div.ui-datepicker-group') && child.is('div.ui-datepicker-group-last'), 'Structure multi [2,2] - second month division');
|
||||
child = dp.children(':eq(2)');
|
||||
ok(child.is('div.ui-datepicker-row-break'), 'Structure multi [2,2] - row break');
|
||||
child = dp.children(':eq(3)');
|
||||
ok(child.is('div.ui-datepicker-group') && child.is('div.ui-datepicker-group-first'), 'Structure multi [2,2] - third month division');
|
||||
child = dp.children(':eq(4)');
|
||||
ok(child.is('div.ui-datepicker-group') && child.is('div.ui-datepicker-group-last'), 'Structure multi [2,2] - fourth month division');
|
||||
child = dp.children(':eq(5)');
|
||||
ok(child.is('div.ui-datepicker-row-break'), 'Structure multi [2,2] - row break');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
ok(dp.is(".ui-datepicker-multi"), "Structure multi - multi-month");
|
||||
equal(dp.children().length, 6, "Structure multi [2,2] - child count");
|
||||
child = dp.children(":first");
|
||||
ok(child.is("div.ui-datepicker-group") && child.is("div.ui-datepicker-group-first"), "Structure multi [2,2] - first month division");
|
||||
child = dp.children(":eq(1)");
|
||||
ok(child.is("div.ui-datepicker-group") && child.is("div.ui-datepicker-group-last"), "Structure multi [2,2] - second month division");
|
||||
child = dp.children(":eq(2)");
|
||||
ok(child.is("div.ui-datepicker-row-break"), "Structure multi [2,2] - row break");
|
||||
child = dp.children(":eq(3)");
|
||||
ok(child.is("div.ui-datepicker-group") && child.is("div.ui-datepicker-group-first"), "Structure multi [2,2] - third month division");
|
||||
child = dp.children(":eq(4)");
|
||||
ok(child.is("div.ui-datepicker-group") && child.is("div.ui-datepicker-group-last"), "Structure multi [2,2] - fourth month division");
|
||||
child = dp.children(":eq(5)");
|
||||
ok(child.is("div.ui-datepicker-row-break"), "Structure multi [2,2] - row break");
|
||||
inp.datepicker("hide").datepicker("destroy");
|
||||
|
||||
// Inline
|
||||
inl = TestHelpers.datepicker.init('#inl');
|
||||
inl = TestHelpers.datepicker.init("#inl");
|
||||
dp = inl.children();
|
||||
ok(dp.is('.ui-datepicker-inline'), 'Structure inline - main div');
|
||||
ok(!dp.is('.ui-datepicker-rtl'), 'Structure inline - not right-to-left');
|
||||
ok(!dp.is('.ui-datepicker-multi'), 'Structure inline - not multi-month');
|
||||
equal(dp.children().length, 2, 'Structure inline - child count');
|
||||
header = dp.children(':first');
|
||||
ok(header.is('div.ui-datepicker-header'), 'Structure inline - header division');
|
||||
equal(header.children().length, 3, 'Structure inline - header child count');
|
||||
table = dp.children(':eq(1)');
|
||||
ok(table.is('table.ui-datepicker-calendar'), 'Structure inline - month table');
|
||||
ok(table.children(':first').is('thead'), 'Structure inline - month table thead');
|
||||
ok(table.children(':eq(1)').is('tbody'), 'Structure inline - month table body');
|
||||
inl.datepicker('destroy');
|
||||
ok(dp.is(".ui-datepicker-inline"), "Structure inline - main div");
|
||||
ok(!dp.is(".ui-datepicker-rtl"), "Structure inline - not right-to-left");
|
||||
ok(!dp.is(".ui-datepicker-multi"), "Structure inline - not multi-month");
|
||||
equal(dp.children().length, 2, "Structure inline - child count");
|
||||
header = dp.children(":first");
|
||||
ok(header.is("div.ui-datepicker-header"), "Structure inline - header division");
|
||||
equal(header.children().length, 3, "Structure inline - header child count");
|
||||
table = dp.children(":eq(1)");
|
||||
ok(table.is("table.ui-datepicker-calendar"), "Structure inline - month table");
|
||||
ok(table.children(":first").is("thead"), "Structure inline - month table thead");
|
||||
ok(table.children(":eq(1)").is("tbody"), "Structure inline - month table body");
|
||||
inl.datepicker("destroy");
|
||||
|
||||
// Inline multi-month
|
||||
inl = TestHelpers.datepicker.init('#inl', {numberOfMonths: 2});
|
||||
inl = TestHelpers.datepicker.init("#inl", {numberOfMonths: 2});
|
||||
dp = inl.children();
|
||||
ok(dp.is('.ui-datepicker-inline') && dp.is('.ui-datepicker-multi'), 'Structure inline multi - main div');
|
||||
equal(dp.children().length, 3, 'Structure inline multi - child count');
|
||||
child = dp.children(':first');
|
||||
ok(child.is('div.ui-datepicker-group') && child.is('div.ui-datepicker-group-first'), 'Structure inline multi - first month division');
|
||||
child = dp.children(':eq(1)');
|
||||
ok(child.is('div.ui-datepicker-group') && child.is('div.ui-datepicker-group-last'), 'Structure inline multi - second month division');
|
||||
child = dp.children(':eq(2)');
|
||||
ok(child.is('div.ui-datepicker-row-break'), 'Structure inline multi - row break');
|
||||
inl.datepicker('destroy');
|
||||
ok(dp.is(".ui-datepicker-inline") && dp.is(".ui-datepicker-multi"), "Structure inline multi - main div");
|
||||
equal(dp.children().length, 3, "Structure inline multi - child count");
|
||||
child = dp.children(":first");
|
||||
ok(child.is("div.ui-datepicker-group") && child.is("div.ui-datepicker-group-first"), "Structure inline multi - first month division");
|
||||
child = dp.children(":eq(1)");
|
||||
ok(child.is("div.ui-datepicker-group") && child.is("div.ui-datepicker-group-last"), "Structure inline multi - second month division");
|
||||
child = dp.children(":eq(2)");
|
||||
ok(child.is("div.ui-datepicker-row-break"), "Structure inline multi - row break");
|
||||
inl.datepicker("destroy");
|
||||
|
||||
start();
|
||||
});
|
||||
@ -185,279 +185,279 @@ asyncTest('baseStructure', function() {
|
||||
step1();
|
||||
});
|
||||
|
||||
test('customStructure', function() {
|
||||
test("customStructure", function() {
|
||||
expect( 20 );
|
||||
var header, panel, title, thead,
|
||||
dp = $('#ui-datepicker-div'),
|
||||
dp = $("#ui-datepicker-div"),
|
||||
// Check right-to-left localisation
|
||||
inp = TestHelpers.datepicker.init('#inp', $.datepicker.regional.he);
|
||||
inp.datepicker( 'option', 'showButtonPanel', true);
|
||||
inp = TestHelpers.datepicker.init("#inp", $.datepicker.regional.he);
|
||||
inp.datepicker( "option", "showButtonPanel", true);
|
||||
inp.focus();
|
||||
ok(dp.is('.ui-datepicker-rtl'), 'Structure RTL - right-to-left');
|
||||
header = dp.children(':first');
|
||||
ok(header.is('div.ui-datepicker-header'), 'Structure RTL - header division');
|
||||
equal(header.children().length, 3, 'Structure RTL - header child count');
|
||||
ok(header.children(':first').is('a.ui-datepicker-next'), 'Structure RTL - prev link');
|
||||
ok(header.children(':eq(1)').is('a.ui-datepicker-prev'), 'Structure RTL - next link');
|
||||
panel = dp.children(':last');
|
||||
ok(panel.is('div.ui-datepicker-buttonpane'), 'Structure RTL - button division');
|
||||
equal(panel.children().length, 2, 'Structure RTL - button panel child count');
|
||||
ok(panel.children(':first').is('button.ui-datepicker-close'), 'Structure RTL - close button');
|
||||
ok(panel.children(':last').is('button.ui-datepicker-current'), 'Structure RTL - today button');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
ok(dp.is(".ui-datepicker-rtl"), "Structure RTL - right-to-left");
|
||||
header = dp.children(":first");
|
||||
ok(header.is("div.ui-datepicker-header"), "Structure RTL - header division");
|
||||
equal(header.children().length, 3, "Structure RTL - header child count");
|
||||
ok(header.children(":first").is("a.ui-datepicker-next"), "Structure RTL - prev link");
|
||||
ok(header.children(":eq(1)").is("a.ui-datepicker-prev"), "Structure RTL - next link");
|
||||
panel = dp.children(":last");
|
||||
ok(panel.is("div.ui-datepicker-buttonpane"), "Structure RTL - button division");
|
||||
equal(panel.children().length, 2, "Structure RTL - button panel child count");
|
||||
ok(panel.children(":first").is("button.ui-datepicker-close"), "Structure RTL - close button");
|
||||
ok(panel.children(":last").is("button.ui-datepicker-current"), "Structure RTL - today button");
|
||||
inp.datepicker("hide").datepicker("destroy");
|
||||
|
||||
// Hide prev/next
|
||||
inp = TestHelpers.datepicker.init('#inp', {hideIfNoPrevNext: true, minDate: new Date(2008, 2 - 1, 4), maxDate: new Date(2008, 2 - 1, 14)});
|
||||
inp.val('02/10/2008').focus();
|
||||
header = dp.children(':first');
|
||||
ok(header.is('div.ui-datepicker-header'), 'Structure hide prev/next - header division');
|
||||
equal(header.children().length, 1, 'Structure hide prev/next - links child count');
|
||||
ok(header.children(':first').is('div.ui-datepicker-title'), 'Structure hide prev/next - title division');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
inp = TestHelpers.datepicker.init("#inp", {hideIfNoPrevNext: true, minDate: new Date(2008, 2 - 1, 4), maxDate: new Date(2008, 2 - 1, 14)});
|
||||
inp.val("02/10/2008").focus();
|
||||
header = dp.children(":first");
|
||||
ok(header.is("div.ui-datepicker-header"), "Structure hide prev/next - header division");
|
||||
equal(header.children().length, 1, "Structure hide prev/next - links child count");
|
||||
ok(header.children(":first").is("div.ui-datepicker-title"), "Structure hide prev/next - title division");
|
||||
inp.datepicker("hide").datepicker("destroy");
|
||||
|
||||
// Changeable Month with read-only year
|
||||
inp = TestHelpers.datepicker.init('#inp', {changeMonth: true});
|
||||
inp = TestHelpers.datepicker.init("#inp", {changeMonth: true});
|
||||
inp.focus();
|
||||
title = dp.children(':first').children(':last');
|
||||
equal(title.children().length, 2, 'Structure changeable month - title child count');
|
||||
ok(title.children(':first').is('select.ui-datepicker-month'), 'Structure changeable month - month selector');
|
||||
ok(title.children(':last').is('span.ui-datepicker-year'), 'Structure changeable month - read-only year');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
title = dp.children(":first").children(":last");
|
||||
equal(title.children().length, 2, "Structure changeable month - title child count");
|
||||
ok(title.children(":first").is("select.ui-datepicker-month"), "Structure changeable month - month selector");
|
||||
ok(title.children(":last").is("span.ui-datepicker-year"), "Structure changeable month - read-only year");
|
||||
inp.datepicker("hide").datepicker("destroy");
|
||||
|
||||
// Changeable year with read-only month
|
||||
inp = TestHelpers.datepicker.init('#inp', {changeYear: true});
|
||||
inp = TestHelpers.datepicker.init("#inp", {changeYear: true});
|
||||
inp.focus();
|
||||
title = dp.children(':first').children(':last');
|
||||
equal(title.children().length, 2, 'Structure changeable year - title child count');
|
||||
ok(title.children(':first').is('span.ui-datepicker-month'), 'Structure changeable year - read-only month');
|
||||
ok(title.children(':last').is('select.ui-datepicker-year'), 'Structure changeable year - year selector');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
title = dp.children(":first").children(":last");
|
||||
equal(title.children().length, 2, "Structure changeable year - title child count");
|
||||
ok(title.children(":first").is("span.ui-datepicker-month"), "Structure changeable year - read-only month");
|
||||
ok(title.children(":last").is("select.ui-datepicker-year"), "Structure changeable year - year selector");
|
||||
inp.datepicker("hide").datepicker("destroy");
|
||||
|
||||
// Read-only first day of week
|
||||
inp = TestHelpers.datepicker.init('#inp', {changeFirstDay: false});
|
||||
inp = TestHelpers.datepicker.init("#inp", {changeFirstDay: false});
|
||||
inp.focus();
|
||||
thead = dp.find('.ui-datepicker-calendar thead tr');
|
||||
equal(thead.children().length, 7, 'Structure read-only first day - thead child count');
|
||||
equal(thead.find('a').length, 0, 'Structure read-only first day - thead links count');
|
||||
inp.datepicker('hide').datepicker('destroy');
|
||||
thead = dp.find(".ui-datepicker-calendar thead tr");
|
||||
equal(thead.children().length, 7, "Structure read-only first day - thead child count");
|
||||
equal(thead.find("a").length, 0, "Structure read-only first day - thead links count");
|
||||
inp.datepicker("hide").datepicker("destroy");
|
||||
});
|
||||
|
||||
test('keystrokes', function() {
|
||||
test("keystrokes", function() {
|
||||
expect( 26 );
|
||||
var inp = TestHelpers.datepicker.init('#inp'),
|
||||
var inp = TestHelpers.datepicker.init("#inp"),
|
||||
date = new Date();
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke enter');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
'Keystroke enter - preset');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.HOME}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+home');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.END});
|
||||
ok(inp.datepicker('getDate') == null, 'Keystroke ctrl+end');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE});
|
||||
ok(inp.datepicker('getDate') == null, 'Keystroke esc');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
'Keystroke esc - preset');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
'Keystroke esc - abandoned');
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke enter");
|
||||
inp.val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 4),
|
||||
"Keystroke enter - preset");
|
||||
inp.val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.HOME}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke ctrl+home");
|
||||
inp.val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.END});
|
||||
ok(inp.datepicker("getDate") == null, "Keystroke ctrl+end");
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
|
||||
ok(inp.datepicker("getDate") == null, "Keystroke esc");
|
||||
inp.val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 4),
|
||||
"Keystroke esc - preset");
|
||||
inp.val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 4),
|
||||
"Keystroke esc - abandoned");
|
||||
// Moving by day or week
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.LEFT}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.LEFT}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() - 1);
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+left');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.LEFT}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke ctrl+left");
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.LEFT}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() + 1);
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke left');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.RIGHT}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke left");
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.RIGHT}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() + 1);
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+right');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.RIGHT}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke ctrl+right");
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.RIGHT}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() - 1);
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke right');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke right");
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.UP}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() - 7);
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+up');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke ctrl+up");
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.UP}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() + 7);
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke up');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke up");
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.DOWN}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() + 7);
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke ctrl+down');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke ctrl+down");
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.DOWN}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() - 7);
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Keystroke down');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Keystroke down");
|
||||
// Moving by month or year
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 1 - 1, 4),
|
||||
'Keystroke pgup');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 3 - 1, 4),
|
||||
'Keystroke pgdn');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2007, 2 - 1, 4),
|
||||
'Keystroke ctrl+pgup');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2009, 2 - 1, 4),
|
||||
'Keystroke ctrl+pgdn');
|
||||
inp.val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 1 - 1, 4),
|
||||
"Keystroke pgup");
|
||||
inp.val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 3 - 1, 4),
|
||||
"Keystroke pgdn");
|
||||
inp.val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2007, 2 - 1, 4),
|
||||
"Keystroke ctrl+pgup");
|
||||
inp.val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2009, 2 - 1, 4),
|
||||
"Keystroke ctrl+pgdn");
|
||||
// Check for moving to short months
|
||||
inp.val('03/31/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 29),
|
||||
'Keystroke pgup - Feb');
|
||||
inp.val('01/30/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 29),
|
||||
'Keystroke pgdn - Feb');
|
||||
inp.val('02/29/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2007, 2 - 1, 28),
|
||||
'Keystroke ctrl+pgup - Feb');
|
||||
inp.val('02/29/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2009, 2 - 1, 28),
|
||||
'Keystroke ctrl+pgdn - Feb');
|
||||
inp.val("03/31/2008").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 29),
|
||||
"Keystroke pgup - Feb");
|
||||
inp.val("01/30/2008").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 29),
|
||||
"Keystroke pgdn - Feb");
|
||||
inp.val("02/29/2008").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2007, 2 - 1, 28),
|
||||
"Keystroke ctrl+pgup - Feb");
|
||||
inp.val("02/29/2008").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2009, 2 - 1, 28),
|
||||
"Keystroke ctrl+pgdn - Feb");
|
||||
// Goto current
|
||||
inp.datepicker('option', {gotoCurrent: true}).
|
||||
datepicker('hide').val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.HOME}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
'Keystroke ctrl+home');
|
||||
inp.datepicker("option", {gotoCurrent: true}).
|
||||
datepicker("hide").val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.HOME}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 4),
|
||||
"Keystroke ctrl+home");
|
||||
// Change steps
|
||||
inp.datepicker('option', {stepMonths: 2, gotoCurrent: false}).
|
||||
datepicker('hide').val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2007, 12 - 1, 4),
|
||||
'Keystroke pgup step 2');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 4 - 1, 4),
|
||||
'Keystroke pgdn step 2');
|
||||
inp.datepicker("option", {stepMonths: 2, gotoCurrent: false}).
|
||||
datepicker("hide").val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_UP}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2007, 12 - 1, 4),
|
||||
"Keystroke pgup step 2");
|
||||
inp.val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 4 - 1, 4),
|
||||
"Keystroke pgdn step 2");
|
||||
});
|
||||
|
||||
test('mouse', function() {
|
||||
test("mouse", function() {
|
||||
expect( 15 );
|
||||
var inl,
|
||||
inp = TestHelpers.datepicker.init('#inp'),
|
||||
dp = $('#ui-datepicker-div'),
|
||||
inp = TestHelpers.datepicker.init("#inp"),
|
||||
dp = $("#ui-datepicker-div"),
|
||||
date = new Date();
|
||||
inp.val('').datepicker('show');
|
||||
$('.ui-datepicker-calendar tbody a:contains(10)', dp).simulate('click', {});
|
||||
inp.val("").datepicker("show");
|
||||
$(".ui-datepicker-calendar tbody a:contains(10)", dp).simulate("click", {});
|
||||
date.setDate(10);
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Mouse click');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
$('.ui-datepicker-calendar tbody a:contains(12)', dp).simulate('click', {});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 12),
|
||||
'Mouse click - preset');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
inp.val('').datepicker('show');
|
||||
$('button.ui-datepicker-close', dp).simulate('click', {});
|
||||
ok(inp.datepicker('getDate') == null, 'Mouse click - close');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
$('button.ui-datepicker-close', dp).simulate('click', {});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
'Mouse click - close + preset');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
$('a.ui-datepicker-prev', dp).simulate('click', {});
|
||||
$('button.ui-datepicker-close', dp).simulate('click', {});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 4),
|
||||
'Mouse click - abandoned');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Mouse click");
|
||||
inp.val("02/04/2008").datepicker("show");
|
||||
$(".ui-datepicker-calendar tbody a:contains(12)", dp).simulate("click", {});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 12),
|
||||
"Mouse click - preset");
|
||||
inp.val("02/04/2008").datepicker("show");
|
||||
inp.val("").datepicker("show");
|
||||
$("button.ui-datepicker-close", dp).simulate("click", {});
|
||||
ok(inp.datepicker("getDate") == null, "Mouse click - close");
|
||||
inp.val("02/04/2008").datepicker("show");
|
||||
$("button.ui-datepicker-close", dp).simulate("click", {});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 4),
|
||||
"Mouse click - close + preset");
|
||||
inp.val("02/04/2008").datepicker("show");
|
||||
$("a.ui-datepicker-prev", dp).simulate("click", {});
|
||||
$("button.ui-datepicker-close", dp).simulate("click", {});
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 4),
|
||||
"Mouse click - abandoned");
|
||||
// Current/previous/next
|
||||
inp.val('02/04/2008').datepicker('option', {showButtonPanel: true}).datepicker('show');
|
||||
$('.ui-datepicker-current', dp).simulate('click', {});
|
||||
$('.ui-datepicker-calendar tbody a:contains(14)', dp).simulate('click', {});
|
||||
inp.val("02/04/2008").datepicker("option", {showButtonPanel: true}).datepicker("show");
|
||||
$(".ui-datepicker-current", dp).simulate("click", {});
|
||||
$(".ui-datepicker-calendar tbody a:contains(14)", dp).simulate("click", {});
|
||||
date.setDate(14);
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), date, 'Mouse click - current');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
$('.ui-datepicker-prev', dp).simulate('click');
|
||||
$('.ui-datepicker-calendar tbody a:contains(16)', dp).simulate('click');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 1 - 1, 16),
|
||||
'Mouse click - previous');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
$('.ui-datepicker-next', dp).simulate('click');
|
||||
$('.ui-datepicker-calendar tbody a:contains(18)', dp).simulate('click');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 3 - 1, 18),
|
||||
'Mouse click - next');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), date, "Mouse click - current");
|
||||
inp.val("02/04/2008").datepicker("show");
|
||||
$(".ui-datepicker-prev", dp).simulate("click");
|
||||
$(".ui-datepicker-calendar tbody a:contains(16)", dp).simulate("click");
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 1 - 1, 16),
|
||||
"Mouse click - previous");
|
||||
inp.val("02/04/2008").datepicker("show");
|
||||
$(".ui-datepicker-next", dp).simulate("click");
|
||||
$(".ui-datepicker-calendar tbody a:contains(18)", dp).simulate("click");
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 3 - 1, 18),
|
||||
"Mouse click - next");
|
||||
// Previous/next with minimum/maximum
|
||||
inp.datepicker('option', {minDate: new Date(2008, 2 - 1, 2),
|
||||
maxDate: new Date(2008, 2 - 1, 26)}).val('02/04/2008').datepicker('show');
|
||||
$('.ui-datepicker-prev', dp).simulate('click');
|
||||
$('.ui-datepicker-calendar tbody a:contains(16)', dp).simulate('click');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 16),
|
||||
'Mouse click - previous + min/max');
|
||||
inp.val('02/04/2008').datepicker('show');
|
||||
$('.ui-datepicker-next', dp).simulate('click');
|
||||
$('.ui-datepicker-calendar tbody a:contains(18)', dp).simulate('click');
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker('getDate'), new Date(2008, 2 - 1, 18),
|
||||
'Mouse click - next + min/max');
|
||||
inp.datepicker("option", {minDate: new Date(2008, 2 - 1, 2),
|
||||
maxDate: new Date(2008, 2 - 1, 26)}).val("02/04/2008").datepicker("show");
|
||||
$(".ui-datepicker-prev", dp).simulate("click");
|
||||
$(".ui-datepicker-calendar tbody a:contains(16)", dp).simulate("click");
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 16),
|
||||
"Mouse click - previous + min/max");
|
||||
inp.val("02/04/2008").datepicker("show");
|
||||
$(".ui-datepicker-next", dp).simulate("click");
|
||||
$(".ui-datepicker-calendar tbody a:contains(18)", dp).simulate("click");
|
||||
TestHelpers.datepicker.equalsDate(inp.datepicker("getDate"), new Date(2008, 2 - 1, 18),
|
||||
"Mouse click - next + min/max");
|
||||
// Inline
|
||||
inl = TestHelpers.datepicker.init('#inl');
|
||||
dp = $('.ui-datepicker-inline', inl);
|
||||
inl = TestHelpers.datepicker.init("#inl");
|
||||
dp = $(".ui-datepicker-inline", inl);
|
||||
date = new Date();
|
||||
inl.datepicker('setDate', date);
|
||||
$('.ui-datepicker-calendar tbody a:contains(10)', dp).simulate('click', {});
|
||||
inl.datepicker("setDate", date);
|
||||
$(".ui-datepicker-calendar tbody a:contains(10)", dp).simulate("click", {});
|
||||
date.setDate(10);
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), date, 'Mouse click inline');
|
||||
inl.datepicker('option', {showButtonPanel: true}).datepicker('setDate', new Date(2008, 2 - 1, 4));
|
||||
$('.ui-datepicker-calendar tbody a:contains(12)', dp).simulate('click', {});
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), new Date(2008, 2 - 1, 12), 'Mouse click inline - preset');
|
||||
inl.datepicker('option', {showButtonPanel: true});
|
||||
$('.ui-datepicker-current', dp).simulate('click', {});
|
||||
$('.ui-datepicker-calendar tbody a:contains(14)', dp).simulate('click', {});
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker("getDate"), date, "Mouse click inline");
|
||||
inl.datepicker("option", {showButtonPanel: true}).datepicker("setDate", new Date(2008, 2 - 1, 4));
|
||||
$(".ui-datepicker-calendar tbody a:contains(12)", dp).simulate("click", {});
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker("getDate"), new Date(2008, 2 - 1, 12), "Mouse click inline - preset");
|
||||
inl.datepicker("option", {showButtonPanel: true});
|
||||
$(".ui-datepicker-current", dp).simulate("click", {});
|
||||
$(".ui-datepicker-calendar tbody a:contains(14)", dp).simulate("click", {});
|
||||
date.setDate(14);
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), date, 'Mouse click inline - current');
|
||||
inl.datepicker('setDate', new Date(2008, 2 - 1, 4));
|
||||
$('.ui-datepicker-prev', dp).simulate('click');
|
||||
$('.ui-datepicker-calendar tbody a:contains(16)', dp).simulate('click');
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), new Date(2008, 1 - 1, 16),
|
||||
'Mouse click inline - previous');
|
||||
inl.datepicker('setDate', new Date(2008, 2 - 1, 4));
|
||||
$('.ui-datepicker-next', dp).simulate('click');
|
||||
$('.ui-datepicker-calendar tbody a:contains(18)', dp).simulate('click');
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker('getDate'), new Date(2008, 3 - 1, 18),
|
||||
'Mouse click inline - next');
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker("getDate"), date, "Mouse click inline - current");
|
||||
inl.datepicker("setDate", new Date(2008, 2 - 1, 4));
|
||||
$(".ui-datepicker-prev", dp).simulate("click");
|
||||
$(".ui-datepicker-calendar tbody a:contains(16)", dp).simulate("click");
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker("getDate"), new Date(2008, 1 - 1, 16),
|
||||
"Mouse click inline - previous");
|
||||
inl.datepicker("setDate", new Date(2008, 2 - 1, 4));
|
||||
$(".ui-datepicker-next", dp).simulate("click");
|
||||
$(".ui-datepicker-calendar tbody a:contains(18)", dp).simulate("click");
|
||||
TestHelpers.datepicker.equalsDate(inl.datepicker("getDate"), new Date(2008, 3 - 1, 18),
|
||||
"Mouse click inline - next");
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
@ -17,137 +17,137 @@ function callback(date, inst) {
|
||||
|
||||
function callback2(year, month, inst) {
|
||||
selectedThis = this;
|
||||
selectedDate = year + '/' + month;
|
||||
selectedDate = year + "/" + month;
|
||||
selectedInst = inst;
|
||||
}
|
||||
|
||||
test('events', function() {
|
||||
test("events", function() {
|
||||
expect( 26 );
|
||||
var dateStr, newMonthYear, inp2,
|
||||
inp = TestHelpers.datepicker.init('#inp', {onSelect: callback}),
|
||||
inp = TestHelpers.datepicker.init("#inp", {onSelect: callback}),
|
||||
date = new Date();
|
||||
// onSelect
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equal(selectedThis, inp[0], 'Callback selected this');
|
||||
equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Callback selected inst');
|
||||
equal(selectedDate, $.datepicker.formatDate('mm/dd/yy', date),
|
||||
'Callback selected date');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.DOWN}).
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
equal(selectedThis, inp[0], "Callback selected this");
|
||||
equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Callback selected inst");
|
||||
equal(selectedDate, $.datepicker.formatDate("mm/dd/yy", date),
|
||||
"Callback selected date");
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.DOWN}).
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
date.setDate(date.getDate() + 7);
|
||||
equal(selectedDate, $.datepicker.formatDate('mm/dd/yy', date),
|
||||
'Callback selected date - ctrl+down');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE});
|
||||
equal(selectedDate, $.datepicker.formatDate('mm/dd/yy', date),
|
||||
'Callback selected date - esc');
|
||||
dateStr = '02/04/2008';
|
||||
inp.val(dateStr).datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equal(selectedDate, $.datepicker.formatDate("mm/dd/yy", date),
|
||||
"Callback selected date - ctrl+down");
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
|
||||
equal(selectedDate, $.datepicker.formatDate("mm/dd/yy", date),
|
||||
"Callback selected date - esc");
|
||||
dateStr = "02/04/2008";
|
||||
inp.val(dateStr).datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
equal(dateStr, selectedDate,
|
||||
'onSelect is called after enter keydown');
|
||||
"onSelect is called after enter keydown");
|
||||
// onChangeMonthYear
|
||||
inp.datepicker('option', {onChangeMonthYear: callback2, onSelect: null}).
|
||||
val('').datepicker('show');
|
||||
inp.datepicker("option", {onChangeMonthYear: callback2, onSelect: null}).
|
||||
val("").datepicker("show");
|
||||
newMonthYear = function(date) {
|
||||
return date.getFullYear() + '/' + (date.getMonth() + 1);
|
||||
return date.getFullYear() + "/" + (date.getMonth() + 1);
|
||||
};
|
||||
date = new Date();
|
||||
date.setDate(1);
|
||||
inp.simulate('keydown', {keyCode: $.ui.keyCode.PAGE_UP});
|
||||
inp.simulate("keydown", {keyCode: $.ui.keyCode.PAGE_UP});
|
||||
date.setMonth(date.getMonth() - 1);
|
||||
equal(selectedThis, inp[0], 'Callback change month/year this');
|
||||
equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Callback change month/year inst');
|
||||
equal(selectedThis, inp[0], "Callback change month/year this");
|
||||
equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Callback change month/year inst");
|
||||
equal(selectedDate, newMonthYear(date),
|
||||
'Callback change month/year date - pgup');
|
||||
inp.simulate('keydown', {keyCode: $.ui.keyCode.PAGE_DOWN});
|
||||
"Callback change month/year date - pgup");
|
||||
inp.simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN});
|
||||
date.setMonth(date.getMonth() + 1);
|
||||
equal(selectedDate, newMonthYear(date),
|
||||
'Callback change month/year date - pgdn');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP});
|
||||
"Callback change month/year date - pgdn");
|
||||
inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP});
|
||||
date.setFullYear(date.getFullYear() - 1);
|
||||
equal(selectedDate, newMonthYear(date),
|
||||
'Callback change month/year date - ctrl+pgup');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.HOME});
|
||||
"Callback change month/year date - ctrl+pgup");
|
||||
inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.HOME});
|
||||
date.setFullYear(date.getFullYear() + 1);
|
||||
equal(selectedDate, newMonthYear(date),
|
||||
'Callback change month/year date - ctrl+home');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN});
|
||||
"Callback change month/year date - ctrl+home");
|
||||
inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN});
|
||||
date.setFullYear(date.getFullYear() + 1);
|
||||
equal(selectedDate, newMonthYear(date),
|
||||
'Callback change month/year date - ctrl+pgdn');
|
||||
inp.datepicker('setDate', new Date(2007, 1 - 1, 26));
|
||||
equal(selectedDate, '2007/1', 'Callback change month/year date - setDate');
|
||||
"Callback change month/year date - ctrl+pgdn");
|
||||
inp.datepicker("setDate", new Date(2007, 1 - 1, 26));
|
||||
equal(selectedDate, "2007/1", "Callback change month/year date - setDate");
|
||||
selectedDate = null;
|
||||
inp.datepicker('setDate', new Date(2007, 1 - 1, 12));
|
||||
ok(selectedDate == null, 'Callback change month/year date - setDate no change');
|
||||
inp.datepicker("setDate", new Date(2007, 1 - 1, 12));
|
||||
ok(selectedDate == null, "Callback change month/year date - setDate no change");
|
||||
// onChangeMonthYear step by 2
|
||||
inp.datepicker('option', {stepMonths: 2}).
|
||||
datepicker('hide').val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.PAGE_UP});
|
||||
inp.datepicker("option", {stepMonths: 2}).
|
||||
datepicker("hide").val("").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.PAGE_UP});
|
||||
date.setMonth(date.getMonth() - 14);
|
||||
equal(selectedDate, newMonthYear(date),
|
||||
'Callback change month/year by 2 date - pgup');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP});
|
||||
"Callback change month/year by 2 date - pgup");
|
||||
inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_UP});
|
||||
date.setMonth(date.getMonth() - 12);
|
||||
equal(selectedDate, newMonthYear(date),
|
||||
'Callback change month/year by 2 date - ctrl+pgup');
|
||||
inp.simulate('keydown', {keyCode: $.ui.keyCode.PAGE_DOWN});
|
||||
"Callback change month/year by 2 date - ctrl+pgup");
|
||||
inp.simulate("keydown", {keyCode: $.ui.keyCode.PAGE_DOWN});
|
||||
date.setMonth(date.getMonth() + 2);
|
||||
equal(selectedDate, newMonthYear(date),
|
||||
'Callback change month/year by 2 date - pgdn');
|
||||
inp.simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN});
|
||||
"Callback change month/year by 2 date - pgdn");
|
||||
inp.simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.PAGE_DOWN});
|
||||
date.setMonth(date.getMonth() + 12);
|
||||
equal(selectedDate, newMonthYear(date),
|
||||
'Callback change month/year by 2 date - ctrl+pgdn');
|
||||
"Callback change month/year by 2 date - ctrl+pgdn");
|
||||
// onClose
|
||||
inp.datepicker('option', {onClose: callback, onChangeMonthYear: null, stepMonths: 1}).
|
||||
val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE});
|
||||
equal(selectedThis, inp[0], 'Callback close this');
|
||||
equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Callback close inst');
|
||||
equal(selectedDate, '', 'Callback close date - esc');
|
||||
inp.val('').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ENTER});
|
||||
equal(selectedDate, $.datepicker.formatDate('mm/dd/yy', new Date()),
|
||||
'Callback close date - enter');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {keyCode: $.ui.keyCode.ESCAPE});
|
||||
equal(selectedDate, '02/04/2008', 'Callback close date - preset');
|
||||
inp.val('02/04/2008').datepicker('show').
|
||||
simulate('keydown', {ctrlKey: true, keyCode: $.ui.keyCode.END});
|
||||
equal(selectedDate, '', 'Callback close date - ctrl+end');
|
||||
inp.datepicker("option", {onClose: callback, onChangeMonthYear: null, stepMonths: 1}).
|
||||
val("").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
|
||||
equal(selectedThis, inp[0], "Callback close this");
|
||||
equal(selectedInst, $.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Callback close inst");
|
||||
equal(selectedDate, "", "Callback close date - esc");
|
||||
inp.val("").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ENTER});
|
||||
equal(selectedDate, $.datepicker.formatDate("mm/dd/yy", new Date()),
|
||||
"Callback close date - enter");
|
||||
inp.val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE});
|
||||
equal(selectedDate, "02/04/2008", "Callback close date - preset");
|
||||
inp.val("02/04/2008").datepicker("show").
|
||||
simulate("keydown", {ctrlKey: true, keyCode: $.ui.keyCode.END});
|
||||
equal(selectedDate, "", "Callback close date - ctrl+end");
|
||||
|
||||
inp2 = TestHelpers.datepicker.init('#inp2');
|
||||
inp2.datepicker().datepicker('option', {onClose: callback}).datepicker('show');
|
||||
inp.datepicker('show');
|
||||
equal(selectedThis, inp2[0], 'Callback close this');
|
||||
inp2 = TestHelpers.datepicker.init("#inp2");
|
||||
inp2.datepicker().datepicker("option", {onClose: callback}).datepicker("show");
|
||||
inp.datepicker("show");
|
||||
equal(selectedThis, inp2[0], "Callback close this");
|
||||
});
|
||||
|
||||
test('beforeShowDay-getDate', function() {
|
||||
test("beforeShowDay-getDate", function() {
|
||||
expect( 3 );
|
||||
var inp = TestHelpers.datepicker.init('#inp', {beforeShowDay: function() { inp.datepicker('getDate'); return [true, '']; }}),
|
||||
dp = $('#ui-datepicker-div');
|
||||
inp.val('01/01/2010').datepicker('show');
|
||||
var inp = TestHelpers.datepicker.init("#inp", {beforeShowDay: function() { inp.datepicker("getDate"); return [true, ""]; }}),
|
||||
dp = $("#ui-datepicker-div");
|
||||
inp.val("01/01/2010").datepicker("show");
|
||||
// contains non-breaking space
|
||||
equal($('div.ui-datepicker-title').text(),
|
||||
equal($("div.ui-datepicker-title").text(),
|
||||
// support: IE <9, jQuery <1.8
|
||||
// In IE7/8 with jQuery <1.8, encoded spaces behave in strange ways
|
||||
$( "<span>January 2010</span>" ).text(), 'Initial month');
|
||||
$('a.ui-datepicker-next', dp).click();
|
||||
$('a.ui-datepicker-next', dp).click();
|
||||
$( "<span>January 2010</span>" ).text(), "Initial month");
|
||||
$("a.ui-datepicker-next", dp).click();
|
||||
$("a.ui-datepicker-next", dp).click();
|
||||
// contains non-breaking space
|
||||
equal($('div.ui-datepicker-title').text(),
|
||||
$( "<span>March 2010</span>" ).text(), 'After next clicks');
|
||||
inp.datepicker('hide').datepicker('show');
|
||||
$('a.ui-datepicker-prev', dp).click();
|
||||
$('a.ui-datepicker-prev', dp).click();
|
||||
equal($("div.ui-datepicker-title").text(),
|
||||
$( "<span>March 2010</span>" ).text(), "After next clicks");
|
||||
inp.datepicker("hide").datepicker("show");
|
||||
$("a.ui-datepicker-prev", dp).click();
|
||||
$("a.ui-datepicker-prev", dp).click();
|
||||
// contains non-breaking space
|
||||
equal($('div.ui-datepicker-title').text(),
|
||||
$( "<span>November 2009</span>" ).text(), 'After prev clicks');
|
||||
inp.datepicker('hide');
|
||||
equal($("div.ui-datepicker-title").text(),
|
||||
$( "<span>November 2009</span>" ).text(), "After prev clicks");
|
||||
inp.datepicker("hide");
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
@ -5,121 +5,121 @@
|
||||
|
||||
module("datepicker: methods");
|
||||
|
||||
test('destroy', function() {
|
||||
test("destroy", function() {
|
||||
expect( 33 );
|
||||
var inl,
|
||||
inp = TestHelpers.datepicker.init('#inp');
|
||||
ok(inp.is('.hasDatepicker'), 'Default - marker class set');
|
||||
ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Default - instance present');
|
||||
ok(inp.next().is('#alt'), 'Default - button absent');
|
||||
inp.datepicker('destroy');
|
||||
inp = $('#inp');
|
||||
ok(!inp.is('.hasDatepicker'), 'Default - marker class cleared');
|
||||
ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Default - instance absent');
|
||||
ok(inp.next().is('#alt'), 'Default - button absent');
|
||||
inp = TestHelpers.datepicker.init("#inp");
|
||||
ok(inp.is(".hasDatepicker"), "Default - marker class set");
|
||||
ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Default - instance present");
|
||||
ok(inp.next().is("#alt"), "Default - button absent");
|
||||
inp.datepicker("destroy");
|
||||
inp = $("#inp");
|
||||
ok(!inp.is(".hasDatepicker"), "Default - marker class cleared");
|
||||
ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Default - instance absent");
|
||||
ok(inp.next().is("#alt"), "Default - button absent");
|
||||
// With button
|
||||
inp= TestHelpers.datepicker.init('#inp', {showOn: 'both'});
|
||||
ok(inp.is('.hasDatepicker'), 'Button - marker class set');
|
||||
ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Button - instance present');
|
||||
ok(inp.next().text() === '...', 'Button - button added');
|
||||
inp.datepicker('destroy');
|
||||
inp = $('#inp');
|
||||
ok(!inp.is('.hasDatepicker'), 'Button - marker class cleared');
|
||||
ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Button - instance absent');
|
||||
ok(inp.next().is('#alt'), 'Button - button removed');
|
||||
inp= TestHelpers.datepicker.init("#inp", {showOn: "both"});
|
||||
ok(inp.is(".hasDatepicker"), "Button - marker class set");
|
||||
ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Button - instance present");
|
||||
ok(inp.next().text() === "...", "Button - button added");
|
||||
inp.datepicker("destroy");
|
||||
inp = $("#inp");
|
||||
ok(!inp.is(".hasDatepicker"), "Button - marker class cleared");
|
||||
ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Button - instance absent");
|
||||
ok(inp.next().is("#alt"), "Button - button removed");
|
||||
// With append text
|
||||
inp = TestHelpers.datepicker.init('#inp', {appendText: 'Testing'});
|
||||
ok(inp.is('.hasDatepicker'), 'Append - marker class set');
|
||||
ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Append - instance present');
|
||||
ok(inp.next().text() === 'Testing', 'Append - append text added');
|
||||
inp.datepicker('destroy');
|
||||
inp = $('#inp');
|
||||
ok(!inp.is('.hasDatepicker'), 'Append - marker class cleared');
|
||||
ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Append - instance absent');
|
||||
ok(inp.next().is('#alt'), 'Append - append text removed');
|
||||
inp = TestHelpers.datepicker.init("#inp", {appendText: "Testing"});
|
||||
ok(inp.is(".hasDatepicker"), "Append - marker class set");
|
||||
ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Append - instance present");
|
||||
ok(inp.next().text() === "Testing", "Append - append text added");
|
||||
inp.datepicker("destroy");
|
||||
inp = $("#inp");
|
||||
ok(!inp.is(".hasDatepicker"), "Append - marker class cleared");
|
||||
ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Append - instance absent");
|
||||
ok(inp.next().is("#alt"), "Append - append text removed");
|
||||
// With both
|
||||
inp= TestHelpers.datepicker.init('#inp', {showOn: 'both', buttonImageOnly: true,
|
||||
buttonImage: 'img/calendar.gif', appendText: 'Testing'});
|
||||
ok(inp.is('.hasDatepicker'), 'Both - marker class set');
|
||||
ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Both - instance present');
|
||||
ok(inp.next()[0].nodeName.toLowerCase() === 'img', 'Both - button added');
|
||||
ok(inp.next().next().text() === 'Testing', 'Both - append text added');
|
||||
inp.datepicker('destroy');
|
||||
inp = $('#inp');
|
||||
ok(!inp.is('.hasDatepicker'), 'Both - marker class cleared');
|
||||
ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), 'Both - instance absent');
|
||||
ok(inp.next().is('#alt'), 'Both - button and append text absent');
|
||||
inp= TestHelpers.datepicker.init("#inp", {showOn: "both", buttonImageOnly: true,
|
||||
buttonImage: "img/calendar.gif", appendText: "Testing"});
|
||||
ok(inp.is(".hasDatepicker"), "Both - marker class set");
|
||||
ok($.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Both - instance present");
|
||||
ok(inp.next()[0].nodeName.toLowerCase() === "img", "Both - button added");
|
||||
ok(inp.next().next().text() === "Testing", "Both - append text added");
|
||||
inp.datepicker("destroy");
|
||||
inp = $("#inp");
|
||||
ok(!inp.is(".hasDatepicker"), "Both - marker class cleared");
|
||||
ok(!$.data(inp[0], TestHelpers.datepicker.PROP_NAME), "Both - instance absent");
|
||||
ok(inp.next().is("#alt"), "Both - button and append text absent");
|
||||
// Inline
|
||||
inl = TestHelpers.datepicker.init('#inl');
|
||||
ok(inl.is('.hasDatepicker'), 'Inline - marker class set');
|
||||
ok(inl.html() !== '', 'Inline - datepicker present');
|
||||
ok($.data(inl[0], TestHelpers.datepicker.PROP_NAME), 'Inline - instance present');
|
||||
ok(inl.next().length === 0 || inl.next().is('p'), 'Inline - button absent');
|
||||
inl.datepicker('destroy');
|
||||
inl = $('#inl');
|
||||
ok(!inl.is('.hasDatepicker'), 'Inline - marker class cleared');
|
||||
ok(inl.html() === '', 'Inline - datepicker absent');
|
||||
ok(!$.data(inl[0], TestHelpers.datepicker.PROP_NAME), 'Inline - instance absent');
|
||||
ok(inl.next().length === 0 || inl.next().is('p'), 'Inline - button absent');
|
||||
inl = TestHelpers.datepicker.init("#inl");
|
||||
ok(inl.is(".hasDatepicker"), "Inline - marker class set");
|
||||
ok(inl.html() !== "", "Inline - datepicker present");
|
||||
ok($.data(inl[0], TestHelpers.datepicker.PROP_NAME), "Inline - instance present");
|
||||
ok(inl.next().length === 0 || inl.next().is("p"), "Inline - button absent");
|
||||
inl.datepicker("destroy");
|
||||
inl = $("#inl");
|
||||
ok(!inl.is(".hasDatepicker"), "Inline - marker class cleared");
|
||||
ok(inl.html() === "", "Inline - datepicker absent");
|
||||
ok(!$.data(inl[0], TestHelpers.datepicker.PROP_NAME), "Inline - instance absent");
|
||||
ok(inl.next().length === 0 || inl.next().is("p"), "Inline - button absent");
|
||||
});
|
||||
|
||||
test('enableDisable', function() {
|
||||
test("enableDisable", function() {
|
||||
expect( 33 );
|
||||
var inl, dp,
|
||||
inp = TestHelpers.datepicker.init('#inp');
|
||||
ok(!inp.datepicker('isDisabled'), 'Enable/disable - initially marked as enabled');
|
||||
ok(!inp[0].disabled, 'Enable/disable - field initially enabled');
|
||||
inp.datepicker('disable');
|
||||
ok(inp.datepicker('isDisabled'), 'Enable/disable - now marked as disabled');
|
||||
ok(inp[0].disabled, 'Enable/disable - field now disabled');
|
||||
inp.datepicker('enable');
|
||||
ok(!inp.datepicker('isDisabled'), 'Enable/disable - now marked as enabled');
|
||||
ok(!inp[0].disabled, 'Enable/disable - field now enabled');
|
||||
inp.datepicker('destroy');
|
||||
inp = TestHelpers.datepicker.init("#inp");
|
||||
ok(!inp.datepicker("isDisabled"), "Enable/disable - initially marked as enabled");
|
||||
ok(!inp[0].disabled, "Enable/disable - field initially enabled");
|
||||
inp.datepicker("disable");
|
||||
ok(inp.datepicker("isDisabled"), "Enable/disable - now marked as disabled");
|
||||
ok(inp[0].disabled, "Enable/disable - field now disabled");
|
||||
inp.datepicker("enable");
|
||||
ok(!inp.datepicker("isDisabled"), "Enable/disable - now marked as enabled");
|
||||
ok(!inp[0].disabled, "Enable/disable - field now enabled");
|
||||
inp.datepicker("destroy");
|
||||
// With a button
|
||||
inp = TestHelpers.datepicker.init('#inp', {showOn: 'button'});
|
||||
ok(!inp.datepicker('isDisabled'), 'Enable/disable button - initially marked as enabled');
|
||||
ok(!inp[0].disabled, 'Enable/disable button - field initially enabled');
|
||||
ok(!inp.next('button')[0].disabled, 'Enable/disable button - button initially enabled');
|
||||
inp.datepicker('disable');
|
||||
ok(inp.datepicker('isDisabled'), 'Enable/disable button - now marked as disabled');
|
||||
ok(inp[0].disabled, 'Enable/disable button - field now disabled');
|
||||
ok(inp.next('button')[0].disabled, 'Enable/disable button - button now disabled');
|
||||
inp.datepicker('enable');
|
||||
ok(!inp.datepicker('isDisabled'), 'Enable/disable button - now marked as enabled');
|
||||
ok(!inp[0].disabled, 'Enable/disable button - field now enabled');
|
||||
ok(!inp.next('button')[0].disabled, 'Enable/disable button - button now enabled');
|
||||
inp.datepicker('destroy');
|
||||
inp = TestHelpers.datepicker.init("#inp", {showOn: "button"});
|
||||
ok(!inp.datepicker("isDisabled"), "Enable/disable button - initially marked as enabled");
|
||||
ok(!inp[0].disabled, "Enable/disable button - field initially enabled");
|
||||
ok(!inp.next("button")[0].disabled, "Enable/disable button - button initially enabled");
|
||||
inp.datepicker("disable");
|
||||
ok(inp.datepicker("isDisabled"), "Enable/disable button - now marked as disabled");
|
||||
ok(inp[0].disabled, "Enable/disable button - field now disabled");
|
||||
ok(inp.next("button")[0].disabled, "Enable/disable button - button now disabled");
|
||||
inp.datepicker("enable");
|
||||
ok(!inp.datepicker("isDisabled"), "Enable/disable button - now marked as enabled");
|
||||
ok(!inp[0].disabled, "Enable/disable button - field now enabled");
|
||||
ok(!inp.next("button")[0].disabled, "Enable/disable button - button now enabled");
|
||||
inp.datepicker("destroy");
|
||||
// With an image button
|
||||
inp = TestHelpers.datepicker.init('#inp', {showOn: 'button', buttonImageOnly: true,
|
||||
buttonImage: 'img/calendar.gif'});
|
||||
ok(!inp.datepicker('isDisabled'), 'Enable/disable image - initially marked as enabled');
|
||||
ok(!inp[0].disabled, 'Enable/disable image - field initially enabled');
|
||||
ok(parseFloat(inp.next('img').css('opacity')) === 1, 'Enable/disable image - image initially enabled');
|
||||
inp.datepicker('disable');
|
||||
ok(inp.datepicker('isDisabled'), 'Enable/disable image - now marked as disabled');
|
||||
ok(inp[0].disabled, 'Enable/disable image - field now disabled');
|
||||
ok(parseFloat(inp.next('img').css('opacity')) !== 1, 'Enable/disable image - image now disabled');
|
||||
inp.datepicker('enable');
|
||||
ok(!inp.datepicker('isDisabled'), 'Enable/disable image - now marked as enabled');
|
||||
ok(!inp[0].disabled, 'Enable/disable image - field now enabled');
|
||||
ok(parseFloat(inp.next('img').css('opacity')) === 1, 'Enable/disable image - image now enabled');
|
||||
inp.datepicker('destroy');
|
||||
inp = TestHelpers.datepicker.init("#inp", {showOn: "button", buttonImageOnly: true,
|
||||
buttonImage: "img/calendar.gif"});
|
||||
ok(!inp.datepicker("isDisabled"), "Enable/disable image - initially marked as enabled");
|
||||
ok(!inp[0].disabled, "Enable/disable image - field initially enabled");
|
||||
ok(parseFloat(inp.next("img").css("opacity")) === 1, "Enable/disable image - image initially enabled");
|
||||
inp.datepicker("disable");
|
||||
ok(inp.datepicker("isDisabled"), "Enable/disable image - now marked as disabled");
|
||||
ok(inp[0].disabled, "Enable/disable image - field now disabled");
|
||||
ok(parseFloat(inp.next("img").css("opacity")) !== 1, "Enable/disable image - image now disabled");
|
||||
inp.datepicker("enable");
|
||||
ok(!inp.datepicker("isDisabled"), "Enable/disable image - now marked as enabled");
|
||||
ok(!inp[0].disabled, "Enable/disable image - field now enabled");
|
||||
ok(parseFloat(inp.next("img").css("opacity")) === 1, "Enable/disable image - image now enabled");
|
||||
inp.datepicker("destroy");
|
||||
// Inline
|
||||
inl = TestHelpers.datepicker.init('#inl', {changeYear: true});
|
||||
dp = $('.ui-datepicker-inline', inl);
|
||||
ok(!inl.datepicker('isDisabled'), 'Enable/disable inline - initially marked as enabled');
|
||||
ok(!dp.children().is('.ui-state-disabled'), 'Enable/disable inline - not visually disabled initially');
|
||||
ok(!dp.find('select').prop('disabled'), 'Enable/disable inline - form element enabled initially');
|
||||
inl.datepicker('disable');
|
||||
ok(inl.datepicker('isDisabled'), 'Enable/disable inline - now marked as disabled');
|
||||
ok(dp.children().is('.ui-state-disabled'), 'Enable/disable inline - visually disabled');
|
||||
ok(dp.find('select').prop('disabled'), 'Enable/disable inline - form element disabled');
|
||||
inl.datepicker('enable');
|
||||
ok(!inl.datepicker('isDisabled'), 'Enable/disable inline - now marked as enabled');
|
||||
ok(!dp.children().is('.ui-state-disabled'), 'Enable/disable inline - not visiually disabled');
|
||||
ok(!dp.find('select').prop('disabled'), 'Enable/disable inline - form element enabled');
|
||||
inl.datepicker('destroy');
|
||||
inl = TestHelpers.datepicker.init("#inl", {changeYear: true});
|
||||
dp = $(".ui-datepicker-inline", inl);
|
||||
ok(!inl.datepicker("isDisabled"), "Enable/disable inline - initially marked as enabled");
|
||||
ok(!dp.children().is(".ui-state-disabled"), "Enable/disable inline - not visually disabled initially");
|
||||
ok(!dp.find("select").prop("disabled"), "Enable/disable inline - form element enabled initially");
|
||||
inl.datepicker("disable");
|
||||
ok(inl.datepicker("isDisabled"), "Enable/disable inline - now marked as disabled");
|
||||
ok(dp.children().is(".ui-state-disabled"), "Enable/disable inline - visually disabled");
|
||||
ok(dp.find("select").prop("disabled"), "Enable/disable inline - form element disabled");
|
||||
inl.datepicker("enable");
|
||||
ok(!inl.datepicker("isDisabled"), "Enable/disable inline - now marked as enabled");
|
||||
ok(!dp.children().is(".ui-state-disabled"), "Enable/disable inline - not visiually disabled");
|
||||
ok(!dp.find("select").prop("disabled"), "Enable/disable inline - form element enabled");
|
||||
inl.datepicker("destroy");
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -7,7 +7,7 @@ TestHelpers.datepicker = {
|
||||
},
|
||||
equalsDate: function(d1, d2, message) {
|
||||
if (!d1 || !d2) {
|
||||
ok(false, message + ' - missing date');
|
||||
ok(false, message + " - missing date");
|
||||
return;
|
||||
}
|
||||
d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate());
|
||||
@ -15,8 +15,8 @@ TestHelpers.datepicker = {
|
||||
equal(d1.toString(), d2.toString(), message);
|
||||
},
|
||||
init: function(id, options) {
|
||||
$.datepicker.setDefaults($.datepicker.regional['']);
|
||||
return $(id).datepicker($.extend({showAnim: ''}, options || {}));
|
||||
$.datepicker.setDefaults($.datepicker.regional[""]);
|
||||
return $(id).datepicker($.extend({showAnim: ""}, options || {}));
|
||||
},
|
||||
PROP_NAME: 'datepicker'
|
||||
PROP_NAME: "datepicker"
|
||||
};
|
@ -36,7 +36,6 @@
|
||||
<script src="dialog_methods.js"></script>
|
||||
<script src="dialog_options.js"></script>
|
||||
<script src="dialog_test_helpers.js"></script>
|
||||
<script src="dialog_tickets.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
</head>
|
||||
|
@ -4,11 +4,11 @@ TestHelpers.commonWidgetTests( "dialog", {
|
||||
autoOpen: true,
|
||||
buttons: [],
|
||||
closeOnEscape: true,
|
||||
closeText: 'close',
|
||||
closeText: "close",
|
||||
disabled: false,
|
||||
dialogClass: '',
|
||||
dialogClass: "",
|
||||
draggable: true,
|
||||
height: 'auto',
|
||||
height: "auto",
|
||||
hide: null,
|
||||
maxHeight: null,
|
||||
maxWidth: null,
|
||||
@ -16,10 +16,10 @@ TestHelpers.commonWidgetTests( "dialog", {
|
||||
minWidth: 150,
|
||||
modal: false,
|
||||
position: {
|
||||
my: 'center',
|
||||
at: 'center',
|
||||
my: "center",
|
||||
at: "center",
|
||||
of: window,
|
||||
collision: 'fit',
|
||||
collision: "fit",
|
||||
using: $.ui.dialog.prototype.options.position.using
|
||||
},
|
||||
resizable: true,
|
||||
|
@ -10,10 +10,10 @@ test("title id", function() {
|
||||
expect(1);
|
||||
|
||||
var titleId,
|
||||
el = $('<div></div>').dialog();
|
||||
el = $("<div></div>").dialog();
|
||||
|
||||
titleId = el.dialog('widget').find('.ui-dialog-title').attr('id');
|
||||
ok( /ui-id-\d+$/.test( titleId ), 'auto-numbered title id');
|
||||
titleId = el.dialog("widget").find(".ui-dialog-title").attr("id");
|
||||
ok( /ui-id-\d+$/.test( titleId ), "auto-numbered title id");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
@ -27,7 +27,7 @@ test( "ARIA", function() {
|
||||
equal( wrapper.attr( "aria-describedby" ), el.attr( "id" ), "aria-describedby added" );
|
||||
el.remove();
|
||||
|
||||
el = $( '<div><div aria-describedby="section2"><p id="section2">descriotion</p></div></div>' ).dialog();
|
||||
el = $("<div><div aria-describedby='section2'><p id='section2'>descriotion</p></div></div>").dialog();
|
||||
strictEqual( el.dialog( "widget" ).attr( "aria-describedby" ), undefined, "no aria-describedby added, as already present in markup" );
|
||||
el.remove();
|
||||
});
|
||||
|
@ -31,7 +31,6 @@
|
||||
<script src="dialog_methods.js"></script>
|
||||
<script src="dialog_options.js"></script>
|
||||
<script src="dialog_test_helpers.js"></script>
|
||||
<script src="dialog_tickets.js"></script>
|
||||
<script src="dialog_deprecated.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
|
@ -1,31 +1,41 @@
|
||||
module("dialog (deprecated): position option with string and array");
|
||||
|
||||
if ( !$.ui.ie ) {
|
||||
test("position, right bottom on window w/array", function() {
|
||||
expect( 2 );
|
||||
var el = $('<div></div>').dialog({ position: ["right", "bottom"] }),
|
||||
dialog = el.dialog('widget'),
|
||||
offset = dialog.offset();
|
||||
closeEnough(offset.left, $(window).width() - dialog.outerWidth() + $(window).scrollLeft(), 1);
|
||||
closeEnough(offset.top, $(window).height() - dialog.outerHeight() + $(window).scrollTop(), 1);
|
||||
el.remove();
|
||||
});
|
||||
test( "position, right bottom on window w/array", function() {
|
||||
expect( 2 );
|
||||
|
||||
test("position, right bottom on window", function() {
|
||||
expect( 2 );
|
||||
var el = $('<div></div>').dialog({ position: "right bottom" }),
|
||||
dialog = el.dialog('widget'),
|
||||
offset = dialog.offset();
|
||||
closeEnough(offset.left, $(window).width() - dialog.outerWidth() + $(window).scrollLeft(), 1);
|
||||
closeEnough(offset.top, $(window).height() - dialog.outerHeight() + $(window).scrollTop(), 1);
|
||||
el.remove();
|
||||
});
|
||||
}
|
||||
// dialogs alter the window width and height in FF and IE7
|
||||
// so we collect that information before creating the dialog
|
||||
// Support: FF, IE7
|
||||
var winWidth = $( window ).width(),
|
||||
winHeight = $( window ).height(),
|
||||
el = $("<div></div>").dialog({ position: [ "right", "bottom" ] }),
|
||||
dialog = el.dialog("widget"),
|
||||
offset = dialog.offset();
|
||||
closeEnough( offset.left, winWidth - dialog.outerWidth() + $( window ).scrollLeft(), 1, "offset left of right bottom on window w/array" );
|
||||
closeEnough( offset.top, winHeight - dialog.outerHeight() + $( window ).scrollTop(), 1, "offset top of right bottom on window w/array" );
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test( "position, right bottom on window", function() {
|
||||
expect( 2 );
|
||||
|
||||
// dialogs alter the window width and height in FF and IE7
|
||||
// so we collect that information before creating the dialog
|
||||
// Support: FF, IE7
|
||||
var winWidth = $( window ).width(),
|
||||
winHeight = $( window ).height(),
|
||||
el = $("<div></div>").dialog({ position: "right bottom" }),
|
||||
dialog = el.dialog("widget"),
|
||||
offset = dialog.offset();
|
||||
closeEnough( offset.left, winWidth - dialog.outerWidth() + $( window ).scrollLeft(), 1, "offset left of right bottom on window" );
|
||||
closeEnough( offset.top, winHeight - dialog.outerHeight() + $( window ).scrollTop(), 1, "offset top of right bottom on window" );
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("position, offset from top left w/array", function() {
|
||||
expect( 2 );
|
||||
var el = $('<div></div>').dialog({ position: [10, 10] }),
|
||||
dialog = el.dialog('widget'),
|
||||
var el = $("<div></div>").dialog({ position: [10, 10] }),
|
||||
dialog = el.dialog("widget"),
|
||||
offset = dialog.offset();
|
||||
closeEnough(offset.left, 10 + $(window).scrollLeft(), 1);
|
||||
closeEnough(offset.top, 10 + $(window).scrollTop(), 1);
|
||||
@ -34,8 +44,8 @@ test("position, offset from top left w/array", function() {
|
||||
|
||||
test("position, top on window", function() {
|
||||
expect( 2 );
|
||||
var el = $('<div></div>').dialog({ position: "top" }),
|
||||
dialog = el.dialog('widget'),
|
||||
var el = $("<div></div>").dialog({ position: "top" }),
|
||||
dialog = el.dialog("widget"),
|
||||
offset = dialog.offset();
|
||||
closeEnough(offset.left, Math.round($(window).width() / 2 - dialog.outerWidth() / 2) + $(window).scrollLeft(), 1);
|
||||
closeEnough(offset.top, $(window).scrollTop(), 1);
|
||||
@ -44,8 +54,8 @@ test("position, top on window", function() {
|
||||
|
||||
test("position, left on window", function() {
|
||||
expect( 2 );
|
||||
var el = $('<div></div>').dialog({ position: "left" }),
|
||||
dialog = el.dialog('widget'),
|
||||
var el = $("<div></div>").dialog({ position: "left" }),
|
||||
dialog = el.dialog("widget"),
|
||||
offset = dialog.offset();
|
||||
closeEnough(offset.left, 0, 1);
|
||||
closeEnough(offset.top, Math.round($(window).height() / 2 - dialog.outerHeight() / 2) + $(window).scrollTop(), 1);
|
||||
|
@ -12,10 +12,10 @@ test("open", function() {
|
||||
el.dialog({
|
||||
open: function(ev, ui) {
|
||||
ok(el.data("ui-dialog")._isOpen, "interal _isOpen flag is set");
|
||||
ok(true, 'autoOpen: true fires open callback');
|
||||
ok(true, "autoOpen: true fires open callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogopen', 'event type in callback');
|
||||
deepEqual(ui, {}, 'ui hash in callback');
|
||||
equal(ev.type, "dialogopen", "event type in callback");
|
||||
deepEqual(ui, {}, "ui hash in callback");
|
||||
}
|
||||
});
|
||||
el.remove();
|
||||
@ -24,16 +24,16 @@ test("open", function() {
|
||||
el.dialog({
|
||||
autoOpen: false,
|
||||
open: function(ev, ui) {
|
||||
ok(true, '.dialog("open") fires open callback');
|
||||
ok(true, ".dialog('open') fires open callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogopen', 'event type in callback');
|
||||
deepEqual(ui, {}, 'ui hash in callback');
|
||||
equal(ev.type, "dialogopen", "event type in callback");
|
||||
deepEqual(ui, {}, "ui hash in callback");
|
||||
}
|
||||
}).bind('dialogopen', function(ev, ui) {
|
||||
}).bind("dialogopen", function(ev, ui) {
|
||||
ok(el.data("ui-dialog")._isOpen, "interal _isOpen flag is set");
|
||||
ok(true, 'dialog("open") fires open event');
|
||||
equal(this, el[0], 'context of event');
|
||||
deepEqual(ui, {}, 'ui hash in event');
|
||||
ok(true, "dialog('open') fires open event");
|
||||
equal(this, el[0], "context of event");
|
||||
deepEqual(ui, {}, "ui hash in event");
|
||||
});
|
||||
el.dialog("open");
|
||||
el.remove();
|
||||
@ -88,22 +88,22 @@ test("dragStart", function() {
|
||||
expect(9);
|
||||
|
||||
var handle,
|
||||
el = $('<div></div>').dialog({
|
||||
el = $("<div></div>").dialog({
|
||||
dragStart: function(ev, ui) {
|
||||
ok(true, 'dragging fires dragStart callback');
|
||||
ok(true, "dragging fires dragStart callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogdragstart', 'event type in callback');
|
||||
equal(ev.type, "dialogdragstart", "event type in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
}
|
||||
}).bind('dialogdragstart', function(ev, ui) {
|
||||
ok(true, 'dragging fires dialogdragstart event');
|
||||
equal(this, el[0], 'context of event');
|
||||
}).bind("dialogdragstart", function(ev, ui) {
|
||||
ok(true, "dragging fires dialogdragstart event");
|
||||
equal(this, el[0], "context of event");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
});
|
||||
|
||||
handle = $(".ui-dialog-titlebar", el.dialog('widget'));
|
||||
handle = $(".ui-dialog-titlebar", el.dialog("widget"));
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
el.remove();
|
||||
});
|
||||
@ -112,26 +112,26 @@ test("drag", function() {
|
||||
expect(9);
|
||||
var handle,
|
||||
hasDragged = false,
|
||||
el = $('<div></div>').dialog({
|
||||
el = $("<div></div>").dialog({
|
||||
drag: function(ev, ui) {
|
||||
if (!hasDragged) {
|
||||
ok(true, 'dragging fires drag callback');
|
||||
ok(true, "dragging fires drag callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogdrag', 'event type in callback');
|
||||
equal(ev.type, "dialogdrag", "event type in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
|
||||
hasDragged = true;
|
||||
}
|
||||
}
|
||||
}).one('dialogdrag', function(ev, ui) {
|
||||
ok(true, 'dragging fires dialogdrag event');
|
||||
equal(this, el[0], 'context of event');
|
||||
}).one("dialogdrag", function(ev, ui) {
|
||||
ok(true, "dragging fires dialogdrag event");
|
||||
equal(this, el[0], "context of event");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
});
|
||||
|
||||
handle = $(".ui-dialog-titlebar", el.dialog('widget'));
|
||||
handle = $(".ui-dialog-titlebar", el.dialog("widget"));
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
el.remove();
|
||||
});
|
||||
@ -140,22 +140,22 @@ test("dragStop", function() {
|
||||
expect(9);
|
||||
|
||||
var handle,
|
||||
el = $('<div></div>').dialog({
|
||||
el = $("<div></div>").dialog({
|
||||
dragStop: function(ev, ui) {
|
||||
ok(true, 'dragging fires dragStop callback');
|
||||
ok(true, "dragging fires dragStop callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogdragstop', 'event type in callback');
|
||||
equal(ev.type, "dialogdragstop", "event type in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
}
|
||||
}).bind('dialogdragstop', function(ev, ui) {
|
||||
ok(true, 'dragging fires dialogdragstop event');
|
||||
equal(this, el[0], 'context of event');
|
||||
}).bind("dialogdragstop", function(ev, ui) {
|
||||
ok(true, "dragging fires dialogdragstop event");
|
||||
equal(this, el[0], "context of event");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.offset !== undefined, "ui.offset in callback");
|
||||
});
|
||||
|
||||
handle = $(".ui-dialog-titlebar", el.dialog('widget'));
|
||||
handle = $(".ui-dialog-titlebar", el.dialog("widget"));
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
el.remove();
|
||||
});
|
||||
@ -164,26 +164,26 @@ test("resizeStart", function() {
|
||||
expect(13);
|
||||
|
||||
var handle,
|
||||
el = $('<div></div>').dialog({
|
||||
el = $("<div></div>").dialog({
|
||||
resizeStart: function(ev, ui) {
|
||||
ok(true, 'resizing fires resizeStart callback');
|
||||
ok(true, "resizing fires resizeStart callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogresizestart', 'event type in callback');
|
||||
equal(ev.type, "dialogresizestart", "event type in callback");
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
}
|
||||
}).bind('dialogresizestart', function(ev, ui) {
|
||||
ok(true, 'resizing fires dialogresizestart event');
|
||||
equal(this, el[0], 'context of event');
|
||||
}).bind("dialogresizestart", function(ev, ui) {
|
||||
ok(true, "resizing fires dialogresizestart event");
|
||||
equal(this, el[0], "context of event");
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
});
|
||||
|
||||
handle = $(".ui-resizable-se", el.dialog('widget'));
|
||||
handle = $(".ui-resizable-se", el.dialog("widget"));
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
el.remove();
|
||||
});
|
||||
@ -192,12 +192,12 @@ test("resize", function() {
|
||||
expect(13);
|
||||
var handle,
|
||||
hasResized = false,
|
||||
el = $('<div></div>').dialog({
|
||||
el = $("<div></div>").dialog({
|
||||
resize: function(ev, ui) {
|
||||
if (!hasResized) {
|
||||
ok(true, 'resizing fires resize callback');
|
||||
ok(true, "resizing fires resize callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogresize', 'event type in callback');
|
||||
equal(ev.type, "dialogresize", "event type in callback");
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
@ -206,16 +206,16 @@ test("resize", function() {
|
||||
hasResized = true;
|
||||
}
|
||||
}
|
||||
}).one('dialogresize', function(ev, ui) {
|
||||
ok(true, 'resizing fires dialogresize event');
|
||||
equal(this, el[0], 'context of event');
|
||||
}).one("dialogresize", function(ev, ui) {
|
||||
ok(true, "resizing fires dialogresize event");
|
||||
equal(this, el[0], "context of event");
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
});
|
||||
|
||||
handle = $(".ui-resizable-se", el.dialog('widget'));
|
||||
handle = $(".ui-resizable-se", el.dialog("widget"));
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
el.remove();
|
||||
});
|
||||
@ -224,26 +224,26 @@ test("resizeStop", function() {
|
||||
expect(13);
|
||||
|
||||
var handle,
|
||||
el = $('<div></div>').dialog({
|
||||
el = $("<div></div>").dialog({
|
||||
resizeStop: function(ev, ui) {
|
||||
ok(true, 'resizing fires resizeStop callback');
|
||||
ok(true, "resizing fires resizeStop callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogresizestop', 'event type in callback');
|
||||
equal(ev.type, "dialogresizestop", "event type in callback");
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
}
|
||||
}).bind('dialogresizestop', function(ev, ui) {
|
||||
ok(true, 'resizing fires dialogresizestop event');
|
||||
equal(this, el[0], 'context of event');
|
||||
}).bind("dialogresizestop", function(ev, ui) {
|
||||
ok(true, "resizing fires dialogresizestop event");
|
||||
equal(this, el[0], "context of event");
|
||||
ok(ui.originalPosition !== undefined, "ui.originalPosition in callback");
|
||||
ok(ui.originalSize !== undefined, "ui.originalSize in callback");
|
||||
ok(ui.position !== undefined, "ui.position in callback");
|
||||
ok(ui.size !== undefined, "ui.size in callback");
|
||||
});
|
||||
|
||||
handle = $(".ui-resizable-se", el.dialog('widget'));
|
||||
handle = $(".ui-resizable-se", el.dialog("widget"));
|
||||
TestHelpers.dialog.drag(el, handle, 50, 50);
|
||||
el.remove();
|
||||
});
|
||||
@ -251,77 +251,77 @@ test("resizeStop", function() {
|
||||
asyncTest("close", function() {
|
||||
expect(14);
|
||||
|
||||
var el = $('<div></div>').dialog({
|
||||
var el = $("<div></div>").dialog({
|
||||
close: function(ev, ui) {
|
||||
ok(true, '.dialog("close") fires close callback');
|
||||
ok(true, ".dialog('close') fires close callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogclose', 'event type in callback');
|
||||
deepEqual(ui, {}, 'ui hash in callback');
|
||||
equal(ev.type, "dialogclose", "event type in callback");
|
||||
deepEqual(ui, {}, "ui hash in callback");
|
||||
}
|
||||
}).bind('dialogclose', function(ev, ui) {
|
||||
ok(true, '.dialog("close") fires dialogclose event');
|
||||
equal(this, el[0], 'context of event');
|
||||
deepEqual(ui, {}, 'ui hash in event');
|
||||
}).bind("dialogclose", function(ev, ui) {
|
||||
ok(true, ".dialog('close') fires dialogclose event");
|
||||
equal(this, el[0], "context of event");
|
||||
deepEqual(ui, {}, "ui hash in event");
|
||||
});
|
||||
el.dialog('close');
|
||||
el.dialog("close");
|
||||
el.remove();
|
||||
|
||||
// Close event with an effect
|
||||
el = $('<div></div>').dialog({
|
||||
el = $("<div></div>").dialog({
|
||||
hide: 10,
|
||||
close: function(ev, ui) {
|
||||
ok(true, '.dialog("close") fires close callback');
|
||||
ok(true, ".dialog('close') fires close callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogclose', 'event type in callback');
|
||||
deepEqual(ui, {}, 'ui hash in callback');
|
||||
equal(ev.type, "dialogclose", "event type in callback");
|
||||
deepEqual(ui, {}, "ui hash in callback");
|
||||
start();
|
||||
}
|
||||
}).bind('dialogclose', function(ev, ui) {
|
||||
ok(true, '.dialog("close") fires dialogclose event');
|
||||
equal(this, el[0], 'context of event');
|
||||
deepEqual(ui, {}, 'ui hash in event');
|
||||
}).bind("dialogclose", function(ev, ui) {
|
||||
ok(true, ".dialog('close') fires dialogclose event");
|
||||
equal(this, el[0], "context of event");
|
||||
deepEqual(ui, {}, "ui hash in event");
|
||||
});
|
||||
el.dialog('close');
|
||||
el.dialog("close");
|
||||
});
|
||||
|
||||
test("beforeClose", function() {
|
||||
expect(14);
|
||||
|
||||
var el = $('<div></div>').dialog({
|
||||
var el = $("<div></div>").dialog({
|
||||
beforeClose: function(ev, ui) {
|
||||
ok(true, '.dialog("close") fires beforeClose callback');
|
||||
ok(true, ".dialog('close') fires beforeClose callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogbeforeclose', 'event type in callback');
|
||||
deepEqual(ui, {}, 'ui hash in callback');
|
||||
equal(ev.type, "dialogbeforeclose", "event type in callback");
|
||||
deepEqual(ui, {}, "ui hash in callback");
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
el.dialog('close');
|
||||
ok( el.dialog("widget").is(":visible"), 'beforeClose callback should prevent dialog from closing');
|
||||
el.dialog("close");
|
||||
ok( el.dialog("widget").is(":visible"), "beforeClose callback should prevent dialog from closing");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
el.dialog('option', 'beforeClose', function(ev, ui) {
|
||||
ok(true, '.dialog("close") fires beforeClose callback');
|
||||
el = $("<div></div>").dialog();
|
||||
el.dialog("option", "beforeClose", function(ev, ui) {
|
||||
ok(true, ".dialog('close') fires beforeClose callback");
|
||||
equal(this, el[0], "context of callback");
|
||||
equal(ev.type, 'dialogbeforeclose', 'event type in callback');
|
||||
deepEqual(ui, {}, 'ui hash in callback');
|
||||
equal(ev.type, "dialogbeforeclose", "event type in callback");
|
||||
deepEqual(ui, {}, "ui hash in callback");
|
||||
return false;
|
||||
});
|
||||
el.dialog('close');
|
||||
el.dialog("close");
|
||||
|
||||
ok( el.dialog("widget").is(":visible"), 'beforeClose callback should prevent dialog from closing');
|
||||
ok( el.dialog("widget").is(":visible"), "beforeClose callback should prevent dialog from closing");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog().bind('dialogbeforeclose', function(ev, ui) {
|
||||
ok(true, '.dialog("close") triggers dialogbeforeclose event');
|
||||
el = $("<div></div>").dialog().bind("dialogbeforeclose", function(ev, ui) {
|
||||
ok(true, ".dialog('close') triggers dialogbeforeclose event");
|
||||
equal(this, el[0], "context of event");
|
||||
deepEqual(ui, {}, 'ui hash in event');
|
||||
deepEqual(ui, {}, "ui hash in event");
|
||||
return false;
|
||||
});
|
||||
el.dialog('close');
|
||||
ok( el.dialog("widget").is(":visible"), 'dialogbeforeclose event should prevent dialog from closing');
|
||||
el.dialog("close");
|
||||
ok( el.dialog("widget").is(":visible"), "dialogbeforeclose event should prevent dialog from closing");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
@ -329,14 +329,14 @@ test("beforeClose", function() {
|
||||
asyncTest("ensure dialog's container doesn't scroll on resize and focus", function() {
|
||||
expect(2);
|
||||
|
||||
var el = $('#dialog1').dialog(),
|
||||
var el = $("#dialog1").dialog(),
|
||||
initialScroll = $(window).scrollTop();
|
||||
el.dialog('option', 'height', 600);
|
||||
el.dialog("option", "height", 600);
|
||||
equal($(window).scrollTop(), initialScroll, "scroll hasn't moved after height change");
|
||||
setTimeout( function(){
|
||||
$(".ui-dialog-titlebar-close").simulate('mousedown');
|
||||
$(".ui-dialog-titlebar-close").simulate("mousedown");
|
||||
equal($(window).scrollTop(), initialScroll, "scroll hasn't moved after focus moved to dialog");
|
||||
el.dialog('destroy');
|
||||
el.dialog("destroy");
|
||||
start();
|
||||
}, 500);
|
||||
});
|
||||
|
@ -12,25 +12,25 @@ module("dialog: methods", {
|
||||
test("init", function() {
|
||||
expect(6);
|
||||
|
||||
$("<div></div>").appendTo('body').dialog().remove();
|
||||
ok(true, '.dialog() called on element');
|
||||
$("<div></div>").appendTo("body").dialog().remove();
|
||||
ok(true, ".dialog() called on element");
|
||||
|
||||
$([]).dialog().remove();
|
||||
ok(true, '.dialog() called on empty collection');
|
||||
ok(true, ".dialog() called on empty collection");
|
||||
|
||||
$('<div></div>').dialog().remove();
|
||||
ok(true, '.dialog() called on disconnected DOMElement - never connected');
|
||||
$("<div></div>").dialog().remove();
|
||||
ok(true, ".dialog() called on disconnected DOMElement - never connected");
|
||||
|
||||
$('<div></div>').appendTo('body').remove().dialog().remove();
|
||||
ok(true, '.dialog() called on disconnected DOMElement - removed');
|
||||
$("<div></div>").appendTo("body").remove().dialog().remove();
|
||||
ok(true, ".dialog() called on disconnected DOMElement - removed");
|
||||
|
||||
var el = $('<div></div>').dialog();
|
||||
var el = $("<div></div>").dialog();
|
||||
el.dialog("option", "foo");
|
||||
el.remove();
|
||||
ok(true, 'arbitrary option getter after init');
|
||||
ok(true, "arbitrary option getter after init");
|
||||
|
||||
$('<div></div>').dialog().dialog("option", "foo", "bar").remove();
|
||||
ok(true, 'arbitrary option setter after init');
|
||||
$("<div></div>").dialog().dialog("option", "foo", "bar").remove();
|
||||
ok(true, "arbitrary option setter after init");
|
||||
});
|
||||
|
||||
test("destroy", function() {
|
||||
@ -61,12 +61,12 @@ test("destroy", function() {
|
||||
|
||||
test("#4980: Destroy should place element back in original DOM position", function(){
|
||||
expect( 2 );
|
||||
var container = $('<div id="container"><div id="modal">Content</div></div>'),
|
||||
modal = container.find('#modal');
|
||||
var container = $("<div id='container'><div id='modal'>Content</div></div>"),
|
||||
modal = container.find("#modal");
|
||||
modal.dialog();
|
||||
ok(!$.contains(container[0], modal[0]), 'dialog should move modal element to outside container element');
|
||||
modal.dialog('destroy');
|
||||
ok($.contains(container[0], modal[0]), 'dialog(destroy) should place element back in original DOM position');
|
||||
ok(!$.contains(container[0], modal[0]), "dialog should move modal element to outside container element");
|
||||
modal.dialog("destroy");
|
||||
ok($.contains(container[0], modal[0]), "dialog(destroy) should place element back in original DOM position");
|
||||
});
|
||||
|
||||
test( "enable/disable disabled", function() {
|
||||
@ -81,29 +81,29 @@ test("close", function() {
|
||||
expect( 3 );
|
||||
|
||||
var el,
|
||||
expected = $('<div></div>').dialog(),
|
||||
actual = expected.dialog('close');
|
||||
equal(actual, expected, 'close is chainable');
|
||||
expected = $("<div></div>").dialog(),
|
||||
actual = expected.dialog("close");
|
||||
equal(actual, expected, "close is chainable");
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
ok(el.dialog('widget').is(':visible') && !el.dialog('widget').is(':hidden'), 'dialog visible before close method called');
|
||||
el.dialog('close');
|
||||
ok(el.dialog('widget').is(':hidden') && !el.dialog('widget').is(':visible'), 'dialog hidden after close method called');
|
||||
el = $("<div></div>").dialog();
|
||||
ok(el.dialog("widget").is(":visible") && !el.dialog("widget").is(":hidden"), "dialog visible before close method called");
|
||||
el.dialog("close");
|
||||
ok(el.dialog("widget").is(":hidden") && !el.dialog("widget").is(":visible"), "dialog hidden after close method called");
|
||||
});
|
||||
|
||||
test("isOpen", function() {
|
||||
expect(4);
|
||||
|
||||
var el = $('<div></div>').dialog();
|
||||
equal(el.dialog('isOpen'), true, "dialog is open after init");
|
||||
el.dialog('close');
|
||||
equal(el.dialog('isOpen'), false, "dialog is closed");
|
||||
var el = $("<div></div>").dialog();
|
||||
equal(el.dialog("isOpen"), true, "dialog is open after init");
|
||||
el.dialog("close");
|
||||
equal(el.dialog("isOpen"), false, "dialog is closed");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({autoOpen: false});
|
||||
equal(el.dialog('isOpen'), false, "dialog is closed after init");
|
||||
el.dialog('open');
|
||||
equal(el.dialog('isOpen'), true, "dialog is open");
|
||||
el = $("<div></div>").dialog({autoOpen: false});
|
||||
equal(el.dialog("isOpen"), false, "dialog is closed after init");
|
||||
el.dialog("open");
|
||||
equal(el.dialog("isOpen"), true, "dialog is open");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
@ -137,49 +137,49 @@ test("moveToTop", function() {
|
||||
test("open", function() {
|
||||
expect( 3 );
|
||||
var el,
|
||||
expected = $('<div></div>').dialog(),
|
||||
actual = expected.dialog('open');
|
||||
equal(actual, expected, 'open is chainable');
|
||||
expected = $("<div></div>").dialog(),
|
||||
actual = expected.dialog("open");
|
||||
equal(actual, expected, "open is chainable");
|
||||
|
||||
el = $('<div></div>').dialog({ autoOpen: false });
|
||||
ok(el.dialog('widget').is(':hidden') && !el.dialog('widget').is(':visible'), 'dialog hidden before open method called');
|
||||
el.dialog('open');
|
||||
ok(el.dialog('widget').is(':visible') && !el.dialog('widget').is(':hidden'), 'dialog visible after open method called');
|
||||
el = $("<div></div>").dialog({ autoOpen: false });
|
||||
ok(el.dialog("widget").is(":hidden") && !el.dialog("widget").is(":visible"), "dialog hidden before open method called");
|
||||
el.dialog("open");
|
||||
ok(el.dialog("widget").is(":visible") && !el.dialog("widget").is(":hidden"), "dialog visible after open method called");
|
||||
});
|
||||
|
||||
test("#6137: dialog('open') causes form elements to reset on IE7", function() {
|
||||
expect(2);
|
||||
|
||||
var d1 = $('<form><input type="radio" name="radio" id="a" value="a" checked="checked"></input>' +
|
||||
'<input type="radio" name="radio" id="b" value="b">b</input></form>').appendTo( "body" ).dialog({autoOpen: false});
|
||||
var d1 = $("<form><input type='radio' name='radio' id='a' value='a' checked='checked'></input>" +
|
||||
"<input type='radio' name='radio' id='b' value='b'>b</input></form>").appendTo( "body" ).dialog({autoOpen: false});
|
||||
|
||||
d1.find('#b').prop( "checked", true );
|
||||
equal(d1.find('input:checked').val(), 'b', "checkbox b is checked");
|
||||
d1.find("#b").prop( "checked", true );
|
||||
equal(d1.find("input:checked").val(), "b", "checkbox b is checked");
|
||||
|
||||
d1.dialog('open');
|
||||
equal(d1.find('input:checked').val(), 'b', "checkbox b is checked");
|
||||
d1.dialog("open");
|
||||
equal(d1.find("input:checked").val(), "b", "checkbox b is checked");
|
||||
|
||||
d1.remove();
|
||||
});
|
||||
|
||||
test("#5531: dialog width should be at least minWidth on creation", function () {
|
||||
expect( 4 );
|
||||
var el = $('<div></div>').dialog({
|
||||
var el = $("<div></div>").dialog({
|
||||
width: 200,
|
||||
minWidth: 300
|
||||
});
|
||||
|
||||
equal(el.dialog('option', 'width'), 300, "width is minWidth");
|
||||
el.dialog('option', 'width', 200);
|
||||
equal(el.dialog('option', 'width'), 300, "width unchanged when set to < minWidth");
|
||||
el.dialog('option', 'width', 320);
|
||||
equal(el.dialog('option', 'width'), 320, "width changed if set to > minWidth");
|
||||
equal(el.dialog("option", "width"), 300, "width is minWidth");
|
||||
el.dialog("option", "width", 200);
|
||||
equal(el.dialog("option", "width"), 300, "width unchanged when set to < minWidth");
|
||||
el.dialog("option", "width", 320);
|
||||
equal(el.dialog("option", "width"), 320, "width changed if set to > minWidth");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({
|
||||
el = $("<div></div>").dialog({
|
||||
minWidth: 300
|
||||
});
|
||||
ok(el.dialog('option', 'width') >= 300, "width is at least 300");
|
||||
ok(el.dialog("option", "width") >= 300, "width is at least 300");
|
||||
el.remove();
|
||||
|
||||
});
|
||||
|
@ -49,12 +49,12 @@ test( "appendTo", function() {
|
||||
test("autoOpen", function() {
|
||||
expect(2);
|
||||
|
||||
var el = $('<div></div>').dialog({ autoOpen: false });
|
||||
ok( !el.dialog("widget").is(":visible"), '.dialog({ autoOpen: false })');
|
||||
var el = $("<div></div>").dialog({ autoOpen: false });
|
||||
ok( !el.dialog("widget").is(":visible"), ".dialog({ autoOpen: false })");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ autoOpen: true });
|
||||
ok( el.dialog("widget").is(":visible"), '.dialog({ autoOpen: true })');
|
||||
el = $("<div></div>").dialog({ autoOpen: true });
|
||||
ok( el.dialog("widget").is(":visible"), ".dialog({ autoOpen: true })");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
@ -74,7 +74,7 @@ test("buttons", function() {
|
||||
equal(ev.target, btn[1], "event target");
|
||||
}
|
||||
},
|
||||
el = $('<div></div>').dialog({ buttons: buttons });
|
||||
el = $("<div></div>").dialog({ buttons: buttons });
|
||||
|
||||
btn = el.dialog( "widget" ).find( ".ui-dialog-buttonpane button" );
|
||||
equal(btn.length, 2, "number of buttons");
|
||||
@ -85,8 +85,8 @@ test("buttons", function() {
|
||||
i++;
|
||||
});
|
||||
|
||||
ok(btn.parent().hasClass('ui-dialog-buttonset'), "buttons in container");
|
||||
ok(el.parent().hasClass('ui-dialog-buttons'), "dialog wrapper adds class about having buttons");
|
||||
ok(btn.parent().hasClass("ui-dialog-buttonset"), "buttons in container");
|
||||
ok(el.parent().hasClass("ui-dialog-buttons"), "dialog wrapper adds class about having buttons");
|
||||
|
||||
btn.trigger("click");
|
||||
|
||||
@ -98,13 +98,13 @@ test("buttons", function() {
|
||||
}
|
||||
};
|
||||
|
||||
deepEqual(el.dialog("option", "buttons"), buttons, '.dialog("option", "buttons") getter');
|
||||
deepEqual(el.dialog("option", "buttons"), buttons, ".dialog('option', 'buttons') getter");
|
||||
el.dialog("option", "buttons", newButtons);
|
||||
deepEqual(el.dialog("option", "buttons"), newButtons, '.dialog("option", "buttons", ...) setter');
|
||||
deepEqual(el.dialog("option", "buttons"), newButtons, ".dialog('option', 'buttons', ...) setter");
|
||||
|
||||
btn = el.dialog( "widget" ).find( ".ui-dialog-buttonpane button" );
|
||||
equal(btn.length, 1, "number of buttons after setter");
|
||||
btn.trigger('click');
|
||||
btn.trigger("click");
|
||||
|
||||
i = 0;
|
||||
$.each(newButtons, function( key ) {
|
||||
@ -116,7 +116,7 @@ test("buttons", function() {
|
||||
btn = el.dialog( "widget" ).find( ".ui-dialog-buttonpane button" );
|
||||
equal(btn.length, 0, "all buttons have been removed");
|
||||
equal(el.find(".ui-dialog-buttonset").length, 0, "buttonset has been removed");
|
||||
equal(el.parent().hasClass('ui-dialog-buttons'), false, "dialog wrapper removes class about having buttons");
|
||||
equal(el.parent().hasClass("ui-dialog-buttons"), false, "dialog wrapper removes class about having buttons");
|
||||
|
||||
el.remove();
|
||||
});
|
||||
@ -156,77 +156,77 @@ test("buttons - advanced", function() {
|
||||
|
||||
test("closeOnEscape", function() {
|
||||
expect( 6 );
|
||||
var el = $('<div></div>').dialog({ closeOnEscape: false });
|
||||
ok(true, 'closeOnEscape: false');
|
||||
ok(el.dialog('widget').is(':visible') && !el.dialog('widget').is(':hidden'), 'dialog is open before ESC');
|
||||
el.simulate('keydown', { keyCode: $.ui.keyCode.ESCAPE })
|
||||
.simulate('keypress', { keyCode: $.ui.keyCode.ESCAPE })
|
||||
.simulate('keyup', { keyCode: $.ui.keyCode.ESCAPE });
|
||||
ok(el.dialog('widget').is(':visible') && !el.dialog('widget').is(':hidden'), 'dialog is open after ESC');
|
||||
var el = $("<div></div>").dialog({ closeOnEscape: false });
|
||||
ok(true, "closeOnEscape: false");
|
||||
ok(el.dialog("widget").is(":visible") && !el.dialog("widget").is(":hidden"), "dialog is open before ESC");
|
||||
el.simulate("keydown", { keyCode: $.ui.keyCode.ESCAPE })
|
||||
.simulate("keypress", { keyCode: $.ui.keyCode.ESCAPE })
|
||||
.simulate("keyup", { keyCode: $.ui.keyCode.ESCAPE });
|
||||
ok(el.dialog("widget").is(":visible") && !el.dialog("widget").is(":hidden"), "dialog is open after ESC");
|
||||
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ closeOnEscape: true });
|
||||
ok(true, 'closeOnEscape: true');
|
||||
ok(el.dialog('widget').is(':visible') && !el.dialog('widget').is(':hidden'), 'dialog is open before ESC');
|
||||
el.simulate('keydown', { keyCode: $.ui.keyCode.ESCAPE })
|
||||
.simulate('keypress', { keyCode: $.ui.keyCode.ESCAPE })
|
||||
.simulate('keyup', { keyCode: $.ui.keyCode.ESCAPE });
|
||||
ok(el.dialog('widget').is(':hidden') && !el.dialog('widget').is(':visible'), 'dialog is closed after ESC');
|
||||
el = $("<div></div>").dialog({ closeOnEscape: true });
|
||||
ok(true, "closeOnEscape: true");
|
||||
ok(el.dialog("widget").is(":visible") && !el.dialog("widget").is(":hidden"), "dialog is open before ESC");
|
||||
el.simulate("keydown", { keyCode: $.ui.keyCode.ESCAPE })
|
||||
.simulate("keypress", { keyCode: $.ui.keyCode.ESCAPE })
|
||||
.simulate("keyup", { keyCode: $.ui.keyCode.ESCAPE });
|
||||
ok(el.dialog("widget").is(":hidden") && !el.dialog("widget").is(":visible"), "dialog is closed after ESC");
|
||||
});
|
||||
|
||||
test("closeText", function() {
|
||||
expect(3);
|
||||
|
||||
var el = $('<div></div>').dialog();
|
||||
equal(el.dialog('widget').find('.ui-dialog-titlebar-close span').text(), 'close',
|
||||
'default close text');
|
||||
var el = $("<div></div>").dialog();
|
||||
equal(el.dialog("widget").find(".ui-dialog-titlebar-close span").text(), "close",
|
||||
"default close text");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ closeText: "foo" });
|
||||
equal(el.dialog('widget').find('.ui-dialog-titlebar-close span').text(), 'foo',
|
||||
'closeText on init');
|
||||
el = $("<div></div>").dialog({ closeText: "foo" });
|
||||
equal(el.dialog("widget").find(".ui-dialog-titlebar-close span").text(), "foo",
|
||||
"closeText on init");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog().dialog('option', 'closeText', 'bar');
|
||||
equal(el.dialog('widget').find('.ui-dialog-titlebar-close span').text(), 'bar',
|
||||
'closeText via option method');
|
||||
el = $("<div></div>").dialog().dialog("option", "closeText", "bar");
|
||||
equal(el.dialog("widget").find(".ui-dialog-titlebar-close span").text(), "bar",
|
||||
"closeText via option method");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("dialogClass", function() {
|
||||
expect( 6 );
|
||||
|
||||
var el = $('<div></div>').dialog();
|
||||
equal(el.dialog('widget').is(".foo"), false, 'dialogClass not specified. foo class added');
|
||||
var el = $("<div></div>").dialog();
|
||||
equal(el.dialog("widget").is(".foo"), false, "dialogClass not specified. foo class added");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ dialogClass: "foo" });
|
||||
equal(el.dialog('widget').is(".foo"), true, 'dialogClass in init. foo class added');
|
||||
el = $("<div></div>").dialog({ dialogClass: "foo" });
|
||||
equal(el.dialog("widget").is(".foo"), true, "dialogClass in init. foo class added");
|
||||
el.dialog( "option", "dialogClass", "foobar" );
|
||||
equal( el.dialog('widget').is(".foo"), false, "dialogClass changed, previous one was removed" );
|
||||
equal( el.dialog('widget').is(".foobar"), true, "dialogClass changed, new one was added" );
|
||||
equal( el.dialog("widget").is(".foo"), false, "dialogClass changed, previous one was removed" );
|
||||
equal( el.dialog("widget").is(".foobar"), true, "dialogClass changed, new one was added" );
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ dialogClass: "foo bar" });
|
||||
equal(el.dialog('widget').is(".foo"), true, 'dialogClass in init, two classes. foo class added');
|
||||
equal(el.dialog('widget').is(".bar"), true, 'dialogClass in init, two classes. bar class added');
|
||||
el = $("<div></div>").dialog({ dialogClass: "foo bar" });
|
||||
equal(el.dialog("widget").is(".foo"), true, "dialogClass in init, two classes. foo class added");
|
||||
equal(el.dialog("widget").is(".bar"), true, "dialogClass in init, two classes. bar class added");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("draggable", function() {
|
||||
expect(4);
|
||||
|
||||
var el = $('<div></div>').dialog({ draggable: false });
|
||||
var el = $("<div></div>").dialog({ draggable: false });
|
||||
|
||||
TestHelpers.dialog.testDrag(el, 50, -50, 0, 0);
|
||||
el.dialog('option', 'draggable', true);
|
||||
el.dialog("option", "draggable", true);
|
||||
TestHelpers.dialog.testDrag(el, 50, -50, 50, -50);
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ draggable: true });
|
||||
el = $("<div></div>").dialog({ draggable: true });
|
||||
TestHelpers.dialog.testDrag(el, 50, -50, 50, -50);
|
||||
el.dialog('option', 'draggable', false);
|
||||
el.dialog("option", "draggable", false);
|
||||
TestHelpers.dialog.testDrag(el, 50, -50, 0, 0);
|
||||
el.remove();
|
||||
});
|
||||
@ -234,22 +234,22 @@ test("draggable", function() {
|
||||
test("height", function() {
|
||||
expect(4);
|
||||
|
||||
var el = $('<div></div>').dialog();
|
||||
equal(el.dialog('widget').outerHeight(), 150, "default height");
|
||||
var el = $("<div></div>").dialog();
|
||||
equal(el.dialog("widget").outerHeight(), 150, "default height");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ height: 237 });
|
||||
equal(el.dialog('widget').outerHeight(), 237, "explicit height");
|
||||
el = $("<div></div>").dialog({ height: 237 });
|
||||
equal(el.dialog("widget").outerHeight(), 237, "explicit height");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog();
|
||||
el.dialog('option', 'height', 238);
|
||||
equal(el.dialog('widget').outerHeight(), 238, "explicit height set after init");
|
||||
el = $("<div></div>").dialog();
|
||||
el.dialog("option", "height", 238);
|
||||
equal(el.dialog("widget").outerHeight(), 238, "explicit height set after init");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').css("padding", "20px")
|
||||
el = $("<div></div>").css("padding", "20px")
|
||||
.dialog({ height: 240 });
|
||||
equal(el.dialog('widget').outerHeight(), 240, "explicit height with padding");
|
||||
equal(el.dialog("widget").outerHeight(), 240, "explicit height with padding");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
@ -265,142 +265,153 @@ asyncTest( "hide, #5860 - don't leave effects wrapper behind", function() {
|
||||
test("maxHeight", function() {
|
||||
expect(3);
|
||||
|
||||
var el = $('<div></div>').dialog({ maxHeight: 200 });
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-s', 1000, 1000);
|
||||
closeEnough(el.dialog('widget').height(), 200, 1, "maxHeight");
|
||||
var el = $("<div></div>").dialog({ maxHeight: 200 });
|
||||
TestHelpers.dialog.drag(el, ".ui-resizable-s", 1000, 1000);
|
||||
closeEnough(el.dialog("widget").height(), 200, 1, "maxHeight");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ maxHeight: 200 });
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-n', -1000, -1000);
|
||||
closeEnough(el.dialog('widget').height(), 200, 1, "maxHeight");
|
||||
el = $("<div></div>").dialog({ maxHeight: 200 });
|
||||
TestHelpers.dialog.drag(el, ".ui-resizable-n", -1000, -1000);
|
||||
closeEnough(el.dialog("widget").height(), 200, 1, "maxHeight");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ maxHeight: 200 }).dialog('option', 'maxHeight', 300);
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-s', 1000, 1000);
|
||||
closeEnough(el.dialog('widget').height(), 300, 1, "maxHeight");
|
||||
el = $("<div></div>").dialog({ maxHeight: 200 }).dialog("option", "maxHeight", 300);
|
||||
TestHelpers.dialog.drag(el, ".ui-resizable-s", 1000, 1000);
|
||||
closeEnough(el.dialog("widget").height(), 300, 1, "maxHeight");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("maxWidth", function() {
|
||||
expect(3);
|
||||
|
||||
var el = $('<div></div>').dialog({ maxWidth: 200 });
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-e', 1000, 1000);
|
||||
closeEnough(el.dialog('widget').width(), 200, 1, "maxWidth");
|
||||
var el = $("<div></div>").dialog({ maxWidth: 200 });
|
||||
TestHelpers.dialog.drag(el, ".ui-resizable-e", 1000, 1000);
|
||||
closeEnough(el.dialog("widget").width(), 200, 1, "maxWidth");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ maxWidth: 200 });
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-w', -1000, -1000);
|
||||
closeEnough(el.dialog('widget').width(), 200, 1, "maxWidth");
|
||||
el = $("<div></div>").dialog({ maxWidth: 200 });
|
||||
TestHelpers.dialog.drag(el, ".ui-resizable-w", -1000, -1000);
|
||||
closeEnough(el.dialog("widget").width(), 200, 1, "maxWidth");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ maxWidth: 200 }).dialog('option', 'maxWidth', 300);
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-w', -1000, -1000);
|
||||
closeEnough(el.dialog('widget').width(), 300, 1, "maxWidth");
|
||||
el = $("<div></div>").dialog({ maxWidth: 200 }).dialog("option", "maxWidth", 300);
|
||||
TestHelpers.dialog.drag(el, ".ui-resizable-w", -1000, -1000);
|
||||
closeEnough(el.dialog("widget").width(), 300, 1, "maxWidth");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("minHeight", function() {
|
||||
expect(3);
|
||||
|
||||
var el = $('<div></div>').dialog({ minHeight: 10 });
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-s', -1000, -1000);
|
||||
closeEnough(el.dialog('widget').height(), 10, 1, "minHeight");
|
||||
var el = $("<div></div>").dialog({ minHeight: 10 });
|
||||
TestHelpers.dialog.drag(el, ".ui-resizable-s", -1000, -1000);
|
||||
closeEnough(el.dialog("widget").height(), 10, 1, "minHeight");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ minHeight: 10 });
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-n', 1000, 1000);
|
||||
closeEnough(el.dialog('widget').height(), 10, 1, "minHeight");
|
||||
el = $("<div></div>").dialog({ minHeight: 10 });
|
||||
TestHelpers.dialog.drag(el, ".ui-resizable-n", 1000, 1000);
|
||||
closeEnough(el.dialog("widget").height(), 10, 1, "minHeight");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ minHeight: 10 }).dialog('option', 'minHeight', 30);
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-n', 1000, 1000);
|
||||
closeEnough(el.dialog('widget').height(), 30, 1, "minHeight");
|
||||
el = $("<div></div>").dialog({ minHeight: 10 }).dialog("option", "minHeight", 30);
|
||||
TestHelpers.dialog.drag(el, ".ui-resizable-n", 1000, 1000);
|
||||
closeEnough(el.dialog("widget").height(), 30, 1, "minHeight");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("minWidth", function() {
|
||||
expect(3);
|
||||
|
||||
var el = $('<div></div>').dialog({ minWidth: 10 });
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-e', -1000, -1000);
|
||||
closeEnough(el.dialog('widget').width(), 10, 1, "minWidth");
|
||||
var el = $("<div></div>").dialog({ minWidth: 10 });
|
||||
TestHelpers.dialog.drag(el, ".ui-resizable-e", -1000, -1000);
|
||||
closeEnough(el.dialog("widget").width(), 10, 1, "minWidth");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ minWidth: 10 });
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-w', 1000, 1000);
|
||||
closeEnough(el.dialog('widget').width(), 10, 1, "minWidth");
|
||||
el = $("<div></div>").dialog({ minWidth: 10 });
|
||||
TestHelpers.dialog.drag(el, ".ui-resizable-w", 1000, 1000);
|
||||
closeEnough(el.dialog("widget").width(), 10, 1, "minWidth");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ minWidth: 30 }).dialog('option', 'minWidth', 30);
|
||||
TestHelpers.dialog.drag(el, '.ui-resizable-w', 1000, 1000);
|
||||
closeEnough(el.dialog('widget').width(), 30, 1, "minWidth");
|
||||
el = $("<div></div>").dialog({ minWidth: 30 }).dialog("option", "minWidth", 30);
|
||||
TestHelpers.dialog.drag(el, ".ui-resizable-w", 1000, 1000);
|
||||
closeEnough(el.dialog("widget").width(), 30, 1, "minWidth");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("position, default center on window", function() {
|
||||
test( "position, default center on window", function() {
|
||||
expect( 2 );
|
||||
var el = $('<div></div>').dialog(),
|
||||
dialog = el.dialog('widget'),
|
||||
|
||||
// dialogs alter the window width and height in FF and IE7
|
||||
// so we collect that information before creating the dialog
|
||||
// Support: FF, IE7
|
||||
var winWidth = $( window ).width(),
|
||||
winHeight = $( window ).height(),
|
||||
el = $("<div></div>").dialog(),
|
||||
dialog = el.dialog("widget"),
|
||||
offset = dialog.offset();
|
||||
closeEnough(offset.left, Math.round($(window).width() / 2 - dialog.outerWidth() / 2) + $(window).scrollLeft(), 1);
|
||||
closeEnough(offset.top, Math.round($(window).height() / 2 - dialog.outerHeight() / 2) + $(window).scrollTop(), 1);
|
||||
closeEnough( offset.left, Math.round( winWidth / 2 - dialog.outerWidth() / 2 ) + $( window ).scrollLeft(), 1, "dialog left position of center on window on initilization" );
|
||||
closeEnough( offset.top, Math.round( winHeight / 2 - dialog.outerHeight() / 2 ) + $( window ).scrollTop(), 1, "dialog top position of center on window on initilization" );
|
||||
el.remove();
|
||||
});
|
||||
|
||||
// todo: figure out these fails in IE7
|
||||
if ( !$.ui.ie ) {
|
||||
test("position, right bottom at right bottom via ui.position args", function() {
|
||||
expect( 2 );
|
||||
var el = $('<div></div>').dialog({
|
||||
position: {
|
||||
my: "right bottom",
|
||||
at: "right bottom"
|
||||
}
|
||||
}),
|
||||
dialog = el.dialog('widget'),
|
||||
offset = dialog.offset();
|
||||
test( "position, right bottom at right bottom via ui.position args", function() {
|
||||
expect( 2 );
|
||||
|
||||
closeEnough(offset.left, $(window).width() - dialog.outerWidth() + $(window).scrollLeft(), 1);
|
||||
closeEnough(offset.top, $(window).height() - dialog.outerHeight() + $(window).scrollTop(), 1);
|
||||
el.remove();
|
||||
});
|
||||
}
|
||||
// dialogs alter the window width and height in FF and IE7
|
||||
// so we collect that information before creating the dialog
|
||||
// Support: FF, IE7
|
||||
var winWidth = $( window ).width(),
|
||||
winHeight = $( window ).height(),
|
||||
el = $("<div></div>").dialog({
|
||||
position: {
|
||||
my: "right bottom",
|
||||
at: "right bottom"
|
||||
}
|
||||
}),
|
||||
dialog = el.dialog("widget"),
|
||||
offset = dialog.offset();
|
||||
|
||||
test("position, at another element", function() {
|
||||
closeEnough( offset.left, winWidth - dialog.outerWidth() + $( window ).scrollLeft(), 1, "dialog left position of right bottom at right bottom on initilization" );
|
||||
closeEnough( offset.top, winHeight - dialog.outerHeight() + $( window ).scrollTop(), 1, "dialog top position of right bottom at right bottom on initilization" );
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test( "position, at another element", function() {
|
||||
expect( 4 );
|
||||
var parent = $('<div></div>').css({
|
||||
position: 'absolute',
|
||||
var parent = $("<div></div>").css({
|
||||
position: "absolute",
|
||||
top: 400,
|
||||
left: 600,
|
||||
height: 10,
|
||||
width: 10
|
||||
}).appendTo('body'),
|
||||
}).appendTo("body"),
|
||||
|
||||
el = $('<div></div>').dialog({
|
||||
el = $("<div></div>").dialog({
|
||||
position: {
|
||||
my: "left top",
|
||||
at: "left top",
|
||||
of: parent
|
||||
of: parent,
|
||||
collision: "none"
|
||||
}
|
||||
}),
|
||||
|
||||
dialog = el.dialog('widget'),
|
||||
dialog = el.dialog("widget"),
|
||||
offset = dialog.offset();
|
||||
|
||||
deepEqual(offset.left, 600);
|
||||
deepEqual(offset.top, 400);
|
||||
closeEnough( offset.left, 600, 1, "dialog left position at another element on initilization" );
|
||||
closeEnough( offset.top, 400, 1, "dialog top position at another element on initilization" );
|
||||
|
||||
el.dialog('option', 'position', {
|
||||
el.dialog("option", "position", {
|
||||
my: "left top",
|
||||
at: "right bottom",
|
||||
of: parent
|
||||
of: parent,
|
||||
collision: "none"
|
||||
});
|
||||
|
||||
offset = dialog.offset();
|
||||
|
||||
deepEqual(offset.left, 610);
|
||||
deepEqual(offset.top, 410);
|
||||
closeEnough( offset.left, 610, 1, "dialog left position at another element via setting option" );
|
||||
closeEnough( offset.top, 410, 1, "dialog top position at another element via setting option" );
|
||||
|
||||
el.remove();
|
||||
parent.remove();
|
||||
@ -409,16 +420,16 @@ test("position, at another element", function() {
|
||||
test("resizable", function() {
|
||||
expect(4);
|
||||
|
||||
var el = $('<div></div>').dialog();
|
||||
var el = $("<div></div>").dialog();
|
||||
TestHelpers.dialog.shouldResize(el, 50, 50, "[default]");
|
||||
el.dialog('option', 'resizable', false);
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, 'disabled after init');
|
||||
el.dialog("option", "resizable", false);
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, "disabled after init");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ resizable: false });
|
||||
el = $("<div></div>").dialog({ resizable: false });
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, "disabled in init options");
|
||||
el.dialog('option', 'resizable', true);
|
||||
TestHelpers.dialog.shouldResize(el, 50, 50, 'enabled after init');
|
||||
el.dialog("option", "resizable", true);
|
||||
TestHelpers.dialog.shouldResize(el, 50, 50, "enabled after init");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
@ -426,37 +437,37 @@ test( "title", function() {
|
||||
expect( 11 );
|
||||
|
||||
function titleText() {
|
||||
return el.dialog('widget').find( ".ui-dialog-title" ).html();
|
||||
return el.dialog("widget").find( ".ui-dialog-title" ).html();
|
||||
}
|
||||
|
||||
var el = $( '<div></div>' ).dialog();
|
||||
var el = $( "<div></div>" ).dialog();
|
||||
// some browsers return a non-breaking space and some return " "
|
||||
// so we generate a non-breaking space for comparison
|
||||
equal( titleText(), $( "<span> </span>" ).html(), "[default]" );
|
||||
equal( el.dialog( "option", "title" ), null, "option not changed" );
|
||||
el.remove();
|
||||
|
||||
el = $( '<div title="foo">' ).dialog();
|
||||
el = $( "<div title='foo'>" ).dialog();
|
||||
equal( titleText(), "foo", "title in element attribute" );
|
||||
equal( el.dialog( "option", "title"), "foo", "option updated from attribute" );
|
||||
el.remove();
|
||||
|
||||
el = $( '<div></div>' ).dialog({ title: 'foo' });
|
||||
el = $( "<div></div>" ).dialog({ title: "foo" });
|
||||
equal( titleText(), "foo", "title in init options" );
|
||||
equal( el.dialog("option", "title"), "foo", "opiton set from options hash" );
|
||||
el.remove();
|
||||
|
||||
el = $( '<div title="foo">' ).dialog({ title: 'bar' });
|
||||
el = $( "<div title='foo'>" ).dialog({ title: "bar" });
|
||||
equal( titleText(), "bar", "title in init options should override title in element attribute" );
|
||||
equal( el.dialog("option", "title"), "bar", "opiton set from options hash" );
|
||||
el.remove();
|
||||
|
||||
el = $( '<div></div>' ).dialog().dialog( 'option', 'title', 'foo' );
|
||||
equal( titleText(), 'foo', 'title after init' );
|
||||
el = $( "<div></div>" ).dialog().dialog( "option", "title", "foo" );
|
||||
equal( titleText(), "foo", "title after init" );
|
||||
el.remove();
|
||||
|
||||
// make sure attroperties are properly ignored - #5742 - .attr() might return a DOMElement
|
||||
el = $( '<form><input name="title"></form>' ).dialog();
|
||||
el = $( "<form><input name='title'></form>" ).dialog();
|
||||
// some browsers return a non-breaking space and some return " "
|
||||
// so we get the text to normalize to the actual non-breaking space
|
||||
equal( titleText(), $( "<span> </span>" ).html(), "[default]" );
|
||||
@ -467,34 +478,34 @@ test( "title", function() {
|
||||
test("width", function() {
|
||||
expect(3);
|
||||
|
||||
var el = $('<div></div>').dialog();
|
||||
closeEnough(el.dialog('widget').width(), 300, 1, "default width");
|
||||
var el = $("<div></div>").dialog();
|
||||
closeEnough(el.dialog("widget").width(), 300, 1, "default width");
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({width: 437 });
|
||||
closeEnough(el.dialog('widget').width(), 437, 1, "explicit width");
|
||||
el.dialog('option', 'width', 438);
|
||||
closeEnough(el.dialog('widget').width(), 438, 1, 'explicit width after init');
|
||||
el = $("<div></div>").dialog({width: 437 });
|
||||
closeEnough(el.dialog("widget").width(), 437, 1, "explicit width");
|
||||
el.dialog("option", "width", 438);
|
||||
closeEnough(el.dialog("widget").width(), 438, 1, "explicit width after init");
|
||||
el.remove();
|
||||
});
|
||||
|
||||
test("#4826: setting resizable false toggles resizable on dialog", function() {
|
||||
expect(6);
|
||||
var i,
|
||||
el = $('<div></div>').dialog({ resizable: false });
|
||||
el = $("<div></div>").dialog({ resizable: false });
|
||||
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, "[default]");
|
||||
for (i=0; i<2; i++) {
|
||||
el.dialog('close').dialog('open');
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, 'initialized with resizable false toggle ('+ (i+1) +')');
|
||||
el.dialog("close").dialog("open");
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, "initialized with resizable false toggle ("+ (i+1) +")");
|
||||
}
|
||||
el.remove();
|
||||
|
||||
el = $('<div></div>').dialog({ resizable: true });
|
||||
el = $("<div></div>").dialog({ resizable: true });
|
||||
TestHelpers.dialog.shouldResize(el, 50, 50, "[default]");
|
||||
for (i=0; i<2; i++) {
|
||||
el.dialog('close').dialog('option', 'resizable', false).dialog('open');
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, 'set option resizable false toggle ('+ (i+1) +')');
|
||||
el.dialog("close").dialog("option", "resizable", false).dialog("open");
|
||||
TestHelpers.dialog.shouldResize(el, 0, 0, "set option resizable false toggle ("+ (i+1) +")");
|
||||
}
|
||||
el.remove();
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
TestHelpers.dialog = {
|
||||
drag: function(el, handle, dx, dy) {
|
||||
var d = el.dialog('widget');
|
||||
var d = el.dialog("widget");
|
||||
//this mouseover is to work around a limitation in resizable
|
||||
//TODO: fix resizable so handle doesn't require mouseover in order to be used
|
||||
$( handle, d ).simulate("mouseover").simulate( "drag", {
|
||||
@ -9,8 +9,8 @@ TestHelpers.dialog = {
|
||||
});
|
||||
},
|
||||
testDrag: function(el, dx, dy, expectedDX, expectedDY, msg) {
|
||||
var actual, expected, offsetAfter,
|
||||
d = el.dialog('widget'),
|
||||
var actualDX, actualDY, offsetAfter,
|
||||
d = el.dialog("widget"),
|
||||
handle = $(".ui-dialog-titlebar", d),
|
||||
offsetBefore = d.offset();
|
||||
|
||||
@ -20,13 +20,13 @@ TestHelpers.dialog = {
|
||||
|
||||
msg = msg ? msg + "." : "";
|
||||
|
||||
actual = { left: Math.round(offsetAfter.left), top: Math.round(offsetAfter.top) },
|
||||
expected = { left: Math.round(offsetBefore.left + expectedDX), top: Math.round(offsetBefore.top + expectedDY) };
|
||||
deepEqual(actual, expected, 'dragged[' + expectedDX + ', ' + expectedDY + '] ' + msg);
|
||||
actualDX = offsetAfter.left - offsetBefore.left;
|
||||
actualDY = offsetAfter.top - offsetBefore.top;
|
||||
ok( expectedDX - actualDX <= 1 && expectedDY - actualDY <= 1, "dragged[" + expectedDX + ", " + expectedDY + "] " + msg);
|
||||
},
|
||||
shouldResize: function(el, dw, dh, msg) {
|
||||
var heightAfter, widthAfter, actual, expected,
|
||||
d = el.dialog('widget'),
|
||||
d = el.dialog("widget"),
|
||||
handle = $(".ui-resizable-se", d),
|
||||
heightBefore = d.height(),
|
||||
widthBefore = d.width();
|
||||
@ -39,6 +39,6 @@ TestHelpers.dialog = {
|
||||
msg = msg ? msg + "." : "";
|
||||
actual = { width: widthAfter, height: heightAfter },
|
||||
expected = { width: widthBefore + dw, height: heightBefore + dh };
|
||||
deepEqual(actual, expected, 'resized[' + 50 + ', ' + 50 + '] ' + msg);
|
||||
deepEqual(actual, expected, "resized[" + 50 + ", " + 50 + "] " + msg);
|
||||
}
|
||||
};
|
@ -7,20 +7,20 @@
|
||||
module("draggable");
|
||||
|
||||
test("element types", function() {
|
||||
var typeNames = ('p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form' +
|
||||
',table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr' +
|
||||
',acronym,code,samp,kbd,var,img,hr' +
|
||||
',input,button,label,select,iframe').split(',');
|
||||
var typeNames = ("p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form" +
|
||||
",table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr" +
|
||||
",acronym,code,samp,kbd,var,img,hr" +
|
||||
",input,button,label,select,iframe").split(",");
|
||||
|
||||
expect( typeNames.length * 2 );
|
||||
|
||||
$.each(typeNames, function(i) {
|
||||
var offsetBefore, offsetAfter,
|
||||
typeName = typeNames[i],
|
||||
el = $(document.createElement(typeName)).appendTo('#qunit-fixture');
|
||||
el = $(document.createElement(typeName)).appendTo("#qunit-fixture");
|
||||
|
||||
(typeName === 'table' && el.append("<tr><td>content</td></tr>"));
|
||||
el.draggable({ cancel: '' });
|
||||
(typeName === "table" && el.append("<tr><td>content</td></tr>"));
|
||||
el.draggable({ cancel: "" });
|
||||
offsetBefore = el.offset();
|
||||
el.simulate( "drag", {
|
||||
dx: 50,
|
||||
@ -50,16 +50,16 @@ test("No options, absolute", function() {
|
||||
test("resizable handle with complex markup (#8756 / #8757)", function() {
|
||||
expect( 2 );
|
||||
|
||||
$('#draggable1')
|
||||
$("#draggable1")
|
||||
.append(
|
||||
$('<div>')
|
||||
$("<div>")
|
||||
.addClass("ui-resizable-handle")
|
||||
.addClass("ui-resizable-w")
|
||||
.append($('<div>'))
|
||||
.append($("<div>"))
|
||||
);
|
||||
|
||||
var handle = $('.ui-resizable-w div'),
|
||||
target = $('#draggable1').draggable().resizable({ handles: 'all' });
|
||||
var handle = $(".ui-resizable-w div"),
|
||||
target = $("#draggable1").draggable().resizable({ handles: "all" });
|
||||
|
||||
// todo: fix resizable so it doesn't require a mouseover
|
||||
handle.simulate("mouseover").simulate( "drag", { dx: -50 } );
|
||||
|
@ -82,7 +82,7 @@ test("stopping the stop callback", function() {
|
||||
expect(1);
|
||||
|
||||
var el = $("#draggable2").draggable({
|
||||
helper: 'clone',
|
||||
helper: "clone",
|
||||
stop: function() { return false; }
|
||||
});
|
||||
|
||||
@ -91,7 +91,7 @@ test("stopping the stop callback", function() {
|
||||
dy: 10
|
||||
});
|
||||
|
||||
ok($("#draggable2").data('ui-draggable').helper, "the clone should not be deleted if the stop callback is stopped");
|
||||
ok($("#draggable2").data("ui-draggable").helper, "the clone should not be deleted if the stop callback is stopped");
|
||||
|
||||
|
||||
});
|
||||
|
@ -8,36 +8,36 @@ module("draggable: methods");
|
||||
test("init", function() {
|
||||
expect(5);
|
||||
|
||||
$("<div></div>").appendTo('body').draggable().remove();
|
||||
ok(true, '.draggable() called on element');
|
||||
$("<div></div>").appendTo("body").draggable().remove();
|
||||
ok(true, ".draggable() called on element");
|
||||
|
||||
$([]).draggable();
|
||||
ok(true, '.draggable() called on empty collection');
|
||||
ok(true, ".draggable() called on empty collection");
|
||||
|
||||
$("<div></div>").draggable();
|
||||
ok(true, '.draggable() called on disconnected DOMElement');
|
||||
ok(true, ".draggable() called on disconnected DOMElement");
|
||||
|
||||
$("<div></div>").draggable().draggable("option", "foo");
|
||||
ok(true, 'arbitrary option getter after init');
|
||||
ok(true, "arbitrary option getter after init");
|
||||
|
||||
$("<div></div>").draggable().draggable("option", "foo", "bar");
|
||||
ok(true, 'arbitrary option setter after init');
|
||||
ok(true, "arbitrary option setter after init");
|
||||
});
|
||||
|
||||
test("destroy", function() {
|
||||
expect(4);
|
||||
$("<div></div>").appendTo('body').draggable().draggable("destroy").remove();
|
||||
ok(true, '.draggable("destroy") called on element');
|
||||
$("<div></div>").appendTo("body").draggable().draggable("destroy").remove();
|
||||
ok(true, ".draggable('destroy') called on element");
|
||||
|
||||
$([]).draggable().draggable("destroy");
|
||||
ok(true, '.draggable("destroy") called on empty collection');
|
||||
ok(true, ".draggable('destroy') called on empty collection");
|
||||
|
||||
$("<div></div>").draggable().draggable("destroy");
|
||||
ok(true, '.draggable("destroy") called on disconnected DOMElement');
|
||||
ok(true, ".draggable('destroy') called on disconnected DOMElement");
|
||||
|
||||
var expected = $('<div></div>').draggable(),
|
||||
actual = expected.draggable('destroy');
|
||||
equal(actual, expected, 'destroy is chainable');
|
||||
var expected = $("<div></div>").draggable(),
|
||||
actual = expected.draggable("destroy");
|
||||
equal(actual, expected, "destroy is chainable");
|
||||
});
|
||||
|
||||
test("enable", function() {
|
||||
@ -46,23 +46,23 @@ test("enable", function() {
|
||||
var expected, actual, el;
|
||||
|
||||
el = $("#draggable2").draggable({ disabled: true });
|
||||
TestHelpers.draggable.shouldNotMove(el, '.draggable({ disabled: true })');
|
||||
TestHelpers.draggable.shouldNotMove(el, ".draggable({ disabled: true })");
|
||||
|
||||
el.draggable("enable");
|
||||
TestHelpers.draggable.shouldMove(el, '.draggable("enable")');
|
||||
TestHelpers.draggable.shouldMove(el, ".draggable('enable')");
|
||||
equal(el.draggable("option", "disabled"), false, "disabled option getter");
|
||||
|
||||
el.draggable("destroy");
|
||||
el.draggable({ disabled: true });
|
||||
TestHelpers.draggable.shouldNotMove(el, '.draggable({ disabled: true })');
|
||||
TestHelpers.draggable.shouldNotMove(el, ".draggable({ disabled: true })");
|
||||
|
||||
el.draggable("option", "disabled", false);
|
||||
equal(el.draggable("option", "disabled"), false, "disabled option setter");
|
||||
TestHelpers.draggable.shouldMove(el, '.draggable("option", "disabled", false)');
|
||||
TestHelpers.draggable.shouldMove(el, ".draggable('option', 'disabled', false)");
|
||||
|
||||
expected = $('<div></div>').draggable(),
|
||||
actual = expected.draggable('enable');
|
||||
equal(actual, expected, 'enable is chainable');
|
||||
expected = $("<div></div>").draggable(),
|
||||
actual = expected.draggable("enable");
|
||||
equal(actual, expected, "enable is chainable");
|
||||
});
|
||||
|
||||
test("disable", function() {
|
||||
@ -71,24 +71,24 @@ test("disable", function() {
|
||||
var expected, actual, el;
|
||||
|
||||
el = $("#draggable2").draggable({ disabled: false });
|
||||
TestHelpers.draggable.shouldMove(el, '.draggable({ disabled: false })');
|
||||
TestHelpers.draggable.shouldMove(el, ".draggable({ disabled: false })");
|
||||
|
||||
el.draggable("disable");
|
||||
TestHelpers.draggable.shouldNotMove(el, '.draggable("disable")');
|
||||
TestHelpers.draggable.shouldNotMove(el, ".draggable('disable')");
|
||||
equal(el.draggable("option", "disabled"), true, "disabled option getter");
|
||||
|
||||
el.draggable("destroy");
|
||||
|
||||
el.draggable({ disabled: false });
|
||||
TestHelpers.draggable.shouldMove(el, '.draggable({ disabled: false })');
|
||||
TestHelpers.draggable.shouldMove(el, ".draggable({ disabled: false })");
|
||||
|
||||
el.draggable("option", "disabled", true);
|
||||
equal(el.draggable("option", "disabled"), true, "disabled option setter");
|
||||
TestHelpers.draggable.shouldNotMove(el, '.draggable("option", "disabled", true)');
|
||||
TestHelpers.draggable.shouldNotMove(el, ".draggable('option', 'disabled', true)");
|
||||
|
||||
expected = $('<div></div>').draggable(),
|
||||
actual = expected.draggable('disable');
|
||||
equal(actual, expected, 'disable is chainable');
|
||||
expected = $("<div></div>").draggable(),
|
||||
actual = expected.draggable("disable");
|
||||
equal(actual, expected, "disable is chainable");
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
@ -23,10 +23,10 @@ test("{ addClasses: false }", function() {
|
||||
|
||||
test("{ appendTo: 'parent' }, default", function() {
|
||||
expect( 2 );
|
||||
var el = $("#draggable2").draggable({ appendTo: 'parent' });
|
||||
var el = $("#draggable2").draggable({ appendTo: "parent" });
|
||||
TestHelpers.draggable.shouldMove(el);
|
||||
|
||||
el = $("#draggable1").draggable({ appendTo: 'parent' });
|
||||
el = $("#draggable1").draggable({ appendTo: "parent" });
|
||||
TestHelpers.draggable.shouldMove(el);
|
||||
|
||||
});
|
||||
@ -90,7 +90,7 @@ test("{ axis: ? }, unexpected", function() {
|
||||
test("{ cancel: 'input,textarea,button,select,option' }, default", function() {
|
||||
expect( 2 );
|
||||
|
||||
$('<div id="draggable-option-cancel-default"><input type="text"></div>').appendTo('#main');
|
||||
$("<div id='draggable-option-cancel-default'><input type='text'></div>").appendTo("#main");
|
||||
|
||||
var el = $("#draggable-option-cancel-default").draggable({ cancel: "input,textarea,button,select,option" });
|
||||
TestHelpers.draggable.shouldMove(el);
|
||||
@ -110,7 +110,7 @@ test("{ cancel: 'span' }", function() {
|
||||
|
||||
el.draggable("destroy");
|
||||
|
||||
el = $("#draggable2").draggable({ cancel: 'span' });
|
||||
el = $("#draggable2").draggable({ cancel: "span" });
|
||||
TestHelpers.draggable.testDrag(el, "#draggable2 span", 50, 50, 0, 0);
|
||||
});
|
||||
|
||||
@ -123,7 +123,7 @@ test("{ cancel: ? }, unexpected", function() {
|
||||
"[]": [],
|
||||
"null": null,
|
||||
"undefined": undefined,
|
||||
"function() {return '';}": function() {return '';},
|
||||
"function() {return '';}": function() {return "";},
|
||||
"function() {return true;}": function() {return true;},
|
||||
"function() {return false;}": function() {return false;}
|
||||
};
|
||||
@ -141,13 +141,13 @@ test("{ cancel: ? }, unexpected", function() {
|
||||
test("{ containment: false }, default", function() {
|
||||
expect( 1 );
|
||||
|
||||
ok(false, 'missing test - untested code is broken code');
|
||||
ok(false, "missing test - untested code is broken code");
|
||||
});
|
||||
|
||||
test("{ containment: Element }", function() {
|
||||
expect( 1 );
|
||||
|
||||
ok(false, 'missing test - untested code is broken code');
|
||||
ok(false, "missing test - untested code is broken code");
|
||||
});
|
||||
*/
|
||||
|
||||
@ -155,12 +155,12 @@ test("{ containment: 'parent' }, relative", function() {
|
||||
expect( 1 );
|
||||
|
||||
var offsetAfter,
|
||||
el = $("#draggable1").draggable({ containment: 'parent' }),
|
||||
el = $("#draggable1").draggable({ containment: "parent" }),
|
||||
p = el.parent(),
|
||||
po = p.offset(),
|
||||
expected = {
|
||||
left: po.left + TestHelpers.draggable.border(p, 'left') + TestHelpers.draggable.margin(el, 'left'),
|
||||
top: po.top + TestHelpers.draggable.border(p, 'top') + TestHelpers.draggable.margin(el, 'top')
|
||||
left: po.left + TestHelpers.draggable.border(p, "left") + TestHelpers.draggable.margin(el, "left"),
|
||||
top: po.top + TestHelpers.draggable.border(p, "top") + TestHelpers.draggable.margin(el, "top")
|
||||
};
|
||||
|
||||
el.simulate( "drag", {
|
||||
@ -168,19 +168,19 @@ test("{ containment: 'parent' }, relative", function() {
|
||||
dy: -100
|
||||
});
|
||||
offsetAfter = el.offset();
|
||||
deepEqual(offsetAfter, expected, 'compare offset to parent');
|
||||
deepEqual(offsetAfter, expected, "compare offset to parent");
|
||||
});
|
||||
|
||||
test("{ containment: 'parent' }, absolute", function() {
|
||||
expect( 1 );
|
||||
|
||||
var offsetAfter,
|
||||
el = $("#draggable2").draggable({ containment: 'parent' }),
|
||||
el = $("#draggable2").draggable({ containment: "parent" }),
|
||||
p = el.parent(),
|
||||
po = p.offset(),
|
||||
expected = {
|
||||
left: po.left + TestHelpers.draggable.border(p, 'left') + TestHelpers.draggable.margin(el, 'left'),
|
||||
top: po.top + TestHelpers.draggable.border(p, 'top') + TestHelpers.draggable.margin(el, 'top')
|
||||
left: po.left + TestHelpers.draggable.border(p, "left") + TestHelpers.draggable.margin(el, "left"),
|
||||
top: po.top + TestHelpers.draggable.border(p, "top") + TestHelpers.draggable.margin(el, "top")
|
||||
};
|
||||
|
||||
el.simulate( "drag", {
|
||||
@ -188,32 +188,32 @@ test("{ containment: 'parent' }, absolute", function() {
|
||||
dy: -100
|
||||
});
|
||||
offsetAfter = el.offset();
|
||||
deepEqual(offsetAfter, expected, 'compare offset to parent');
|
||||
deepEqual(offsetAfter, expected, "compare offset to parent");
|
||||
});
|
||||
|
||||
/*
|
||||
test("{ containment: 'document' }", function() {
|
||||
expect( 1 );
|
||||
|
||||
ok(false, 'missing test - untested code is broken code');
|
||||
ok(false, "missing test - untested code is broken code");
|
||||
});
|
||||
|
||||
test("{ containment: 'window' }", function() {
|
||||
expect( 1 );
|
||||
|
||||
ok(false, 'missing test - untested code is broken code');
|
||||
ok(false, "missing test - untested code is broken code");
|
||||
});
|
||||
|
||||
test("{ containment: Selector }", function() {
|
||||
expect( 1 );
|
||||
|
||||
ok(false, 'missing test - untested code is broken code');
|
||||
ok(false, "missing test - untested code is broken code");
|
||||
});
|
||||
|
||||
test("{ containment: [x1, y1, x2, y2] }", function() {
|
||||
expect( 1 );
|
||||
|
||||
ok(false, 'missing test - untested code is broken code');
|
||||
ok(false, "missing test - untested code is broken code");
|
||||
});
|
||||
*/
|
||||
|
||||
@ -270,154 +270,44 @@ test("{ cursor: 'move' }", function() {
|
||||
|
||||
});
|
||||
|
||||
/*
|
||||
test("{ cursorAt: false}, default", function() {
|
||||
expect( 1 );
|
||||
test( "cursorAt", function() {
|
||||
expect( 24 );
|
||||
|
||||
ok(false, 'missing test - untested code is broken code');
|
||||
});
|
||||
*/
|
||||
var deltaX = -3,
|
||||
deltaY = -3,
|
||||
tests = {
|
||||
"false": { cursorAt : false },
|
||||
"{ left: -5, top: -5 }": { x: -5, y: -5, cursorAt : { left: -5, top: -5 } },
|
||||
"[ 10, 20 ]": { x: 10, y: 20, cursorAt : [ 10, 20 ] },
|
||||
"'10 20'": { x: 10, y: 20, cursorAt : "10 20" },
|
||||
"{ left: 20, top: 40 }": { x: 20, y: 40, cursorAt : { left: 20, top: 40 } },
|
||||
"{ right: 10, bottom: 20 }": { x: 10, y: 20, cursorAt : { right: 10, bottom: 20 } }
|
||||
};
|
||||
|
||||
test("{ cursorAt: { left: -5, top: -5 } }", function() {
|
||||
expect(4);
|
||||
|
||||
var deltaX = -3, deltaY = -3,
|
||||
offsetX = 5, offsetY = 5,
|
||||
cursorAtX = -5, cursorAtY = -5;
|
||||
|
||||
$.each(['relative', 'absolute'], function(i, position) {
|
||||
var before, pos, expected,
|
||||
el = $('#draggable' + (i + 1)).draggable({
|
||||
cursorAt: { left: cursorAtX, top: cursorAtY },
|
||||
drag: function(event, ui) {
|
||||
equal(ui.offset.left, expected.left, position + ' left');
|
||||
equal(ui.offset.top, expected.top, position + ' top');
|
||||
$.each( tests, function( testName, testData ) {
|
||||
$.each( [ "relative", "absolute" ], function( i, position ) {
|
||||
var el = $( "#draggable" + ( i + 1 ) ).draggable({
|
||||
cursorAt: testData.cursorAt,
|
||||
drag: function( event, ui ) {
|
||||
if( !testData.cursorAt ) {
|
||||
equal( ui.position.left - ui.originalPosition.left, deltaX, testName + " " + position + " left" );
|
||||
equal( ui.position.top - ui.originalPosition.top, deltaY, testName + " " + position + " top" );
|
||||
} else if( testData.cursorAt.right ) {
|
||||
equal( ui.helper.width() - ( event.clientX - ui.offset.left ), testData.x - TestHelpers.draggable.unreliableOffset, testName + " " + position + " left" );
|
||||
equal( ui.helper.height() - ( event.clientY - ui.offset.top ), testData.y - TestHelpers.draggable.unreliableOffset, testName + " " +position + " top" );
|
||||
} else {
|
||||
equal( event.clientX - ui.offset.left, testData.x + TestHelpers.draggable.unreliableOffset, testName + " " + position + " left" );
|
||||
equal( event.clientY - ui.offset.top, testData.y + TestHelpers.draggable.unreliableOffset, testName + " " + position + " top" );
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
before = el.offset();
|
||||
pos = {
|
||||
clientX: before.left + offsetX,
|
||||
clientY: before.top + offsetY
|
||||
};
|
||||
expected = {
|
||||
left: before.left + offsetX - cursorAtX + deltaX - TestHelpers.draggable.unreliableOffset,
|
||||
top: before.top + offsetY - cursorAtY + deltaY - TestHelpers.draggable.unreliableOffset
|
||||
};
|
||||
|
||||
// todo: replace this with simulated drag event
|
||||
el.simulate("mousedown", pos);
|
||||
pos.clientX += deltaX;
|
||||
pos.clientY += deltaY;
|
||||
$(document).simulate("mousemove", pos);
|
||||
el.simulate("mouseup", pos);
|
||||
});
|
||||
});
|
||||
|
||||
test("{ cursorAt: { right: 10, bottom: 20 } }", function() {
|
||||
expect(4);
|
||||
|
||||
var deltaX = -3, deltaY = -3,
|
||||
offsetX = 5, offsetY = 5,
|
||||
cursorAtX = 10, cursorAtY = 20;
|
||||
|
||||
$.each(['relative', 'absolute'], function(i, position) {
|
||||
var before, pos, expected,
|
||||
el = $('#draggable' + (i + 1)).draggable({
|
||||
cursorAt: { right: cursorAtX, bottom: cursorAtY },
|
||||
drag: function(event, ui) {
|
||||
equal(ui.offset.left, expected.left, position + ' left');
|
||||
equal(ui.offset.top, expected.top, position + ' top');
|
||||
}
|
||||
el.simulate( "drag", {
|
||||
moves: 1,
|
||||
dx: deltaX,
|
||||
dy: deltaY
|
||||
});
|
||||
before = el.offset();
|
||||
pos = {
|
||||
clientX: before.left + offsetX,
|
||||
clientY: before.top + offsetY
|
||||
};
|
||||
expected = {
|
||||
left: before.left + offsetX - el.width() + cursorAtX + deltaX - TestHelpers.draggable.unreliableOffset,
|
||||
top: before.top + offsetY - el.height() + cursorAtY + deltaY - TestHelpers.draggable.unreliableOffset
|
||||
};
|
||||
|
||||
// todo: replace this with simulated drag event
|
||||
el.simulate("mousedown", pos);
|
||||
pos.clientX += deltaX;
|
||||
pos.clientY += deltaY;
|
||||
$(document).simulate("mousemove", pos);
|
||||
el.simulate("mouseup", pos);
|
||||
});
|
||||
});
|
||||
|
||||
test("{ cursorAt: [10, 20] }", function() {
|
||||
expect(4);
|
||||
|
||||
var deltaX = -3, deltaY = -3,
|
||||
offsetX = 5, offsetY = 5,
|
||||
cursorAtX = 10, cursorAtY = 20;
|
||||
|
||||
$.each(['relative', 'absolute'], function(i, position) {
|
||||
var before, pos, expected,
|
||||
el = $('#draggable' + (i + 1)).draggable({
|
||||
cursorAt: { left: cursorAtX, top: cursorAtY },
|
||||
drag: function(event, ui) {
|
||||
equal(ui.offset.left, expected.left, position + ' left');
|
||||
equal(ui.offset.top, expected.top, position + ' top');
|
||||
}
|
||||
});
|
||||
|
||||
before = el.offset();
|
||||
pos = {
|
||||
clientX: before.left + offsetX,
|
||||
clientY: before.top + offsetY
|
||||
};
|
||||
expected = {
|
||||
left: before.left + offsetX - cursorAtX + deltaX - TestHelpers.draggable.unreliableOffset,
|
||||
top: before.top + offsetY - cursorAtY + deltaY - TestHelpers.draggable.unreliableOffset
|
||||
};
|
||||
|
||||
// todo: replace this with simulated drag event
|
||||
el.simulate("mousedown", pos);
|
||||
pos.clientX += deltaX;
|
||||
pos.clientY += deltaY;
|
||||
$(document).simulate("mousemove", pos);
|
||||
el.simulate("mouseup", pos);
|
||||
});
|
||||
});
|
||||
|
||||
test("{ cursorAt: '20, 40' }", function() {
|
||||
expect(4);
|
||||
|
||||
var deltaX = -3, deltaY = -3,
|
||||
offsetX = 5, offsetY = 5,
|
||||
cursorAtX = 20, cursorAtY = 40;
|
||||
|
||||
$.each(['relative', 'absolute'], function(i, position) {
|
||||
var before, pos, expected,
|
||||
el = $('#draggable' + (i + 1)).draggable({
|
||||
cursorAt: { left: cursorAtX, top: cursorAtY },
|
||||
drag: function(event, ui) {
|
||||
equal(ui.offset.left, expected.left, position + ' left');
|
||||
equal(ui.offset.top, expected.top, position + ' top');
|
||||
}
|
||||
});
|
||||
|
||||
before = el.offset();
|
||||
pos = {
|
||||
clientX: before.left + offsetX,
|
||||
clientY: before.top + offsetY
|
||||
};
|
||||
expected = {
|
||||
left: before.left + offsetX - cursorAtX + deltaX - TestHelpers.draggable.unreliableOffset,
|
||||
top: before.top + offsetY - cursorAtY + deltaY - TestHelpers.draggable.unreliableOffset
|
||||
};
|
||||
|
||||
// todo: replace this with simulated drag event
|
||||
el.simulate("mousedown", pos);
|
||||
pos.clientX += deltaX;
|
||||
pos.clientY += deltaY;
|
||||
$(document).simulate("mousemove", pos);
|
||||
el.simulate("mouseup", pos);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@ -425,11 +315,11 @@ test("{ distance: 10 }", function() {
|
||||
expect( 3 );
|
||||
|
||||
var el = $("#draggable2").draggable({ distance: 10 });
|
||||
TestHelpers.draggable.testDrag(el, el, -9, -9, 0, 0, 'distance not met');
|
||||
TestHelpers.draggable.testDrag(el, el, -9, -9, 0, 0, "distance not met");
|
||||
|
||||
TestHelpers.draggable.testDrag(el, el, -10, -10, -10, -10, 'distance met');
|
||||
TestHelpers.draggable.testDrag(el, el, -10, -10, -10, -10, "distance met");
|
||||
|
||||
TestHelpers.draggable.testDrag(el, el, 9, 9, 0, 0, 'distance not met');
|
||||
TestHelpers.draggable.testDrag(el, el, 9, 9, 0, 0, "distance not met");
|
||||
|
||||
});
|
||||
|
||||
@ -452,7 +342,7 @@ test("{ grid: [50, 50] }, absolute", function() {
|
||||
test("{ handle: 'span' }", function() {
|
||||
expect( 2 );
|
||||
|
||||
var el = $("#draggable2").draggable({ handle: 'span' });
|
||||
var el = $("#draggable2").draggable({ handle: "span" });
|
||||
|
||||
TestHelpers.draggable.testDrag(el, "#draggable2 span", 50, 50, 50, 50, "drag span");
|
||||
TestHelpers.draggable.shouldNotMove(el, "drag element");
|
||||
@ -478,13 +368,13 @@ test("{ helper: 'original' }, relative, with scroll offset on parent", function(
|
||||
var el = $("#draggable1").draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
TestHelpers.draggable.testScroll(el, "relative");
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.testScroll(el, 'static');
|
||||
TestHelpers.draggable.testScroll(el, "static");
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.testScroll(el, 'absolute');
|
||||
TestHelpers.draggable.testScroll(el, "absolute");
|
||||
|
||||
TestHelpers.draggable.restoreScroll();
|
||||
|
||||
@ -495,16 +385,16 @@ test("{ helper: 'original' }, relative, with scroll offset on root", function()
|
||||
|
||||
var el = $("#draggable1").draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "relative");
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'static');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "static");
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'absolute');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "absolute");
|
||||
|
||||
TestHelpers.draggable.restoreScroll('root');
|
||||
TestHelpers.draggable.restoreScroll("root");
|
||||
|
||||
});
|
||||
|
||||
@ -515,19 +405,19 @@ test("{ helper: 'original' }, relative, with scroll offset on root and parent",
|
||||
var el = $("#draggable1").draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "relative");
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'static');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "static");
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'absolute');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "absolute");
|
||||
|
||||
TestHelpers.draggable.restoreScroll();
|
||||
TestHelpers.draggable.restoreScroll('root');
|
||||
TestHelpers.draggable.restoreScroll("root");
|
||||
|
||||
});
|
||||
|
||||
@ -535,16 +425,16 @@ test("{ helper: 'original' }, absolute, with scroll offset on parent", function(
|
||||
|
||||
expect(3);
|
||||
|
||||
var el = $("#draggable1").css({ position: 'absolute', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
var el = $("#draggable1").css({ position: "absolute", top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
TestHelpers.draggable.testScroll(el, "relative");
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.testScroll(el, 'static');
|
||||
TestHelpers.draggable.testScroll(el, "static");
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.testScroll(el, 'absolute');
|
||||
TestHelpers.draggable.testScroll(el, "absolute");
|
||||
|
||||
TestHelpers.draggable.restoreScroll();
|
||||
|
||||
@ -554,18 +444,18 @@ test("{ helper: 'original' }, absolute, with scroll offset on root", function()
|
||||
|
||||
expect(3);
|
||||
|
||||
var el = $("#draggable1").css({ position: 'absolute', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
var el = $("#draggable1").css({ position: "absolute", top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "relative");
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'static');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "static");
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'absolute');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "absolute");
|
||||
|
||||
TestHelpers.draggable.restoreScroll('root');
|
||||
TestHelpers.draggable.restoreScroll("root");
|
||||
|
||||
});
|
||||
|
||||
@ -573,22 +463,22 @@ test("{ helper: 'original' }, absolute, with scroll offset on root and parent",
|
||||
|
||||
expect(3);
|
||||
|
||||
var el = $("#draggable1").css({ position: 'absolute', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
var el = $("#draggable1").css({ position: "absolute", top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "relative");
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'static');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "static");
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'absolute');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "absolute");
|
||||
|
||||
TestHelpers.draggable.restoreScroll();
|
||||
TestHelpers.draggable.restoreScroll('root');
|
||||
TestHelpers.draggable.restoreScroll("root");
|
||||
|
||||
});
|
||||
|
||||
@ -596,16 +486,16 @@ test("{ helper: 'original' }, fixed, with scroll offset on parent", function() {
|
||||
|
||||
expect(3);
|
||||
|
||||
var el = $("#draggable1").css({ position: 'fixed', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
var el = $("#draggable1").css({ position: "fixed", top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
TestHelpers.draggable.testScroll(el, "relative");
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.testScroll(el, 'static');
|
||||
TestHelpers.draggable.testScroll(el, "static");
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.testScroll(el, 'absolute');
|
||||
TestHelpers.draggable.testScroll(el, "absolute");
|
||||
|
||||
TestHelpers.draggable.restoreScroll();
|
||||
|
||||
@ -615,40 +505,40 @@ test("{ helper: 'original' }, fixed, with scroll offset on root", function() {
|
||||
|
||||
expect(3);
|
||||
|
||||
var el = $("#draggable1").css({ position: 'fixed', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
var el = $("#draggable1").css({ position: "fixed", top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "relative");
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'static');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "static");
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'absolute');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "absolute");
|
||||
|
||||
TestHelpers.draggable.restoreScroll('root');
|
||||
TestHelpers.draggable.restoreScroll("root");
|
||||
});
|
||||
|
||||
test("{ helper: 'original' }, fixed, with scroll offset on root and parent", function() {
|
||||
|
||||
expect(3);
|
||||
|
||||
var el = $("#draggable1").css({ position: 'fixed', top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
var el = $("#draggable1").css({ position: "fixed", top: 0, left: 0 }).draggable({ helper: "original" });
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'relative');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "relative");
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'static');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "static");
|
||||
|
||||
TestHelpers.draggable.setScroll();
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.testScroll(el, 'absolute');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.testScroll(el, "absolute");
|
||||
|
||||
TestHelpers.draggable.restoreScroll();
|
||||
TestHelpers.draggable.restoreScroll('root');
|
||||
TestHelpers.draggable.restoreScroll("root");
|
||||
|
||||
});
|
||||
|
||||
@ -666,7 +556,7 @@ test("{ helper: 'clone' }, absolute", function() {
|
||||
dx: 1,
|
||||
dy: 1
|
||||
});
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, "dragged[1, 1] ");
|
||||
|
||||
});
|
||||
|
||||
@ -681,29 +571,29 @@ test("{ helper: 'clone' }, absolute with scroll offset on parent", function() {
|
||||
helperOffset = ui.helper.offset();
|
||||
} });
|
||||
|
||||
$("#main").css('position', 'relative');
|
||||
$("#main").css("position", "relative");
|
||||
origOffset = $("#draggable1").offset();
|
||||
el.simulate( "drag", {
|
||||
dx: 1,
|
||||
dy: 1
|
||||
});
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, "dragged[1, 1] ");
|
||||
|
||||
$("#main").css('position', 'static');
|
||||
$("#main").css("position", "static");
|
||||
origOffset = $("#draggable1").offset();
|
||||
el.simulate( "drag", {
|
||||
dx: 1,
|
||||
dy: 1
|
||||
});
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, "dragged[1, 1] ");
|
||||
|
||||
$("#main").css('position', 'absolute');
|
||||
$("#main").css("position", "absolute");
|
||||
origOffset = $("#draggable1").offset();
|
||||
el.simulate( "drag", {
|
||||
dx: 1,
|
||||
dy: 1
|
||||
});
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, "dragged[1, 1] ");
|
||||
|
||||
TestHelpers.draggable.restoreScroll();
|
||||
|
||||
@ -713,38 +603,38 @@ test("{ helper: 'clone' }, absolute with scroll offset on root", function() {
|
||||
|
||||
expect(3);
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
var helperOffset = null,
|
||||
origOffset = null,
|
||||
el = $("#draggable1").draggable({ helper: "clone", drag: function(event, ui) {
|
||||
helperOffset = ui.helper.offset();
|
||||
} });
|
||||
|
||||
$("#main").css('position', 'relative');
|
||||
$("#main").css("position", "relative");
|
||||
origOffset = $("#draggable1").offset();
|
||||
el.simulate( "drag", {
|
||||
dx: 1,
|
||||
dy: 1
|
||||
});
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, "dragged[1, 1] ");
|
||||
|
||||
$("#main").css('position', 'static');
|
||||
$("#main").css("position", "static");
|
||||
origOffset = $("#draggable1").offset();
|
||||
el.simulate( "drag", {
|
||||
dx: 1,
|
||||
dy: 1
|
||||
});
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, "dragged[1, 1] ");
|
||||
|
||||
$("#main").css('position', 'absolute');
|
||||
$("#main").css("position", "absolute");
|
||||
origOffset = $("#draggable1").offset();
|
||||
el.simulate( "drag", {
|
||||
dx: 1,
|
||||
dy: 1
|
||||
});
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, "dragged[1, 1] ");
|
||||
|
||||
TestHelpers.draggable.restoreScroll('root');
|
||||
TestHelpers.draggable.restoreScroll("root");
|
||||
|
||||
});
|
||||
|
||||
@ -752,7 +642,7 @@ test("{ helper: 'clone' }, absolute with scroll offset on root and parent", func
|
||||
|
||||
expect(3);
|
||||
|
||||
TestHelpers.draggable.setScroll('root');
|
||||
TestHelpers.draggable.setScroll("root");
|
||||
TestHelpers.draggable.setScroll();
|
||||
|
||||
var helperOffset = null,
|
||||
@ -761,31 +651,31 @@ test("{ helper: 'clone' }, absolute with scroll offset on root and parent", func
|
||||
helperOffset = ui.helper.offset();
|
||||
} });
|
||||
|
||||
$("#main").css('position', 'relative');
|
||||
$("#main").css("position", "relative");
|
||||
origOffset = $("#draggable1").offset();
|
||||
el.simulate( "drag", {
|
||||
dx: 1,
|
||||
dy: 1
|
||||
});
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, "dragged[1, 1] ");
|
||||
|
||||
$("#main").css('position', 'static');
|
||||
$("#main").css("position", "static");
|
||||
origOffset = $("#draggable1").offset();
|
||||
el.simulate( "drag", {
|
||||
dx: 1,
|
||||
dy: 1
|
||||
});
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, "dragged[1, 1] ");
|
||||
|
||||
$("#main").css('position', 'absolute');
|
||||
$("#main").css("position", "absolute");
|
||||
origOffset = $("#draggable1").offset();
|
||||
el.simulate( "drag", {
|
||||
dx: 1,
|
||||
dy: 1
|
||||
});
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, 'dragged[1, 1] ');
|
||||
deepEqual({ top: helperOffset.top-1, left: helperOffset.left-1 }, origOffset, "dragged[1, 1] ");
|
||||
|
||||
TestHelpers.draggable.restoreScroll('root');
|
||||
TestHelpers.draggable.restoreScroll("root");
|
||||
TestHelpers.draggable.restoreScroll();
|
||||
|
||||
});
|
||||
|
@ -15,7 +15,7 @@ TestHelpers.draggable = {
|
||||
expected = { left: offsetBefore.left + expectedDX, top: offsetBefore.top + expectedDY };
|
||||
|
||||
msg = msg ? msg + "." : "";
|
||||
deepEqual(actual, expected, 'dragged[' + dx + ', ' + dy + '] ' + msg);
|
||||
deepEqual(actual, expected, "dragged[" + dx + ", " + dy + "] " + msg);
|
||||
},
|
||||
shouldMove: function(el, why) {
|
||||
TestHelpers.draggable.testDrag(el, el, 50, 50, 50, 50, why);
|
||||
@ -24,10 +24,10 @@ TestHelpers.draggable = {
|
||||
TestHelpers.draggable.testDrag(el, el, 50, 50, 0, 0, why);
|
||||
},
|
||||
testScroll: function(el, position ) {
|
||||
var oldPosition = $("#main").css('position');
|
||||
$("#main").css('position', position);
|
||||
TestHelpers.draggable.shouldMove(el, position+' parent');
|
||||
$("#main").css('position', oldPosition);
|
||||
var oldPosition = $("#main").css("position");
|
||||
$("#main").css("position", position);
|
||||
TestHelpers.draggable.shouldMove(el, position+" parent");
|
||||
$("#main").css("position", oldPosition);
|
||||
},
|
||||
restoreScroll: function( what ) {
|
||||
if( what ) {
|
||||
@ -46,9 +46,9 @@ TestHelpers.draggable = {
|
||||
}
|
||||
},
|
||||
border: function(el, side) {
|
||||
return parseInt(el.css('border-' + side + '-width'), 10) || 0;
|
||||
return parseInt(el.css("border-" + side + "-width"), 10) || 0;
|
||||
},
|
||||
margin: function(el, side) {
|
||||
return parseInt(el.css('margin-' + side), 10) || 0;
|
||||
return parseInt(el.css("margin-" + side), 10) || 0;
|
||||
}
|
||||
};
|
@ -7,18 +7,18 @@
|
||||
module("droppable: core");
|
||||
|
||||
test("element types", function() {
|
||||
var typeNames = ('p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form' +
|
||||
',table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr' +
|
||||
',acronym,code,samp,kbd,var,img,hr' +
|
||||
',input,button,label,select,iframe').split(',');
|
||||
var typeNames = ("p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form" +
|
||||
",table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr" +
|
||||
",acronym,code,samp,kbd,var,img,hr" +
|
||||
",input,button,label,select,iframe").split(",");
|
||||
|
||||
expect( typeNames.length );
|
||||
|
||||
$.each(typeNames, function(i) {
|
||||
var typeName = typeNames[i],
|
||||
el = $(document.createElement(typeName)).appendTo('body');
|
||||
el = $(document.createElement(typeName)).appendTo("body");
|
||||
|
||||
(typeName === 'table' && el.append("<tr><td>content</td></tr>"));
|
||||
(typeName === "table" && el.append("<tr><td>content</td></tr>"));
|
||||
el.droppable();
|
||||
TestHelpers.droppable.shouldDrop();
|
||||
el.droppable("destroy");
|
||||
|
@ -8,37 +8,37 @@ module("droppable: methods");
|
||||
test("init", function() {
|
||||
expect( 5 );
|
||||
|
||||
$("<div></div>").appendTo('body').droppable().remove();
|
||||
ok(true, '.droppable() called on element');
|
||||
$("<div></div>").appendTo("body").droppable().remove();
|
||||
ok(true, ".droppable() called on element");
|
||||
|
||||
$([]).droppable();
|
||||
ok(true, '.droppable() called on empty collection');
|
||||
ok(true, ".droppable() called on empty collection");
|
||||
|
||||
$("<div></div>").droppable();
|
||||
ok(true, '.droppable() called on disconnected DOMElement');
|
||||
ok(true, ".droppable() called on disconnected DOMElement");
|
||||
|
||||
$("<div></div>").droppable().droppable("option", "foo");
|
||||
ok(true, 'arbitrary option getter after init');
|
||||
ok(true, "arbitrary option getter after init");
|
||||
|
||||
$("<div></div>").droppable().droppable("option", "foo", "bar");
|
||||
ok(true, 'arbitrary option setter after init');
|
||||
ok(true, "arbitrary option setter after init");
|
||||
});
|
||||
|
||||
test("destroy", function() {
|
||||
expect( 4 );
|
||||
|
||||
$("<div></div>").appendTo('body').droppable().droppable("destroy").remove();
|
||||
ok(true, '.droppable("destroy") called on element');
|
||||
$("<div></div>").appendTo("body").droppable().droppable("destroy").remove();
|
||||
ok(true, ".droppable('destroy') called on element");
|
||||
|
||||
$([]).droppable().droppable("destroy");
|
||||
ok(true, '.droppable("destroy") called on empty collection');
|
||||
ok(true, ".droppable('destroy') called on empty collection");
|
||||
|
||||
$("<div></div>").droppable().droppable("destroy");
|
||||
ok(true, '.droppable("destroy") called on disconnected DOMElement');
|
||||
ok(true, ".droppable('destroy') called on disconnected DOMElement");
|
||||
|
||||
var expected = $('<div></div>').droppable(),
|
||||
actual = expected.droppable('destroy');
|
||||
equal(actual, expected, 'destroy is chainable');
|
||||
var expected = $("<div></div>").droppable(),
|
||||
actual = expected.droppable("destroy");
|
||||
equal(actual, expected, "destroy is chainable");
|
||||
});
|
||||
|
||||
test("enable", function() {
|
||||
@ -58,9 +58,9 @@ test("enable", function() {
|
||||
equal(el.droppable("option", "disabled"), false, "disabled option setter");
|
||||
TestHelpers.droppable.shouldDrop();
|
||||
|
||||
expected = $('<div></div>').droppable(),
|
||||
actual = expected.droppable('enable');
|
||||
equal(actual, expected, 'enable is chainable');
|
||||
expected = $("<div></div>").droppable(),
|
||||
actual = expected.droppable("enable");
|
||||
equal(actual, expected, "enable is chainable");
|
||||
});
|
||||
|
||||
test("disable", function() {
|
||||
@ -80,9 +80,9 @@ test("disable", function() {
|
||||
equal(el.droppable("option", "disabled"), true, "disabled option setter");
|
||||
TestHelpers.droppable.shouldNotDrop();
|
||||
|
||||
expected = $('<div></div>').droppable(),
|
||||
actual = expected.droppable('disable');
|
||||
equal(actual, expected, 'disable is chainable');
|
||||
expected = $("<div></div>").droppable(),
|
||||
actual = expected.droppable("disable");
|
||||
equal(actual, expected, "disable is chainable");
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
@ -1,10 +1,10 @@
|
||||
TestHelpers.droppable = {
|
||||
shouldDrop: function() {
|
||||
// todo: actually implement this
|
||||
ok(true, 'missing test - untested code is broken code');
|
||||
ok(true, "missing test - untested code is broken code");
|
||||
},
|
||||
shouldNotDrop: function() {
|
||||
// todo: actually implement this
|
||||
ok(true, 'missing test - untested code is broken code');
|
||||
ok(true, "missing test - untested code is broken code");
|
||||
}
|
||||
};
|
@ -41,9 +41,12 @@ test( "{ disabled: false }", function() {
|
||||
});
|
||||
|
||||
test( "{ icons: default }", function() {
|
||||
expect( 1 );
|
||||
expect( 2 );
|
||||
var element = $( "#menu2" ).menu();
|
||||
equal( element.find( ".ui-menu-icon" ).attr( "class" ), "ui-menu-icon ui-icon ui-icon-carat-1-e" );
|
||||
|
||||
element.menu("option", "icons.submenu", "ui-icon-triangle-1-e");
|
||||
equal( element.find( ".ui-menu-icon" ).attr( "class" ), "ui-menu-icon ui-icon ui-icon-triangle-1-e" );
|
||||
});
|
||||
|
||||
test( "{ icons: { submenu: 'custom' } }", function() {
|
||||
|
@ -96,7 +96,7 @@ QUnit.testDone(function() {
|
||||
}
|
||||
});
|
||||
|
||||
current.getElementsByTagName('a')[0].href = src;
|
||||
current.getElementsByTagName("a")[0].href = src;
|
||||
});
|
||||
|
||||
}( QUnit ) );
|
||||
|
@ -1,19 +1,19 @@
|
||||
TestHelpers.commonWidgetTests('resizable', {
|
||||
TestHelpers.commonWidgetTests("resizable", {
|
||||
defaults: {
|
||||
alsoResize: false,
|
||||
animate: false,
|
||||
animateDuration: 'slow',
|
||||
animateEasing: 'swing',
|
||||
animateDuration: "slow",
|
||||
animateEasing: "swing",
|
||||
aspectRatio: false,
|
||||
autoHide: false,
|
||||
cancel: 'input,textarea,button,select,option',
|
||||
cancel: "input,textarea,button,select,option",
|
||||
containment: false,
|
||||
delay: 0,
|
||||
disabled: false,
|
||||
distance: 1,
|
||||
ghost: false,
|
||||
grid: false,
|
||||
handles: 'e,s,se',
|
||||
handles: "e,s,se",
|
||||
helper: false,
|
||||
maxHeight: null,
|
||||
maxWidth: null,
|
||||
|
@ -8,17 +8,17 @@ module("resizable: core");
|
||||
|
||||
/*
|
||||
test("element types", function() {
|
||||
var typeNames = ('p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form'
|
||||
+ ',table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr'
|
||||
+ ',acronym,code,samp,kbd,var,img,object,hr'
|
||||
+ ',input,button,label,select,iframe').split(',');
|
||||
var typeNames = ("p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form"
|
||||
+ ",table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr"
|
||||
+ ",acronym,code,samp,kbd,var,img,object,hr"
|
||||
+ ",input,button,label,select,iframe").split(",");
|
||||
|
||||
$.each(typeNames, function(i) {
|
||||
var typeName = typeNames[i];
|
||||
el = $(document.createElement(typeName)).appendTo('body');
|
||||
(typeName == 'table' && el.append("<tr><td>content</td></tr>"));
|
||||
el = $(document.createElement(typeName)).appendTo("body");
|
||||
(typeName == "table" && el.append("<tr><td>content</td></tr>"));
|
||||
el.resizable();
|
||||
ok(true, '$("<' + typeName + '/>").resizable()');
|
||||
ok(true, "$('<" + typeName + "/>').resizable()");
|
||||
el.resizable("destroy");
|
||||
el.remove();
|
||||
});
|
||||
@ -28,7 +28,7 @@ test("element types", function() {
|
||||
test("n", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-n', target = $('#resizable1').resizable({ handles: 'all' });
|
||||
var handle = ".ui-resizable-n", target = $("#resizable1").resizable({ handles: "all" });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 0, -50);
|
||||
equal( target.height(), 150, "compare height" );
|
||||
@ -43,7 +43,7 @@ test("n", function() {
|
||||
test("s", function() {
|
||||
expect(5);
|
||||
|
||||
var handle = '.ui-resizable-s', target = $('#resizable1').resizable({ handles: 'all' });
|
||||
var handle = ".ui-resizable-s", target = $("#resizable1").resizable({ handles: "all" });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 0, 50);
|
||||
equal( target.height(), 150, "compare height" );
|
||||
@ -59,7 +59,7 @@ test("s", function() {
|
||||
test("e", function() {
|
||||
expect(5);
|
||||
|
||||
var handle = '.ui-resizable-e', target = $('#resizable1').resizable({ handles: 'all' });
|
||||
var handle = ".ui-resizable-e", target = $("#resizable1").resizable({ handles: "all" });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 50);
|
||||
equal( target.width(), 150, "compare width");
|
||||
@ -75,7 +75,7 @@ test("e", function() {
|
||||
test("w", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-w', target = $('#resizable1').resizable({ handles: 'all' });
|
||||
var handle = ".ui-resizable-w", target = $("#resizable1").resizable({ handles: "all" });
|
||||
|
||||
TestHelpers.resizable.drag(handle, -50);
|
||||
equal( target.width(), 150, "compare width" );
|
||||
@ -90,7 +90,7 @@ test("w", function() {
|
||||
test("ne", function() {
|
||||
expect(5);
|
||||
|
||||
var handle = '.ui-resizable-ne', target = $('#resizable1').css({ overflow: 'hidden' }).resizable({ handles: 'all' });
|
||||
var handle = ".ui-resizable-ne", target = $("#resizable1").css({ overflow: "hidden" }).resizable({ handles: "all" });
|
||||
|
||||
TestHelpers.resizable.drag(handle, -50, -50);
|
||||
equal( target.width(), 50, "compare width" );
|
||||
@ -106,7 +106,7 @@ test("ne", function() {
|
||||
test("se", function() {
|
||||
expect(6);
|
||||
|
||||
var handle = '.ui-resizable-se', target = $('#resizable1').resizable({ handles: 'all' });
|
||||
var handle = ".ui-resizable-se", target = $("#resizable1").resizable({ handles: "all" });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 50, 50);
|
||||
equal( target.width(), 150, "compare width" );
|
||||
@ -123,7 +123,7 @@ test("se", function() {
|
||||
test("sw", function() {
|
||||
expect(5);
|
||||
|
||||
var handle = '.ui-resizable-sw', target = $('#resizable1').resizable({ handles: 'all' });
|
||||
var handle = ".ui-resizable-sw", target = $("#resizable1").resizable({ handles: "all" });
|
||||
|
||||
TestHelpers.resizable.drag(handle, -50, -50);
|
||||
equal( target.width(), 150, "compare width" );
|
||||
@ -139,7 +139,7 @@ test("sw", function() {
|
||||
test("nw", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-nw', target = $('#resizable1').resizable({ handles: 'all' });
|
||||
var handle = ".ui-resizable-nw", target = $("#resizable1").resizable({ handles: "all" });
|
||||
|
||||
TestHelpers.resizable.drag(handle, -50, -50);
|
||||
equal( target.width(), 150, "compare width" );
|
||||
@ -153,15 +153,15 @@ test("nw", function() {
|
||||
test("handle with complex markup (#8756)", function() {
|
||||
expect(2);
|
||||
|
||||
$('#resizable1')
|
||||
$("#resizable1")
|
||||
.append(
|
||||
$('<div>')
|
||||
$("<div>")
|
||||
.addClass("ui-resizable-handle")
|
||||
.addClass("ui-resizable-w")
|
||||
.append($('<div>'))
|
||||
.append($("<div>"))
|
||||
);
|
||||
|
||||
var handle = '.ui-resizable-w div', target = $('#resizable1').resizable({ handles: 'all' });
|
||||
var handle = ".ui-resizable-w div", target = $("#resizable1").resizable({ handles: "all" });
|
||||
|
||||
TestHelpers.resizable.drag(handle, -50);
|
||||
equal( target.width(), 150, "compare width" );
|
||||
@ -176,7 +176,7 @@ test("resizable accounts for scroll position correctly (#3815)", function() {
|
||||
var position, top, left,
|
||||
container = $("<div style='overflow:scroll;height:300px;width:300px;position:relative;'></div>").appendTo("#qunit-fixture"),
|
||||
overflowed = $("<div style='width: 1000px; height: 1000px;'></div>").appendTo( container ),
|
||||
el = $("<div style='height:100px;width:100px;position:absolute;top:10px;left:10px;'></div>").appendTo( overflowed ).resizable({ handles: 'all' }),
|
||||
el = $("<div style='height:100px;width:100px;position:absolute;top:10px;left:10px;'></div>").appendTo( overflowed ).resizable({ handles: "all" }),
|
||||
handle = ".ui-resizable-e";
|
||||
|
||||
container.scrollLeft( 100 ).scrollTop( 100 );
|
||||
|
@ -28,7 +28,7 @@ test( "alsoResize", function() {
|
||||
test("aspectRatio: 'preserve' (e)", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-e', target = $('#resizable1').resizable({ aspectRatio: 'preserve', handles: 'all', minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
var handle = ".ui-resizable-e", target = $("#resizable1").resizable({ aspectRatio: "preserve", handles: "all", minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 80);
|
||||
equal( target.width(), 130, "compare maxWidth");
|
||||
@ -42,7 +42,7 @@ test("aspectRatio: 'preserve' (e)", function() {
|
||||
test("aspectRatio: 'preserve' (w)", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-w', target = $('#resizable1').resizable({ aspectRatio: 'preserve', handles: 'all', minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
var handle = ".ui-resizable-w", target = $("#resizable1").resizable({ aspectRatio: "preserve", handles: "all", minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
|
||||
TestHelpers.resizable.drag(handle, -80);
|
||||
equal( target.width(), 130, "compare maxWidth");
|
||||
@ -56,7 +56,7 @@ test("aspectRatio: 'preserve' (w)", function() {
|
||||
test("aspectRatio: 'preserve' (n)", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-n', target = $('#resizable1').resizable({ aspectRatio: 'preserve', handles: 'all', minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
var handle = ".ui-resizable-n", target = $("#resizable1").resizable({ aspectRatio: "preserve", handles: "all", minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 0, -80);
|
||||
equal( target.width(), 130, "compare maxWidth");
|
||||
@ -70,7 +70,7 @@ test("aspectRatio: 'preserve' (n)", function() {
|
||||
test("aspectRatio: 'preserve' (s)", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-s', target = $('#resizable1').resizable({ aspectRatio: 'preserve', handles: 'all', minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
var handle = ".ui-resizable-s", target = $("#resizable1").resizable({ aspectRatio: "preserve", handles: "all", minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 0, 80);
|
||||
equal( target.width(), 130, "compare maxWidth");
|
||||
@ -84,7 +84,7 @@ test("aspectRatio: 'preserve' (s)", function() {
|
||||
test("aspectRatio: 'preserve' (se)", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-se', target = $('#resizable1').resizable({ aspectRatio: 'preserve', handles: 'all', minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
var handle = ".ui-resizable-se", target = $("#resizable1").resizable({ aspectRatio: "preserve", handles: "all", minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 80, 80);
|
||||
equal( target.width(), 130, "compare maxWidth");
|
||||
@ -98,7 +98,7 @@ test("aspectRatio: 'preserve' (se)", function() {
|
||||
test("aspectRatio: 'preserve' (sw)", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-sw', target = $('#resizable1').resizable({ aspectRatio: 'preserve', handles: 'all', minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
var handle = ".ui-resizable-sw", target = $("#resizable1").resizable({ aspectRatio: "preserve", handles: "all", minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
|
||||
TestHelpers.resizable.drag(handle, -80, 80);
|
||||
equal( target.width(), 130, "compare maxWidth");
|
||||
@ -112,7 +112,7 @@ test("aspectRatio: 'preserve' (sw)", function() {
|
||||
test("aspectRatio: 'preserve' (ne)", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-ne', target = $('#resizable1').resizable({ aspectRatio: 'preserve', handles: 'all', minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
var handle = ".ui-resizable-ne", target = $("#resizable1").resizable({ aspectRatio: "preserve", handles: "all", minWidth: 70, minHeight: 50, maxWidth: 150, maxHeight: 130 });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 80, -80);
|
||||
equal( target.width(), 130, "compare maxWidth");
|
||||
@ -141,7 +141,7 @@ test( "containment", function() {
|
||||
test("grid", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-se', target = $('#resizable1').resizable({ handles: 'all', grid: [0, 20] });
|
||||
var handle = ".ui-resizable-se", target = $("#resizable1").resizable({ handles: "all", grid: [0, 20] });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 3, 9);
|
||||
equal( target.width(), 103, "compare width");
|
||||
@ -169,7 +169,7 @@ test("grid (min/max dimensions)", function() {
|
||||
test("grid (wrapped)", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-se', target = $('#resizable2').resizable({ handles: 'all', grid: [0, 20] });
|
||||
var handle = ".ui-resizable-se", target = $("#resizable2").resizable({ handles: "all", grid: [0, 20] });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 3, 9);
|
||||
equal( target.width(), 103, "compare width");
|
||||
@ -183,7 +183,7 @@ test("grid (wrapped)", function() {
|
||||
test("ui-resizable-se { handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 100, maxHeight: 100 }", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-se', target = $('#resizable1').resizable({ handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 100, maxHeight: 100 });
|
||||
var handle = ".ui-resizable-se", target = $("#resizable1").resizable({ handles: "all", minWidth: 60, minHeight: 60, maxWidth: 100, maxHeight: 100 });
|
||||
|
||||
TestHelpers.resizable.drag(handle, -50, -50);
|
||||
equal( target.width(), 60, "compare minWidth" );
|
||||
@ -197,7 +197,7 @@ test("ui-resizable-se { handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 1
|
||||
test("ui-resizable-sw { handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 100, maxHeight: 100 }", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-sw', target = $('#resizable1').resizable({ handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 100, maxHeight: 100 });
|
||||
var handle = ".ui-resizable-sw", target = $("#resizable1").resizable({ handles: "all", minWidth: 60, minHeight: 60, maxWidth: 100, maxHeight: 100 });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 50, -50);
|
||||
equal( target.width(), 60, "compare minWidth" );
|
||||
@ -211,7 +211,7 @@ test("ui-resizable-sw { handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 1
|
||||
test("ui-resizable-ne { handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 100, maxHeight: 100 }", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-ne', target = $('#resizable1').resizable({ handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 100, maxHeight: 100 });
|
||||
var handle = ".ui-resizable-ne", target = $("#resizable1").resizable({ handles: "all", minWidth: 60, minHeight: 60, maxWidth: 100, maxHeight: 100 });
|
||||
|
||||
TestHelpers.resizable.drag(handle, -50, 50);
|
||||
equal( target.width(), 60, "compare minWidth" );
|
||||
@ -225,7 +225,7 @@ test("ui-resizable-ne { handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 1
|
||||
test("ui-resizable-nw { handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 100, maxHeight: 100 }", function() {
|
||||
expect(4);
|
||||
|
||||
var handle = '.ui-resizable-nw', target = $('#resizable1').resizable({ handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 100, maxHeight: 100 });
|
||||
var handle = ".ui-resizable-nw", target = $("#resizable1").resizable({ handles: "all", minWidth: 60, minHeight: 60, maxWidth: 100, maxHeight: 100 });
|
||||
|
||||
TestHelpers.resizable.drag(handle, 70, 70);
|
||||
equal( target.width(), 60, "compare minWidth" );
|
||||
@ -239,9 +239,9 @@ test("ui-resizable-nw { handles: 'all', minWidth: 60, minHeight: 60, maxWidth: 1
|
||||
test("zIndex, applied to all handles", function() {
|
||||
expect(8);
|
||||
|
||||
var target = $('<div></div>').resizable({ handles: 'all', zIndex: 100 });
|
||||
target.children( '.ui-resizable-handle' ).each( function( index, handle ) {
|
||||
equal( $( handle ).css( 'zIndex' ), 100, 'compare zIndex' );
|
||||
var target = $("<div></div>").resizable({ handles: "all", zIndex: 100 });
|
||||
target.children( ".ui-resizable-handle" ).each( function( index, handle ) {
|
||||
equal( $( handle ).css( "zIndex" ), 100, "compare zIndex" );
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -26,7 +26,6 @@
|
||||
<script src="selectable_events.js"></script>
|
||||
<script src="selectable_methods.js"></script>
|
||||
<script src="selectable_options.js"></script>
|
||||
<script src="selectable_test_helpers.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
</head>
|
||||
|
@ -1,13 +1,13 @@
|
||||
TestHelpers.commonWidgetTests('selectable', {
|
||||
TestHelpers.commonWidgetTests("selectable", {
|
||||
defaults: {
|
||||
appendTo: 'body',
|
||||
appendTo: "body",
|
||||
autoRefresh: true,
|
||||
cancel: 'input,textarea,button,select,option',
|
||||
cancel: "input,textarea,button,select,option",
|
||||
create: null,
|
||||
delay: 0,
|
||||
disabled: false,
|
||||
distance: 0,
|
||||
filter: '*',
|
||||
tolerance: 'touch'
|
||||
filter: "*",
|
||||
tolerance: "touch"
|
||||
}
|
||||
});
|
||||
|
@ -35,4 +35,32 @@ test( "stop", function() {
|
||||
});
|
||||
});
|
||||
|
||||
test( "mousedown: initial position of helper", function() {
|
||||
expect( 2 );
|
||||
|
||||
var contentToForceScroll, helper,
|
||||
element = $("#selectable1").selectable();
|
||||
|
||||
contentToForceScroll = $("<div>").css({
|
||||
height: "10000px",
|
||||
width: "10000px"
|
||||
});
|
||||
|
||||
contentToForceScroll.appendTo("body");
|
||||
$( window ).scrollTop( 1 ).scrollLeft( 1 );
|
||||
element.simulate( "mousedown", {
|
||||
clientX: 10,
|
||||
clientY: 10
|
||||
});
|
||||
|
||||
helper = $(".ui-selectable-helper");
|
||||
equal( helper.css("top"), "11px", "Scroll top should be accounted for." );
|
||||
equal( helper.css("left"), "11px", "Scroll left should be accounted for." );
|
||||
|
||||
// Cleanup
|
||||
element.simulate("mouseup");
|
||||
contentToForceScroll.remove();
|
||||
$( window ).scrollTop( 0 ).scrollLeft( 0 );
|
||||
});
|
||||
|
||||
})( jQuery );
|
||||
|
@ -8,39 +8,39 @@ module("selectable: methods");
|
||||
test("init", function() {
|
||||
expect( 5 );
|
||||
|
||||
$("<div></div>").appendTo('body').selectable().remove();
|
||||
ok(true, '.selectable() called on element');
|
||||
$("<div></div>").appendTo("body").selectable().remove();
|
||||
ok(true, ".selectable() called on element");
|
||||
|
||||
$([]).selectable().remove();
|
||||
ok(true, '.selectable() called on empty collection');
|
||||
ok(true, ".selectable() called on empty collection");
|
||||
|
||||
$("<div></div>").selectable().remove();
|
||||
ok(true, '.selectable() called on disconnected DOMElement');
|
||||
ok(true, ".selectable() called on disconnected DOMElement");
|
||||
|
||||
var el = $("<div></div>").selectable();
|
||||
el.selectable("option", "foo");
|
||||
el.remove();
|
||||
ok(true, 'arbitrary option getter after init');
|
||||
ok(true, "arbitrary option getter after init");
|
||||
|
||||
$("<div></div>").selectable().selectable("option", "foo", "bar").remove();
|
||||
ok(true, 'arbitrary option setter after init');
|
||||
ok(true, "arbitrary option setter after init");
|
||||
});
|
||||
|
||||
test("destroy", function() {
|
||||
expect( 4 );
|
||||
|
||||
$("<div></div>").appendTo('body').selectable().selectable("destroy").remove();
|
||||
ok(true, '.selectable("destroy") called on element');
|
||||
$("<div></div>").appendTo("body").selectable().selectable("destroy").remove();
|
||||
ok(true, ".selectable('destroy') called on element");
|
||||
|
||||
$([]).selectable().selectable("destroy").remove();
|
||||
ok(true, '.selectable("destroy") called on empty collection');
|
||||
ok(true, ".selectable('destroy') called on empty collection");
|
||||
|
||||
$("<div></div>").selectable().selectable("destroy").remove();
|
||||
ok(true, '.selectable("destroy") called on disconnected DOMElement');
|
||||
ok(true, ".selectable('destroy') called on disconnected DOMElement");
|
||||
|
||||
var expected = $('<div></div>').selectable(),
|
||||
actual = expected.selectable('destroy');
|
||||
equal(actual, expected, 'destroy is chainable');
|
||||
var expected = $("<div></div>").selectable(),
|
||||
actual = expected.selectable("destroy");
|
||||
equal(actual, expected, "destroy is chainable");
|
||||
});
|
||||
|
||||
test("enable", function() {
|
||||
@ -66,9 +66,9 @@ test("enable", function() {
|
||||
equal(fired, true, "start fired");
|
||||
el.selectable("destroy");
|
||||
|
||||
expected = $('<div></div>').selectable();
|
||||
actual = expected.selectable('enable');
|
||||
equal(actual, expected, 'enable is chainable');
|
||||
expected = $("<div></div>").selectable();
|
||||
actual = expected.selectable("enable");
|
||||
equal(actual, expected, "enable is chainable");
|
||||
});
|
||||
|
||||
test("disable", function() {
|
||||
@ -96,9 +96,9 @@ test("disable", function() {
|
||||
equal(fired, false, "start fired");
|
||||
el.selectable("destroy");
|
||||
|
||||
expected = $('<div></div>').selectable();
|
||||
actual = expected.selectable('disable');
|
||||
equal(actual, expected, 'disable is chainable');
|
||||
expected = $("<div></div>").selectable();
|
||||
actual = expected.selectable("disable");
|
||||
equal(actual, expected, "disable is chainable");
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
@ -52,7 +52,7 @@ test("filter", function() {
|
||||
selected = function() { actual += 1; };
|
||||
|
||||
|
||||
el = $("#selectable1").selectable({ filter: '.special', selected: selected });
|
||||
el = $("#selectable1").selectable({ filter: ".special", selected: selected });
|
||||
el.simulate( "drag", {
|
||||
dx: 1000,
|
||||
dy: 1000
|
||||
|
@ -1,13 +1,13 @@
|
||||
TestHelpers.commonWidgetTests( "slider", {
|
||||
defaults: {
|
||||
animate: false,
|
||||
cancel: 'input,textarea,button,select,option',
|
||||
cancel: "input,textarea,button,select,option",
|
||||
delay: 0,
|
||||
disabled: false,
|
||||
distance: 0,
|
||||
max: 100,
|
||||
min: 0,
|
||||
orientation: 'horizontal',
|
||||
orientation: "horizontal",
|
||||
range: false,
|
||||
step: 1,
|
||||
value: 0,
|
||||
|
@ -17,11 +17,11 @@ module("slider: core");
|
||||
|
||||
test("keydown HOME on handle sets value to min", function() {
|
||||
expect( 2 );
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 5,
|
||||
min: -5,
|
||||
orientation: 'horizontal',
|
||||
orientation: "horizontal",
|
||||
step: 1
|
||||
};
|
||||
el.slider(options);
|
||||
@ -31,13 +31,13 @@ test("keydown HOME on handle sets value to min", function() {
|
||||
handle().simulate("keydown", { keyCode: $.ui.keyCode.HOME });
|
||||
equal(el.slider("value"), options.min);
|
||||
|
||||
el.slider('destroy');
|
||||
el.slider("destroy");
|
||||
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 5,
|
||||
min: -5,
|
||||
orientation: 'vertical',
|
||||
orientation: "vertical",
|
||||
step: 1
|
||||
};
|
||||
el.slider(options);
|
||||
@ -47,16 +47,16 @@ test("keydown HOME on handle sets value to min", function() {
|
||||
handle().simulate("keydown", { keyCode: $.ui.keyCode.HOME });
|
||||
equal(el.slider("value"), options.min);
|
||||
|
||||
el.slider('destroy');
|
||||
el.slider("destroy");
|
||||
});
|
||||
|
||||
test("keydown END on handle sets value to max", function() {
|
||||
expect( 2 );
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 5,
|
||||
min: -5,
|
||||
orientation: 'horizontal',
|
||||
orientation: "horizontal",
|
||||
step: 1
|
||||
};
|
||||
el.slider(options);
|
||||
@ -66,13 +66,13 @@ test("keydown END on handle sets value to max", function() {
|
||||
handle().simulate("keydown", { keyCode: $.ui.keyCode.END });
|
||||
equal(el.slider("value"), options.max);
|
||||
|
||||
el.slider('destroy');
|
||||
el.slider("destroy");
|
||||
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 5,
|
||||
min: -5,
|
||||
orientation: 'vertical',
|
||||
orientation: "vertical",
|
||||
step: 1
|
||||
};
|
||||
el.slider(options);
|
||||
@ -82,13 +82,13 @@ test("keydown END on handle sets value to max", function() {
|
||||
handle().simulate("keydown", { keyCode: $.ui.keyCode.END });
|
||||
equal(el.slider("value"), options.max);
|
||||
|
||||
el.slider('destroy');
|
||||
el.slider("destroy");
|
||||
});
|
||||
|
||||
test("keydown PAGE_UP on handle increases value by 1/5 range, not greater than max", function() {
|
||||
expect( 4 );
|
||||
$.each(['horizontal', 'vertical'], function(i, orientation) {
|
||||
el = $('<div></div>');
|
||||
$.each(["horizontal", "vertical"], function(i, orientation) {
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 100,
|
||||
min: 0,
|
||||
@ -111,8 +111,8 @@ test("keydown PAGE_UP on handle increases value by 1/5 range, not greater than m
|
||||
|
||||
test("keydown PAGE_DOWN on handle decreases value by 1/5 range, not less than min", function() {
|
||||
expect( 4 );
|
||||
$.each(['horizontal', 'vertical'], function(i, orientation) {
|
||||
el = $('<div></div>');
|
||||
$.each(["horizontal", "vertical"], function(i, orientation) {
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 100,
|
||||
min: 0,
|
||||
@ -135,11 +135,11 @@ test("keydown PAGE_DOWN on handle decreases value by 1/5 range, not less than mi
|
||||
|
||||
test("keydown UP on handle increases value by step, not greater than max", function() {
|
||||
expect( 4 );
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 5,
|
||||
min: -5,
|
||||
orientation: 'horizontal',
|
||||
orientation: "horizontal",
|
||||
step: 1
|
||||
};
|
||||
el.slider(options);
|
||||
@ -154,11 +154,11 @@ test("keydown UP on handle increases value by step, not greater than max", funct
|
||||
|
||||
el.slider("destroy");
|
||||
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 5,
|
||||
min: -5,
|
||||
orientation: 'vertical',
|
||||
orientation: "vertical",
|
||||
step: 1
|
||||
};
|
||||
el.slider(options);
|
||||
@ -176,11 +176,11 @@ test("keydown UP on handle increases value by step, not greater than max", funct
|
||||
|
||||
test("keydown RIGHT on handle increases value by step, not greater than max", function() {
|
||||
expect( 4 );
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 5,
|
||||
min: -5,
|
||||
orientation: 'horizontal',
|
||||
orientation: "horizontal",
|
||||
step: 1
|
||||
};
|
||||
el.slider(options);
|
||||
@ -195,11 +195,11 @@ test("keydown RIGHT on handle increases value by step, not greater than max", fu
|
||||
|
||||
el.slider("destroy");
|
||||
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 5,
|
||||
min: -5,
|
||||
orientation: 'vertical',
|
||||
orientation: "vertical",
|
||||
step: 1
|
||||
};
|
||||
el.slider(options);
|
||||
@ -217,11 +217,11 @@ test("keydown RIGHT on handle increases value by step, not greater than max", fu
|
||||
|
||||
test("keydown DOWN on handle decreases value by step, not less than min", function() {
|
||||
expect( 4 );
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 5,
|
||||
min: -5,
|
||||
orientation: 'horizontal',
|
||||
orientation: "horizontal",
|
||||
step: 1
|
||||
};
|
||||
el.slider(options);
|
||||
@ -236,11 +236,11 @@ test("keydown DOWN on handle decreases value by step, not less than min", functi
|
||||
|
||||
el.slider("destroy");
|
||||
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 5,
|
||||
min: -5,
|
||||
orientation: 'vertical',
|
||||
orientation: "vertical",
|
||||
step: 1
|
||||
};
|
||||
el.slider(options);
|
||||
@ -258,11 +258,11 @@ test("keydown DOWN on handle decreases value by step, not less than min", functi
|
||||
|
||||
test("keydown LEFT on handle decreases value by step, not less than min", function() {
|
||||
expect( 4 );
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 5,
|
||||
min: -5,
|
||||
orientation: 'horizontal',
|
||||
orientation: "horizontal",
|
||||
step: 1
|
||||
};
|
||||
el.slider(options);
|
||||
@ -277,11 +277,11 @@ test("keydown LEFT on handle decreases value by step, not less than min", functi
|
||||
|
||||
el.slider("destroy");
|
||||
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
options = {
|
||||
max: 5,
|
||||
min: -5,
|
||||
orientation: 'vertical',
|
||||
orientation: "vertical",
|
||||
step: 1
|
||||
};
|
||||
el.slider(options);
|
||||
|
@ -8,22 +8,22 @@ module("slider: methods");
|
||||
test("init", function() {
|
||||
expect(5);
|
||||
|
||||
$("<div></div>").appendTo('body').slider().remove();
|
||||
ok(true, '.slider() called on element');
|
||||
$("<div></div>").appendTo("body").slider().remove();
|
||||
ok(true, ".slider() called on element");
|
||||
|
||||
$([]).slider().remove();
|
||||
ok(true, '.slider() called on empty collection');
|
||||
ok(true, ".slider() called on empty collection");
|
||||
|
||||
$('<div></div>').slider().remove();
|
||||
ok(true, '.slider() called on disconnected DOMElement');
|
||||
$("<div></div>").slider().remove();
|
||||
ok(true, ".slider() called on disconnected DOMElement");
|
||||
|
||||
var el = $('<div></div>').slider();
|
||||
var el = $("<div></div>").slider();
|
||||
el.slider("option", "foo");
|
||||
el.remove();
|
||||
ok(true, 'arbitrary option getter after init');
|
||||
ok(true, "arbitrary option getter after init");
|
||||
|
||||
$('<div></div>').slider().slider("option", "foo", "bar").remove();
|
||||
ok(true, 'arbitrary option setter after init');
|
||||
$("<div></div>").slider().slider("option", "foo", "bar").remove();
|
||||
ok(true, "arbitrary option setter after init");
|
||||
});
|
||||
|
||||
test("destroy", function() {
|
||||
@ -36,60 +36,60 @@ test("destroy", function() {
|
||||
test("enable", function() {
|
||||
expect( 5 );
|
||||
var el,
|
||||
expected = $('<div></div>').slider(),
|
||||
actual = expected.slider('enable');
|
||||
equal(actual, expected, 'enable is chainable');
|
||||
expected = $("<div></div>").slider(),
|
||||
actual = expected.slider("enable");
|
||||
equal(actual, expected, "enable is chainable");
|
||||
|
||||
el = $('<div></div>').slider({ disabled: true });
|
||||
ok(el.hasClass('ui-state-disabled'), 'slider has ui-state-disabled class before enable method call');
|
||||
ok(el.hasClass('ui-slider-disabled'), 'slider has ui-slider-disabled class before enable method call');
|
||||
el.slider('enable');
|
||||
ok(!el.hasClass('ui-state-disabled'), 'slider does not have ui-state-disabled class after enable method call');
|
||||
ok(!el.hasClass('ui-slider-disabled'), 'slider does not have ui-slider-disabled class after enable method call');
|
||||
el = $("<div></div>").slider({ disabled: true });
|
||||
ok(el.hasClass("ui-state-disabled"), "slider has ui-state-disabled class before enable method call");
|
||||
ok(el.hasClass("ui-slider-disabled"), "slider has ui-slider-disabled class before enable method call");
|
||||
el.slider("enable");
|
||||
ok(!el.hasClass("ui-state-disabled"), "slider does not have ui-state-disabled class after enable method call");
|
||||
ok(!el.hasClass("ui-slider-disabled"), "slider does not have ui-slider-disabled class after enable method call");
|
||||
});
|
||||
|
||||
test("disable", function() {
|
||||
expect( 5 );
|
||||
var el,
|
||||
expected = $('<div></div>').slider(),
|
||||
actual = expected.slider('disable');
|
||||
equal(actual, expected, 'disable is chainable');
|
||||
expected = $("<div></div>").slider(),
|
||||
actual = expected.slider("disable");
|
||||
equal(actual, expected, "disable is chainable");
|
||||
|
||||
el = $('<div></div>').slider({ disabled: false });
|
||||
ok(!el.hasClass('ui-state-disabled'), 'slider does not have ui-state-disabled class before disabled method call');
|
||||
ok(!el.hasClass('ui-slider-disabled'), 'slider does not have ui-slider-disabled class before disable method call');
|
||||
el.slider('disable');
|
||||
ok(el.hasClass('ui-state-disabled'), 'slider has ui-state-disabled class after disable method call');
|
||||
ok(el.hasClass('ui-slider-disabled'), 'slider has ui-slider-disabled class after disable method call');
|
||||
el = $("<div></div>").slider({ disabled: false });
|
||||
ok(!el.hasClass("ui-state-disabled"), "slider does not have ui-state-disabled class before disabled method call");
|
||||
ok(!el.hasClass("ui-slider-disabled"), "slider does not have ui-slider-disabled class before disable method call");
|
||||
el.slider("disable");
|
||||
ok(el.hasClass("ui-state-disabled"), "slider has ui-state-disabled class after disable method call");
|
||||
ok(el.hasClass("ui-slider-disabled"), "slider has ui-slider-disabled class after disable method call");
|
||||
});
|
||||
|
||||
test("value", function() {
|
||||
expect( 17 );
|
||||
$([false, 'min', 'max']).each(function() {
|
||||
var el = $('<div></div>').slider({
|
||||
$([false, "min", "max"]).each(function() {
|
||||
var el = $("<div></div>").slider({
|
||||
range: this,
|
||||
value: 5
|
||||
});
|
||||
equal(el.slider('value'), 5, 'range: ' + this + ' slider method get');
|
||||
equal(el.slider('value', 10), el, 'value method is chainable');
|
||||
equal(el.slider('value'), 10, 'range: ' + this + ' slider method set');
|
||||
equal(el.slider("value"), 5, "range: " + this + " slider method get");
|
||||
equal(el.slider("value", 10), el, "value method is chainable");
|
||||
equal(el.slider("value"), 10, "range: " + this + " slider method set");
|
||||
el.remove();
|
||||
});
|
||||
var el = $('<div></div>').slider({
|
||||
var el = $("<div></div>").slider({
|
||||
min: -1, value: 0, max: 1
|
||||
});
|
||||
// min with value option vs value method
|
||||
el.slider('option', 'value', -2);
|
||||
equal(el.slider('option', 'value'), -2, 'value option does not respect min');
|
||||
equal(el.slider('value'), -1, 'value method get respects min');
|
||||
equal(el.slider('value', -2), el, 'value method is chainable');
|
||||
equal(el.slider('option', 'value'), -1, 'value method set respects min');
|
||||
el.slider("option", "value", -2);
|
||||
equal(el.slider("option", "value"), -2, "value option does not respect min");
|
||||
equal(el.slider("value"), -1, "value method get respects min");
|
||||
equal(el.slider("value", -2), el, "value method is chainable");
|
||||
equal(el.slider("option", "value"), -1, "value method set respects min");
|
||||
// max with value option vs value method
|
||||
el.slider('option', 'value', 2);
|
||||
equal(el.slider('option', 'value'), 2, 'value option does not respect max');
|
||||
equal(el.slider('value'), 1, 'value method get respects max');
|
||||
equal(el.slider('value', 2), el, 'value method is chainable');
|
||||
equal(el.slider('option', 'value'), 1, 'value method set respects max');
|
||||
el.slider("option", "value", 2);
|
||||
equal(el.slider("option", "value"), 2, "value option does not respect max");
|
||||
equal(el.slider("value"), 1, "value method get respects max");
|
||||
equal(el.slider("value", 2), el, "value method is chainable");
|
||||
equal(el.slider("option", "value"), 1, "value method set respects max");
|
||||
});
|
||||
|
||||
//test("values", function() {
|
||||
|
@ -13,12 +13,12 @@ module("slider: options");
|
||||
|
||||
test("max", function() {
|
||||
expect( 2 );
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
|
||||
options = {
|
||||
max: 37,
|
||||
min: 6,
|
||||
orientation: 'horizontal',
|
||||
orientation: "horizontal",
|
||||
step: 1,
|
||||
value: 50
|
||||
};
|
||||
@ -26,18 +26,18 @@ test("max", function() {
|
||||
el.slider(options);
|
||||
ok(el.slider("option", "value") === options.value, "value option is not contained by max");
|
||||
ok(el.slider("value") === options.max, "value method is contained by max");
|
||||
el.slider('destroy');
|
||||
el.slider("destroy");
|
||||
|
||||
});
|
||||
|
||||
test("min", function() {
|
||||
expect( 2 );
|
||||
el = $('<div></div>');
|
||||
el = $("<div></div>");
|
||||
|
||||
options = {
|
||||
max: 37,
|
||||
min: 6,
|
||||
orientation: 'vertical',
|
||||
orientation: "vertical",
|
||||
step: 1,
|
||||
value: 2
|
||||
};
|
||||
@ -45,45 +45,45 @@ test("min", function() {
|
||||
el.slider(options);
|
||||
ok(el.slider("option", "value") === options.value, "value option is not contained by min");
|
||||
ok(el.slider("value") === options.min, "value method is contained by min");
|
||||
el.slider('destroy');
|
||||
el.slider("destroy");
|
||||
|
||||
});
|
||||
|
||||
test("orientation", function() {
|
||||
expect( 6 );
|
||||
el = $('#slider1');
|
||||
el = $("#slider1");
|
||||
|
||||
options = {
|
||||
max: 2,
|
||||
min: -2,
|
||||
orientation: 'vertical',
|
||||
orientation: "vertical",
|
||||
value: 1
|
||||
};
|
||||
|
||||
var percentVal = (options.value - options.min) / (options.max - options.min) * 100;
|
||||
|
||||
el.slider(options).slider("option", "orientation", "horizontal");
|
||||
ok(el.is('.ui-slider-horizontal'), "horizontal slider has class .ui-slider-horizontal");
|
||||
ok(!el.is('.ui-slider-vertical'), "horizontal slider does not have class .ui-slider-vertical");
|
||||
equal(handle()[0].style.left, percentVal + '%', "horizontal slider handle is positioned with left: %");
|
||||
ok(el.is(".ui-slider-horizontal"), "horizontal slider has class .ui-slider-horizontal");
|
||||
ok(!el.is(".ui-slider-vertical"), "horizontal slider does not have class .ui-slider-vertical");
|
||||
equal(handle()[0].style.left, percentVal + "%", "horizontal slider handle is positioned with left: %");
|
||||
|
||||
el.slider('destroy');
|
||||
el.slider("destroy");
|
||||
|
||||
options = {
|
||||
max: 2,
|
||||
min: -2,
|
||||
orientation: 'horizontal',
|
||||
orientation: "horizontal",
|
||||
value: -1
|
||||
};
|
||||
|
||||
percentVal = (options.value - options.min) / (options.max - options.min) * 100;
|
||||
|
||||
el.slider(options).slider("option", "orientation", "vertical");
|
||||
ok(el.is('.ui-slider-vertical'), "vertical slider has class .ui-slider-vertical");
|
||||
ok(!el.is('.ui-slider-horizontal'), "vertical slider does not have class .ui-slider-horizontal");
|
||||
equal(handle()[0].style.bottom, percentVal + '%', "vertical slider handle is positioned with bottom: %");
|
||||
ok(el.is(".ui-slider-vertical"), "vertical slider has class .ui-slider-vertical");
|
||||
ok(!el.is(".ui-slider-horizontal"), "vertical slider does not have class .ui-slider-horizontal");
|
||||
equal(handle()[0].style.bottom, percentVal + "%", "vertical slider handle is positioned with bottom: %");
|
||||
|
||||
el.slider('destroy');
|
||||
el.slider("destroy");
|
||||
|
||||
});
|
||||
|
||||
@ -96,7 +96,7 @@ test("orientation", function() {
|
||||
// What is returned by the value method is restricted by min (>=), max (<=), and step (even multiple)
|
||||
test("step", function() {
|
||||
expect( 9 );
|
||||
var el = $('<div></div>').slider({
|
||||
var el = $("<div></div>").slider({
|
||||
min: 0,
|
||||
value: 0,
|
||||
step: 10,
|
||||
@ -116,7 +116,7 @@ test("step", function() {
|
||||
el.slider("value", 19);
|
||||
equal( el.slider("value"), 20 );
|
||||
|
||||
el = $('<div></div>').slider({
|
||||
el = $("<div></div>").slider({
|
||||
min: 0,
|
||||
value: 0,
|
||||
step: 20,
|
||||
@ -136,7 +136,7 @@ test("step", function() {
|
||||
el.slider("option", "value", 19);
|
||||
equal( el.slider("value"), 20 );
|
||||
|
||||
el.slider('destroy');
|
||||
el.slider("destroy");
|
||||
});
|
||||
|
||||
//test("value", function() {
|
||||
|
@ -27,7 +27,6 @@
|
||||
<script src="sortable_methods.js"></script>
|
||||
<script src="sortable_options.js"></script>
|
||||
<script src="sortable_test_helpers.js"></script>
|
||||
<script src="sortable_tickets.js"></script>
|
||||
|
||||
<script src="../swarminject.js"></script>
|
||||
<style>
|
||||
|
@ -17,15 +17,15 @@ test("start", function() {
|
||||
dy: 10
|
||||
});
|
||||
|
||||
ok(hash, 'start event triggered');
|
||||
ok(hash.helper, 'UI hash includes: helper');
|
||||
ok(hash.placeholder, 'UI hash includes: placeholder');
|
||||
ok(hash.item, 'UI hash includes: item');
|
||||
ok(!hash.sender, 'UI hash does not include: sender');
|
||||
ok(hash, "start event triggered");
|
||||
ok(hash.helper, "UI hash includes: helper");
|
||||
ok(hash.placeholder, "UI hash includes: placeholder");
|
||||
ok(hash.item, "UI hash includes: item");
|
||||
ok(!hash.sender, "UI hash does not include: sender");
|
||||
|
||||
// todo: see if these events should actually have sane values in them
|
||||
ok('position' in hash, 'UI hash includes: position');
|
||||
ok('offset' in hash, 'UI hash includes: offset');
|
||||
ok("position" in hash, "UI hash includes: position");
|
||||
ok("offset" in hash, "UI hash includes: offset");
|
||||
|
||||
|
||||
});
|
||||
@ -42,13 +42,13 @@ test("sort", function() {
|
||||
dy: 10
|
||||
});
|
||||
|
||||
ok(hash, 'sort event triggered');
|
||||
ok(hash.helper, 'UI hash includes: helper');
|
||||
ok(hash.placeholder, 'UI hash includes: placeholder');
|
||||
ok(hash.position && ('top' in hash.position && 'left' in hash.position), 'UI hash includes: position');
|
||||
ok(hash.offset && (hash.offset.top && hash.offset.left), 'UI hash includes: offset');
|
||||
ok(hash.item, 'UI hash includes: item');
|
||||
ok(!hash.sender, 'UI hash does not include: sender');
|
||||
ok(hash, "sort event triggered");
|
||||
ok(hash.helper, "UI hash includes: helper");
|
||||
ok(hash.placeholder, "UI hash includes: placeholder");
|
||||
ok(hash.position && ("top" in hash.position && "left" in hash.position), "UI hash includes: position");
|
||||
ok(hash.offset && (hash.offset.top && hash.offset.left), "UI hash includes: offset");
|
||||
ok(hash.item, "UI hash includes: item");
|
||||
ok(!hash.sender, "UI hash does not include: sender");
|
||||
|
||||
});
|
||||
|
||||
@ -65,7 +65,7 @@ test("change", function() {
|
||||
dy: 1
|
||||
});
|
||||
|
||||
ok(!hash, '1px drag, change event should not be triggered');
|
||||
ok(!hash, "1px drag, change event should not be triggered");
|
||||
|
||||
$("#sortable").sortable({
|
||||
change: function( e, ui ) {
|
||||
@ -75,13 +75,13 @@ test("change", function() {
|
||||
dy: 22
|
||||
});
|
||||
|
||||
ok(hash, 'change event triggered');
|
||||
ok(hash.helper, 'UI hash includes: helper');
|
||||
ok(hash.placeholder, 'UI hash includes: placeholder');
|
||||
ok(hash.position && ('top' in hash.position && 'left' in hash.position), 'UI hash includes: position');
|
||||
ok(hash.offset && (hash.offset.top && hash.offset.left), 'UI hash includes: offset');
|
||||
ok(hash.item, 'UI hash includes: item');
|
||||
ok(!hash.sender, 'UI hash does not include: sender');
|
||||
ok(hash, "change event triggered");
|
||||
ok(hash.helper, "UI hash includes: helper");
|
||||
ok(hash.placeholder, "UI hash includes: placeholder");
|
||||
ok(hash.position && ("top" in hash.position && "left" in hash.position), "UI hash includes: position");
|
||||
ok(hash.offset && (hash.offset.top && hash.offset.left), "UI hash includes: offset");
|
||||
ok(hash.item, "UI hash includes: item");
|
||||
ok(!hash.sender, "UI hash does not include: sender");
|
||||
|
||||
});
|
||||
|
||||
@ -97,13 +97,13 @@ test("beforeStop", function() {
|
||||
dy: 20
|
||||
});
|
||||
|
||||
ok(hash, 'beforeStop event triggered');
|
||||
ok(hash.helper, 'UI hash includes: helper');
|
||||
ok(hash.placeholder, 'UI hash includes: placeholder');
|
||||
ok(hash.position && ('top' in hash.position && 'left' in hash.position), 'UI hash includes: position');
|
||||
ok(hash.offset && (hash.offset.top && hash.offset.left), 'UI hash includes: offset');
|
||||
ok(hash.item, 'UI hash includes: item');
|
||||
ok(!hash.sender, 'UI hash does not include: sender');
|
||||
ok(hash, "beforeStop event triggered");
|
||||
ok(hash.helper, "UI hash includes: helper");
|
||||
ok(hash.placeholder, "UI hash includes: placeholder");
|
||||
ok(hash.position && ("top" in hash.position && "left" in hash.position), "UI hash includes: position");
|
||||
ok(hash.offset && (hash.offset.top && hash.offset.left), "UI hash includes: offset");
|
||||
ok(hash.item, "UI hash includes: item");
|
||||
ok(!hash.sender, "UI hash does not include: sender");
|
||||
|
||||
});
|
||||
|
||||
@ -119,13 +119,13 @@ test("stop", function() {
|
||||
dy: 20
|
||||
});
|
||||
|
||||
ok(hash, 'stop event triggered');
|
||||
ok(!hash.helper, 'UI should not include: helper');
|
||||
ok(hash.placeholder, 'UI hash includes: placeholder');
|
||||
ok(hash.position && ('top' in hash.position && 'left' in hash.position), 'UI hash includes: position');
|
||||
ok(hash.offset && (hash.offset.top && hash.offset.left), 'UI hash includes: offset');
|
||||
ok(hash.item, 'UI hash includes: item');
|
||||
ok(!hash.sender, 'UI hash does not include: sender');
|
||||
ok(hash, "stop event triggered");
|
||||
ok(!hash.helper, "UI should not include: helper");
|
||||
ok(hash.placeholder, "UI hash includes: placeholder");
|
||||
ok(hash.position && ("top" in hash.position && "left" in hash.position), "UI hash includes: position");
|
||||
ok(hash.offset && (hash.offset.top && hash.offset.left), "UI hash includes: offset");
|
||||
ok(hash.item, "UI hash includes: item");
|
||||
ok(!hash.sender, "UI hash does not include: sender");
|
||||
|
||||
});
|
||||
|
||||
@ -142,7 +142,7 @@ test("update", function() {
|
||||
dy: 1
|
||||
});
|
||||
|
||||
ok(!hash, '1px drag, update event should not be triggered');
|
||||
ok(!hash, "1px drag, update event should not be triggered");
|
||||
|
||||
$("#sortable").sortable({
|
||||
update: function( e, ui ) {
|
||||
@ -152,13 +152,13 @@ test("update", function() {
|
||||
dy: 22
|
||||
});
|
||||
|
||||
ok(hash, 'update event triggered');
|
||||
ok(!hash.helper, 'UI hash should not include: helper');
|
||||
ok(hash.placeholder, 'UI hash includes: placeholder');
|
||||
ok(hash.position && ('top' in hash.position && 'left' in hash.position), 'UI hash includes: position');
|
||||
ok(hash.offset && (hash.offset.top && hash.offset.left), 'UI hash includes: offset');
|
||||
ok(hash.item, 'UI hash includes: item');
|
||||
ok(!hash.sender, 'UI hash does not include: sender');
|
||||
ok(hash, "update event triggered");
|
||||
ok(!hash.helper, "UI hash should not include: helper");
|
||||
ok(hash.placeholder, "UI hash includes: placeholder");
|
||||
ok(hash.position && ("top" in hash.position && "left" in hash.position), "UI hash includes: position");
|
||||
ok(hash.offset && (hash.offset.top && hash.offset.left), "UI hash includes: offset");
|
||||
ok(hash.item, "UI hash includes: item");
|
||||
ok(!hash.sender, "UI hash does not include: sender");
|
||||
|
||||
});
|
||||
|
||||
@ -172,21 +172,21 @@ test("#3019: Stop fires too early", function() {
|
||||
}
|
||||
});
|
||||
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, 'Dragging the sortable');
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, "Dragging the sortable");
|
||||
equal(helper, null, "helper should be false");
|
||||
|
||||
});
|
||||
|
||||
test('#4752: link event firing on sortable with connect list', function () {
|
||||
test("#4752: link event firing on sortable with connect list", function () {
|
||||
expect( 10 );
|
||||
|
||||
var fired = {},
|
||||
hasFired = function (type) { return (type in fired) && (true === fired[type]); };
|
||||
|
||||
$('#sortable').clone().attr('id', 'sortable2').insertAfter('#sortable');
|
||||
$("#sortable").clone().attr("id", "sortable2").insertAfter("#sortable");
|
||||
|
||||
$('#qunit-fixture ul').sortable({
|
||||
connectWith: '#qunit-fixture ul',
|
||||
$("#qunit-fixture ul").sortable({
|
||||
connectWith: "#qunit-fixture ul",
|
||||
change: function () {
|
||||
fired.change = true;
|
||||
},
|
||||
@ -198,29 +198,29 @@ test('#4752: link event firing on sortable with connect list', function () {
|
||||
}
|
||||
});
|
||||
|
||||
$('#qunit-fixture ul').bind('click.ui-sortable-test', function () {
|
||||
$("#qunit-fixture ul").bind("click.ui-sortable-test", function () {
|
||||
fired.click = true;
|
||||
});
|
||||
|
||||
$('#sortable li:eq(0)').simulate('click');
|
||||
ok(!hasFired('change'), 'Click only, change event should not have fired');
|
||||
ok(hasFired('click'), 'Click event should have fired');
|
||||
$("#sortable li:eq(0)").simulate("click");
|
||||
ok(!hasFired("change"), "Click only, change event should not have fired");
|
||||
ok(hasFired("click"), "Click event should have fired");
|
||||
|
||||
// Drag an item within the first list
|
||||
fired = {};
|
||||
$('#sortable li:eq(0)').simulate('drag', { dx: 0, dy: 40 });
|
||||
ok(hasFired('change'), '40px drag, change event should have fired');
|
||||
ok(!hasFired('receive'), 'Receive event should not have fired');
|
||||
ok(!hasFired('remove'), 'Remove event should not have fired');
|
||||
ok(!hasFired('click'), 'Click event should not have fired');
|
||||
$("#sortable li:eq(0)").simulate("drag", { dx: 0, dy: 40 });
|
||||
ok(hasFired("change"), "40px drag, change event should have fired");
|
||||
ok(!hasFired("receive"), "Receive event should not have fired");
|
||||
ok(!hasFired("remove"), "Remove event should not have fired");
|
||||
ok(!hasFired("click"), "Click event should not have fired");
|
||||
|
||||
// Drag an item from the first list to the second, connected list
|
||||
fired = {};
|
||||
$('#sortable li:eq(0)').simulate('drag', { dx: 0, dy: 150 });
|
||||
ok(hasFired('change'), '150px drag, change event should have fired');
|
||||
ok(hasFired('receive'), 'Receive event should have fired');
|
||||
ok(hasFired('remove'), 'Remove event should have fired');
|
||||
ok(!hasFired('click'), 'Click event should not have fired');
|
||||
$("#sortable li:eq(0)").simulate("drag", { dx: 0, dy: 150 });
|
||||
ok(hasFired("change"), "150px drag, change event should have fired");
|
||||
ok(hasFired("receive"), "Receive event should have fired");
|
||||
ok(hasFired("remove"), "Remove event should have fired");
|
||||
ok(!hasFired("click"), "Click event should not have fired");
|
||||
});
|
||||
|
||||
/*
|
||||
|
@ -8,36 +8,36 @@ module("sortable: methods");
|
||||
test("init", function() {
|
||||
expect(5);
|
||||
|
||||
$("<div></div>").appendTo('body').sortable().remove();
|
||||
ok(true, '.sortable() called on element');
|
||||
$("<div></div>").appendTo("body").sortable().remove();
|
||||
ok(true, ".sortable() called on element");
|
||||
|
||||
$([]).sortable();
|
||||
ok(true, '.sortable() called on empty collection');
|
||||
ok(true, ".sortable() called on empty collection");
|
||||
|
||||
$("<div></div>").sortable();
|
||||
ok(true, '.sortable() called on disconnected DOMElement');
|
||||
ok(true, ".sortable() called on disconnected DOMElement");
|
||||
|
||||
$("<div></div>").sortable().sortable("option", "foo");
|
||||
ok(true, 'arbitrary option getter after init');
|
||||
ok(true, "arbitrary option getter after init");
|
||||
|
||||
$("<div></div>").sortable().sortable("option", "foo", "bar");
|
||||
ok(true, 'arbitrary option setter after init');
|
||||
ok(true, "arbitrary option setter after init");
|
||||
});
|
||||
|
||||
test("destroy", function() {
|
||||
expect(4);
|
||||
$("<div></div>").appendTo('body').sortable().sortable("destroy").remove();
|
||||
ok(true, '.sortable("destroy") called on element');
|
||||
$("<div></div>").appendTo("body").sortable().sortable("destroy").remove();
|
||||
ok(true, ".sortable('destroy') called on element");
|
||||
|
||||
$([]).sortable().sortable("destroy");
|
||||
ok(true, '.sortable("destroy") called on empty collection');
|
||||
ok(true, ".sortable('destroy') called on empty collection");
|
||||
|
||||
$("<div></div>").sortable().sortable("destroy");
|
||||
ok(true, '.sortable("destroy") called on disconnected DOMElement');
|
||||
ok(true, ".sortable('destroy') called on disconnected DOMElement");
|
||||
|
||||
var expected = $('<div></div>').sortable(),
|
||||
actual = expected.sortable('destroy');
|
||||
equal(actual, expected, 'destroy is chainable');
|
||||
var expected = $("<div></div>").sortable(),
|
||||
actual = expected.sortable("destroy");
|
||||
equal(actual, expected, "destroy is chainable");
|
||||
});
|
||||
|
||||
test("enable", function() {
|
||||
@ -47,7 +47,7 @@ test("enable", function() {
|
||||
|
||||
el = $("#sortable").sortable({ disabled: true });
|
||||
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 0, '.sortable({ disabled: true })');
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 0, ".sortable({ disabled: true })");
|
||||
|
||||
el.sortable("enable");
|
||||
equal(el.sortable("option", "disabled"), false, "disabled option getter");
|
||||
@ -57,11 +57,11 @@ test("enable", function() {
|
||||
el.sortable("option", "disabled", false);
|
||||
equal(el.sortable("option", "disabled"), false, "disabled option setter");
|
||||
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, '.sortable("option", "disabled", false)');
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, ".sortable('option', 'disabled', false)");
|
||||
|
||||
expected = $('<div></div>').sortable(),
|
||||
actual = expected.sortable('enable');
|
||||
equal(actual, expected, 'enable is chainable');
|
||||
expected = $("<div></div>").sortable(),
|
||||
actual = expected.sortable("enable");
|
||||
equal(actual, expected, "enable is chainable");
|
||||
});
|
||||
|
||||
test("disable", function() {
|
||||
@ -70,23 +70,23 @@ test("disable", function() {
|
||||
var el, actual, expected;
|
||||
|
||||
el = $("#sortable").sortable({ disabled: false });
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, '.sortable({ disabled: false })');
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, ".sortable({ disabled: false })");
|
||||
|
||||
el.sortable("disable");
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 0, 'disabled.sortable getter');
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 0, "disabled.sortable getter");
|
||||
|
||||
el.sortable("destroy");
|
||||
|
||||
el.sortable({ disabled: false });
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, '.sortable({ disabled: false })');
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 2, ".sortable({ disabled: false })");
|
||||
el.sortable("option", "disabled", true);
|
||||
equal(el.sortable("option", "disabled"), true, "disabled option setter");
|
||||
ok(el.sortable("widget").is(":not(.ui-state-disabled)"), "sortable element does not get ui-state-disabled since it's an interaction");
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 0, '.sortable("option", "disabled", true)');
|
||||
TestHelpers.sortable.sort($("li", el)[0], 0, 44, 0, ".sortable('option', 'disabled', true)");
|
||||
|
||||
expected = $('<div></div>').sortable(),
|
||||
actual = expected.sortable('disable');
|
||||
equal(actual, expected, 'disable is chainable');
|
||||
expected = $("<div></div>").sortable(),
|
||||
actual = expected.sortable("disable");
|
||||
equal(actual, expected, "disable is chainable");
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
@ -5,7 +5,7 @@ var simulateKeyDownUp = TestHelpers.spinner.simulateKeyDownUp;
|
||||
module( "spinner: events" );
|
||||
|
||||
test( "start", function() {
|
||||
expect( 6 );
|
||||
expect( 10 );
|
||||
var element = $( "#spin" ).spinner();
|
||||
|
||||
function shouldStart( expectation, msg ) {
|
||||
@ -29,14 +29,14 @@ test( "start", function() {
|
||||
shouldStart( true, "button down" );
|
||||
element.spinner( "widget" ).find( ".ui-spinner-down" ).mousedown().mouseup();
|
||||
|
||||
shouldStart( false, "stepUp" );
|
||||
shouldStart( true, "stepUp" );
|
||||
element.spinner( "stepUp" );
|
||||
shouldStart( false, "stepDown" );
|
||||
shouldStart( true, "stepDown" );
|
||||
element.spinner( "stepDown" );
|
||||
|
||||
shouldStart( false, "pageUp" );
|
||||
shouldStart( true, "pageUp" );
|
||||
element.spinner( "pageUp" );
|
||||
shouldStart( false, "pageDown" );
|
||||
shouldStart( true, "pageDown" );
|
||||
element.spinner( "pageDown" );
|
||||
|
||||
shouldStart( false, "value" );
|
||||
@ -44,7 +44,7 @@ test( "start", function() {
|
||||
});
|
||||
|
||||
test( "spin", function() {
|
||||
expect( 6 );
|
||||
expect( 10 );
|
||||
var element = $( "#spin" ).spinner();
|
||||
|
||||
function shouldSpin( expectation, msg ) {
|
||||
@ -68,14 +68,14 @@ test( "spin", function() {
|
||||
shouldSpin( true, "button down" );
|
||||
element.spinner( "widget" ).find( ".ui-spinner-down" ).mousedown().mouseup();
|
||||
|
||||
shouldSpin( false, "stepUp" );
|
||||
shouldSpin( true, "stepUp" );
|
||||
element.spinner( "stepUp" );
|
||||
shouldSpin( false, "stepDown" );
|
||||
shouldSpin( true, "stepDown" );
|
||||
element.spinner( "stepDown" );
|
||||
|
||||
shouldSpin( false, "pageUp" );
|
||||
shouldSpin( true, "pageUp" );
|
||||
element.spinner( "pageUp" );
|
||||
shouldSpin( false, "pageDown" );
|
||||
shouldSpin( true, "pageDown" );
|
||||
element.spinner( "pageDown" );
|
||||
|
||||
shouldSpin( false, "value" );
|
||||
@ -83,7 +83,7 @@ test( "spin", function() {
|
||||
});
|
||||
|
||||
test( "stop", function() {
|
||||
expect( 6 );
|
||||
expect( 10 );
|
||||
var element = $( "#spin" ).spinner();
|
||||
|
||||
function shouldStop( expectation, msg ) {
|
||||
@ -107,14 +107,14 @@ test( "stop", function() {
|
||||
shouldStop( true, "button down" );
|
||||
element.spinner( "widget" ).find( ".ui-spinner-down" ).mousedown().mouseup();
|
||||
|
||||
shouldStop( false, "stepUp" );
|
||||
shouldStop( true, "stepUp" );
|
||||
element.spinner( "stepUp" );
|
||||
shouldStop( false, "stepDown" );
|
||||
shouldStop( true, "stepDown" );
|
||||
element.spinner( "stepDown" );
|
||||
|
||||
shouldStop( false, "pageUp" );
|
||||
shouldStop( true, "pageUp" );
|
||||
element.spinner( "pageUp" );
|
||||
shouldStop( false, "pageDown" );
|
||||
shouldStop( true, "pageDown" );
|
||||
element.spinner( "pageDown" );
|
||||
|
||||
shouldStop( false, "value" );
|
||||
|
@ -5,10 +5,17 @@ module( "spinner: options" );
|
||||
// culture is tested after numberFormat, since it depends on numberFormat
|
||||
|
||||
test( "icons: default ", function() {
|
||||
expect( 2 );
|
||||
var element = $( "#spin" ).val( 0 ).spinner().spinner( "widget" );
|
||||
equal( element.find( ".ui-icon:first" ).attr( "class" ), "ui-icon ui-icon-triangle-1-n" );
|
||||
equal( element.find( ".ui-icon:last" ).attr( "class" ), "ui-icon ui-icon-triangle-1-s" );
|
||||
expect( 4 );
|
||||
var element = $( "#spin" ).val( 0 ).spinner();
|
||||
equal( element.spinner( "widget" ).find( ".ui-icon:first" ).attr( "class" ), "ui-icon ui-icon-triangle-1-n" );
|
||||
equal( element.spinner( "widget" ).find( ".ui-icon:last" ).attr( "class" ), "ui-icon ui-icon-triangle-1-s" );
|
||||
|
||||
element.spinner( "option", "icons", {
|
||||
up: "ui-icon-carat-1-n",
|
||||
down: "ui-icon-carat-1-s"
|
||||
});
|
||||
equal( element.spinner( "widget" ).find( ".ui-icon:first" ).attr( "class" ), "ui-icon ui-icon-carat-1-n" );
|
||||
equal( element.spinner( "widget" ).find( ".ui-icon:last" ).attr( "class" ), "ui-icon ui-icon-carat-1-s" );
|
||||
});
|
||||
|
||||
test( "icons: custom ", function() {
|
||||
|
8
themes/base/jquery.ui.theme.css
vendored
8
themes/base/jquery.ui.theme.css
vendored
@ -393,14 +393,14 @@
|
||||
/* Overlays */
|
||||
.ui-widget-overlay {
|
||||
background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/;
|
||||
/* no space between ".3;" and "filter" because themeRoller looks back to the first space for replacement */
|
||||
opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/;
|
||||
opacity: .3/*{opacityOverlay}*/;
|
||||
filter: Alpha(Opacity=30)/*{opacityFilterOverlay}*/;
|
||||
}
|
||||
.ui-widget-shadow {
|
||||
margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/;
|
||||
padding: 8px/*{thicknessShadow}*/;
|
||||
background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/;
|
||||
/* no space between ".3;" and "filter" because themeRoller looks back to the first space for replacement */
|
||||
opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/;
|
||||
opacity: .3/*{opacityShadow}*/;
|
||||
filter: Alpha(Opacity=30)/*{opacityFilterShadow}*/;
|
||||
border-radius: 8px/*{cornerRadiusShadow}*/;
|
||||
}
|
||||
|
@ -8,6 +8,7 @@
|
||||
"latedef": true,
|
||||
"noarg": true,
|
||||
"onevar": true,
|
||||
"quotmark": "double",
|
||||
"trailing": true,
|
||||
"undef": true,
|
||||
"unused": true,
|
||||
|
8
ui/jquery.ui.core.js
vendored
8
ui/jquery.ui.core.js
vendored
@ -69,17 +69,17 @@ $.fn.extend({
|
||||
|
||||
scrollParent: function() {
|
||||
var scrollParent;
|
||||
if (($.ui.ie && (/(static|relative)/).test(this.css('position'))) || (/absolute/).test(this.css('position'))) {
|
||||
if (($.ui.ie && (/(static|relative)/).test(this.css("position"))) || (/absolute/).test(this.css("position"))) {
|
||||
scrollParent = this.parents().filter(function() {
|
||||
return (/(relative|absolute|fixed)/).test($.css(this,'position')) && (/(auto|scroll)/).test($.css(this,'overflow')+$.css(this,'overflow-y')+$.css(this,'overflow-x'));
|
||||
return (/(relative|absolute|fixed)/).test($.css(this,"position")) && (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
|
||||
}).eq(0);
|
||||
} else {
|
||||
scrollParent = this.parents().filter(function() {
|
||||
return (/(auto|scroll)/).test($.css(this,'overflow')+$.css(this,'overflow-y')+$.css(this,'overflow-x'));
|
||||
return (/(auto|scroll)/).test($.css(this,"overflow")+$.css(this,"overflow-y")+$.css(this,"overflow-x"));
|
||||
}).eq(0);
|
||||
}
|
||||
|
||||
return (/fixed/).test(this.css('position')) || !scrollParent.length ? $(document) : scrollParent;
|
||||
return (/fixed/).test(this.css("position")) || !scrollParent.length ? $(document) : scrollParent;
|
||||
},
|
||||
|
||||
zIndex: function( zIndex ) {
|
||||
|
810
ui/jquery.ui.datepicker.js
vendored
810
ui/jquery.ui.datepicker.js
vendored
File diff suppressed because it is too large
Load Diff
2
ui/jquery.ui.dialog.js
vendored
2
ui/jquery.ui.dialog.js
vendored
@ -466,7 +466,7 @@ $.widget( "ui.dialog", {
|
||||
// .ui-resizable has position: relative defined in the stylesheet
|
||||
// but dialogs have to use absolute or fixed positioning
|
||||
position = this.uiDialog.css("position"),
|
||||
resizeHandles = typeof handles === 'string' ?
|
||||
resizeHandles = typeof handles === "string" ?
|
||||
handles :
|
||||
"n,e,s,w,se,sw,ne,nw";
|
||||
|
||||
|
112
ui/jquery.ui.draggable.js
vendored
112
ui/jquery.ui.draggable.js
vendored
@ -46,8 +46,8 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
},
|
||||
_create: function() {
|
||||
|
||||
if (this.options.helper === 'original' && !(/^(?:r|a|f)/).test(this.element.css("position"))) {
|
||||
this.element[0].style.position = 'relative';
|
||||
if (this.options.helper === "original" && !(/^(?:r|a|f)/).test(this.element.css("position"))) {
|
||||
this.element[0].style.position = "relative";
|
||||
}
|
||||
if (this.options.addClasses){
|
||||
this.element.addClass("ui-draggable");
|
||||
@ -70,7 +70,7 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
var o = this.options;
|
||||
|
||||
// among others, prevent a drag on a resizable-handle
|
||||
if (this.helper || o.disabled || $(event.target).closest('.ui-resizable-handle').length > 0) {
|
||||
if (this.helper || o.disabled || $(event.target).closest(".ui-resizable-handle").length > 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -81,7 +81,7 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
}
|
||||
|
||||
$(o.iframeFix === true ? "iframe" : o.iframeFix).each(function() {
|
||||
$('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>')
|
||||
$("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>")
|
||||
.css({
|
||||
width: this.offsetWidth+"px", height: this.offsetHeight+"px",
|
||||
position: "absolute", opacity: "0.001", zIndex: 1000
|
||||
@ -144,7 +144,7 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
this.originalPageX = event.pageX;
|
||||
this.originalPageY = event.pageY;
|
||||
|
||||
//Adjust the mouse offset relative to the helper if 'cursorAt' is supplied
|
||||
//Adjust the mouse offset relative to the helper if "cursorAt" is supplied
|
||||
(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
|
||||
|
||||
//Set a containment if given in the options
|
||||
@ -186,7 +186,7 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
//Call plugins and callbacks and use the resulting position if something is returned
|
||||
if (!noPropagation) {
|
||||
var ui = this._uiHash();
|
||||
if(this._trigger('drag', event, ui) === false) {
|
||||
if(this._trigger("drag", event, ui) === false) {
|
||||
this._mouseUp({});
|
||||
return false;
|
||||
}
|
||||
@ -194,10 +194,10 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
}
|
||||
|
||||
if(!this.options.axis || this.options.axis !== "y") {
|
||||
this.helper[0].style.left = this.position.left+'px';
|
||||
this.helper[0].style.left = this.position.left+"px";
|
||||
}
|
||||
if(!this.options.axis || this.options.axis !== "x") {
|
||||
this.helper[0].style.top = this.position.top+'px';
|
||||
this.helper[0].style.top = this.position.top+"px";
|
||||
}
|
||||
if($.ui.ddmanager) {
|
||||
$.ui.ddmanager.drag(this, event);
|
||||
@ -294,10 +294,10 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
_createHelper: function(event) {
|
||||
|
||||
var o = this.options,
|
||||
helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper === 'clone' ? this.element.clone().removeAttr('id') : this.element);
|
||||
helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event])) : (o.helper === "clone" ? this.element.clone().removeAttr("id") : this.element);
|
||||
|
||||
if(!helper.parents('body').length) {
|
||||
helper.appendTo((o.appendTo === 'parent' ? this.element[0].parentNode : o.appendTo));
|
||||
if(!helper.parents("body").length) {
|
||||
helper.appendTo((o.appendTo === "parent" ? this.element[0].parentNode : o.appendTo));
|
||||
}
|
||||
|
||||
if(helper[0] !== this.element[0] && !(/(fixed|absolute)/).test(helper.css("position"))) {
|
||||
@ -309,22 +309,22 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
},
|
||||
|
||||
_adjustOffsetFromHelper: function(obj) {
|
||||
if (typeof obj === 'string') {
|
||||
obj = obj.split(' ');
|
||||
if (typeof obj === "string") {
|
||||
obj = obj.split(" ");
|
||||
}
|
||||
if ($.isArray(obj)) {
|
||||
obj = {left: +obj[0], top: +obj[1] || 0};
|
||||
}
|
||||
if ('left' in obj) {
|
||||
if ("left" in obj) {
|
||||
this.offset.click.left = obj.left + this.margins.left;
|
||||
}
|
||||
if ('right' in obj) {
|
||||
if ("right" in obj) {
|
||||
this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
|
||||
}
|
||||
if ('top' in obj) {
|
||||
if ("top" in obj) {
|
||||
this.offset.click.top = obj.top + this.margins.top;
|
||||
}
|
||||
if ('bottom' in obj) {
|
||||
if ("bottom" in obj) {
|
||||
this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
|
||||
}
|
||||
},
|
||||
@ -339,7 +339,7 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
|
||||
// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
|
||||
// the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
|
||||
if(this.cssPosition === 'absolute' && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
|
||||
if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
|
||||
po.left += this.scrollParent.scrollLeft();
|
||||
po.top += this.scrollParent.scrollTop();
|
||||
}
|
||||
@ -347,7 +347,7 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
//This needs to be actually done for all browsers, since pageX/pageY includes this information
|
||||
//Ugly IE fix
|
||||
if((this.offsetParent[0] === document.body) ||
|
||||
(this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === 'html' && $.ui.ie)) {
|
||||
(this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
|
||||
po = { top: 0, left: 0 };
|
||||
}
|
||||
|
||||
@ -393,15 +393,15 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
var over, c, ce,
|
||||
o = this.options;
|
||||
|
||||
if(o.containment === 'parent') {
|
||||
if(o.containment === "parent") {
|
||||
o.containment = this.helper[0].parentNode;
|
||||
}
|
||||
if(o.containment === 'document' || o.containment === 'window') {
|
||||
if(o.containment === "document" || o.containment === "window") {
|
||||
this.containment = [
|
||||
o.containment === 'document' ? 0 : $(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
|
||||
o.containment === 'document' ? 0 : $(window).scrollTop() - this.offset.relative.top - this.offset.parent.top,
|
||||
(o.containment === 'document' ? 0 : $(window).scrollLeft()) + $(o.containment === 'document' ? document : window).width() - this.helperProportions.width - this.margins.left,
|
||||
(o.containment === 'document' ? 0 : $(window).scrollTop()) + ($(o.containment === 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
|
||||
o.containment === "document" ? 0 : $(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
|
||||
o.containment === "document" ? 0 : $(window).scrollTop() - this.offset.relative.top - this.offset.parent.top,
|
||||
(o.containment === "document" ? 0 : $(window).scrollLeft()) + $(o.containment === "document" ? document : window).width() - this.helperProportions.width - this.margins.left,
|
||||
(o.containment === "document" ? 0 : $(window).scrollTop()) + ($(o.containment === "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
|
||||
];
|
||||
}
|
||||
|
||||
@ -413,7 +413,7 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
return;
|
||||
}
|
||||
|
||||
over = ($(ce).css("overflow") !== 'hidden');
|
||||
over = ($(ce).css("overflow") !== "hidden");
|
||||
|
||||
this.containment = [
|
||||
(parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0),
|
||||
@ -436,20 +436,20 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
}
|
||||
|
||||
var mod = d === "absolute" ? 1 : -1,
|
||||
scroll = this.cssPosition === 'absolute' && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
|
||||
scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
|
||||
|
||||
return {
|
||||
top: (
|
||||
pos.top + // The absolute mouse position
|
||||
this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
|
||||
this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border)
|
||||
( ( this.cssPosition === 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
|
||||
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
|
||||
),
|
||||
left: (
|
||||
pos.left + // The absolute mouse position
|
||||
this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
|
||||
this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border)
|
||||
( ( this.cssPosition === 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
|
||||
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
|
||||
)
|
||||
};
|
||||
|
||||
@ -459,7 +459,7 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
|
||||
var containment, co, top, left,
|
||||
o = this.options,
|
||||
scroll = this.cssPosition === 'absolute' && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
|
||||
scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
|
||||
scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName),
|
||||
pageX = event.pageX,
|
||||
pageY = event.pageY;
|
||||
@ -513,14 +513,14 @@ $.widget("ui.draggable", $.ui.mouse, {
|
||||
this.offset.click.top - // Click offset (relative to the element)
|
||||
this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent
|
||||
this.offset.parent.top + // The offsetParent's offset without borders (offset + border)
|
||||
( ( this.cssPosition === 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
|
||||
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
|
||||
),
|
||||
left: (
|
||||
pageX - // The absolute mouse position
|
||||
this.offset.click.left - // Click offset (relative to the element)
|
||||
this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent
|
||||
this.offset.parent.left + // The offsetParent's offset without borders (offset + border)
|
||||
( ( this.cssPosition === 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
|
||||
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
|
||||
)
|
||||
};
|
||||
|
||||
@ -567,7 +567,7 @@ $.ui.plugin.add("draggable", "connectToSortable", {
|
||||
uiSortable = $.extend({}, ui, { item: inst.element });
|
||||
inst.sortables = [];
|
||||
$(o.connectToSortable).each(function() {
|
||||
var sortable = $.data(this, 'ui-sortable');
|
||||
var sortable = $.data(this, "ui-sortable");
|
||||
if (sortable && !sortable.options.disabled) {
|
||||
inst.sortables.push({
|
||||
instance: sortable,
|
||||
@ -593,7 +593,7 @@ $.ui.plugin.add("draggable", "connectToSortable", {
|
||||
inst.cancelHelperRemoval = true; //Don't remove the helper in the draggable instance
|
||||
this.instance.cancelHelperRemoval = false; //Remove it in the sortable instance (so sortable plugins like revert still work)
|
||||
|
||||
//The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: 'valid/invalid'
|
||||
//The sortable revert is supported, and we have to set a temporary dropped variable on the draggable to support revert: "valid/invalid"
|
||||
if(this.shouldRevert) {
|
||||
this.instance.options.revert = true;
|
||||
}
|
||||
@ -604,8 +604,8 @@ $.ui.plugin.add("draggable", "connectToSortable", {
|
||||
this.instance.options.helper = this.instance.options._helper;
|
||||
|
||||
//If the helper has been the original item, restore properties in the sortable
|
||||
if(inst.options.helper === 'original') {
|
||||
this.instance.currentItem.css({ top: 'auto', left: 'auto' });
|
||||
if(inst.options.helper === "original") {
|
||||
this.instance.currentItem.css({ top: "auto", left: "auto" });
|
||||
}
|
||||
|
||||
} else {
|
||||
@ -655,7 +655,7 @@ $.ui.plugin.add("draggable", "connectToSortable", {
|
||||
//Now we fake the start of dragging for the sortable instance,
|
||||
//by cloning the list group item, appending it to the sortable and using it as inst.currentItem
|
||||
//We can then fire the start event of the sortable with our passed browser event, and our own helper (so it doesn't create a new one)
|
||||
this.instance.currentItem = $(that).clone().removeAttr('id').appendTo(this.instance.element).data("ui-sortable-item", true);
|
||||
this.instance.currentItem = $(that).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item", true);
|
||||
this.instance.options._helper = this.instance.options.helper; //Store helper option to later restore it
|
||||
this.instance.options.helper = function() { return ui.helper[0]; };
|
||||
|
||||
@ -695,7 +695,7 @@ $.ui.plugin.add("draggable", "connectToSortable", {
|
||||
this.instance.options.revert = false;
|
||||
|
||||
// The out event needs to be triggered independently
|
||||
this.instance._trigger('out', event, this.instance._uiHash(this.instance));
|
||||
this.instance._trigger("out", event, this.instance._uiHash(this.instance));
|
||||
|
||||
this.instance._mouseStop(event, true);
|
||||
this.instance.options.helper = this.instance.options._helper;
|
||||
@ -719,32 +719,32 @@ $.ui.plugin.add("draggable", "connectToSortable", {
|
||||
|
||||
$.ui.plugin.add("draggable", "cursor", {
|
||||
start: function() {
|
||||
var t = $('body'), o = $(this).data('ui-draggable').options;
|
||||
var t = $("body"), o = $(this).data("ui-draggable").options;
|
||||
if (t.css("cursor")) {
|
||||
o._cursor = t.css("cursor");
|
||||
}
|
||||
t.css("cursor", o.cursor);
|
||||
},
|
||||
stop: function() {
|
||||
var o = $(this).data('ui-draggable').options;
|
||||
var o = $(this).data("ui-draggable").options;
|
||||
if (o._cursor) {
|
||||
$('body').css("cursor", o._cursor);
|
||||
$("body").css("cursor", o._cursor);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$.ui.plugin.add("draggable", "opacity", {
|
||||
start: function(event, ui) {
|
||||
var t = $(ui.helper), o = $(this).data('ui-draggable').options;
|
||||
var t = $(ui.helper), o = $(this).data("ui-draggable").options;
|
||||
if(t.css("opacity")) {
|
||||
o._opacity = t.css("opacity");
|
||||
}
|
||||
t.css('opacity', o.opacity);
|
||||
t.css("opacity", o.opacity);
|
||||
},
|
||||
stop: function(event, ui) {
|
||||
var o = $(this).data('ui-draggable').options;
|
||||
var o = $(this).data("ui-draggable").options;
|
||||
if(o._opacity) {
|
||||
$(ui.helper).css('opacity', o._opacity);
|
||||
$(ui.helper).css("opacity", o._opacity);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -752,7 +752,7 @@ $.ui.plugin.add("draggable", "opacity", {
|
||||
$.ui.plugin.add("draggable", "scroll", {
|
||||
start: function() {
|
||||
var i = $(this).data("ui-draggable");
|
||||
if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== 'HTML') {
|
||||
if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") {
|
||||
i.overflowOffset = i.scrollParent.offset();
|
||||
}
|
||||
},
|
||||
@ -760,9 +760,9 @@ $.ui.plugin.add("draggable", "scroll", {
|
||||
|
||||
var i = $(this).data("ui-draggable"), o = i.options, scrolled = false;
|
||||
|
||||
if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== 'HTML') {
|
||||
if(i.scrollParent[0] !== document && i.scrollParent[0].tagName !== "HTML") {
|
||||
|
||||
if(!o.axis || o.axis !== 'x') {
|
||||
if(!o.axis || o.axis !== "x") {
|
||||
if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
|
||||
i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop + o.scrollSpeed;
|
||||
} else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity) {
|
||||
@ -770,7 +770,7 @@ $.ui.plugin.add("draggable", "scroll", {
|
||||
}
|
||||
}
|
||||
|
||||
if(!o.axis || o.axis !== 'y') {
|
||||
if(!o.axis || o.axis !== "y") {
|
||||
if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) {
|
||||
i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft + o.scrollSpeed;
|
||||
} else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity) {
|
||||
@ -780,7 +780,7 @@ $.ui.plugin.add("draggable", "scroll", {
|
||||
|
||||
} else {
|
||||
|
||||
if(!o.axis || o.axis !== 'x') {
|
||||
if(!o.axis || o.axis !== "x") {
|
||||
if(event.pageY - $(document).scrollTop() < o.scrollSensitivity) {
|
||||
scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
|
||||
} else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity) {
|
||||
@ -788,7 +788,7 @@ $.ui.plugin.add("draggable", "scroll", {
|
||||
}
|
||||
}
|
||||
|
||||
if(!o.axis || o.axis !== 'y') {
|
||||
if(!o.axis || o.axis !== "y") {
|
||||
if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity) {
|
||||
scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
|
||||
} else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity) {
|
||||
@ -813,7 +813,7 @@ $.ui.plugin.add("draggable", "snap", {
|
||||
|
||||
i.snapElements = [];
|
||||
|
||||
$(o.snap.constructor !== String ? ( o.snap.items || ':data(ui-draggable)' ) : o.snap).each(function() {
|
||||
$(o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap).each(function() {
|
||||
var $t = $(this),
|
||||
$o = $t.offset();
|
||||
if(this !== i.element[0]) {
|
||||
@ -851,7 +851,7 @@ $.ui.plugin.add("draggable", "snap", {
|
||||
continue;
|
||||
}
|
||||
|
||||
if(o.snapMode !== 'inner') {
|
||||
if(o.snapMode !== "inner") {
|
||||
ts = Math.abs(t - y2) <= d;
|
||||
bs = Math.abs(b - y1) <= d;
|
||||
ls = Math.abs(l - x2) <= d;
|
||||
@ -872,7 +872,7 @@ $.ui.plugin.add("draggable", "snap", {
|
||||
|
||||
first = (ts || bs || ls || rs);
|
||||
|
||||
if(o.snapMode !== 'outer') {
|
||||
if(o.snapMode !== "outer") {
|
||||
ts = Math.abs(t - y1) <= d;
|
||||
bs = Math.abs(b - y2) <= d;
|
||||
ls = Math.abs(l - x1) <= d;
|
||||
@ -928,12 +928,12 @@ $.ui.plugin.add("draggable", "zIndex", {
|
||||
if(t.css("zIndex")) {
|
||||
o._zIndex = t.css("zIndex");
|
||||
}
|
||||
t.css('zIndex', o.zIndex);
|
||||
t.css("zIndex", o.zIndex);
|
||||
},
|
||||
stop: function(event, ui) {
|
||||
var o = $(this).data("ui-draggable").options;
|
||||
if(o._zIndex) {
|
||||
$(ui.helper).css('zIndex', o._zIndex);
|
||||
$(ui.helper).css("zIndex", o._zIndex);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
46
ui/jquery.ui.droppable.js
vendored
46
ui/jquery.ui.droppable.js
vendored
@ -24,13 +24,13 @@ $.widget("ui.droppable", {
|
||||
version: "@VERSION",
|
||||
widgetEventPrefix: "drop",
|
||||
options: {
|
||||
accept: '*',
|
||||
accept: "*",
|
||||
activeClass: false,
|
||||
addClasses: true,
|
||||
greedy: false,
|
||||
hoverClass: false,
|
||||
scope: 'default',
|
||||
tolerance: 'intersect'
|
||||
scope: "default",
|
||||
tolerance: "intersect"
|
||||
},
|
||||
_create: function() {
|
||||
|
||||
@ -70,7 +70,7 @@ $.widget("ui.droppable", {
|
||||
|
||||
_setOption: function(key, value) {
|
||||
|
||||
if(key === 'accept') {
|
||||
if(key === "accept") {
|
||||
this.accept = $.isFunction(value) ? value : function(d) {
|
||||
return d.is(value);
|
||||
};
|
||||
@ -84,7 +84,7 @@ $.widget("ui.droppable", {
|
||||
this.element.addClass(this.options.activeClass);
|
||||
}
|
||||
if(draggable){
|
||||
this._trigger('activate', event, this.ui(draggable));
|
||||
this._trigger("activate", event, this.ui(draggable));
|
||||
}
|
||||
},
|
||||
|
||||
@ -94,7 +94,7 @@ $.widget("ui.droppable", {
|
||||
this.element.removeClass(this.options.activeClass);
|
||||
}
|
||||
if(draggable){
|
||||
this._trigger('deactivate', event, this.ui(draggable));
|
||||
this._trigger("deactivate", event, this.ui(draggable));
|
||||
}
|
||||
},
|
||||
|
||||
@ -111,7 +111,7 @@ $.widget("ui.droppable", {
|
||||
if(this.options.hoverClass) {
|
||||
this.element.addClass(this.options.hoverClass);
|
||||
}
|
||||
this._trigger('over', event, this.ui(draggable));
|
||||
this._trigger("over", event, this.ui(draggable));
|
||||
}
|
||||
|
||||
},
|
||||
@ -129,7 +129,7 @@ $.widget("ui.droppable", {
|
||||
if(this.options.hoverClass) {
|
||||
this.element.removeClass(this.options.hoverClass);
|
||||
}
|
||||
this._trigger('out', event, this.ui(draggable));
|
||||
this._trigger("out", event, this.ui(draggable));
|
||||
}
|
||||
|
||||
},
|
||||
@ -145,7 +145,7 @@ $.widget("ui.droppable", {
|
||||
}
|
||||
|
||||
this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function() {
|
||||
var inst = $.data(this, 'ui-droppable');
|
||||
var inst = $.data(this, "ui-droppable");
|
||||
if(
|
||||
inst.options.greedy &&
|
||||
!inst.options.disabled &&
|
||||
@ -165,7 +165,7 @@ $.widget("ui.droppable", {
|
||||
if(this.options.hoverClass) {
|
||||
this.element.removeClass(this.options.hoverClass);
|
||||
}
|
||||
this._trigger('drop', event, this.ui(draggable));
|
||||
this._trigger("drop", event, this.ui(draggable));
|
||||
return this.element;
|
||||
}
|
||||
|
||||
@ -197,18 +197,18 @@ $.ui.intersect = function(draggable, droppable, toleranceMode) {
|
||||
t = droppable.offset.top, b = t + droppable.proportions.height;
|
||||
|
||||
switch (toleranceMode) {
|
||||
case 'fit':
|
||||
case "fit":
|
||||
return (l <= x1 && x2 <= r && t <= y1 && y2 <= b);
|
||||
case 'intersect':
|
||||
case "intersect":
|
||||
return (l < x1 + (draggable.helperProportions.width / 2) && // Right Half
|
||||
x2 - (draggable.helperProportions.width / 2) < r && // Left Half
|
||||
t < y1 + (draggable.helperProportions.height / 2) && // Bottom Half
|
||||
y2 - (draggable.helperProportions.height / 2) < b ); // Top Half
|
||||
case 'pointer':
|
||||
case "pointer":
|
||||
draggableLeft = ((draggable.positionAbs || draggable.position.absolute).left + (draggable.clickOffset || draggable.offset.click).left);
|
||||
draggableTop = ((draggable.positionAbs || draggable.position.absolute).top + (draggable.clickOffset || draggable.offset.click).top);
|
||||
return isOverAxis( draggableTop, t, droppable.proportions.height ) && isOverAxis( draggableLeft, l, droppable.proportions.width );
|
||||
case 'touch':
|
||||
case "touch":
|
||||
return (
|
||||
(y1 >= t && y1 <= b) || // Top edge touching
|
||||
(y2 >= t && y2 <= b) || // Bottom edge touching
|
||||
@ -229,7 +229,7 @@ $.ui.intersect = function(draggable, droppable, toleranceMode) {
|
||||
*/
|
||||
$.ui.ddmanager = {
|
||||
current: null,
|
||||
droppables: { 'default': [] },
|
||||
droppables: { "default": [] },
|
||||
prepareOffsets: function(t, event) {
|
||||
|
||||
var i, j,
|
||||
@ -314,7 +314,7 @@ $.ui.ddmanager = {
|
||||
|
||||
var parentInstance, scope, parent,
|
||||
intersects = $.ui.intersect(draggable, this, this.options.tolerance),
|
||||
c = !intersects && this.isover ? 'isout' : (intersects && !this.isover ? 'isover' : null);
|
||||
c = !intersects && this.isover ? "isout" : (intersects && !this.isover ? "isover" : null);
|
||||
if(!c) {
|
||||
return;
|
||||
}
|
||||
@ -322,29 +322,29 @@ $.ui.ddmanager = {
|
||||
if (this.options.greedy) {
|
||||
// find droppable parents with same scope
|
||||
scope = this.options.scope;
|
||||
parent = this.element.parents(':data(ui-droppable)').filter(function () {
|
||||
return $.data(this, 'ui-droppable').options.scope === scope;
|
||||
parent = this.element.parents(":data(ui-droppable)").filter(function () {
|
||||
return $.data(this, "ui-droppable").options.scope === scope;
|
||||
});
|
||||
|
||||
if (parent.length) {
|
||||
parentInstance = $.data(parent[0], 'ui-droppable');
|
||||
parentInstance.greedyChild = (c === 'isover');
|
||||
parentInstance = $.data(parent[0], "ui-droppable");
|
||||
parentInstance.greedyChild = (c === "isover");
|
||||
}
|
||||
}
|
||||
|
||||
// we just moved into a greedy child
|
||||
if (parentInstance && c === 'isover') {
|
||||
if (parentInstance && c === "isover") {
|
||||
parentInstance.isover = false;
|
||||
parentInstance.isout = true;
|
||||
parentInstance._out.call(parentInstance, event);
|
||||
}
|
||||
|
||||
this[c] = true;
|
||||
this[c === 'isout' ? 'isover' : 'isout'] = false;
|
||||
this[c === "isout" ? "isover" : "isout"] = false;
|
||||
this[c === "isover" ? "_over" : "_out"].call(this, event);
|
||||
|
||||
// we just moved out of a greedy child
|
||||
if (parentInstance && c === 'isout') {
|
||||
if (parentInstance && c === "isout") {
|
||||
parentInstance.isout = false;
|
||||
parentInstance.isover = true;
|
||||
parentInstance._over.call(parentInstance, event);
|
||||
|
2
ui/jquery.ui.effect-transfer.js
vendored
2
ui/jquery.ui.effect-transfer.js
vendored
@ -28,7 +28,7 @@ $.effects.effect.transfer = function( o, done ) {
|
||||
width: target.innerWidth()
|
||||
},
|
||||
startPosition = elem.offset(),
|
||||
transfer = $( '<div class="ui-effects-transfer"></div>' )
|
||||
transfer = $( "<div class='ui-effects-transfer'></div>" )
|
||||
.appendTo( document.body )
|
||||
.addClass( o.className )
|
||||
.css({
|
||||
|
2
ui/jquery.ui.effect.js
vendored
2
ui/jquery.ui.effect.js
vendored
@ -818,7 +818,7 @@ $.effects.animateClass = function( value, duration, easing, callback ) {
|
||||
$.each( arguments, function() {
|
||||
var el = this.el;
|
||||
$.each( this.diff, function(key) {
|
||||
el.css( key, '' );
|
||||
el.css( key, "" );
|
||||
});
|
||||
});
|
||||
|
||||
|
20
ui/jquery.ui.menu.js
vendored
20
ui/jquery.ui.menu.js
vendored
@ -15,8 +15,6 @@
|
||||
*/
|
||||
(function( $, undefined ) {
|
||||
|
||||
var mouseHandled = false;
|
||||
|
||||
$.widget( "ui.menu", {
|
||||
version: "@VERSION",
|
||||
defaultElement: "<ul>",
|
||||
@ -40,6 +38,9 @@ $.widget( "ui.menu", {
|
||||
|
||||
_create: function() {
|
||||
this.activeMenu = this.element;
|
||||
// flag used to prevent firing of the click handler
|
||||
// as the event bubbles up through nested menus
|
||||
this.mouseHandled = false;
|
||||
this.element
|
||||
.uniqueId()
|
||||
.addClass( "ui-menu ui-widget ui-widget-content ui-corner-all" )
|
||||
@ -73,8 +74,8 @@ $.widget( "ui.menu", {
|
||||
},
|
||||
"click .ui-menu-item:has(a)": function( event ) {
|
||||
var target = $( event.target ).closest( ".ui-menu-item" );
|
||||
if ( !mouseHandled && target.not( ".ui-state-disabled" ).length ) {
|
||||
mouseHandled = true;
|
||||
if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) {
|
||||
this.mouseHandled = true;
|
||||
|
||||
this.select( event );
|
||||
// Open submenu on click
|
||||
@ -130,7 +131,7 @@ $.widget( "ui.menu", {
|
||||
}
|
||||
|
||||
// Reset the mouseHandled flag
|
||||
mouseHandled = false;
|
||||
this.mouseHandled = false;
|
||||
}
|
||||
});
|
||||
},
|
||||
@ -343,6 +344,15 @@ $.widget( "ui.menu", {
|
||||
}[ this.options.role ];
|
||||
},
|
||||
|
||||
_setOption: function( key, value ) {
|
||||
if ( key === "icons" ) {
|
||||
this.element.find( ".ui-menu-icon" )
|
||||
.removeClass( this.options.icons.submenu )
|
||||
.addClass( value.submenu );
|
||||
}
|
||||
this._super( key, value );
|
||||
},
|
||||
|
||||
focus: function( event, item ) {
|
||||
var nested, focused;
|
||||
this.blur( event, event && event.type === "focus" );
|
||||
|
30
ui/jquery.ui.mouse.js
vendored
30
ui/jquery.ui.mouse.js
vendored
@ -21,7 +21,7 @@ $( document ).mouseup( function() {
|
||||
$.widget("ui.mouse", {
|
||||
version: "@VERSION",
|
||||
options: {
|
||||
cancel: 'input,textarea,button,select,option',
|
||||
cancel: "input,textarea,button,select,option",
|
||||
distance: 1,
|
||||
delay: 0
|
||||
},
|
||||
@ -29,12 +29,12 @@ $.widget("ui.mouse", {
|
||||
var that = this;
|
||||
|
||||
this.element
|
||||
.bind('mousedown.'+this.widgetName, function(event) {
|
||||
.bind("mousedown."+this.widgetName, function(event) {
|
||||
return that._mouseDown(event);
|
||||
})
|
||||
.bind('click.'+this.widgetName, function(event) {
|
||||
if (true === $.data(event.target, that.widgetName + '.preventClickEvent')) {
|
||||
$.removeData(event.target, that.widgetName + '.preventClickEvent');
|
||||
.bind("click."+this.widgetName, function(event) {
|
||||
if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) {
|
||||
$.removeData(event.target, that.widgetName + ".preventClickEvent");
|
||||
event.stopImmediatePropagation();
|
||||
return false;
|
||||
}
|
||||
@ -46,11 +46,11 @@ $.widget("ui.mouse", {
|
||||
// TODO: make sure destroying one instance of mouse doesn't mess with
|
||||
// other instances of mouse
|
||||
_mouseDestroy: function() {
|
||||
this.element.unbind('.'+this.widgetName);
|
||||
this.element.unbind("."+this.widgetName);
|
||||
if ( this._mouseMoveDelegate ) {
|
||||
$(document)
|
||||
.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
|
||||
.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);
|
||||
.unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
|
||||
.unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
|
||||
}
|
||||
},
|
||||
|
||||
@ -88,8 +88,8 @@ $.widget("ui.mouse", {
|
||||
}
|
||||
|
||||
// Click event may never have fired (Gecko & Opera)
|
||||
if (true === $.data(event.target, this.widgetName + '.preventClickEvent')) {
|
||||
$.removeData(event.target, this.widgetName + '.preventClickEvent');
|
||||
if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) {
|
||||
$.removeData(event.target, this.widgetName + ".preventClickEvent");
|
||||
}
|
||||
|
||||
// these delegates are required to keep context
|
||||
@ -100,8 +100,8 @@ $.widget("ui.mouse", {
|
||||
return that._mouseUp(event);
|
||||
};
|
||||
$(document)
|
||||
.bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
|
||||
.bind('mouseup.'+this.widgetName, this._mouseUpDelegate);
|
||||
.bind("mousemove."+this.widgetName, this._mouseMoveDelegate)
|
||||
.bind("mouseup."+this.widgetName, this._mouseUpDelegate);
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
@ -131,14 +131,14 @@ $.widget("ui.mouse", {
|
||||
|
||||
_mouseUp: function(event) {
|
||||
$(document)
|
||||
.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
|
||||
.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);
|
||||
.unbind("mousemove."+this.widgetName, this._mouseMoveDelegate)
|
||||
.unbind("mouseup."+this.widgetName, this._mouseUpDelegate);
|
||||
|
||||
if (this._mouseStarted) {
|
||||
this._mouseStarted = false;
|
||||
|
||||
if (event.target === this._mouseDownEvent.target) {
|
||||
$.data(event.target, this.widgetName + '.preventClickEvent', true);
|
||||
$.data(event.target, this.widgetName + ".preventClickEvent", true);
|
||||
}
|
||||
|
||||
this._mouseStop(event);
|
||||
|
140
ui/jquery.ui.resizable.js
vendored
140
ui/jquery.ui.resizable.js
vendored
@ -57,7 +57,7 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
aspectRatio: o.aspectRatio,
|
||||
originalElement: this.element,
|
||||
_proportionallyResizeElements: [],
|
||||
_helper: o.helper || o.ghost || o.animate ? o.helper || 'ui-resizable-helper' : null
|
||||
_helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null
|
||||
});
|
||||
|
||||
//Wrap the element if it cannot hold child nodes
|
||||
@ -65,18 +65,18 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
|
||||
//Create a wrapper element and set the wrapper to the new current internal element
|
||||
this.element.wrap(
|
||||
$('<div class="ui-wrapper" style="overflow: hidden;"></div>').css({
|
||||
position: this.element.css('position'),
|
||||
$("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({
|
||||
position: this.element.css("position"),
|
||||
width: this.element.outerWidth(),
|
||||
height: this.element.outerHeight(),
|
||||
top: this.element.css('top'),
|
||||
left: this.element.css('left')
|
||||
top: this.element.css("top"),
|
||||
left: this.element.css("left")
|
||||
})
|
||||
);
|
||||
|
||||
//Overwrite the original this.element
|
||||
this.element = this.element.parent().data(
|
||||
"ui-resizable", this.element.data('ui-resizable')
|
||||
"ui-resizable", this.element.data("ui-resizable")
|
||||
);
|
||||
|
||||
this.elementIsWrapper = true;
|
||||
@ -86,25 +86,25 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
this.originalElement.css({ marginLeft: 0, marginTop: 0, marginRight: 0, marginBottom: 0});
|
||||
|
||||
//Prevent Safari textarea resize
|
||||
this.originalResizeStyle = this.originalElement.css('resize');
|
||||
this.originalElement.css('resize', 'none');
|
||||
this.originalResizeStyle = this.originalElement.css("resize");
|
||||
this.originalElement.css("resize", "none");
|
||||
|
||||
//Push the actual element to our proportionallyResize internal array
|
||||
this._proportionallyResizeElements.push(this.originalElement.css({ position: 'static', zoom: 1, display: 'block' }));
|
||||
this._proportionallyResizeElements.push(this.originalElement.css({ position: "static", zoom: 1, display: "block" }));
|
||||
|
||||
// avoid IE jump (hard set the margin)
|
||||
this.originalElement.css({ margin: this.originalElement.css('margin') });
|
||||
this.originalElement.css({ margin: this.originalElement.css("margin") });
|
||||
|
||||
// fix handlers offset
|
||||
this._proportionallyResize();
|
||||
|
||||
}
|
||||
|
||||
this.handles = o.handles || (!$('.ui-resizable-handle', this.element).length ? "e,s,se" : { n: '.ui-resizable-n', e: '.ui-resizable-e', s: '.ui-resizable-s', w: '.ui-resizable-w', se: '.ui-resizable-se', sw: '.ui-resizable-sw', ne: '.ui-resizable-ne', nw: '.ui-resizable-nw' });
|
||||
this.handles = o.handles || (!$(".ui-resizable-handle", this.element).length ? "e,s,se" : { n: ".ui-resizable-n", e: ".ui-resizable-e", s: ".ui-resizable-s", w: ".ui-resizable-w", se: ".ui-resizable-se", sw: ".ui-resizable-sw", ne: ".ui-resizable-ne", nw: ".ui-resizable-nw" });
|
||||
if(this.handles.constructor === String) {
|
||||
|
||||
if ( this.handles === 'all') {
|
||||
this.handles = 'n,e,s,w,se,sw,ne,nw';
|
||||
if ( this.handles === "all") {
|
||||
this.handles = "n,e,s,w,se,sw,ne,nw";
|
||||
}
|
||||
|
||||
n = this.handles.split(",");
|
||||
@ -113,19 +113,19 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
for(i = 0; i < n.length; i++) {
|
||||
|
||||
handle = $.trim(n[i]);
|
||||
hname = 'ui-resizable-'+handle;
|
||||
axis = $('<div class="ui-resizable-handle ' + hname + '"></div>');
|
||||
hname = "ui-resizable-"+handle;
|
||||
axis = $("<div class='ui-resizable-handle " + hname + "'></div>");
|
||||
|
||||
// Apply zIndex to all handles - see #7960
|
||||
axis.css({ zIndex: o.zIndex });
|
||||
|
||||
//TODO : What's going on here?
|
||||
if ('se' === handle) {
|
||||
axis.addClass('ui-icon ui-icon-gripsmall-diagonal-se');
|
||||
if ("se" === handle) {
|
||||
axis.addClass("ui-icon ui-icon-gripsmall-diagonal-se");
|
||||
}
|
||||
|
||||
//Insert into internal handles object and append to element
|
||||
this.handles[handle] = '.ui-resizable-'+handle;
|
||||
this.handles[handle] = ".ui-resizable-"+handle;
|
||||
this.element.append(axis);
|
||||
}
|
||||
|
||||
@ -152,10 +152,10 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
padWrapper = /sw|ne|nw|se|n|s/.test(i) ? axis.outerHeight() : axis.outerWidth();
|
||||
|
||||
//The padding type i have to apply...
|
||||
padPos = [ 'padding',
|
||||
/ne|nw|n/.test(i) ? 'Top' :
|
||||
/se|sw|s/.test(i) ? 'Bottom' :
|
||||
/^e$/.test(i) ? 'Right' : 'Left' ].join("");
|
||||
padPos = [ "padding",
|
||||
/ne|nw|n/.test(i) ? "Top" :
|
||||
/se|sw|s/.test(i) ? "Bottom" :
|
||||
/^e$/.test(i) ? "Right" : "Left" ].join("");
|
||||
|
||||
target.css(padPos, padWrapper);
|
||||
|
||||
@ -173,7 +173,7 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
//TODO: make renderAxis a prototype function
|
||||
this._renderAxis(this.element);
|
||||
|
||||
this._handles = $('.ui-resizable-handle', this.element)
|
||||
this._handles = $(".ui-resizable-handle", this.element)
|
||||
.disableSelection();
|
||||
|
||||
//Matching axis name
|
||||
@ -183,7 +183,7 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
axis = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
|
||||
}
|
||||
//Axis, default = se
|
||||
that.axis = axis && axis[1] ? axis[1] : 'se';
|
||||
that.axis = axis && axis[1] ? axis[1] : "se";
|
||||
}
|
||||
});
|
||||
|
||||
@ -222,7 +222,7 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
var wrapper,
|
||||
_destroy = function(exp) {
|
||||
$(exp).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing")
|
||||
.removeData("resizable").removeData("ui-resizable").unbind(".resizable").find('.ui-resizable-handle').remove();
|
||||
.removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove();
|
||||
};
|
||||
|
||||
//TODO: Unwrap at same DOM position
|
||||
@ -230,16 +230,16 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
_destroy(this.element);
|
||||
wrapper = this.element;
|
||||
this.originalElement.css({
|
||||
position: wrapper.css('position'),
|
||||
position: wrapper.css("position"),
|
||||
width: wrapper.outerWidth(),
|
||||
height: wrapper.outerHeight(),
|
||||
top: wrapper.css('top'),
|
||||
left: wrapper.css('left')
|
||||
top: wrapper.css("top"),
|
||||
left: wrapper.css("left")
|
||||
}).insertAfter( wrapper );
|
||||
wrapper.remove();
|
||||
}
|
||||
|
||||
this.originalElement.css('resize', this.originalResizeStyle);
|
||||
this.originalElement.css("resize", this.originalResizeStyle);
|
||||
_destroy(this.originalElement);
|
||||
|
||||
return this;
|
||||
@ -269,16 +269,16 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
this.resizing = true;
|
||||
|
||||
// bugfix for http://dev.jquery.com/ticket/1749
|
||||
if ( (/absolute/).test( el.css('position') ) ) {
|
||||
el.css({ position: 'absolute', top: el.css('top'), left: el.css('left') });
|
||||
} else if (el.is('.ui-draggable')) {
|
||||
el.css({ position: 'absolute', top: iniPos.top, left: iniPos.left });
|
||||
if ( (/absolute/).test( el.css("position") ) ) {
|
||||
el.css({ position: "absolute", top: el.css("top"), left: el.css("left") });
|
||||
} else if (el.is(".ui-draggable")) {
|
||||
el.css({ position: "absolute", top: iniPos.top, left: iniPos.left });
|
||||
}
|
||||
|
||||
this._renderProxy();
|
||||
|
||||
curleft = num(this.helper.css('left'));
|
||||
curtop = num(this.helper.css('top'));
|
||||
curleft = num(this.helper.css("left"));
|
||||
curtop = num(this.helper.css("top"));
|
||||
|
||||
if (o.containment) {
|
||||
curleft += $(o.containment).scrollLeft() || 0;
|
||||
@ -295,10 +295,10 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
this.originalMousePosition = { left: event.pageX, top: event.pageY };
|
||||
|
||||
//Aspect Ratio
|
||||
this.aspectRatio = (typeof o.aspectRatio === 'number') ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height) || 1);
|
||||
this.aspectRatio = (typeof o.aspectRatio === "number") ? o.aspectRatio : ((this.originalSize.width / this.originalSize.height) || 1);
|
||||
|
||||
cursor = $('.ui-resizable-' + this.axis).css('cursor');
|
||||
$('body').css('cursor', cursor === 'auto' ? this.axis + '-resize' : cursor);
|
||||
cursor = $(".ui-resizable-" + this.axis).css("cursor");
|
||||
$("body").css("cursor", cursor === "auto" ? this.axis + "-resize" : cursor);
|
||||
|
||||
el.addClass("ui-resizable-resizing");
|
||||
this._propagate("start", event);
|
||||
@ -360,7 +360,7 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
|
||||
// Call the user callback if the element was resized
|
||||
if ( ! $.isEmptyObject(props) ) {
|
||||
this._trigger('resize', event, this.ui());
|
||||
this._trigger("resize", event, this.ui());
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -376,12 +376,12 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
|
||||
pr = this._proportionallyResizeElements;
|
||||
ista = pr.length && (/textarea/i).test(pr[0].nodeName);
|
||||
soffseth = ista && $.ui.hasScroll(pr[0], 'left') /* TODO - jump height */ ? 0 : that.sizeDiff.height;
|
||||
soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height;
|
||||
soffsetw = ista ? 0 : that.sizeDiff.width;
|
||||
|
||||
s = { width: (that.helper.width() - soffsetw), height: (that.helper.height() - soffseth) };
|
||||
left = (parseInt(that.element.css('left'), 10) + (that.position.left - that.originalPosition.left)) || null;
|
||||
top = (parseInt(that.element.css('top'), 10) + (that.position.top - that.originalPosition.top)) || null;
|
||||
left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null;
|
||||
top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null;
|
||||
|
||||
if (!o.animate) {
|
||||
this.element.css($.extend(s, { top: top, left: left }));
|
||||
@ -395,7 +395,7 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
}
|
||||
}
|
||||
|
||||
$('body').css('cursor', 'auto');
|
||||
$("body").css("cursor", "auto");
|
||||
|
||||
this.element.removeClass("ui-resizable-resizing");
|
||||
|
||||
@ -472,11 +472,11 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
data.height = (data.width / this.aspectRatio);
|
||||
}
|
||||
|
||||
if (a === 'sw') {
|
||||
if (a === "sw") {
|
||||
data.left = cpos.left + (csize.width - data.width);
|
||||
data.top = null;
|
||||
}
|
||||
if (a === 'nw') {
|
||||
if (a === "nw") {
|
||||
data.top = cpos.top + (csize.height - data.height);
|
||||
data.left = cpos.left + (csize.width - data.width);
|
||||
}
|
||||
@ -544,8 +544,8 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
|
||||
if (!this.borderDif) {
|
||||
this.borderDif = [];
|
||||
borders = [prel.css('borderTopWidth'), prel.css('borderRightWidth'), prel.css('borderBottomWidth'), prel.css('borderLeftWidth')];
|
||||
paddings = [prel.css('paddingTop'), prel.css('paddingRight'), prel.css('paddingBottom'), prel.css('paddingLeft')];
|
||||
borders = [prel.css("borderTopWidth"), prel.css("borderRightWidth"), prel.css("borderBottomWidth"), prel.css("borderLeftWidth")];
|
||||
paddings = [prel.css("paddingTop"), prel.css("paddingRight"), prel.css("paddingBottom"), prel.css("paddingLeft")];
|
||||
|
||||
for ( j = 0; j < borders.length; j++ ) {
|
||||
this.borderDif[ j ] = ( parseInt( borders[ j ], 10 ) || 0 ) + ( parseInt( paddings[ j ], 10 ) || 0 );
|
||||
@ -568,14 +568,14 @@ $.widget("ui.resizable", $.ui.mouse, {
|
||||
|
||||
if(this._helper) {
|
||||
|
||||
this.helper = this.helper || $('<div style="overflow:hidden;"></div>');
|
||||
this.helper = this.helper || $("<div style='overflow:hidden;'></div>");
|
||||
|
||||
this.helper.addClass(this._helper).css({
|
||||
width: this.element.outerWidth() - 1,
|
||||
height: this.element.outerHeight() - 1,
|
||||
position: 'absolute',
|
||||
left: this.elementOffset.left +'px',
|
||||
top: this.elementOffset.top +'px',
|
||||
position: "absolute",
|
||||
left: this.elementOffset.left +"px",
|
||||
top: this.elementOffset.top +"px",
|
||||
zIndex: ++o.zIndex //TODO: Don't modify option
|
||||
});
|
||||
|
||||
@ -650,11 +650,11 @@ $.ui.plugin.add("resizable", "animate", {
|
||||
o = that.options,
|
||||
pr = that._proportionallyResizeElements,
|
||||
ista = pr.length && (/textarea/i).test(pr[0].nodeName),
|
||||
soffseth = ista && $.ui.hasScroll(pr[0], 'left') /* TODO - jump height */ ? 0 : that.sizeDiff.height,
|
||||
soffseth = ista && $.ui.hasScroll(pr[0], "left") /* TODO - jump height */ ? 0 : that.sizeDiff.height,
|
||||
soffsetw = ista ? 0 : that.sizeDiff.width,
|
||||
style = { width: (that.size.width - soffsetw), height: (that.size.height - soffseth) },
|
||||
left = (parseInt(that.element.css('left'), 10) + (that.position.left - that.originalPosition.left)) || null,
|
||||
top = (parseInt(that.element.css('top'), 10) + (that.position.top - that.originalPosition.top)) || null;
|
||||
left = (parseInt(that.element.css("left"), 10) + (that.position.left - that.originalPosition.left)) || null,
|
||||
top = (parseInt(that.element.css("top"), 10) + (that.position.top - that.originalPosition.top)) || null;
|
||||
|
||||
that.element.animate(
|
||||
$.extend(style, top && left ? { top: top, left: left } : {}), {
|
||||
@ -663,10 +663,10 @@ $.ui.plugin.add("resizable", "animate", {
|
||||
step: function() {
|
||||
|
||||
var data = {
|
||||
width: parseInt(that.element.css('width'), 10),
|
||||
height: parseInt(that.element.css('height'), 10),
|
||||
top: parseInt(that.element.css('top'), 10),
|
||||
left: parseInt(that.element.css('left'), 10)
|
||||
width: parseInt(that.element.css("width"), 10),
|
||||
height: parseInt(that.element.css("height"), 10),
|
||||
top: parseInt(that.element.css("top"), 10),
|
||||
left: parseInt(that.element.css("left"), 10)
|
||||
};
|
||||
|
||||
if (pr && pr.length) {
|
||||
@ -740,7 +740,7 @@ $.ui.plugin.add("resizable", "containment", {
|
||||
pRatio = that._aspectRatio || event.shiftKey,
|
||||
cop = { top:0, left:0 }, ce = that.containerElement;
|
||||
|
||||
if (ce[0] !== document && (/static/).test(ce.css('position'))) {
|
||||
if (ce[0] !== document && (/static/).test(ce.css("position"))) {
|
||||
cop = co;
|
||||
}
|
||||
|
||||
@ -767,7 +767,7 @@ $.ui.plugin.add("resizable", "containment", {
|
||||
hoset = Math.abs( (that._helper ? that.offset.top - cop.top : (that.offset.top - co.top)) + that.sizeDiff.height );
|
||||
|
||||
isParent = that.containerElement.get(0) === that.element.parent().get(0);
|
||||
isOffsetRelative = /relative|absolute/.test(that.containerElement.css('position'));
|
||||
isOffsetRelative = /relative|absolute/.test(that.containerElement.css("position"));
|
||||
|
||||
if(isParent && isOffsetRelative) {
|
||||
woset -= that.parentData.left;
|
||||
@ -799,11 +799,11 @@ $.ui.plugin.add("resizable", "containment", {
|
||||
w = helper.outerWidth() - that.sizeDiff.width,
|
||||
h = helper.outerHeight() - that.sizeDiff.height;
|
||||
|
||||
if (that._helper && !o.animate && (/relative/).test(ce.css('position'))) {
|
||||
if (that._helper && !o.animate && (/relative/).test(ce.css("position"))) {
|
||||
$(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });
|
||||
}
|
||||
|
||||
if (that._helper && !o.animate && (/static/).test(ce.css('position'))) {
|
||||
if (that._helper && !o.animate && (/static/).test(ce.css("position"))) {
|
||||
$(this).css({ left: ho.left - cop.left - co.left, width: w, height: h });
|
||||
}
|
||||
|
||||
@ -820,12 +820,12 @@ $.ui.plugin.add("resizable", "alsoResize", {
|
||||
var el = $(this);
|
||||
el.data("ui-resizable-alsoresize", {
|
||||
width: parseInt(el.width(), 10), height: parseInt(el.height(), 10),
|
||||
left: parseInt(el.css('left'), 10), top: parseInt(el.css('top'), 10)
|
||||
left: parseInt(el.css("left"), 10), top: parseInt(el.css("top"), 10)
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
if (typeof(o.alsoResize) === 'object' && !o.alsoResize.parentNode) {
|
||||
if (typeof(o.alsoResize) === "object" && !o.alsoResize.parentNode) {
|
||||
if (o.alsoResize.length) { o.alsoResize = o.alsoResize[0]; _store(o.alsoResize); }
|
||||
else { $.each(o.alsoResize, function (exp) { _store(exp); }); }
|
||||
}else{
|
||||
@ -846,7 +846,7 @@ $.ui.plugin.add("resizable", "alsoResize", {
|
||||
_alsoResize = function (exp, c) {
|
||||
$(exp).each(function() {
|
||||
var el = $(this), start = $(this).data("ui-resizable-alsoresize"), style = {},
|
||||
css = c && c.length ? c : el.parents(ui.originalElement[0]).length ? ['width', 'height'] : ['width', 'height', 'top', 'left'];
|
||||
css = c && c.length ? c : el.parents(ui.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"];
|
||||
|
||||
$.each(css, function (i, prop) {
|
||||
var sum = (start[prop]||0) + (delta[prop]||0);
|
||||
@ -859,7 +859,7 @@ $.ui.plugin.add("resizable", "alsoResize", {
|
||||
});
|
||||
};
|
||||
|
||||
if (typeof(o.alsoResize) === 'object' && !o.alsoResize.nodeType) {
|
||||
if (typeof(o.alsoResize) === "object" && !o.alsoResize.nodeType) {
|
||||
$.each(o.alsoResize, function (exp, c) { _alsoResize(exp, c); });
|
||||
}else{
|
||||
_alsoResize(o.alsoResize);
|
||||
@ -879,9 +879,9 @@ $.ui.plugin.add("resizable", "ghost", {
|
||||
|
||||
that.ghost = that.originalElement.clone();
|
||||
that.ghost
|
||||
.css({ opacity: 0.25, display: 'block', position: 'relative', height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 })
|
||||
.addClass('ui-resizable-ghost')
|
||||
.addClass(typeof o.ghost === 'string' ? o.ghost : '');
|
||||
.css({ opacity: 0.25, display: "block", position: "relative", height: cs.height, width: cs.width, margin: 0, left: 0, top: 0 })
|
||||
.addClass("ui-resizable-ghost")
|
||||
.addClass(typeof o.ghost === "string" ? o.ghost : "");
|
||||
|
||||
that.ghost.appendTo(that.helper);
|
||||
|
||||
@ -890,7 +890,7 @@ $.ui.plugin.add("resizable", "ghost", {
|
||||
resize: function(){
|
||||
var that = $(this).data("ui-resizable");
|
||||
if (that.ghost) {
|
||||
that.ghost.css({ position: 'relative', height: that.size.height, width: that.size.width });
|
||||
that.ghost.css({ position: "relative", height: that.size.height, width: that.size.width });
|
||||
}
|
||||
},
|
||||
|
||||
|
54
ui/jquery.ui.selectable.js
vendored
54
ui/jquery.ui.selectable.js
vendored
@ -18,11 +18,11 @@
|
||||
$.widget("ui.selectable", $.ui.mouse, {
|
||||
version: "@VERSION",
|
||||
options: {
|
||||
appendTo: 'body',
|
||||
appendTo: "body",
|
||||
autoRefresh: true,
|
||||
distance: 0,
|
||||
filter: '*',
|
||||
tolerance: 'touch'
|
||||
filter: "*",
|
||||
tolerance: "touch"
|
||||
},
|
||||
_create: function() {
|
||||
var selectees,
|
||||
@ -47,9 +47,9 @@ $.widget("ui.selectable", $.ui.mouse, {
|
||||
right: pos.left + $this.outerWidth(),
|
||||
bottom: pos.top + $this.outerHeight(),
|
||||
startselected: false,
|
||||
selected: $this.hasClass('ui-selected'),
|
||||
selecting: $this.hasClass('ui-selecting'),
|
||||
unselecting: $this.hasClass('ui-unselecting')
|
||||
selected: $this.hasClass("ui-selected"),
|
||||
selecting: $this.hasClass("ui-selecting"),
|
||||
unselecting: $this.hasClass("ui-unselecting")
|
||||
});
|
||||
});
|
||||
};
|
||||
@ -88,8 +88,8 @@ $.widget("ui.selectable", $.ui.mouse, {
|
||||
$(options.appendTo).append(this.helper);
|
||||
// position helper (lasso)
|
||||
this.helper.css({
|
||||
"left": event.clientX,
|
||||
"top": event.clientY,
|
||||
"left": event.pageX,
|
||||
"top": event.pageY,
|
||||
"width": 0,
|
||||
"height": 0
|
||||
});
|
||||
@ -98,13 +98,13 @@ $.widget("ui.selectable", $.ui.mouse, {
|
||||
this.refresh();
|
||||
}
|
||||
|
||||
this.selectees.filter('.ui-selected').each(function() {
|
||||
this.selectees.filter(".ui-selected").each(function() {
|
||||
var selectee = $.data(this, "selectable-item");
|
||||
selectee.startselected = true;
|
||||
if (!event.metaKey && !event.ctrlKey) {
|
||||
selectee.$element.removeClass('ui-selected');
|
||||
selectee.$element.removeClass("ui-selected");
|
||||
selectee.selected = false;
|
||||
selectee.$element.addClass('ui-unselecting');
|
||||
selectee.$element.addClass("ui-unselecting");
|
||||
selectee.unselecting = true;
|
||||
// selectable UNSELECTING callback
|
||||
that._trigger("unselecting", event, {
|
||||
@ -117,7 +117,7 @@ $.widget("ui.selectable", $.ui.mouse, {
|
||||
var doSelect,
|
||||
selectee = $.data(this, "selectable-item");
|
||||
if (selectee) {
|
||||
doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass('ui-selected');
|
||||
doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass("ui-selected");
|
||||
selectee.$element
|
||||
.removeClass(doSelect ? "ui-unselecting" : "ui-selected")
|
||||
.addClass(doSelect ? "ui-selecting" : "ui-unselecting");
|
||||
@ -169,24 +169,24 @@ $.widget("ui.selectable", $.ui.mouse, {
|
||||
return;
|
||||
}
|
||||
|
||||
if (options.tolerance === 'touch') {
|
||||
if (options.tolerance === "touch") {
|
||||
hit = ( !(selectee.left > x2 || selectee.right < x1 || selectee.top > y2 || selectee.bottom < y1) );
|
||||
} else if (options.tolerance === 'fit') {
|
||||
} else if (options.tolerance === "fit") {
|
||||
hit = (selectee.left > x1 && selectee.right < x2 && selectee.top > y1 && selectee.bottom < y2);
|
||||
}
|
||||
|
||||
if (hit) {
|
||||
// SELECT
|
||||
if (selectee.selected) {
|
||||
selectee.$element.removeClass('ui-selected');
|
||||
selectee.$element.removeClass("ui-selected");
|
||||
selectee.selected = false;
|
||||
}
|
||||
if (selectee.unselecting) {
|
||||
selectee.$element.removeClass('ui-unselecting');
|
||||
selectee.$element.removeClass("ui-unselecting");
|
||||
selectee.unselecting = false;
|
||||
}
|
||||
if (!selectee.selecting) {
|
||||
selectee.$element.addClass('ui-selecting');
|
||||
selectee.$element.addClass("ui-selecting");
|
||||
selectee.selecting = true;
|
||||
// selectable SELECTING callback
|
||||
that._trigger("selecting", event, {
|
||||
@ -197,15 +197,15 @@ $.widget("ui.selectable", $.ui.mouse, {
|
||||
// UNSELECT
|
||||
if (selectee.selecting) {
|
||||
if ((event.metaKey || event.ctrlKey) && selectee.startselected) {
|
||||
selectee.$element.removeClass('ui-selecting');
|
||||
selectee.$element.removeClass("ui-selecting");
|
||||
selectee.selecting = false;
|
||||
selectee.$element.addClass('ui-selected');
|
||||
selectee.$element.addClass("ui-selected");
|
||||
selectee.selected = true;
|
||||
} else {
|
||||
selectee.$element.removeClass('ui-selecting');
|
||||
selectee.$element.removeClass("ui-selecting");
|
||||
selectee.selecting = false;
|
||||
if (selectee.startselected) {
|
||||
selectee.$element.addClass('ui-unselecting');
|
||||
selectee.$element.addClass("ui-unselecting");
|
||||
selectee.unselecting = true;
|
||||
}
|
||||
// selectable UNSELECTING callback
|
||||
@ -216,10 +216,10 @@ $.widget("ui.selectable", $.ui.mouse, {
|
||||
}
|
||||
if (selectee.selected) {
|
||||
if (!event.metaKey && !event.ctrlKey && !selectee.startselected) {
|
||||
selectee.$element.removeClass('ui-selected');
|
||||
selectee.$element.removeClass("ui-selected");
|
||||
selectee.selected = false;
|
||||
|
||||
selectee.$element.addClass('ui-unselecting');
|
||||
selectee.$element.addClass("ui-unselecting");
|
||||
selectee.unselecting = true;
|
||||
// selectable UNSELECTING callback
|
||||
that._trigger("unselecting", event, {
|
||||
@ -238,18 +238,18 @@ $.widget("ui.selectable", $.ui.mouse, {
|
||||
|
||||
this.dragged = false;
|
||||
|
||||
$('.ui-unselecting', this.element[0]).each(function() {
|
||||
$(".ui-unselecting", this.element[0]).each(function() {
|
||||
var selectee = $.data(this, "selectable-item");
|
||||
selectee.$element.removeClass('ui-unselecting');
|
||||
selectee.$element.removeClass("ui-unselecting");
|
||||
selectee.unselecting = false;
|
||||
selectee.startselected = false;
|
||||
that._trigger("unselected", event, {
|
||||
unselected: selectee.element
|
||||
});
|
||||
});
|
||||
$('.ui-selecting', this.element[0]).each(function() {
|
||||
$(".ui-selecting", this.element[0]).each(function() {
|
||||
var selectee = $.data(this, "selectable-item");
|
||||
selectee.$element.removeClass('ui-selecting').addClass('ui-selected');
|
||||
selectee.$element.removeClass("ui-selecting").addClass("ui-selected");
|
||||
selectee.selecting = false;
|
||||
selectee.selected = true;
|
||||
selectee.startselected = true;
|
||||
|
120
ui/jquery.ui.sortable.js
vendored
120
ui/jquery.ui.sortable.js
vendored
@ -30,7 +30,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
axis: false,
|
||||
connectWith: false,
|
||||
containment: false,
|
||||
cursor: 'auto',
|
||||
cursor: "auto",
|
||||
cursorAt: false,
|
||||
dropOnEmpty: true,
|
||||
forcePlaceholderSize: false,
|
||||
@ -38,7 +38,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
grid: false,
|
||||
handle: false,
|
||||
helper: "original",
|
||||
items: '> *',
|
||||
items: "> *",
|
||||
opacity: false,
|
||||
placeholder: false,
|
||||
revert: false,
|
||||
@ -59,7 +59,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
this.refresh();
|
||||
|
||||
//Let's determine if the items are being displayed horizontally
|
||||
this.floating = this.items.length ? o.axis === 'x' || (/left|right/).test(this.items[0].item.css('float')) || (/inline|table-cell/).test(this.items[0].item.css('display')) : false;
|
||||
this.floating = this.items.length ? o.axis === "x" || (/left|right/).test(this.items[0].item.css("float")) || (/inline|table-cell/).test(this.items[0].item.css("display")) : false;
|
||||
|
||||
//Let's determine the parent's offset
|
||||
this.offset = this.element.offset();
|
||||
@ -104,7 +104,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(this.options.disabled || this.options.type === 'static') {
|
||||
if(this.options.disabled || this.options.type === "static") {
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -113,12 +113,12 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
|
||||
//Find out if the clicked node (or one of its parents) is a actual item in this.items
|
||||
$(event.target).parents().each(function() {
|
||||
if($.data(this, that.widgetName + '-item') === that) {
|
||||
if($.data(this, that.widgetName + "-item") === that) {
|
||||
currentItem = $(this);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
if($.data(event.target, that.widgetName + '-item') === that) {
|
||||
if($.data(event.target, that.widgetName + "-item") === that) {
|
||||
currentItem = $(event.target);
|
||||
}
|
||||
|
||||
@ -195,7 +195,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
this.originalPageX = event.pageX;
|
||||
this.originalPageY = event.pageY;
|
||||
|
||||
//Adjust the mouse offset relative to the helper if 'cursorAt' is supplied
|
||||
//Adjust the mouse offset relative to the helper if "cursorAt" is supplied
|
||||
(o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt));
|
||||
|
||||
//Cache the former DOM position
|
||||
@ -215,10 +215,10 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
}
|
||||
|
||||
if(o.cursor) { // cursor option
|
||||
if ($('body').css("cursor")) {
|
||||
this._storedCursor = $('body').css("cursor");
|
||||
if ($("body").css("cursor")) {
|
||||
this._storedCursor = $("body").css("cursor");
|
||||
}
|
||||
$('body').css("cursor", o.cursor);
|
||||
$("body").css("cursor", o.cursor);
|
||||
}
|
||||
|
||||
if(o.opacity) { // opacity option
|
||||
@ -236,7 +236,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
}
|
||||
|
||||
//Prepare scrolling
|
||||
if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== 'HTML') {
|
||||
if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") {
|
||||
this.overflowOffset = this.scrollParent.offset();
|
||||
}
|
||||
|
||||
@ -249,7 +249,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
}
|
||||
|
||||
|
||||
//Post 'activate' events to possible containers
|
||||
//Post "activate" events to possible containers
|
||||
if( !noActivation ) {
|
||||
for ( i = this.containers.length - 1; i >= 0; i-- ) {
|
||||
this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) );
|
||||
@ -288,7 +288,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
|
||||
//Do scrolling
|
||||
if(this.options.scroll) {
|
||||
if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== 'HTML') {
|
||||
if(this.scrollParent[0] !== document && this.scrollParent[0].tagName !== "HTML") {
|
||||
|
||||
if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) {
|
||||
this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
|
||||
@ -328,10 +328,10 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
|
||||
//Set the helper position
|
||||
if(!this.options.axis || this.options.axis !== "y") {
|
||||
this.helper[0].style.left = this.position.left+'px';
|
||||
this.helper[0].style.left = this.position.left+"px";
|
||||
}
|
||||
if(!this.options.axis || this.options.axis !== "x") {
|
||||
this.helper[0].style.top = this.position.top+'px';
|
||||
this.helper[0].style.top = this.position.top+"px";
|
||||
}
|
||||
|
||||
//Rearrange
|
||||
@ -362,7 +362,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
if (itemElement !== this.currentItem[0] &&
|
||||
this.placeholder[intersection === 1 ? "next" : "prev"]()[0] !== itemElement &&
|
||||
!$.contains(this.placeholder[0], itemElement) &&
|
||||
(this.options.type === 'semi-dynamic' ? !$.contains(this.element[0], itemElement) : true)
|
||||
(this.options.type === "semi-dynamic" ? !$.contains(this.element[0], itemElement) : true)
|
||||
) {
|
||||
|
||||
this.direction = intersection === 1 ? "down" : "up";
|
||||
@ -387,7 +387,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
}
|
||||
|
||||
//Call callbacks
|
||||
this._trigger('sort', event, this._uiHash());
|
||||
this._trigger("sort", event, this._uiHash());
|
||||
|
||||
this.lastPositionAbs = this.positionAbs;
|
||||
return false;
|
||||
@ -482,17 +482,17 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
o = o || {};
|
||||
|
||||
$(items).each(function() {
|
||||
var res = ($(o.item || this).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[\-=_](.+)/));
|
||||
var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/));
|
||||
if (res) {
|
||||
str.push((o.key || res[1]+'[]')+'='+(o.key && o.expression ? res[1] : res[2]));
|
||||
str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1] : res[2]));
|
||||
}
|
||||
});
|
||||
|
||||
if(!str.length && o.key) {
|
||||
str.push(o.key + '=');
|
||||
str.push(o.key + "=");
|
||||
}
|
||||
|
||||
return str.join('&');
|
||||
return str.join("&");
|
||||
|
||||
},
|
||||
|
||||
@ -503,7 +503,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
|
||||
o = o || {};
|
||||
|
||||
items.each(function() { ret.push($(o.item || this).attr(o.attribute || 'id') || ''); });
|
||||
items.each(function() { ret.push($(o.item || this).attr(o.attribute || "id") || ""); });
|
||||
return ret;
|
||||
|
||||
},
|
||||
@ -525,7 +525,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
|
||||
if ( this.options.tolerance === "pointer" ||
|
||||
this.options.forcePointerForContainers ||
|
||||
(this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? 'width' : 'height'] > item[this.floating ? 'width' : 'height'])
|
||||
(this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width" : "height"] > item[this.floating ? "width" : "height"])
|
||||
) {
|
||||
return isOverElement;
|
||||
} else {
|
||||
@ -540,8 +540,8 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
|
||||
_intersectsWithPointer: function(item) {
|
||||
|
||||
var isOverElementHeight = (this.options.axis === 'x') || isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),
|
||||
isOverElementWidth = (this.options.axis === 'y') || isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),
|
||||
var isOverElementHeight = (this.options.axis === "x") || isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height),
|
||||
isOverElementWidth = (this.options.axis === "y") || isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width),
|
||||
isOverElement = isOverElementHeight && isOverElementWidth,
|
||||
verticalDirection = this._getDragVerticalDirection(),
|
||||
horizontalDirection = this._getDragHorizontalDirection();
|
||||
@ -605,13 +605,13 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
for ( j = cur.length - 1; j >= 0; j--){
|
||||
inst = $.data(cur[j], this.widgetFullName);
|
||||
if(inst && inst !== this && !inst.options.disabled) {
|
||||
queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not('.ui-sortable-placeholder'), inst]);
|
||||
queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), inst]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not('.ui-sortable-placeholder'), this]);
|
||||
queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]);
|
||||
|
||||
for (i = queries.length - 1; i >= 0; i--){
|
||||
queries[i][0].each(function() {
|
||||
@ -668,7 +668,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
for (j=0, queriesLength = _queries.length; j < queriesLength; j++) {
|
||||
item = $(_queries[j]);
|
||||
|
||||
item.data(this.widgetName + '-item', targetData); // Data for target checking (mouse manager)
|
||||
item.data(this.widgetName + "-item", targetData); // Data for target checking (mouse manager)
|
||||
|
||||
items.push({
|
||||
item: item,
|
||||
@ -754,8 +754,8 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
}
|
||||
|
||||
//If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item
|
||||
if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css('paddingTop')||0, 10) - parseInt(that.currentItem.css('paddingBottom')||0, 10)); }
|
||||
if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css('paddingLeft')||0, 10) - parseInt(that.currentItem.css('paddingRight')||0, 10)); }
|
||||
if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0, 10) - parseInt(that.currentItem.css("paddingBottom")||0, 10)); }
|
||||
if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0, 10) - parseInt(that.currentItem.css("paddingRight")||0, 10)); }
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -818,8 +818,8 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
//When entering a new container, we will find the item with the least distance and append our item near it
|
||||
dist = 10000;
|
||||
itemWithLeastDistance = null;
|
||||
posProperty = this.containers[innermostIndex].floating ? 'left' : 'top';
|
||||
sizeProperty = this.containers[innermostIndex].floating ? 'width' : 'height';
|
||||
posProperty = this.containers[innermostIndex].floating ? "left" : "top";
|
||||
sizeProperty = this.containers[innermostIndex].floating ? "width" : "height";
|
||||
base = this.positionAbs[posProperty] + this.offset.click[posProperty];
|
||||
for (j = this.items.length - 1; j >= 0; j--) {
|
||||
if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) {
|
||||
@ -864,11 +864,11 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
_createHelper: function(event) {
|
||||
|
||||
var o = this.options,
|
||||
helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === 'clone' ? this.currentItem.clone() : this.currentItem);
|
||||
helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === "clone" ? this.currentItem.clone() : this.currentItem);
|
||||
|
||||
//Add the helper to the DOM if that didn't happen already
|
||||
if(!helper.parents('body').length) {
|
||||
$(o.appendTo !== 'parent' ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);
|
||||
if(!helper.parents("body").length) {
|
||||
$(o.appendTo !== "parent" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]);
|
||||
}
|
||||
|
||||
if(helper[0] === this.currentItem[0]) {
|
||||
@ -887,22 +887,22 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
},
|
||||
|
||||
_adjustOffsetFromHelper: function(obj) {
|
||||
if (typeof obj === 'string') {
|
||||
obj = obj.split(' ');
|
||||
if (typeof obj === "string") {
|
||||
obj = obj.split(" ");
|
||||
}
|
||||
if ($.isArray(obj)) {
|
||||
obj = {left: +obj[0], top: +obj[1] || 0};
|
||||
}
|
||||
if ('left' in obj) {
|
||||
if ("left" in obj) {
|
||||
this.offset.click.left = obj.left + this.margins.left;
|
||||
}
|
||||
if ('right' in obj) {
|
||||
if ("right" in obj) {
|
||||
this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
|
||||
}
|
||||
if ('top' in obj) {
|
||||
if ("top" in obj) {
|
||||
this.offset.click.top = obj.top + this.margins.top;
|
||||
}
|
||||
if ('bottom' in obj) {
|
||||
if ("bottom" in obj) {
|
||||
this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
|
||||
}
|
||||
},
|
||||
@ -918,14 +918,14 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
// 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent
|
||||
// 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that
|
||||
// the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag
|
||||
if(this.cssPosition === 'absolute' && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
|
||||
if(this.cssPosition === "absolute" && this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) {
|
||||
po.left += this.scrollParent.scrollLeft();
|
||||
po.top += this.scrollParent.scrollTop();
|
||||
}
|
||||
|
||||
// This needs to be actually done for all browsers, since pageX/pageY includes this information
|
||||
// with an ugly IE fix
|
||||
if( this.offsetParent[0] === document.body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === 'html' && $.ui.ie)) {
|
||||
if( this.offsetParent[0] === document.body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) {
|
||||
po = { top: 0, left: 0 };
|
||||
}
|
||||
|
||||
@ -968,22 +968,22 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
|
||||
var ce, co, over,
|
||||
o = this.options;
|
||||
if(o.containment === 'parent') {
|
||||
if(o.containment === "parent") {
|
||||
o.containment = this.helper[0].parentNode;
|
||||
}
|
||||
if(o.containment === 'document' || o.containment === 'window') {
|
||||
if(o.containment === "document" || o.containment === "window") {
|
||||
this.containment = [
|
||||
0 - this.offset.relative.left - this.offset.parent.left,
|
||||
0 - this.offset.relative.top - this.offset.parent.top,
|
||||
$(o.containment === 'document' ? document : window).width() - this.helperProportions.width - this.margins.left,
|
||||
($(o.containment === 'document' ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
|
||||
$(o.containment === "document" ? document : window).width() - this.helperProportions.width - this.margins.left,
|
||||
($(o.containment === "document" ? document : window).height() || document.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top
|
||||
];
|
||||
}
|
||||
|
||||
if(!(/^(document|window|parent)$/).test(o.containment)) {
|
||||
ce = $(o.containment)[0];
|
||||
co = $(o.containment).offset();
|
||||
over = ($(ce).css("overflow") !== 'hidden');
|
||||
over = ($(ce).css("overflow") !== "hidden");
|
||||
|
||||
this.containment = [
|
||||
co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left,
|
||||
@ -1001,7 +1001,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
pos = this.position;
|
||||
}
|
||||
var mod = d === "absolute" ? 1 : -1,
|
||||
scroll = this.cssPosition === 'absolute' && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
|
||||
scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent,
|
||||
scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
|
||||
|
||||
return {
|
||||
@ -1009,13 +1009,13 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
pos.top + // The absolute mouse position
|
||||
this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
|
||||
this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border)
|
||||
( ( this.cssPosition === 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
|
||||
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod)
|
||||
),
|
||||
left: (
|
||||
pos.left + // The absolute mouse position
|
||||
this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent
|
||||
this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border)
|
||||
( ( this.cssPosition === 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
|
||||
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod)
|
||||
)
|
||||
};
|
||||
|
||||
@ -1027,13 +1027,13 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
o = this.options,
|
||||
pageX = event.pageX,
|
||||
pageY = event.pageY,
|
||||
scroll = this.cssPosition === 'absolute' && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
|
||||
scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== document && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName);
|
||||
|
||||
// This is another very weird special case that only happens for relative elements:
|
||||
// 1. If the css position is relative
|
||||
// 2. and the scroll parent is the document or similar to the offset parent
|
||||
// we have to refresh the relative offset during the scroll so there are no jumps
|
||||
if(this.cssPosition === 'relative' && !(this.scrollParent[0] !== document && this.scrollParent[0] !== this.offsetParent[0])) {
|
||||
if(this.cssPosition === "relative" && !(this.scrollParent[0] !== document && this.scrollParent[0] !== this.offsetParent[0])) {
|
||||
this.offset.relative = this._getRelativeOffset();
|
||||
}
|
||||
|
||||
@ -1075,14 +1075,14 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
this.offset.click.top - // Click offset (relative to the element)
|
||||
this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent
|
||||
this.offset.parent.top + // The offsetParent's offset without borders (offset + border)
|
||||
( ( this.cssPosition === 'fixed' ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
|
||||
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ))
|
||||
),
|
||||
left: (
|
||||
pageX - // The absolute mouse position
|
||||
this.offset.click.left - // Click offset (relative to the element)
|
||||
this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent
|
||||
this.offset.parent.left + // The offsetParent's offset without borders (offset + border)
|
||||
( ( this.cssPosition === 'fixed' ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
|
||||
( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ))
|
||||
)
|
||||
};
|
||||
|
||||
@ -1090,7 +1090,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
|
||||
_rearrange: function(event, i, a, hardRefresh) {
|
||||
|
||||
a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === 'down' ? i.item[0] : i.item[0].nextSibling));
|
||||
a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === "down" ? i.item[0] : i.item[0].nextSibling));
|
||||
|
||||
//Various things done here to improve the performance:
|
||||
// 1. we create a setTimeout, that calls refreshPositions
|
||||
@ -1125,8 +1125,8 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
|
||||
if(this.helper[0] === this.currentItem[0]) {
|
||||
for(i in this._storedCSS) {
|
||||
if(this._storedCSS[i] === 'auto' || this._storedCSS[i] === 'static') {
|
||||
this._storedCSS[i] = '';
|
||||
if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static") {
|
||||
this._storedCSS[i] = "";
|
||||
}
|
||||
}
|
||||
this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
|
||||
@ -1165,13 +1165,13 @@ $.widget("ui.sortable", $.ui.mouse, {
|
||||
|
||||
//Do what was originally in plugins
|
||||
if(this._storedCursor) {
|
||||
$('body').css("cursor", this._storedCursor);
|
||||
$("body").css("cursor", this._storedCursor);
|
||||
}
|
||||
if(this._storedOpacity) {
|
||||
this.helper.css("opacity", this._storedOpacity);
|
||||
}
|
||||
if(this._storedZIndex) {
|
||||
this.helper.css("zIndex", this._storedZIndex === 'auto' ? '' : this._storedZIndex);
|
||||
this.helper.css("zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex);
|
||||
}
|
||||
|
||||
this.dragging = false;
|
||||
|
18
ui/jquery.ui.spinner.js
vendored
18
ui/jquery.ui.spinner.js
vendored
@ -368,6 +368,14 @@ $.widget( "ui.spinner", {
|
||||
value = this._parse( value );
|
||||
}
|
||||
}
|
||||
if ( key === "icons" ) {
|
||||
this.buttons.first().find( ".ui-icon" )
|
||||
.removeClass( this.options.icons.up )
|
||||
.addClass( value.up );
|
||||
this.buttons.last().find( ".ui-icon" )
|
||||
.removeClass( this.options.icons.down )
|
||||
.addClass( value.down );
|
||||
}
|
||||
|
||||
this._super( key, value );
|
||||
|
||||
@ -445,14 +453,20 @@ $.widget( "ui.spinner", {
|
||||
this._stepUp( steps );
|
||||
}),
|
||||
_stepUp: function( steps ) {
|
||||
this._spin( (steps || 1) * this.options.step );
|
||||
if ( this._start() ) {
|
||||
this._spin( (steps || 1) * this.options.step );
|
||||
this._stop();
|
||||
}
|
||||
},
|
||||
|
||||
stepDown: modifier(function( steps ) {
|
||||
this._stepDown( steps );
|
||||
}),
|
||||
_stepDown: function( steps ) {
|
||||
this._spin( (steps || 1) * -this.options.step );
|
||||
if ( this._start() ) {
|
||||
this._spin( (steps || 1) * -this.options.step );
|
||||
this._stop();
|
||||
}
|
||||
},
|
||||
|
||||
pageUp: modifier(function( pages ) {
|
||||
|
Loading…
Reference in New Issue
Block a user