Upgrade to rails 3.1.0
This commit is contained in:
parent
3227f40193
commit
8acdba8bdd
267 changed files with 356 additions and 9492 deletions
82
app/assets/javascripts/menu.js
Normal file
82
app/assets/javascripts/menu.js
Normal file
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* Open a menu.
|
||||
*/
|
||||
function openMenu(anchor, menu, align) {
|
||||
var offset;
|
||||
|
||||
if (align == "left") {
|
||||
offset = 0;
|
||||
} else if (align == "right") {
|
||||
offset = anchor.getWidth() - menu.getWidth();
|
||||
}
|
||||
|
||||
menu.clonePosition(anchor, {
|
||||
setLeft: true, setTop: true, setWidth: false, setHeight: false,
|
||||
offsetLeft: offset, offsetTop: anchor.getHeight()
|
||||
});
|
||||
|
||||
menu.style.display = "block";
|
||||
}
|
||||
|
||||
/*
|
||||
* Close a menu.
|
||||
*/
|
||||
function closeMenu(menu) {
|
||||
clearTimeout(menu.timer);
|
||||
menu.style.display = "none";
|
||||
}
|
||||
|
||||
/*
|
||||
* Callback called when the mouse enters a menu anchor.
|
||||
*/
|
||||
function enterMenuAnchor(event, anchor, menu, delay, align) {
|
||||
if (!anchor.hasClassName("disabled")) {
|
||||
clearTimeout(menu.timer);
|
||||
|
||||
if (delay > 0) {
|
||||
menu.timer = setTimeout(function () { openMenu(anchor, menu, align) }, delay);
|
||||
} else {
|
||||
openMenu(event, menu, align);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Callback called when the mouse leaves a menu anchor.
|
||||
*/
|
||||
function leaveMenuAnchor(event, anchor, menu) {
|
||||
var to = event.relatedTarget;
|
||||
|
||||
if (to != menu && !to.descendantOf(menu)) {
|
||||
menu.style.display = "none";
|
||||
}
|
||||
|
||||
clearTimeout(menu.timer);
|
||||
}
|
||||
|
||||
/*
|
||||
* Callback called when the mouse leaves a menu.
|
||||
*/
|
||||
function leaveMenu(event, anchor, menu) {
|
||||
var to = event.relatedTarget;
|
||||
|
||||
if (to != anchor && !to.descendantOf(menu)) {
|
||||
menu.style.display = "none";
|
||||
}
|
||||
|
||||
clearTimeout(menu.timer);
|
||||
}
|
||||
|
||||
/*
|
||||
* Setup a menu, triggered by hovering over an anchor for a given time.
|
||||
*/
|
||||
function createMenu(anchorid, menuid, delay, align) {
|
||||
var anchor = $(anchorid);
|
||||
var menu = $(menuid);
|
||||
|
||||
anchor.observe("mouseup", function (event) { closeMenu(menu) });
|
||||
anchor.observe("mouseover", function (event) { enterMenuAnchor(anchor, anchor, menu, delay, align) });
|
||||
anchor.observe("mouseout", function (event) { leaveMenuAnchor(event, anchor, menu) });
|
||||
menu.observe("mouseup", function (event) { closeMenu(menu) });
|
||||
menu.observe("mouseout", function (event) { leaveMenu(event, anchor, menu) });
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue