File Release Notes and Changelog
Notes:
This release contains major changes.
From now library requires more strict coding, to avoid unexpected effects.
Scripts written using prior versions could not work or work in unexpected way.
Changes:
Legend:
! attention, it's important
? not approved bug / no clear view how to fix a bug
+ added feature
% changed/bug fixed
- removed
===
% execution of dragstart.after plugins moved to onclick event
% initialization of drag moved back to 'onclick' mouse event due to Mozilla/FF bugs with document selection, input controls
and moving of cetrain nodes.
% MZ/FF behaviour fixing code is moved to fixDragInMz plugin
- code cleanup
! to receive dropped elements node SHOULD implement __onDrop handler, process onDrop or/and return 'true'.
in DDI prior to 1.5 setting dropEffect was enough to receive dropped element.
% geometry had to calc __layerX/__layerY in wrong way (used to MZ relative layer coordinates, instead of page coordinates)
+ plugin methods sorting on install to execute them in pluginGroups ascending order
(allows to disable less important plugins and plugin groups)
% handleDragEvent did not return false, if no such event handler exists
+ DDI now checks parent nodes for __onDragStart handler, if main target node would not be dragged
% __onDragEnter, __onDrag, __onDragLeave, __onDrop are executed only if dragged node set effectAllowed other than 'none'
+ __onDragEnd is called even if there was no drag (like shutdown plugin function)
+ __onDragEnd finishes drag on target node too
! all plugins implementing drag.before, dragend.before method should return definitely true or false,
because 'undefined' is threated as false and execution of __onDrag, __onDragEnter, __onDragOver, __onDragLeave, __onDrop
will be blocked
+ geometry calculates mouse position over layer
+ geometry stores layer offsets as el.__offsetX, el.__offsetY and mouse pointer position as el.__layerX, el.__layerY
+ plugin could block execution of lower-order plugin groups
+ plugin groups: DDI_CORE, DDI_SYSYEM, DDI_VISUAL
+ plugin could block execution of __onDrag, __onDragEnter, __onDragOver, __onDragLeave
by returning false from drag.before handler
+ plugin could block execution of __onDrop by returning false from dragend.before handler
% updated bugfix with position:static, instead of position:absolute, position:relative is used,
safe for table-cell elements