added 3rd setting , hamburger mouseover
svn path=/Website/trunk/; revision=31467
This commit is contained in:
@@ -16,9 +16,9 @@
|
||||
// Formulier als tekststring samenstellen en m.b.v. $(document).ready(function(){}) binnen de body zetten
|
||||
var timerID=null;
|
||||
var showingInlineDetails = false;
|
||||
var hasHamburger = null;
|
||||
// var useHamb = S("inline_actions_hamburger");
|
||||
var useHamb = null;
|
||||
var currentRowKey = null;
|
||||
window.activerow = null;
|
||||
|
||||
function delayed(delay, fn)
|
||||
{
|
||||
@@ -151,22 +151,13 @@ function loadInlineDetails(url)
|
||||
}
|
||||
|
||||
// forTouch doen we geen mouseover's. Die maken dat je veel te veel moet klikken
|
||||
function initActions(tableID, useHamb)
|
||||
function initActions(tableID, hambType)
|
||||
{
|
||||
useHamb = hambType;
|
||||
$(function () {
|
||||
$("#" + tableID)
|
||||
.on('click', '.multiselect', FcltMgr.stopPropagation);
|
||||
if (useHamb)
|
||||
{
|
||||
$(document).add(parent.document).add(parent.parent.document).click(defaultHamburgerAction);
|
||||
$("#" + tableID)
|
||||
.on('click', 'tr', defaultHamburgerAction)
|
||||
.on('click', '.hamburger', showHamburgerActions)
|
||||
.on('click', '.hamburger', FcltMgr.stopPropagation)
|
||||
.on('mouseover', 'tr', hambSetCursor);
|
||||
hasHamburger = true;
|
||||
}
|
||||
else
|
||||
if (hambType == 0) // No hamburger, just mouseOver
|
||||
{
|
||||
$("#" + tableID)
|
||||
.on('click', 'tr', defaultAction)
|
||||
@@ -175,11 +166,44 @@ function initActions(tableID, useHamb)
|
||||
$("#allactions_" + tableID +".allactions")
|
||||
.on('mouseover', function (evt) { evt.stopPropagation() } )
|
||||
.on('mouseout', function (evt) { evt.stopPropagation() } );
|
||||
hasHamburger = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$(document).add(parent.document).add(parent.parent.document).click(defaultHamburgerAction);
|
||||
$("#" + tableID)
|
||||
.on('click', 'tr', defaultHamburgerAction)
|
||||
.on('mouseover', 'tr', hambSetCursor);
|
||||
if (hambType == 1) // Hamburger onClick
|
||||
{
|
||||
$("#" + tableID)
|
||||
.on('click', '.hamburger', showHamburgerActions)
|
||||
.on('click', '.hamburger', FcltMgr.stopPropagation);
|
||||
}
|
||||
else if (hambType == 2) // Hamburger onMouseOver
|
||||
{
|
||||
$("#" + tableID)
|
||||
.on('mouseenter', '.hamburger', showHamburgerActions)
|
||||
.on('mouseleave', 'tr', hamburgerMouseOut)
|
||||
.on('mouseenter', 'tr', hamburgerMouseOut);
|
||||
$("div")
|
||||
.on('mouseleave', '.allactions', hamburgerMouseOut);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function hamburgerMouseOut(event)
|
||||
{
|
||||
var node = $(this).prop('nodeName');
|
||||
var key = this.getAttribute("ROWKEY");
|
||||
if (showingInlineDetails && (node == "DIV" || (node == "TR" && currentRowKey != key)))
|
||||
{
|
||||
showingInlineDetails = false;
|
||||
$currentActionsDiv().hide();
|
||||
}
|
||||
event.stopPropagation();
|
||||
}
|
||||
|
||||
function defaultHamburgerAction(event)
|
||||
{
|
||||
var thisTR = $(this).closest('tr')[0];
|
||||
@@ -224,10 +248,10 @@ function defaultAction(event)
|
||||
|
||||
function hideActions(event)
|
||||
{
|
||||
if ((!hasHamburger && window.activerow != this) || (hasHamburger && showingInlineDetails)) // voorkom hide als je muis boven de buttons beweegt
|
||||
if ((useHamb == 0 && window.activerow != this) || (useHamb != 0 && showingInlineDetails)) // voorkom hide als je muis boven de buttons beweegt
|
||||
{
|
||||
$currentActionsDiv().hide();
|
||||
if (hasHamburger) showingInlineDetails = false;
|
||||
if (useHamb != 0) showingInlineDetails = false;
|
||||
}
|
||||
event.stopPropagation();
|
||||
}
|
||||
@@ -237,7 +261,7 @@ function inlineHambOff()
|
||||
if (showingInlineDetails)
|
||||
{
|
||||
$currentActionsDiv().hide();
|
||||
if (hasHamburger) showingInlineDetails = false;
|
||||
if (useHamb != 0) showingInlineDetails = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -257,20 +281,22 @@ function hambSetCursor(event)
|
||||
|
||||
function showHamburgerActions(event)
|
||||
{
|
||||
var thisTR = $(this).closest('tr')[0];
|
||||
showActions.apply(thisTR, [event]);
|
||||
if (!showingInlineDetails)
|
||||
{
|
||||
var thisTR = $(this).closest('tr')[0];
|
||||
showActions.apply(thisTR, [event]);
|
||||
}
|
||||
}
|
||||
|
||||
window.activerow = null;
|
||||
function showActions(event) // event op de mouseover van resultsettable
|
||||
{
|
||||
var key = this.getAttribute("ROWKEY");
|
||||
if (!key || (hasHamburger && currentRowKey == key && showingInlineDetails))
|
||||
if (!key || (useHamb != 0 && currentRowKey == key && showingInlineDetails))
|
||||
{
|
||||
hideActions(event)
|
||||
return;
|
||||
}
|
||||
else if (hasHamburger)
|
||||
else if (useHamb != 0)
|
||||
{
|
||||
currentRowKey = key;
|
||||
showingInlineDetails = true;
|
||||
@@ -288,6 +314,8 @@ function showActions(event) // event op de mouseover van resultsettable
|
||||
var bits = String(this.getAttribute('ACTIONBITS'));
|
||||
// Zet alle actions aan die enabled zijn
|
||||
window.ww = 0;
|
||||
var actionDivHeight = 0;
|
||||
|
||||
var anyShow = false;
|
||||
$actiondiv.find("span.ia2").each(function (i)
|
||||
{
|
||||
@@ -297,6 +325,7 @@ function showActions(event) // event op de mouseover van resultsettable
|
||||
$(this).toggle(show)
|
||||
if (show)
|
||||
{
|
||||
actionDivHeight += 27; // TODO: TEMP hardcoded
|
||||
window.ww += $(this).outerWidth();
|
||||
anyShow = true;
|
||||
}
|
||||
@@ -308,8 +337,10 @@ function showActions(event) // event op de mouseover van resultsettable
|
||||
return;
|
||||
}
|
||||
|
||||
if (hasHamburger)
|
||||
if (useHamb != 0)
|
||||
{
|
||||
if (useHamb != 0)
|
||||
$actiondiv.css('height', actionDivHeight);
|
||||
$actiondiv.css('top', $(this).offset().top);
|
||||
|
||||
var hambImg = $(this).find("div.hamburger").children()[0];
|
||||
|
||||
Reference in New Issue
Block a user