mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-18 01:31:29 +00:00
upgrade dojo to 1.8.3 (refs #570)
This commit is contained in:
147
lib/dojo/dnd/move.js.uncompressed.js
Normal file
147
lib/dojo/dnd/move.js.uncompressed.js
Normal file
@@ -0,0 +1,147 @@
|
||||
define("dojo/dnd/move", [
|
||||
"../_base/declare",
|
||||
"../dom-geometry", "../dom-style",
|
||||
"./common", "./Mover", "./Moveable"
|
||||
], function(declare, domGeom, domStyle, dnd, Mover, Moveable){
|
||||
|
||||
// module:
|
||||
// dojo/dnd/move
|
||||
|
||||
/*=====
|
||||
var __constrainedMoveableArgs = declare([Moveable.__MoveableArgs], {
|
||||
// constraints: Function
|
||||
// Calculates a constraint box.
|
||||
// It is called in a context of the moveable object.
|
||||
constraints: function(){},
|
||||
|
||||
// within: Boolean
|
||||
// restrict move within boundaries.
|
||||
within: false
|
||||
});
|
||||
=====*/
|
||||
|
||||
var constrainedMoveable = declare("dojo.dnd.move.constrainedMoveable", Moveable, {
|
||||
// object attributes (for markup)
|
||||
constraints: function(){},
|
||||
within: false,
|
||||
|
||||
constructor: function(node, params){
|
||||
// summary:
|
||||
// an object that makes a node moveable
|
||||
// node: Node
|
||||
// a node (or node's id) to be moved
|
||||
// params: __constrainedMoveableArgs?
|
||||
// an optional object with additional parameters;
|
||||
// the rest is passed to the base class
|
||||
if(!params){ params = {}; }
|
||||
this.constraints = params.constraints;
|
||||
this.within = params.within;
|
||||
},
|
||||
onFirstMove: function(/*Mover*/ mover){
|
||||
// summary:
|
||||
// called during the very first move notification;
|
||||
// can be used to initialize coordinates, can be overwritten.
|
||||
var c = this.constraintBox = this.constraints.call(this, mover);
|
||||
c.r = c.l + c.w;
|
||||
c.b = c.t + c.h;
|
||||
if(this.within){
|
||||
var mb = domGeom.getMarginSize(mover.node);
|
||||
c.r -= mb.w;
|
||||
c.b -= mb.h;
|
||||
}
|
||||
},
|
||||
onMove: function(/*Mover*/ mover, /*Object*/ leftTop){
|
||||
// summary:
|
||||
// called during every move notification;
|
||||
// should actually move the node; can be overwritten.
|
||||
var c = this.constraintBox, s = mover.node.style;
|
||||
this.onMoving(mover, leftTop);
|
||||
leftTop.l = leftTop.l < c.l ? c.l : c.r < leftTop.l ? c.r : leftTop.l;
|
||||
leftTop.t = leftTop.t < c.t ? c.t : c.b < leftTop.t ? c.b : leftTop.t;
|
||||
s.left = leftTop.l + "px";
|
||||
s.top = leftTop.t + "px";
|
||||
this.onMoved(mover, leftTop);
|
||||
}
|
||||
});
|
||||
|
||||
/*=====
|
||||
var __boxConstrainedMoveableArgs = declare([__constrainedMoveableArgs], {
|
||||
// box: Object
|
||||
// a constraint box
|
||||
box: {}
|
||||
});
|
||||
=====*/
|
||||
|
||||
var boxConstrainedMoveable = declare("dojo.dnd.move.boxConstrainedMoveable", constrainedMoveable, {
|
||||
// box:
|
||||
// object attributes (for markup)
|
||||
box: {},
|
||||
|
||||
constructor: function(node, params){
|
||||
// summary:
|
||||
// an object, which makes a node moveable
|
||||
// node: Node
|
||||
// a node (or node's id) to be moved
|
||||
// params: __boxConstrainedMoveableArgs?
|
||||
// an optional object with parameters
|
||||
var box = params && params.box;
|
||||
this.constraints = function(){ return box; };
|
||||
}
|
||||
});
|
||||
|
||||
/*=====
|
||||
var __parentConstrainedMoveableArgs = declare( [__constrainedMoveableArgs], {
|
||||
// area: String
|
||||
// A parent's area to restrict the move.
|
||||
// Can be "margin", "border", "padding", or "content".
|
||||
area: ""
|
||||
});
|
||||
=====*/
|
||||
|
||||
var parentConstrainedMoveable = declare("dojo.dnd.move.parentConstrainedMoveable", constrainedMoveable, {
|
||||
// area:
|
||||
// object attributes (for markup)
|
||||
area: "content",
|
||||
|
||||
constructor: function(node, params){
|
||||
// summary:
|
||||
// an object, which makes a node moveable
|
||||
// node: Node
|
||||
// a node (or node's id) to be moved
|
||||
// params: __parentConstrainedMoveableArgs?
|
||||
// an optional object with parameters
|
||||
var area = params && params.area;
|
||||
this.constraints = function(){
|
||||
var n = this.node.parentNode,
|
||||
s = domStyle.getComputedStyle(n),
|
||||
mb = domGeom.getMarginBox(n, s);
|
||||
if(area == "margin"){
|
||||
return mb; // Object
|
||||
}
|
||||
var t = domGeom.getMarginExtents(n, s);
|
||||
mb.l += t.l, mb.t += t.t, mb.w -= t.w, mb.h -= t.h;
|
||||
if(area == "border"){
|
||||
return mb; // Object
|
||||
}
|
||||
t = domGeom.getBorderExtents(n, s);
|
||||
mb.l += t.l, mb.t += t.t, mb.w -= t.w, mb.h -= t.h;
|
||||
if(area == "padding"){
|
||||
return mb; // Object
|
||||
}
|
||||
t = domGeom.getPadExtents(n, s);
|
||||
mb.l += t.l, mb.t += t.t, mb.w -= t.w, mb.h -= t.h;
|
||||
return mb; // Object
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
return {
|
||||
// summary:
|
||||
// TODOC
|
||||
constrainedMoveable: constrainedMoveable,
|
||||
boxConstrainedMoveable: boxConstrainedMoveable,
|
||||
parentConstrainedMoveable: parentConstrainedMoveable
|
||||
};
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user