added 3rd setting , hamburger mouseover

svn path=/Website/trunk/; revision=31467
This commit is contained in:
2016-11-14 15:49:03 +00:00
parent 7ce4f83347
commit 268815a221
2 changed files with 59 additions and 26 deletions

View File

@@ -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];

View File

@@ -16,7 +16,9 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
js: ["resultset_table_v2.js", "sorttable.js"]
});
var APIname = getQParam("API","");
var useHamburger = getQParam("touch","") == 1 || S("inline_actions_hamburger") || device.test(device.isTouch);
var useHamburger = S("inline_actions_hamburger");
if (getQParam("touch","") == 1 || device.test(device.isTouch))
useHamburger = 1; // Hamburger onClick
var hasInlineActions = false;
var book_id = null;
if (APIname == "REPORT")
@@ -715,7 +717,7 @@ function __rsProcessResultset(processParams) // processParams wordt blind aan al
var def = (this.actions[i].isDefault? " isdefault='1'" : "")
+ (this.actions[i].onlyMulti? " onlymulti='1'" : "")
+ (this.actions[i].isDefault || this.actions[i].onlyMulti? " style='display:none'" : "");
var disp = useHamburger ? " style='display: block;'" : "";
var disp = useHamburger != 0 ? " style='display: block;'" : "";
if (this.actions[i].multiOnce)
val = "\n<span class='ia2' " + def + " onclick='doAm(event, this, \"" + this.actions[i].action + "\")'" + disp + ">";
else