まず第一に、すでにこれに対する質問/回答があります: Dojo FloatingPane の位置を制約する http://jsfiddle.net/phusick/3vTXW/
上記を使用して可動ペインを作成しましたが、最初は機能していました。次に、オブジェクトを使用してモジュールを作成しましたが、制約が機能しなくなりました。オブジェクトをウィンドウの外に移動できます。
次のコードを別のモジュールに配置しました。
define(["dojo/_base/declare", "dojo/dnd/move", "dojox/layout/FloatingPane"], function(declare, move, FloatingPane){
return declare("dashboardFloatingPane", FloatingPane, {
constructor: function() {
this.inherited(arguments);
this.moveable = new dojo.dnd.move.boxConstrainedMoveable(
this.domNode, {
handle: this.focusNode,
constraints: {
l: 0,
t: 20,
w: 500,
h: 500
},
within: true
}
);
}
});
});
次に、ここにオブジェクトを作成します。
require(["dojo/dnd/move", "dojox/layout/FloatingPane", "dashboardFloatingPane", "dojo/domReady!"],
function(move, FloatingPane, dashboardFloatingPane) {
var widgetNode1 = dojo.byId("widget1");
var floatingPane = new dashboardFloatingPane({
title: "A floating pane",
resizable: true,
dockable: false,
style: "position:absolute;top:40px;left:40px;width:160px;height:100px;"
}, widgetNode1);
floatingPane.startup();
});
しかし、ここでも、設定されたボックスの外であっても、ペインを好きな場所に移動できます。アイデアはありますか?