diff --git a/APPL/Localscripts/FcltMgr.js b/APPL/Localscripts/FcltMgr.js index 0fa1b35246..e0f666e0ee 100644 --- a/APPL/Localscripts/FcltMgr.js +++ b/APPL/Localscripts/FcltMgr.js @@ -138,12 +138,18 @@ var FcltMgr = { if (returndata.saved) { - var html = " "; - $(data.tab).find("span:first").text(ttl); - $(data.tab).find(".tabclose").before($(html)); + if (data.taboption == "T") + { + var html = " "; + $(data.tab).find("span:first").text(ttl); + $(data.tab).find(".tabclose").before($(html)); + } } else - $(data.tab).find(".tabpinned").remove(); + { + if (data.taboption == "T") + $(data.tab).find(".tabpinned").remove(); + } }), "json"); }, @@ -205,14 +211,109 @@ var FcltMgr = FcltMgr._pageManager.fnDoSave(ttl, data); // Vrijgeven geen Prompt } else + { + data.textoptionT = L("lcl_current_tab_totab"); + data.textoptionM = L("lcl_current_tab_tomenu"); fcltPrompt(L("lcl_current_tab"), ttl, FcltMgr._pageManager.fnDoSave, { data: data }); - + } } else alert(L("lcl_tabs_nosave")); } }, + saveTabX: function (zelf, opt) + { +//alert("saveTab:"+opt); + if (zelf) + { + var li = $(zelf).parents('li:eq(0)')[0]; +// var li = (opt == "M" ? $(zelf).closest("li") : $(zelf).parents('li:eq(0)')[0] ); + + var active = $('li', this._$tabshost).index(li); +//alert(li); +//alert(active); + } + else + { + var active = this._$tabshost.tabs('option', 'active'); + if (active == 0 || FcltMgr._pageManager._panelHot(active)) + { + alert(L("lcl_tabs_nosave")); + return; + } + } + + var tab = $(this._$tabshost.find( ".ui-tabs-nav li" )[active]); +// var men = $(zelf).closest("li").attr("onclick"); + var a = $(tab).find("a"); +// var b = $(tab).find(""); +//alert(JSON.stringify(a)); +//alert(a); +//alert(JSON.stringify(this)); +//alert(JSON.stringify(tab)); +//alert(JSON.stringify(men)); + if (a.length) + { +//alert("b"); + var href = $( a ).attr( "href" ); + var ttl = $( a ).find("span:first").text(); + if (href.indexOf("#" > 0)) + href = "#" + href.split("#")[1]; + var panel = $(href); + // hmac beschermde pagina's zijn toch al heel snel invalid. Silent ignore. + if (panel.length && + panel[0].getAttribute("reusesrc").indexOf("&hmac=") < 0 && + !panel[0].getAttribute("is_extern")) // externen is ook te complex + { +//alert("c"); + var url = panel[0].getAttribute("reusesrc"); + + var frm = window.frames[panel[0].id]; + var filters = null; + if (FcltMgr._frmaccessible(frm)) + { + url = frm.location.href; // bij een *net* aangemaakte melding is deze anders + if (frm.iface && frm.$("form[name=u2]").length) + { + filters = frm.iface.formToString(frm.$("form[name=u2]")); + } + } + + if (url.indexOf("&fcltfilters=") > 0) + url = url.substr(0, url.indexOf("&fcltfilters=")); + var data = + { autoopenurl: url, + filters: filters, + tab: tab + } +// var menu_waspinned =(opt == "M" ? $(tab).find("span.menupinned").length > 0 : false); +// var tab_waspinned = (opt == "T" ? $(tab).find("span.tabpinned").length > 0 : false); +// var waspinned = menu_waspinned || tab_waspinned; + var waspinned = $(tab).find("span.tabpinned").length > 0; +//alert("d"); + if (waspinned) + { +//alert("e"); + data.filters = frm.fcltfilters; // deze moet je vrijgeven +// data.taboption = opt; //(tab_waspinned ? "T" : (menu_waspinned ? "T" : "M")); + FcltMgr._pageManager.fnDoSave(ttl, data); // Vrijgeven geen Prompt + } + else + { +//alert("f"); + data.textoptionT = L("lcl_current_tab_totab"); + data.textoptionM = L("lcl_current_tab_tomenu"); + fcltPrompt(L("lcl_current_tab"), ttl, FcltMgr._pageManager.fnDoSave, { data: data }); + } + } + else + alert(L("lcl_tabs_nosave")); + } +//alert("g"); + }, + + init: function (tabs_id) { this._tabshost = tabs_id; @@ -770,6 +871,20 @@ var FcltMgr = { FcltMgr._pageManager.saveTab(zelf); }, +// saveFavTab: function (zelf) +// { +// FcltMgr._pageManager.saveTab(zelf, "T"); +// }, + saveFavMenu: function (zelf) + { +// FcltMgr._pageManager.saveTab(zelf, "M"); + var ttl = "Verwijder favoriet"; + var data = {autoopenurl: "", + autoopenttl: "Periodieke taken", + taboption: "M" + }; + FcltMgr._pageManager.fnDoSave(ttl, data); + }, setTitle: function (title, params) {