Skip to main content

Search and Top Navigation

#4737 open feature ()

Opened August 01, 2009 03:51AM UTC

Last modified February 25, 2015 03:16PM UTC

Droppable: Expose hash for each tolerance mode

Reported by: TitAn Owned by:
Priority: minor Milestone: 2.0.0
Component: ui.droppable Version: 1.7.2
Keywords: Cc:
Blocked by: Blocking:
Description

change:

$.ui.intersect is object with methods for each tolerance mode:

$.ui.intersect = function(draggable, droppable, toleranceMode) {

	if (!droppable.offset) return false;

	var x1 = (draggable.positionAbs || draggable.position.absolute).left, x2 = x1 + draggable.helperProportions.width,
		y1 = (draggable.positionAbs || draggable.position.absolute).top, y2 = y1 + draggable.helperProportions.height;
	var l = droppable.offset.left, r = l + droppable.proportions.width,
		t = droppable.offset.top, b = t + droppable.proportions.height;

	if ($.ui.intersect[toleranceMode]) {
		return $.ui.intersect[toleranceMode].call($.ui.intersect, draggable, droppable, x1, x2, y1, y2, l, r, t, b);
	} else return false;

};

$.extend($.ui.intersect, {

	fit : function(draggable, droppable, x1, x2, y1, y2, l, r, t, b) {
		return (l < x1 && x2 < r && t < y1 && y2 < b);
	},
......
}

You can add your tolerance mode:

$.extend($.ui.intersect, {
	yourToleranceModeFunction : function(draggable, droppable, x1, x2, y1, y2, l, r, t, b) {
		state = true;// or false or 'state'. if return string $.ui.ddmanager triggered event for that state: over+'state' and out+'state'
		return state;
	}
}

Changes in ui.droppable widget:

  • overState property is added instead of private properties isover and isout
  • _over and _out methods for generation of overstate events are changed
  • _changeOverState method is added
  • overState property added to ui object for possibility to check up an draggable object overstate on drop event

Changes in $.ui.ddmanager:

  • reset overState for droppable objects in drop method
  • inspect overState changes in drag method

http://elsoft.tomsk.ru/jQuery/#intersect

Attachments (1)
Change History (7)

Changed August 01, 2009 04:11AM UTC by TitAn comment:1

Changes in ui.droppable widget:

  • overState property is added instead of private properties isover and isout
  • _over and _out methods for generation of overstate events are changed
  • _changeOverState method is added
  • overState property added to ui object for possibility to check up an draggable object overstate on drop event

Changes in $.ui.ddmanager:

  • reset overState for droppable objects in drop method
  • inspect overState changes in drag method

Demo - http://elsoft.tomsk.ru/jQuery/#intersect

Changed October 06, 2009 01:05PM UTC by scottgonzalez comment:2

milestone: TBD1.8
summary: $.ui.intersect - position of draggable object over droppable objectMake $.ui.intersect use a hash for each tolerance mode

This should be done in stages. We should first clean up the internal logic of droppable, then define the tolerance modes in a hash. Once that is done, we can consider the other changes proposed in this ticket.

Changed June 26, 2012 01:22AM UTC by scottgonzalez comment:3

type: enhancementfeature

Changed October 11, 2012 02:49PM UTC by scottgonzalez comment:4

milestone: 1.9.02.0.0

Changed October 29, 2012 04:50AM UTC by mikesherov comment:5

status: newopen

Changed February 25, 2015 03:13PM UTC by scottgonzalez comment:6

summary: Make $.ui.intersect use a hash for each tolerance modeDroppable: Expose hash for each tolerance mode

Changed February 25, 2015 03:16PM UTC by scottgonzalez comment:7

#11226 is a duplicate of this ticket.