FCLT#81775 [clientside] Toggles en modules correct zetten
svn path=/Website/trunk/; revision=64542
This commit is contained in:
@@ -545,8 +545,9 @@ function removeReply(resetReplyAll)
|
||||
FcltMgr.stopPropagation();
|
||||
$(".note-textarea .reply-wrapper").remove();
|
||||
$(".note-option-group").find("[data-toggle-type], .name").removeClass("disabled");
|
||||
if (resetReplyAll)
|
||||
$("[data-toggle-subject-role='4'] > [data-toggle-type='8'].on").trigger("click");
|
||||
if (resetReplyAll) {
|
||||
$("[data-toggle-subject-role='4'] > [data-toggle-type='8']").eq(0).filter(".off").trigger("click", true); // Alleen de eerste weer aan
|
||||
}
|
||||
|
||||
var orgModule = $("#module").val();
|
||||
var orgKey = $("#" + orgModule + "_key").val();
|
||||
@@ -576,13 +577,13 @@ function noteReply(note_key, module_key, type)
|
||||
var org_module_key = $("#module_key").val(); // Dit is de module_key (opdr_ of mld_key) die hoort bij de huidige reply
|
||||
|
||||
// Oude opschonen
|
||||
removeReply(note_key > 0);
|
||||
removeReply();
|
||||
|
||||
// Nieuwe erin zetten
|
||||
if (org_module_key != module_key) // Als die niet is ingevuld, of er staat momenteel een reply bij van een andere opdracht/melding, dan wordt die overschreven
|
||||
{
|
||||
$("#module_key").val(module_key);
|
||||
$("form[name=u2]")[0].action = type + "_edit_note_save.asp?" + type + "_key=" + module_key + "¬e_key=" + org_note_key;
|
||||
// Aan deze module adresseren
|
||||
$("#module_key").val(module_key);
|
||||
$("form[name=u2]")[0].action = type + "_edit_note_save.asp?" + type + "_key=" + module_key + "¬e_key=" + org_note_key;
|
||||
if ($("#module").val() == "mld" && type === "opdr") {
|
||||
$("[data-toggle-subject-role='4']").filter("[data-opdr-key='" + module_key + "']").find("[data-toggle-type='8'].off").trigger("click", true);
|
||||
}
|
||||
|
||||
if (note_key > 0) // Ik reply op een specifieke notitie
|
||||
@@ -620,7 +621,7 @@ function noteReply(note_key, module_key, type)
|
||||
$("textarea#note").blur().focus().trigger("keyup");
|
||||
}
|
||||
|
||||
function noteToggleHandler(e) {
|
||||
function noteToggleHandler(e, firstClick) {
|
||||
const SUBJECT_ROLE = {
|
||||
0: "EXT",
|
||||
1: "FE",
|
||||
@@ -632,7 +633,7 @@ function noteToggleHandler(e) {
|
||||
e.preventDefault(); // Door het [for]-attribuut wordt anders alsnog de checkbox getoggled
|
||||
return;
|
||||
}
|
||||
var $wrapper = $(this).closest(".note-option-group"); // De toggles horende by de persoon waarvoor getoggled wordt
|
||||
var $wrapper = $(this).closest(".note-option-group"); // De toggles horende bij de persoon waarvoor getoggled wordt
|
||||
$(this).toggleClass("on off");
|
||||
var subject_role = $wrapper.attr("data-toggle-subject-role");
|
||||
var noteToggleSubject = SUBJECT_ROLE[subject_role];
|
||||
@@ -640,17 +641,18 @@ function noteToggleHandler(e) {
|
||||
var newState = $(this).hasClass("on") ? "on" : "off";
|
||||
var anySelected = $(this).siblings().addBack().filter(".on:not(.hidden)").length > 0;
|
||||
var type = parseInt($(this).attr("data-toggle-type"));
|
||||
var visible = type == 1 ? newState : $wrapper.find("[data-toggle-type=1].on").length === 1;
|
||||
$wrapper.toggleClass("anySelected", visible);
|
||||
|
||||
if (noteToggleSubject == "FE" && type == 8 && e.originalEvent && anySelected && S_mld_note_hidden_action2FE == 1) {
|
||||
// In deze uitzondering hoeven we het oogje niet mee te vinken
|
||||
} else if (noteToggleSubject != "BO" && e.originalEvent && anySelected) { // *iets* aangevinkt? Dan ook zichtbaar
|
||||
} else if (noteToggleSubject != "BO" && (e.originalEvent || firstClick) && anySelected) { // *iets* aangevinkt? Dan ook zichtbaar
|
||||
$(this).siblings("[data-toggle-type='1'].off").trigger("click");
|
||||
} else if (noteToggleSubject != "BO" && !anySelected) {
|
||||
$(this).siblings("[data-toggle-type='1'].on.hidden").trigger("click"); // *alles* uitgevinkt? Dan ook onzichtbaar
|
||||
}
|
||||
|
||||
var visible = type == 1 ? newState : $wrapper.find("[data-toggle-type=1].on").length === 1;
|
||||
$wrapper.toggleClass("anySelected", visible);
|
||||
|
||||
switch (type) {
|
||||
case 1: /* Zichtbaarheid */
|
||||
if (newState === "off") { // Als ik zichtbaarheid uitschakel ..
|
||||
@@ -692,10 +694,11 @@ function noteToggleHandler(e) {
|
||||
|
||||
if ($("#module").val() == "mld" && noteToggleSubject == "UITV")
|
||||
{ // Hier de toggle die de reactie op een opdr geeft
|
||||
if (newState == "on")
|
||||
noteReply(0, $wrapper.attr("data-opdr-key"), "OPDR");
|
||||
else
|
||||
removeReply();
|
||||
if (newState == "on" && e.originalEvent) {
|
||||
noteReply(0, $wrapper.attr("data-opdr-key"), "OPDR");
|
||||
} else {
|
||||
removeReply();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -711,7 +714,7 @@ $(function()
|
||||
// Is het niet 1 van deze? Dan is er een specifiek icoontje geklikt en hoeven we hier niets te doen
|
||||
if (e.target === e.currentTarget || $(e.target).is("span.name"))
|
||||
{ // Click het 'zichtbaarheid'-icoon aan als die zichtbaar & enabled is
|
||||
$(this).find("[data-toggle-type=1]:not(.hidden, .disabled)").trigger("click");
|
||||
$(this).find("[data-toggle-type=1]:not(.hidden, .disabled)").trigger("click", true);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user