mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Slider & Interactions: Add Windows 8 touch support
Fixes #9709 Fixes #9710 Closes gh-1152
This commit is contained in:
parent
1bbbcc723c
commit
28310ff55f
@ -273,4 +273,18 @@ asyncTest( "#4261: active element should blur when mousing down on a draggable",
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test( "ui-draggable-handle assigned to appropriate element", function() {
|
||||||
|
expect( 4 );
|
||||||
|
|
||||||
|
var element = $( "<div><p></p></div>" ).appendTo( "#qunit-fixture" ).draggable();
|
||||||
|
ok( element.hasClass( "ui-draggable-handle" ), "handle is element by default" );
|
||||||
|
|
||||||
|
element.draggable( "option", "handle", "p" );
|
||||||
|
ok( !element.hasClass( "ui-draggable-handle" ), "removed from element" );
|
||||||
|
ok( element.find( "p" ).hasClass( "ui-draggable-handle" ), "added to handle" );
|
||||||
|
|
||||||
|
element.draggable( "destroy" );
|
||||||
|
ok( !element.find( "p" ).hasClass( "ui-draggable-handle" ), "removed in destroy()" );
|
||||||
|
});
|
||||||
|
|
||||||
})( jQuery );
|
})( jQuery );
|
||||||
|
@ -16,4 +16,25 @@ test( "#9314: Sortable: Items cannot be dragged directly into bottom position",
|
|||||||
TestHelpers.sortable.sort( $( "li", el[ 1 ] )[ 0 ], 0, -12, 5, "Dragging the sortable into connected sortable" );
|
TestHelpers.sortable.sort( $( "li", el[ 1 ] )[ 0 ], 0, -12, 5, "Dragging the sortable into connected sortable" );
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test( "ui-sortable-handle applied to appropriate element", function() {
|
||||||
|
expect( 6 );
|
||||||
|
var item = "<li><p></p></li>",
|
||||||
|
el = $( "<ul>" + item + item + "</ul>" )
|
||||||
|
.sortable()
|
||||||
|
.appendTo( "#qunit-fixture" );
|
||||||
|
|
||||||
|
ok( el.find( "li:first" ).hasClass( "ui-sortable-handle" ), "defaults to item" );
|
||||||
|
ok( el.find( "li:last" ).hasClass( "ui-sortable-handle" ), "both items received class name" );
|
||||||
|
|
||||||
|
el.sortable( "option", "handle", "p" );
|
||||||
|
ok( !el.find( "li" ).hasClass( "ui-sortable-handle" ), "removed on change" );
|
||||||
|
ok( el.find( "p" ).hasClass( "ui-sortable-handle" ), "applied to handle" );
|
||||||
|
|
||||||
|
el.append( item ).sortable( "refresh" );
|
||||||
|
ok( el.find( "p:last" ).hasClass( "ui-sortable-handle" ), "class name applied on refresh" );
|
||||||
|
|
||||||
|
el.sortable( "destroy" );
|
||||||
|
equal( el.find( ".ui-sortable-handle" ).length, 0, "class name removed on destroy" );
|
||||||
|
});
|
||||||
|
|
||||||
})( jQuery );
|
})( jQuery );
|
||||||
|
2
themes/base/jquery.ui.base.css
vendored
2
themes/base/jquery.ui.base.css
vendored
@ -15,11 +15,13 @@
|
|||||||
@import url("jquery.ui.button.css");
|
@import url("jquery.ui.button.css");
|
||||||
@import url("jquery.ui.datepicker.css");
|
@import url("jquery.ui.datepicker.css");
|
||||||
@import url("jquery.ui.dialog.css");
|
@import url("jquery.ui.dialog.css");
|
||||||
|
@import url("jquery.ui.draggable.css");
|
||||||
@import url("jquery.ui.menu.css");
|
@import url("jquery.ui.menu.css");
|
||||||
@import url("jquery.ui.progressbar.css");
|
@import url("jquery.ui.progressbar.css");
|
||||||
@import url("jquery.ui.resizable.css");
|
@import url("jquery.ui.resizable.css");
|
||||||
@import url("jquery.ui.selectable.css");
|
@import url("jquery.ui.selectable.css");
|
||||||
@import url("jquery.ui.selectmenu.css");
|
@import url("jquery.ui.selectmenu.css");
|
||||||
|
@import url("jquery.ui.sortable.css");
|
||||||
@import url("jquery.ui.slider.css");
|
@import url("jquery.ui.slider.css");
|
||||||
@import url("jquery.ui.spinner.css");
|
@import url("jquery.ui.spinner.css");
|
||||||
@import url("jquery.ui.tabs.css");
|
@import url("jquery.ui.tabs.css");
|
||||||
|
12
themes/base/jquery.ui.draggable.css
vendored
Normal file
12
themes/base/jquery.ui.draggable.css
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/*!
|
||||||
|
* jQuery UI Draggable @VERSION
|
||||||
|
* http://jqueryui.com
|
||||||
|
*
|
||||||
|
* Copyright 2013 jQuery Foundation and other contributors
|
||||||
|
* Released under the MIT license.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*/
|
||||||
|
.ui-draggable-handle {
|
||||||
|
-ms-touch-action: none;
|
||||||
|
touch-action: none;
|
||||||
|
}
|
2
themes/base/jquery.ui.resizable.css
vendored
2
themes/base/jquery.ui.resizable.css
vendored
@ -13,6 +13,8 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
font-size: 0.1px;
|
font-size: 0.1px;
|
||||||
display: block;
|
display: block;
|
||||||
|
-ms-touch-action: none;
|
||||||
|
touch-action: none;
|
||||||
}
|
}
|
||||||
.ui-resizable-disabled .ui-resizable-handle,
|
.ui-resizable-disabled .ui-resizable-handle,
|
||||||
.ui-resizable-autohide .ui-resizable-handle {
|
.ui-resizable-autohide .ui-resizable-handle {
|
||||||
|
4
themes/base/jquery.ui.selectable.css
vendored
4
themes/base/jquery.ui.selectable.css
vendored
@ -6,6 +6,10 @@
|
|||||||
* Released under the MIT license.
|
* Released under the MIT license.
|
||||||
* http://jquery.org/license
|
* http://jquery.org/license
|
||||||
*/
|
*/
|
||||||
|
.ui-selectable {
|
||||||
|
-ms-touch-action: none;
|
||||||
|
touch-action: none;
|
||||||
|
}
|
||||||
.ui-selectable-helper {
|
.ui-selectable-helper {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
|
2
themes/base/jquery.ui.slider.css
vendored
2
themes/base/jquery.ui.slider.css
vendored
@ -18,6 +18,8 @@
|
|||||||
width: 1.2em;
|
width: 1.2em;
|
||||||
height: 1.2em;
|
height: 1.2em;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
|
-ms-touch-action: none;
|
||||||
|
touch-action: none;
|
||||||
}
|
}
|
||||||
.ui-slider .ui-slider-range {
|
.ui-slider .ui-slider-range {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
12
themes/base/jquery.ui.sortable.css
vendored
Normal file
12
themes/base/jquery.ui.sortable.css
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/*!
|
||||||
|
* jQuery UI Sortable @VERSION
|
||||||
|
* http://jqueryui.com
|
||||||
|
*
|
||||||
|
* Copyright 2013 jQuery Foundation and other contributors
|
||||||
|
* Released under the MIT license.
|
||||||
|
* http://jquery.org/license
|
||||||
|
*/
|
||||||
|
.ui-sortable-handle {
|
||||||
|
-ms-touch-action: none;
|
||||||
|
touch-action: none;
|
||||||
|
}
|
19
ui/jquery.ui.draggable.js
vendored
19
ui/jquery.ui.draggable.js
vendored
@ -60,9 +60,16 @@ $.widget("ui.draggable", $.ui.mouse, {
|
|||||||
if (this.options.disabled){
|
if (this.options.disabled){
|
||||||
this.element.addClass("ui-draggable-disabled");
|
this.element.addClass("ui-draggable-disabled");
|
||||||
}
|
}
|
||||||
|
this._setHandleClassName();
|
||||||
|
|
||||||
this._mouseInit();
|
this._mouseInit();
|
||||||
|
},
|
||||||
|
|
||||||
|
_setOption: function( key, value ) {
|
||||||
|
this._super( key, value );
|
||||||
|
if ( key === "handle" ) {
|
||||||
|
this._setHandleClassName();
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_destroy: function() {
|
_destroy: function() {
|
||||||
@ -71,6 +78,7 @@ $.widget("ui.draggable", $.ui.mouse, {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" );
|
this.element.removeClass( "ui-draggable ui-draggable-dragging ui-draggable-disabled" );
|
||||||
|
this._removeHandleClassName();
|
||||||
this._mouseDestroy();
|
this._mouseDestroy();
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -296,6 +304,17 @@ $.widget("ui.draggable", $.ui.mouse, {
|
|||||||
true;
|
true;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_setHandleClassName: function() {
|
||||||
|
this._removeHandleClassName();
|
||||||
|
$( this.options.handle || this.element ).addClass( "ui-draggable-handle" );
|
||||||
|
},
|
||||||
|
|
||||||
|
_removeHandleClassName: function() {
|
||||||
|
this.element.find( ".ui-draggable-handle" )
|
||||||
|
.addBack()
|
||||||
|
.removeClass( "ui-draggable-handle" );
|
||||||
|
},
|
||||||
|
|
||||||
_createHelper: function(event) {
|
_createHelper: function(event) {
|
||||||
|
|
||||||
var o = this.options,
|
var o = this.options,
|
||||||
|
24
ui/jquery.ui.sortable.js
vendored
24
ui/jquery.ui.sortable.js
vendored
@ -84,14 +84,35 @@ $.widget("ui.sortable", $.ui.mouse, {
|
|||||||
//Initialize mouse events for interaction
|
//Initialize mouse events for interaction
|
||||||
this._mouseInit();
|
this._mouseInit();
|
||||||
|
|
||||||
|
this._setHandleClassName();
|
||||||
|
|
||||||
//We're ready to go
|
//We're ready to go
|
||||||
this.ready = true;
|
this.ready = true;
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_setOption: function( key, value ) {
|
||||||
|
this._super( key, value );
|
||||||
|
|
||||||
|
if ( key === "handle" ) {
|
||||||
|
this._setHandleClassName();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_setHandleClassName: function() {
|
||||||
|
this.element.find( ".ui-sortable-handle" ).removeClass( "ui-sortable-handle" );
|
||||||
|
$.each( this.items, function() {
|
||||||
|
( this.instance.options.handle ?
|
||||||
|
this.item.find( this.instance.options.handle ) : this.item )
|
||||||
|
.addClass( "ui-sortable-handle" );
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
_destroy: function() {
|
_destroy: function() {
|
||||||
this.element
|
this.element
|
||||||
.removeClass("ui-sortable ui-sortable-disabled");
|
.removeClass( "ui-sortable ui-sortable-disabled" )
|
||||||
|
.find( ".ui-sortable-handle" )
|
||||||
|
.removeClass( "ui-sortable-handle" );
|
||||||
this._mouseDestroy();
|
this._mouseDestroy();
|
||||||
|
|
||||||
for ( var i = this.items.length - 1; i >= 0; i-- ) {
|
for ( var i = this.items.length - 1; i >= 0; i-- ) {
|
||||||
@ -598,6 +619,7 @@ $.widget("ui.sortable", $.ui.mouse, {
|
|||||||
|
|
||||||
refresh: function(event) {
|
refresh: function(event) {
|
||||||
this._refreshItems(event);
|
this._refreshItems(event);
|
||||||
|
this._setHandleClassName();
|
||||||
this.refreshPositions();
|
this.refreshPositions();
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user