mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-19 10:51:30 +00:00
upgrade dojo to 1.8.3 (refs #570)
This commit is contained in:
131
lib/dijit/_base/place.js.uncompressed.js
Normal file
131
lib/dijit/_base/place.js.uncompressed.js
Normal file
@@ -0,0 +1,131 @@
|
||||
define("dijit/_base/place", [
|
||||
"dojo/_base/array", // array.forEach
|
||||
"dojo/_base/lang", // lang.isArray, lang.mixin
|
||||
"dojo/window", // windowUtils.getBox
|
||||
"../place",
|
||||
"../main" // export to dijit namespace
|
||||
], function(array, lang, windowUtils, place, dijit){
|
||||
|
||||
// module:
|
||||
// dijit/_base/place
|
||||
|
||||
|
||||
var exports = {
|
||||
// summary:
|
||||
// Deprecated back compatibility module, new code should use dijit/place directly instead of using this module.
|
||||
};
|
||||
|
||||
exports.getViewport = function(){
|
||||
// summary:
|
||||
// Deprecated method to return the dimensions and scroll position of the viewable area of a browser window.
|
||||
// New code should use windowUtils.getBox()
|
||||
|
||||
return windowUtils.getBox();
|
||||
};
|
||||
|
||||
exports.placeOnScreen = place.at;
|
||||
|
||||
exports.placeOnScreenAroundElement = function(node, aroundNode, aroundCorners, layoutNode){
|
||||
// summary:
|
||||
// Like dijit.placeOnScreenAroundNode(), except it accepts an arbitrary object
|
||||
// for the "around" argument and finds a proper processor to place a node.
|
||||
// Deprecated, new code should use dijit/place.around() instead.
|
||||
|
||||
// Convert old style {"BL": "TL", "BR": "TR"} type argument
|
||||
// to style needed by dijit.place code:
|
||||
// [
|
||||
// {aroundCorner: "BL", corner: "TL" },
|
||||
// {aroundCorner: "BR", corner: "TR" }
|
||||
// ]
|
||||
var positions;
|
||||
if(lang.isArray(aroundCorners)){
|
||||
positions = aroundCorners;
|
||||
}else{
|
||||
positions = [];
|
||||
for(var key in aroundCorners){
|
||||
positions.push({aroundCorner: key, corner: aroundCorners[key]});
|
||||
}
|
||||
}
|
||||
|
||||
return place.around(node, aroundNode, positions, true, layoutNode);
|
||||
};
|
||||
|
||||
exports.placeOnScreenAroundNode = exports.placeOnScreenAroundElement;
|
||||
/*=====
|
||||
exports.placeOnScreenAroundNode = function(node, aroundNode, aroundCorners, layoutNode){
|
||||
// summary:
|
||||
// Position node adjacent or kitty-corner to aroundNode
|
||||
// such that it's fully visible in viewport.
|
||||
// Deprecated, new code should use dijit/place.around() instead.
|
||||
};
|
||||
=====*/
|
||||
|
||||
exports.placeOnScreenAroundRectangle = exports.placeOnScreenAroundElement;
|
||||
/*=====
|
||||
exports.placeOnScreenAroundRectangle = function(node, aroundRect, aroundCorners, layoutNode){
|
||||
// summary:
|
||||
// Like dijit.placeOnScreenAroundNode(), except that the "around"
|
||||
// parameter is an arbitrary rectangle on the screen (x, y, width, height)
|
||||
// instead of a dom node.
|
||||
// Deprecated, new code should use dijit/place.around() instead.
|
||||
};
|
||||
=====*/
|
||||
|
||||
exports.getPopupAroundAlignment = function(/*Array*/ position, /*Boolean*/ leftToRight){
|
||||
// summary:
|
||||
// Deprecated method, unneeded when using dijit/place directly.
|
||||
// Transforms the passed array of preferred positions into a format suitable for
|
||||
// passing as the aroundCorners argument to dijit/place.placeOnScreenAroundElement.
|
||||
// position: String[]
|
||||
// This variable controls the position of the drop down.
|
||||
// It's an array of strings with the following values:
|
||||
//
|
||||
// - before: places drop down to the left of the target node/widget, or to the right in
|
||||
// the case of RTL scripts like Hebrew and Arabic
|
||||
// - after: places drop down to the right of the target node/widget, or to the left in
|
||||
// the case of RTL scripts like Hebrew and Arabic
|
||||
// - above: drop down goes above target node
|
||||
// - below: drop down goes below target node
|
||||
//
|
||||
// The list is positions is tried, in order, until a position is found where the drop down fits
|
||||
// within the viewport.
|
||||
// leftToRight: Boolean
|
||||
// Whether the popup will be displaying in leftToRight mode.
|
||||
|
||||
var align = {};
|
||||
array.forEach(position, function(pos){
|
||||
var ltr = leftToRight;
|
||||
switch(pos){
|
||||
case "after":
|
||||
align[leftToRight ? "BR" : "BL"] = leftToRight ? "BL" : "BR";
|
||||
break;
|
||||
case "before":
|
||||
align[leftToRight ? "BL" : "BR"] = leftToRight ? "BR" : "BL";
|
||||
break;
|
||||
case "below-alt":
|
||||
ltr = !ltr;
|
||||
// fall through
|
||||
case "below":
|
||||
// first try to align left borders, next try to align right borders (or reverse for RTL mode)
|
||||
align[ltr ? "BL" : "BR"] = ltr ? "TL" : "TR";
|
||||
align[ltr ? "BR" : "BL"] = ltr ? "TR" : "TL";
|
||||
break;
|
||||
case "above-alt":
|
||||
ltr = !ltr;
|
||||
// fall through
|
||||
case "above":
|
||||
default:
|
||||
// first try to align left borders, next try to align right borders (or reverse for RTL mode)
|
||||
align[ltr ? "TL" : "TR"] = ltr ? "BL" : "BR";
|
||||
align[ltr ? "TR" : "TL"] = ltr ? "BR" : "BL";
|
||||
break;
|
||||
}
|
||||
});
|
||||
return align;
|
||||
};
|
||||
|
||||
lang.mixin(dijit, exports);
|
||||
|
||||
/*===== return exports; =====*/
|
||||
return dijit; // for back compat :-(
|
||||
});
|
||||
Reference in New Issue
Block a user