var level1CalledPrev = false;
|
var ErsterDurchlaufLevel1 = true;
|
var ErsterDurchlaufLevel2 = true;
|
|
// var test = dh_FPSCommand("GetManufacturerKataCombinations", []);
|
|
|
ManufacturerKataCombinations = [];
|
|
function ChangeLevel1() {
|
level1CalledPrev = true;
|
var Level1Value = DropLev1.value;
|
SetzeDataProg(Level1Value);
|
|
dh_TempSetJSONData("oldGenKataTreeProg", "");
|
|
if (!ErsterDurchlaufLevel1) {
|
DH_KataSaveLastLevel("", Level1Value, "");
|
}
|
ErsterDurchlaufLevel1 = false;
|
DH_KataSaveLastLevel_ForKataOpen(Level1Value, "", "");
|
|
var KataProg = WertAusArrTabelle(DropLev1.value, parent.SpalteKataProg);
|
var KataSeite = WertAusArrTabelle(DropLev1.value, parent.SpalteKataSeite);
|
var FromManufacturer = WertAusArrTabelle(DropLev1.value, parent.SpalteFromManufacturer);
|
if (WertAusArrTabelle(DropLev1.value, parent.SpalteGenKataTree) === "1") {
|
document.getElementById("btnFindArticle").style.display = "inline";
|
} else {
|
document.getElementById("btnFindArticle").style.display = "none";
|
}
|
|
var KataSeiteTemp = DhMcControlObj.StringValueDest(32, 1103).value;// aus CDhInfoCenter::Katalog_ManuProgUndLevels_Aktivieren( //wegen rechtsclick auf Schrank .. Katalogseite oeffnen
|
if (KataSeiteTemp.length > 0) {
|
KataSeite = KataSeiteTemp;
|
DhMcControlObj.StringValueDest(32, 1103).value = "";
|
}
|
|
|
|
LadeKataSeite(KataProg, KataSeite, "", FromManufacturer);
|
|
//Level2 loeschen
|
var AnzElemente = DropLev2.length;
|
for (var i = 0; i < AnzElemente; i++) {
|
DropLev2.options[AnzElemente - i - 1] = null;
|
}
|
|
//zweite Ebene aufbauen
|
var Level2Anzeigen = false;
|
var bToSelectFound = false;
|
|
// WD [2015|9|23] erst mal schauen welcher slektiert werden muss
|
// urspruenglich war der letzte Eintrag im Level2 immer der selektierte. Nach der Umstellung auf die letzten Eintraege in der Planung, war es dann der erste. Nun wieder der letzte..
|
var ZeileSelect = -1;
|
var LetzteZeileLevel2 = -1;
|
var AlterDropLevel2Wert = DH_KataGetLastDropLevelId(2);
|
|
for (var i = 0; i < parent.ArrTabelle.length; i++) {
|
var IdValue = parent.ArrTabelle[i][parent.SpalteId];
|
var SpalteParentValue = parent.ArrTabelle[i][parent.SpalteParent];
|
if (SpalteParentValue == Level1Value) {
|
if (AlterDropLevel2Wert == IdValue) {
|
ZeileSelect = i;
|
}
|
LetzteZeileLevel2 = i;
|
}
|
}
|
if (ZeileSelect == -1) {
|
ZeileSelect = LetzteZeileLevel2;
|
}
|
|
|
|
var sortDropLevAlphaNum = DhProgInfoGetInfoValue(dh_manufacturer_get(), "", "SORT_DROPLEV_2", 0);
|
|
var sortedList = []
|
if (sortDropLevAlphaNum == 1) {
|
for (var i = 0; i < parent.ArrTabelle.length; i++) {
|
sortedList.push(DH_UTF_FROM(parent.ArrTabelle[i][parent.SpalteText]));
|
}
|
sortWithIndices(sortedList);
|
}
|
|
for (var i = 0; i < parent.ArrTabelle.length; i++) {
|
|
var pos = i;
|
if (sortDropLevAlphaNum == 1 && sortedList.length == parent.ArrTabelle.length) {
|
pos = sortedList.sortIndices[i];
|
}
|
|
var TextValue = DH_UTF_FROM(parent.ArrTabelle[pos][parent.SpalteText]);//wd20110808 DH_UTF_FROM hinzu gefuegt
|
var IdValue = parent.ArrTabelle[pos][parent.SpalteId];
|
var LevelValue = parent.ArrTabelle[pos][parent.SpalteLevel];
|
var SpalteParentValue = parent.ArrTabelle[pos][parent.SpalteParent];
|
|
if (SpalteParentValue == Level1Value) {
|
var select = false;//wd20131107
|
|
if (pos == ZeileSelect) {
|
select = true;
|
}
|
|
Level2Anzeigen = true;
|
if (dh_developerStatusGet() == 1 && parent.ArrTabelle[pos][parent.SpalteDataProg]) {
|
NeuerEintrag = new Option(TextValue + " (" + parent.ArrTabelle[pos][parent.SpalteDataProg] + ")", IdValue, select, select);
|
}
|
else {
|
NeuerEintrag = new Option(TextValue, IdValue, select, select);
|
}
|
|
DropLev2.options[DropLev2.length] = NeuerEintrag;
|
}
|
}
|
|
// AHAU [2019|8|14] Check for previously selected combinations
|
if (DropLev2.options.length > 0) {
|
var currentManufacturer = AppObj.COMPANY_SELECT.value;
|
|
var presavedLevel2Value = "";
|
var skipLastSelectedProgCache = DhProgInfoGetInfoValue(dh_manufacturer_get(), "", "SKIP_PROG_CACHE_DROPLEV_2", 0);
|
if (skipLastSelectedProgCache == 0) {
|
for (var i = 0; i < ManufacturerKataCombinations.length; i++) {
|
if (ManufacturerKataCombinations[i].Manufacturer == currentManufacturer && ManufacturerKataCombinations[i].Level1 == Level1Value) {
|
presavedLevel2Value = ManufacturerKataCombinations[i].Level2;
|
}
|
}
|
} else {
|
if (DropLev2.options.length > 0) {
|
DropLev2.value = DropLev2.options[0].value
|
}
|
}
|
|
|
if (presavedLevel2Value != "") {
|
DropLev2.value = presavedLevel2Value;
|
}
|
}
|
|
if (Level2Anzeigen) {
|
DropLev2.style.display = 'inline';
|
ChangeLevel2(KataSeiteTemp);
|
|
} else {
|
DropLev2.style.display = 'none';
|
}
|
InitBereich();
|
}
|
|
function ChangeLevel2(KataSeiteTemp) {
|
//DhMcControlObj.StringValueDest(32,37520).value = "";// WD [2015|3|3]
|
dh_SessionDataWriteString("FromManufacturer", "");// WD [2015|7|17]
|
if (WertAusArrTabelle(DropLev2.value, parent.SpalteGenKataTree) === "1") {
|
document.getElementById("btnFindArticle").style.display = "inline";
|
} else {
|
document.getElementById("btnFindArticle").style.display = "none";
|
}
|
|
|
if (DropLev2.length > 0) {
|
SetzeDataProg(DropLev2.value);
|
var Level2Value = DropLev2.value;
|
|
if (!ErsterDurchlaufLevel2) {
|
DH_KataSaveLastLevel("", "", Level2Value);
|
}
|
DH_KataSaveLastLevel_ForKataOpen(DropLev1.value, DropLev2.value, "");
|
|
|
// AHAU [2019|8|14] Speichern der gewählten Kombination zwischen Level 1 und Level 2 für eine mögliche Rückkehr auf die Kombination
|
var skipLastSelectedProgCache = DhProgInfoGetInfoValue(dh_manufacturer_get(), "", "SKIP_PROG_CACHE_DROPLEV_2", 0);
|
if (!ErsterDurchlaufLevel2 && skipLastSelectedProgCache == 0) {
|
//alert('Kombination: 1'+ DropLev1.value + ", 2:" + DropLev2.value);
|
SaveManufacturerKataLevelCombination("", DropLev1.value, DropLev2.value);
|
}
|
ErsterDurchlaufLevel2 = false;
|
}
|
|
var KataProg = WertAusArrTabelle(DropLev2.value, parent.SpalteKataProg);
|
var KataSeite = WertAusArrTabelle(DropLev2.value, parent.SpalteKataSeite);
|
var FromManufacturer = WertAusArrTabelle(DropLev2.value, parent.SpalteFromManufacturer);
|
|
if (KataSeiteTemp && KataSeiteTemp.length > 0)//wegen rechtsclick auf Schrank .. Katalogseite oeffnen
|
{
|
KataSeite = KataSeiteTemp;
|
}
|
|
LadeKataSeite(KataProg, KataSeite, "", FromManufacturer);
|
|
//Doppelter aufruf entfernt JM JL 2014.09.23
|
if (level1CalledPrev === false) {
|
InitBereich();
|
} else {
|
level1CalledPrev = false;
|
}
|
}
|
|
function SaveManufacturerKataLevelCombination(manufacturer, level1, level2) {
|
if (manufacturer.length == 0) {
|
manufacturer = AppObj.COMPANY_SELECT.value;
|
}
|
|
for (var i = 0; i < ManufacturerKataCombinations.length; i++) {
|
if (ManufacturerKataCombinations[i].Manufacturer == manufacturer && ManufacturerKataCombinations[i].Level1 == level1) {
|
ManufacturerKataCombinations[i].Level2 = level2;
|
return;
|
}
|
}
|
|
var KataCombinationTemp = new Object();
|
KataCombinationTemp.Manufacturer = manufacturer;
|
KataCombinationTemp.Level1 = level1;
|
KataCombinationTemp.Level2 = level2;
|
|
ManufacturerKataCombinations.push(KataCombinationTemp);
|
|
|
// dh_FPSCommand("SetManufacturerKataCombinations", [ManufacturerKataCombinations]);
|
|
//alert(JSON.stringify(ManufacturerKataCombinations));
|
}
|
|
function InitBereich() {
|
var Bereich = "";
|
var IdValue = "";
|
var TextValue = "";
|
var BereichAufbauenAufgerufen = 0;
|
var ManufacturerFrom = "";// WD [2015|3|25]
|
if (DropLev1.value.length > 0) {
|
if (WertAusArrTabelle(DropLev1.value, parent.SpalteGenManuCat) === "") {
|
dh_TempSetJSONData("currentManuCat", WertAusArrTabelle(DropLev2.value, parent.SpalteGenManuCat));
|
} else {
|
dh_TempSetJSONData("currentManuCat", WertAusArrTabelle(DropLev1.value, parent.SpalteGenManuCat));
|
}
|
dh_TempSetJSONData("currentKataId", WertAusArrTabelle(DropLev1.value, parent.SpalteId));
|
Bereich = WertAusArrTabelle(DropLev1.value, parent.SpalteBereich);
|
|
// WD [2015|3|25]
|
apptree = dh_app_tree();
|
eval("var ManufacKata = " + apptree + "COMPANY_SELECT.value");
|
DhMcControlObj.StringValue(35004).value = ManufacKata;
|
ManufacturerFrom = WertAusArrTabelle(DropLev1.value, parent.SpalteFromManufacturer);
|
if (ManufacturerFrom.length == 0) {
|
DhMcControlObj.StringValue(35005).value = ManufacKata;
|
}
|
|
eval(dh_app_tree() + "KataBereichId = '" + Bereich + "'");//wd20111205
|
IdValue = DropLev1.value;
|
TextValue = WertAusArrTabelle(DropLev1.value, parent.SpalteText);
|
dh_TempSetJSONData("lastHeading", TextValue);
|
}
|
if (DropLev2.value.length > 0) {
|
if (WertAusArrTabelle(DropLev1.value, parent.SpalteGenManuCat) === "") {
|
dh_TempSetJSONData("currentManuCat", WertAusArrTabelle(DropLev2.value, parent.SpalteGenManuCat));
|
dh_TempSetJSONData("currentBereich", WertAusArrTabelle(DropLev2.value, parent.SpalteBereich));
|
} else {
|
dh_TempSetJSONData("currentManuCat", WertAusArrTabelle(DropLev1.value, parent.SpalteGenManuCat));
|
}
|
dh_TempSetJSONData("currentBereich", WertAusArrTabelle(DropLev2.value, parent.SpalteBereich));
|
dh_TempSetJSONData("currentKataId", WertAusArrTabelle(DropLev2.value, parent.SpalteId));
|
var temp = WertAusArrTabelle(DropLev2.value, parent.SpalteBereich);
|
if (typeof temp == "string") {
|
if (temp.length > 0) {
|
Bereich = temp;
|
|
eval(dh_app_tree() + "KataBereichId = '" + Bereich + "'");//wd20111205
|
IdValue = DropLev2.value;
|
TextValue += " ⇨ ";
|
|
TextValue += WertAusArrTabelle(DropLev2.value, parent.SpalteText);
|
dh_TempSetJSONData("lastHeading", TextValue);
|
}
|
}
|
}
|
|
if (typeof Bereich == "string") {
|
if (Bereich.length > 0) {
|
var KataProg = WertAusArrTabelle(IdValue, parent.SpalteKataProg);
|
if (typeof KataProg == "string") {
|
if (KataProg.length > 0) {
|
//vorher die vorhandenen Elemente rausschmeissen
|
var AnzElem = parent.ArrTabelleBereich.length;
|
for (var i = 0; i < AnzElem; i++) {
|
parent.ArrTabelleBereich.pop();
|
}
|
|
|
//nun Tabelle besorgen
|
var apptree = dh_app_tree();
|
var temp = apptree + "DhMcControl.StringValueDest(32,37519).value = '" + KataProg + "'";
|
eval(temp);
|
|
var FromManufacturer = WertAusArrTabelle(IdValue, parent.SpalteFromManufacturer);
|
dh_SessionDataWriteString("FromManufacturer", FromManufacturer);// WD [2015|7|17]
|
|
eval("var rc = " + apptree + "DhMcControl.StringValueDest(-210,0).value");
|
|
if (rc == "1") {
|
eval("var AnzZeilen = " + apptree + "DhMcControl.TableValueDestRowCount(32," + parent.TableIdBereich + ")");
|
for (var i = 0; i < AnzZeilen; i++) {
|
var ArrZeile = new Array();
|
|
for (var ii = 0; ii < parent.ArrAnzahlSpalten; ii++) {
|
eval("var temp = " + apptree + "DhMcControl.TableValueDest(32," + parent.TableIdBereich + ",ii,i)");
|
ArrZeile[ii] = temp;
|
}
|
|
parent.ArrTabelleBereich[i] = ArrZeile;
|
}
|
}
|
|
parent.level2.location = "leer.html";
|
parent.level2.location.reload();
|
|
/////////////////////////////////////////////////////////////////////////
|
//// JM [2016|12|9] Anpassung der setTimeout Funktion, um ein mehrfaches aufrufen der Funktionen nach mehrfachen neuladen zu verhindern.
|
//// Wenn man z.B.: mit den Pfeiltasten schnell den Katalog wechselt, wurden je nach PC-Performance mehrere Kataloge geladen, da die setTimeout() Funktionen auch nach neuladen noch angesto�en wurden.
|
|
// Eine Liste erstellen, in der die Timer vermerkt werden k�nnen
|
if (window.timeouts == undefined) {
|
window.timeouts = [];
|
}
|
|
// Beim neuladen eines Katalogs die vorher vermerkten Timer Funktionen Stoppen
|
for (var iTimer = 0; iTimer < window.timeouts.length; iTimer++) {
|
var TimerID = window.timeouts[iTimer];
|
clearTimeout(TimerID);
|
}
|
|
// Die neue Timeout Funktion zum aktuellen Bereich ansto�en
|
var TimeOut = setTimeout(function () {
|
|
// beim ausf�hren des Timeouts den vermerkten Timeout aus der Liste entfernen.
|
var index = window.timeouts.indexOf(TimeOut);
|
if (index != -1) window.timeouts.splice(index, 1);
|
|
// die eigendliche Funktion aufrufen...
|
BereichAufbauen(Bereich, TextValue, IdValue);
|
}, 500);
|
|
window.timeouts.push(TimeOut);
|
|
|
setTimeout("BereichAufbauenAufgerufen = 1", 510);
|
}
|
}
|
}
|
}
|
|
setTimeout("parent.BereichAufklappen(false)", 500);
|
|
}
|
|
|
function BereichAufbauen(Bereich, TextValue, IdValue) {
|
//GS 20190701 newSystem=generischer KataTree
|
var newSystem = WertAusArrTabelle(IdValue, parent.SpalteGenKataTree) === "1";
|
|
parent.level2.document.write("<html><head><title></title>");
|
|
parent.level2.document.write("<script language='JavaScript' src='../js/default.js' type='text/javascript'></script>");
|
parent.level2.document.write("<script language='JavaScript' src='../js/fp-utils.js' type='text/javascript'></script>");
|
parent.level2.document.write("<script language='JavaScript' src='katatreetools.js' type='text/javascript'></script>");
|
|
//Stylesheet hinzugef�gt JL JM 2014.09.23
|
parent.level2.document.write("<link href='../css/katatree.css' rel='stylesheet'/>");
|
|
var path = "../" + dh_ci_getpath() + "/overwrite.css"; // TODO JM HTML5
|
parent.level2.document.write("<link type='text/css' rel='stylesheet' href='" + path + "'/>");
|
|
parent.level2.document.write("</head>");
|
|
// Wenn Maus über die Katapageliste bewegt wird dann klappe diese auf
|
parent.level2.document.write("<body style='height: 200px; margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px;'>");
|
|
parent.level2.document.write("<div style='height: 20px;padding-left:5px;' id=BereichUeberschrift>" + TextValue + "</div>");
|
|
|
var ypos = parent.Level2HeadlineDz;
|
var RahmenHingergrundfarbe = "#ffffff";
|
|
parent.level1.document.getElementById("btnStartpage").style.display = "none";
|
|
//GS20190701 Prüfen ob neues oder altes System verwendet werden soll
|
// JM [2025|06|16] generischer Katalog trozdem vorbereiten, da einzelne gen. Katalogseiten existieren koennen.
|
// JM [2025|06|16] Sollte auch bei Herstellern ohne gen. Katalog keine Probleme machen... gegengetestet bei fif
|
// else Zweig als if (!...) umgebaut.
|
|
// if (true/* newSystem */) {
|
if (newSystem) {
|
try {
|
|
// if (newSystem)
|
// {
|
dh_TempSetJSONData("activeGenericKataTree", true);
|
|
//Button Startseite ausblenden
|
parent.level1.document.getElementById("btnStartpage").style.display = "inline";
|
// }
|
|
//Breite= Abstand links in Katatree
|
var Breite = 285;
|
|
//incGenKataTree einlesen
|
var rootDir = dh_getpath_manufacturer();
|
var urlTmp = "file:///" + rootDir + "/" + dh_manufacturer_get() + "/_global/incGenKataTree.json";
|
if (rootDir.startsWith("//")) {
|
//Wenn Netzwerkpfad
|
urlTmp = urlTmp.replace(/file:(\/*)(.*)/, "file://$2");
|
}
|
var request = $.ajax({
|
url: urlTmp,
|
dataType: "JSON"
|
});
|
|
var reqData = undefined;
|
request.done(function (data) {
|
reqData = data;
|
console.log("GenKataTree wurde geladen");
|
});
|
request.fail(function (jqXHR, textStatus) {
|
console.log("incGenKataTree wurde nicht geladen.");
|
});
|
|
var progReqData = undefined;
|
|
if (reqData) {
|
reqData.forEach(function (p) {
|
if (p.Prog === dh_programmname_get_current() || p.Prog === "*") {
|
progReqData = p;
|
}
|
});
|
}
|
|
if (progReqData && progReqData.AutoCollapse) {
|
dh_TempSetJSONData("autoCollapse", true);
|
} else {
|
dh_TempSetJSONData("autoCollapse", false);
|
}
|
|
var kataPages = [];
|
|
//CatConfig für Konfiguratoren(z.B. Defaultartikel)
|
////--------------------------------------------------------------------------------------------------------------------------------------
|
var tmpProgCatConfig = DoSyncFPSAction("GetCatConfig", [dh_manufacturer_get(), dh_programmname_get_current()]);
|
var tmpProgCatConfigKeyList = [];
|
if (tmpProgCatConfig !== undefined && tmpProgCatConfig.cat_config !== undefined && tmpProgCatConfig.cat_config.length > 0) {
|
tmpProgCatConfig.cat_config.forEach(function (cfg) {
|
cfg[1].split("#").forEach(function (centerId) {
|
tmpProgCatConfigKeyList.push(centerId);
|
});
|
});
|
dh_TempSetJSONData("CatConfig", tmpProgCatConfig.cat_config);
|
}
|
//Dimensionmapping für überschreiben von Maßen in der Anzeige
|
////--------------------------------------------------------------------------------------------------------------------------------------
|
var tmpDimensionsMapping = DoSyncFPSAction("GetDimensionMapping", [dh_manufacturer_get(), dh_programmname_get_current()]);
|
var dimmensionMapping = [];
|
if (tmpDimensionsMapping && tmpDimensionsMapping.dimmap) {
|
console.log(tmpDimensionsMapping.dimmap);
|
tmpDimensionsMapping.dimmap.forEach(function (dm) {
|
if (dm["dimText"] !== "") {
|
dimmensionMapping.push({ "dimValue": dm["dimValue"], "dimText": dm["dimText"], "dim": dm["dim"], "cat": dm["cat"] });
|
}
|
});
|
}
|
dh_TempSetJSONData("DimensionsMapping", dimmensionMapping);
|
//Fitting Infos
|
////--------------------------------------------------------------------------------------------------------------------------------------
|
var tmpPropTransInfoRaw = DoSyncFPSAction("GetPropTransInfo", [dh_manufacturer_get(), dh_programmname_get_current()]);
|
|
var propTransInfo = [];
|
if (tmpPropTransInfoRaw !== undefined && tmpPropTransInfoRaw.propTransInfo !== undefined && tmpPropTransInfoRaw.propTransInfo.length > 0) {
|
tmpPropTransInfoRaw.propTransInfo.forEach(function (info) {
|
var tmpObj = {
|
id: info[0],
|
text: info[9],
|
img: info[7],
|
hideDelete: (info[8] ? info[8].includes("#HIDEDELETE") : false),
|
hideFront: (info[15] === "1" ? true : false),
|
orderIndex: info[16],
|
artNo: info[1],
|
controls: []
|
}
|
if (tmpPropTransInfoRaw !== undefined && tmpPropTransInfoRaw.propTransVars !== undefined && tmpPropTransInfoRaw.propTransVars.length > 0) {
|
tmpObj.controls = tmpPropTransInfoRaw.propTransVars
|
.filter(function (ptv) {
|
return ptv[0] === tmpObj.id && ptv[3] !== undefined && (typeof ptv[3] === "object" || ptv[3].indexOf('{') === 0);
|
})
|
.map(function (control) {
|
return {
|
variableId: control[1],
|
dataType: control[2],
|
controlDefinition: control[3]
|
};
|
});
|
tmpObj.ptm = !!tmpPropTransInfoRaw.propTransVars.find(function (ptv) {
|
return ptv[0] === tmpObj.id && ptv[2] == "M";
|
});
|
}
|
propTransInfo.push(tmpObj);
|
});
|
}
|
dh_TempSetJSONData("PropTransInfo", propTransInfo);
|
//Fitting Infos
|
////--------------------------------------------------------------------------------------------------------------------------------------
|
var tmpFittingInfo = DoSyncFPSAction("GetFittingInfo", [dh_manufacturer_get(), dh_programmname_get_current()]);
|
console.log(tmpFittingInfo);
|
var fittingInfo = [];
|
if (tmpFittingInfo !== undefined && tmpFittingInfo.fittingInfo !== undefined && tmpFittingInfo.fittingInfo.length > 0) {
|
tmpFittingInfo.fittingInfo.forEach(function (info, i) {
|
var cellContent47 = "";
|
var hideFront = true;
|
if (info["cell47"]) {
|
cellContent47 = info["cell47"];
|
}
|
if (info["cell44"]) {
|
if (info["cell44"] === "1" || info["cell44"] === 1) {
|
hideFront = false;
|
}
|
}
|
fittingInfo.push({
|
index: i,
|
bg: info["bg"],
|
artNr: info["artNr"],
|
typG: info["typG"],
|
jsAN: info["jsAN"],
|
text: "nochFuellen",
|
hideInsert: (cellContent47.includes("#HIDEINSERT")),
|
hideDelete: (cellContent47.includes("#HIDEDELETE")),
|
hideRefresh: (cellContent47.includes("#HIDEREFRESH")),
|
hideMove: (cellContent47.includes("#HIDEMOVE")),
|
hideFront: hideFront
|
});
|
});
|
}
|
dh_TempSetJSONData("FittingInfo", fittingInfo);
|
|
//Ausführungs-Info
|
////--------------------------------------------------------------------------------------------------------------------------------------
|
var ausfCenterInfo = DoSyncFPSAction("_GetAusfCenterInfo", {
|
manu: dh_manufacturer_get(),
|
prog: dh_programmname_get_current(),
|
centerIds: [],
|
isGenericKatatree: true
|
});
|
if (ausfCenterInfo && ausfCenterInfo.centerGroups && ausfCenterInfo.centerGroups.length > 0) {
|
var catConfigGroups = [];
|
var ausfCenterGroups = [];
|
var hasActiveCenterGroups = false;
|
|
for (var _i = 0; _i < ausfCenterInfo.centerGroups.length; _i++) {
|
var centerGroup = ausfCenterInfo.centerGroups[_i];
|
if (tmpProgCatConfigKeyList.indexOf(centerGroup.id) === -1) {
|
if (centerGroup.keys && centerGroup.keys.length > 0) {
|
ausfCenterGroups.push(centerGroup);
|
if (centerGroup.id !== "hidden") {
|
hasActiveCenterGroups = true;
|
}
|
}
|
} else {
|
catConfigGroups.push(centerGroup);
|
}
|
}
|
|
// alert("ausfCenterInfo: " + JSON.stringify(ausfCenterInfo));
|
// alert("catConfig: " + JSON.stringify(tmpProgCatConfigKeyList));
|
// alert("ausfCenterGroups: " + JSON.stringify(ausfCenterGroups));
|
// alert("catConfigGroups: " + JSON.stringify(catConfigGroups));
|
|
dh_TempSetJSONData("AusfCenterGroups", ausfCenterGroups);
|
dh_TempSetJSONData("CatConfigGroups", catConfigGroups);
|
|
var hideAusfCenter = false;
|
if (progReqData && progReqData.HideAusfCenter !== undefined) {
|
if (progReqData.HideAusfCenter) {
|
hideAusfCenter = true;
|
}
|
}
|
|
if (hasActiveCenterGroups && !hideAusfCenter) {
|
var ausfCenterText = dh_text_global("fv.generickatatree.ausfuehrungen");
|
if (progReqData && progReqData.ausfCenterText) {
|
text = dh_text_info(progReqData.ausfCenterText, dh_manufacturer_get() + "-global");
|
if (text.length === 0) {
|
if (dh_language_get() === "de") {
|
ausfCenterText = (progReqData.ausfCenterText.Text_de);
|
} else if (dh_language_get() === "en") {
|
ausfCenterText = (progReqData.ausfCenterText.Text_en);
|
} else if (dh_language_get() === "fr") {
|
ausfCenterText = (progReqData.ausfCenterText.Text_fr);
|
} else if (dh_language_get() === "nl") {
|
ausfCenterText = (progReqData.ausfCenterText.Text_nl);
|
}
|
}
|
}
|
kataPages.push({
|
id: "ausf",
|
name: ausfCenterText,
|
prio: 0,
|
order: 0,
|
type: "ausf" // TODO JM HTML5 type added
|
});
|
}
|
}
|
|
//Placeproposals - Planungen aus dem "Placeproposals"-Ordner falls vorhanden
|
////--------------------------------------------------------------------------------------------------------------------------------------
|
var placeproposalsList = DoSyncFPSAction("GetPlanningProposalInfo", [dh_manufacturer_get(), [dh_programmname_get_current()], 0]);
|
console.log(dh_manufacturer_get());
|
if (placeproposalsList[dh_programmname_get_current()] && placeproposalsList[dh_programmname_get_current()].length > 0) {
|
//dh_TempSetJSONData("placeproposalsList", placeproposalsList[dh_programmname_get_current()]);
|
kataPages.push({
|
id: "placeproposals",
|
name: dh_text_global("fv.generickatatree.placeproposals"),
|
order: 2,
|
type: "placeproposals" // TODO JM HTML5 type added
|
});
|
}
|
//Zubehörseite
|
////--------------------------------------------------------------------------------------------------------------------------------------
|
var artPropCount = DoSyncFPSAction("GetArtPropCountByProg", [dh_manufacturer_get(), dh_programmname_get_current()]);
|
var hideEquipment = false;
|
if (progReqData && progReqData.HideEquipment !== undefined) {
|
if (progReqData.HideEquipment) {
|
hideEquipment = true;
|
}
|
}
|
if (artPropCount > 0 && !hideEquipment) {
|
var text = "";
|
var textManu = dh_text_info("localcat.equipment", dh_manufacturer_get() + "-global", dh_manufacturer_get(), dh_get_preferred_interface_language());
|
if (textManu != "") {
|
text = textManu;
|
}
|
var textProg = dh_text_info("localcat.equipment", undefined, undefined, dh_get_preferred_interface_language());
|
if (textProg !== "") {
|
text = textProg;
|
}
|
if (text == "") {
|
text = dh_text_global("fv.generickatatree.zubehoer");
|
}
|
kataPages.push({
|
id: "equipment",
|
name: text,
|
order: 100000,
|
type: "equipment" // TODO JM HTML5 type added
|
});
|
}
|
|
|
|
|
//Normale Katapages
|
////--------------------------------------------------------------------------------------------------------------------------------------
|
var definedKataPages = [];
|
var definedSubKataPages = [];
|
var definedModules = [];
|
var distinctProgCatsFromDb = [];
|
var data = DoSyncFPSAction("GetCategoriesMergedFP", [dh_manufacturer_get(), "dhcat_", 7, 9999, dh_programmname_get_current()]); // TODO JM HTML5 +MergedFP
|
|
data.category.forEach(function (cat) {
|
var text = cat[1];
|
if (+cat[2] === 100) {
|
definedModules.push({
|
priority: +cat[2],
|
id: cat[0],
|
name: text,
|
order: cat[4] ? +cat[4] : 0,
|
entryValidId: cat[8] // TODO JM HTML5 entry valid added
|
});
|
}
|
if (+cat[2] >= 7 && +cat[2] <= 99) {
|
definedKataPages.push({
|
priority: +cat[2],
|
id: cat[0],
|
name: text,
|
order: cat[4] ? +cat[4] : 0,
|
entryValidId: cat[8]
|
});
|
}
|
if (+cat[2] >= 100 && +cat[2] <= 999 && cat[5] !== "") {
|
definedSubKataPages.push({
|
priority: +cat[2],
|
id: cat[0],
|
name: text,
|
order: cat[4] ? +cat[4] : 0,
|
entryValidId: cat[8],
|
parent: cat[5] ? cat[5] : ""
|
});
|
}
|
});
|
|
dh_TempSetJSONData("definedModules", definedModules);
|
|
// TODO JM HTML5
|
function getCatTextIdByCat(catId) {
|
var textId = "";
|
data.category.forEach(function (cat) {
|
if (cat[0] == catId) {
|
textId = cat[1];
|
}
|
})
|
return textId;
|
}
|
|
function getCatText(key) {
|
var text = key;
|
if (key.includes("localcat.")) {
|
text = dh_text_info(key, dh_manufacturer_get() + "-global", dh_manufacturer_get(), dh_get_preferred_interface_language());
|
if (text === "") {
|
text = dh_text_info(key, dh_manufacturer_get() + "-global", dh_manufacturer_get());
|
}
|
} else {
|
text = dh_text_global(key);
|
}
|
return text;
|
}
|
|
var allKataPages = [];
|
var dataDistinctDbCats = DoSyncFPSAction("GetDistinctCategoriesManuProg", [dh_manufacturer_get(), dh_programmname_get_current(), dh_TempGetJSONData("currentManuCat")]);
|
|
dataDistinctDbCats.forEach(function (d) {
|
var catDB = d;
|
var addToList = true;
|
data.category.forEach(function (cat) {
|
if (cat[0] === catDB && cat[8] !== "") {
|
var id = cat[8];
|
var valid = isEntryValid(id, dh_manufacturer_get(), dh_programmname_get_current());
|
if (valid === false) {
|
addToList = false;
|
}
|
}
|
});
|
if (addToList) {
|
distinctProgCatsFromDb.push(d);
|
}
|
});
|
|
distinctProgCatsFromDb.forEach(function (dbCat) {
|
var tmpKataPage = definedKataPages.find(function (element) {
|
return element.id === dbCat;
|
});
|
if (tmpKataPage) {
|
if (progReqData && progReqData.KataPageSeparation && progReqData.KataPageSeparation[0] && progReqData.KataPageSeparation[0].KataPageId === tmpKataPage.id) {
|
allKataPages.push({
|
id: tmpKataPage.id,
|
name: progReqData.KataPageSeparation[0].ExcludeText,
|
prio: tmpKataPage.priority,
|
order: tmpKataPage.order,
|
exclude: progReqData.KataPageSeparation[0].SeparateByCat
|
});
|
allKataPages.push({
|
id: tmpKataPage.id,
|
name: progReqData.KataPageSeparation[0].IncludeText,
|
prio: tmpKataPage.priority,
|
order: tmpKataPage.order,
|
include: progReqData.KataPageSeparation[0].SeparateByCat
|
});
|
} else {
|
allKataPages.push({
|
id: tmpKataPage.id,
|
name: tmpKataPage.name,
|
prio: tmpKataPage.priority,
|
order: tmpKataPage.order
|
});
|
}
|
}
|
});
|
distinctProgCatsFromDb.forEach(function (dbCat) {
|
var tmpSubKataPage = definedSubKataPages.find(function (element) {
|
return element.id === dbCat;
|
});
|
if (tmpSubKataPage) {
|
var parentCatPresent = allKataPages.some(function (element) {
|
return element.id === tmpSubKataPage.parent;
|
});
|
if (!parentCatPresent) {
|
allKataPages.push({
|
id: tmpSubKataPage.id,
|
name: tmpSubKataPage.name,
|
prio: tmpSubKataPage.priority,
|
order: tmpSubKataPage.order
|
});
|
}
|
}
|
});
|
|
|
var topKataPage = [];
|
var lowKataPage = [];
|
allKataPages.forEach(function (kp) {
|
if (kp.prio === 7) {
|
topKataPage.push(kp);
|
} else {
|
lowKataPage.push(kp);
|
}
|
});
|
|
topKataPage.sort(function (a, b) {
|
if (a.order < b.order) {
|
return -1;
|
} else {
|
return 1;
|
}
|
});
|
|
lowKataPage.sort(function (a, b) {
|
if (a.order < b.order) {
|
return -1;
|
} else {
|
return 1;
|
}
|
});
|
|
|
topKataPage.forEach(function (kp) {
|
kataPages.push(kp);
|
});
|
lowKataPage.forEach(function (kp) {
|
kataPages.push(kp);
|
});
|
|
|
|
var internalStatus = DoSyncFPSAction("GetInternalStatus", [dh_manufacturer_get()]);
|
|
//Ticket #62295
|
dh_TempSetJSONData("PdfInfo", []);
|
dh_TempSetJSONData("ausfCenterShowBgButton", true);
|
|
//incGenKatatree includes
|
////--------------------------------------------------------------------------------------------------------------------------------------
|
if (progReqData) {
|
|
if (progReqData.RenameKatapage) {
|
var priceList = dh_OpusDealerInfoGetPriceListInternalName();
|
kataPages.forEach(function (kp) {
|
var entry = progReqData.RenameKatapage.find(function (rk) {
|
return rk.katapage === kp.id;
|
});
|
if (entry) {
|
if (priceList === "") {
|
//Wenn kein Verband dann nehme den Text des ersten Texteintrags
|
kp.name = dh_text_info(entry.text[0].textId, dh_manufacturer_get() + "-global", dh_manufacturer_get(), dh_get_preferred_interface_language());
|
} else {
|
if (entry.text) {
|
entry.text.forEach(function (textEntry) {
|
if (textEntry.priceList) {
|
// Wenn ein Verband für den Text hinterlegt ist
|
if (textEntry.pricelist = priceList) {
|
kp.name = dh_text_info(textEntry.textId, dh_manufacturer_get() + "-global", dh_manufacturer_get(), dh_get_preferred_interface_language());
|
}
|
} else {
|
//Wenn Text ohne Pricelist hinterlegt ist dann nehmen den ersten den hinterlegten Text für den aktuellen Verband
|
kp.name = dh_text_info(textEntry.textId, dh_manufacturer_get() + "-global", dh_manufacturer_get(), dh_get_preferred_interface_language());
|
}
|
|
})
|
}
|
}
|
}
|
});
|
}
|
|
if (progReqData.ausfCenterShowBgButton !== undefined && progReqData.ausfCenterShowBgButton === false) {
|
dh_TempSetJSONData("ausfCenterShowBgButton", false);
|
}
|
if (progReqData.PdfInfo) {
|
dh_TempSetJSONData("PdfInfo", progReqData.PdfInfo);
|
} else {
|
dh_TempSetJSONData("PdfInfo", []);
|
}
|
if (progReqData.Start_Page && newSystem) {
|
dh_TempSetJSONData("startPageData", progReqData.Start_Page);
|
if (!(dh_TempGetJSONData("triggeredBySearch") === "1")) {
|
parent.level3.location = dh_PathManufacturerGet() + "\\_global\\_global\\html\\h\\generic-katatree\\generic-start-page.html";
|
}
|
} else {
|
dh_TempSetJSONData("startPageData", undefined);
|
}
|
|
// TODO JM HTML5
|
if (progReqData.KataPageFromAccessoires) {
|
progReqData.KataPageFromAccessoires.forEach(function (accePage) {
|
kataPages.push({
|
id: accePage.acceCategory,
|
order: accePage.Order ? accePage.Order : 99996,
|
acceCategory: accePage.acceCategory,
|
textId: accePage.textId,
|
type: "incPageFromAccessoires"
|
});
|
})
|
}
|
|
// TODO JM HTML5
|
if (progReqData.KataPageFromOtherProg) {
|
progReqData.KataPageFromOtherProg.forEach(function (originProg) {
|
var add = true;
|
if (originProg.EntryValidIds && originProg.EntryValidIds.length > 0) {
|
originProg.EntryValidIds.forEach(function (EntryValidId) {
|
var valid = isEntryValid(EntryValidId, dh_manufacturer_get(), dh_programmname_get_current());
|
if (valid === false) {
|
add = false;
|
}
|
})
|
}
|
if (add) {
|
originProg.Katapage.forEach(function (originKataPage) {
|
kataPages.push({
|
id: originKataPage,
|
order: originProg.Order ? originProg.Order : 99997,
|
originProg: originProg,
|
originKataPage: originKataPage,
|
type: "incPageFromOtherProg"
|
});
|
})
|
}
|
})
|
}
|
|
if (progReqData.Entries) {
|
progReqData.Entries.forEach(function (e) {
|
var addToList = true;
|
if (e.EntryValidId) {
|
var valid = DoSyncFPSAction("CheckEntryValidId", [dh_manufacturer_get(), dh_programmname_get_current(), e.EntryValidId]).valid;
|
if (!valid) {
|
addToList = false;
|
}
|
}
|
if (e.ExcludeManuCats && e.ExcludeManuCats.length > 0 && dh_TempGetJSONData("currentManuCat") !== "") {
|
var found = e.ExcludeManuCats.find(function (mCat) {
|
return dh_TempGetJSONData("currentManuCat") === mCat;
|
});
|
if (found) {
|
addToList = false;
|
}
|
}
|
if (e.IncludeManuCats && e.IncludeManuCats.length > 0 && dh_TempGetJSONData("currentManuCat") !== "") {
|
var found = e.IncludeManuCats.find(function (iCat) {
|
return dh_TempGetJSONData("currentManuCat") === iCat;
|
});
|
if (!found) {
|
addToList = false;
|
}
|
}
|
if (e.Internal && internalStatus === "False") {
|
addToList = false;
|
}
|
if (addToList) {
|
kataPages.push({
|
id: "incPageSpecial",
|
order: e.Order ? e.Order : 99998,
|
e: e,
|
type: "incPageSpecial" // TODO JM HTML5 type added
|
});
|
}
|
});
|
}
|
if (progReqData.EntriesVZ) {
|
var vzPosList = [];
|
progReqData.EntriesVZ.forEach(function (e) {
|
var addToList = true;
|
if (e.EntryValidId) {
|
var valid = DoSyncFPSAction("CheckEntryValidId", [dh_manufacturer_get(), dh_programmname_get_current(), e.EntryValidId]).valid;
|
if (!valid) {
|
addToList = false;
|
}
|
}
|
if (e.Internal && internalStatus === "False") {
|
if (e.VI !== dh_OpusDealerInfoGetPriceListInternalName()) {
|
addToList = false;
|
}
|
}
|
if (addToList) {
|
kataPages.push({
|
id: "incPageEntriesVZ",
|
order: e.Order ? e.Order : 99998,
|
e: e,
|
type: "incPageEntriesVZ" // TODO JM HTML5 type added
|
});
|
}
|
var rawVzPosList = DoSyncFPSAction("GetVz", [dh_manufacturer_get(), dh_programmname_get_current(), e.FileSuffix]).vz;
|
rawVzPosList.forEach(function (obj) {
|
vzPosList.push(obj[0]);
|
});
|
|
});
|
dh_TempSetJSONData("blackListVzPos", vzPosList);
|
}
|
if (progReqData.PreActions) {
|
dh_TempSetJSONData("PreActions", progReqData.PreActions);
|
}
|
|
if (progReqData.HideKatepageByManucat && dh_TempGetJSONData("currentManuCat") !== "" && progReqData.HideKatepageByManucat[dh_TempGetJSONData("currentManuCat")]) {
|
kataPages = kataPages.filter(function (page) {
|
return progReqData.HideKatepageByManucat[dh_TempGetJSONData("currentManuCat")].indexOf(page.id) === -1
|
});
|
}
|
|
if (progReqData.HideKatepageByBereich && dh_TempGetJSONData("currentBereich") !== "" && progReqData.HideKatepageByBereich[dh_TempGetJSONData("currentBereich")]) {
|
kataPages = kataPages.filter(function (page) {
|
return progReqData.HideKatepageByBereich[dh_TempGetJSONData("currentBereich")].indexOf(page.id) === -1
|
});
|
}
|
}
|
|
|
|
////--------------------------------------------------------------------------------------------------------------------------------------
|
//// ENDE DER ERMITTLUNG VON KATAPGES->Sortierung
|
////--------------------------------------------------------------------------------------------------------------------------------------
|
if (newSystem) {
|
kataPages.sort(function (a, b) {
|
if (a.order < b.order) {
|
return -1;
|
} else {
|
return 1;
|
}
|
});
|
|
var hideCount = 0;
|
|
kataPages.forEach(function (kp) {
|
var hide = false;
|
if (progReqData && progReqData.KatapagesToHide) {
|
if (Array.isArray(progReqData.KatapagesToHide)) {
|
console.log("asdasd");
|
hide = progReqData.KatapagesToHide.find(function (page) {
|
return page === kp.id;
|
});
|
} else {
|
var verband = dh_OpusDealerInfoGetPriceListInternalName();
|
if (progReqData.KatapagesToHide[verband]) {
|
hide = progReqData.KatapagesToHide[verband].find(function (page) {
|
return page === kp.id;
|
});
|
}
|
}
|
}
|
kp.hide = hide; // TODO JM HTML5 hide added
|
if (hide) {
|
hideCount += 1;
|
}
|
});
|
|
console.log(kataPages);
|
kataPages.forEach(function (kp, index) {
|
getRow(kp, index);
|
})
|
ypos += 23;
|
|
|
function getIndentation(index) {
|
var identation = "";
|
if (progReqData && progReqData.Indentations) {
|
progReqData.Indentations.forEach(function (_indentation) {
|
if (_indentation.index === index) {
|
for (var i = 0; i < _indentation.spaces; i++) {
|
identation += " ";
|
}
|
}
|
});
|
}
|
return identation;
|
}
|
|
function getRow(kp, index) {
|
var isLineBreakRow = false;
|
if (kp.type && kp.type === "incPageEntriesVZ") {
|
var text = "";
|
if (kp.e.TextId) {
|
text = dh_text_info(kp.e.TextId, dh_manufacturer_get() + "-global");
|
} else {
|
if (dh_language_get() === "de") {
|
text = (kp.e.Text_de);
|
} else if (dh_language_get() === "en") {
|
text = (kp.e.Text_en);
|
} else if (dh_language_get() === "fr") {
|
text = (kp.e.Text_fr);
|
} else if (dh_language_get() === "nl") {
|
text = (kp.e.Text_nl);
|
}
|
}
|
var param = text + "|" + kp.e.FileSuffix;
|
var DivZeile = "<div DhRahmenHintergr=" + RahmenHingergrundfarbe +
|
" class='Level' onClick='javascript:ladeKataPageVZ(\"" + param + "\")' onMouseOut='javascript:MausUeberButton(this,1)' onMouseOver='javascript:MausUeberButton(this,0)' style='background-color:" +
|
RahmenHingergrundfarbe + ";width:" + Breite + "px; margin-bottom: 1px;margin-left: 15px;padding-left:" + Test + ";'>";
|
parent.level2.document.write(DivZeile);
|
parent.level2.document.write(getIndentation(index) + text);
|
parent.level2.document.write("</div>");
|
|
} else if (kp.type && kp.type === "incPageSpecial") {
|
var text = "";
|
if (kp.e.TextId) {
|
text = dh_text_info(kp.e.TextId, dh_manufacturer_get() + "-global");
|
} else {
|
if (dh_language_get() === "de") {
|
text = (kp.e.Text_de);
|
} else if (dh_language_get() === "en") {
|
text = (kp.e.Text_en);
|
} else if (dh_language_get() === "fr") {
|
text = (kp.e.Text_fr);
|
} else if (dh_language_get() === "nl") {
|
text = (kp.e.Text_nl);
|
}
|
}
|
if (!kp.e.FromProg) {
|
kp.e.FromProg = "";
|
}
|
var specialRahmenHintergrundfarbe = RahmenHingergrundfarbe;
|
if (kp.e.ColorHEXCode) {
|
specialRahmenHintergrundfarbe = kp.e.ColorHEXCode;
|
}
|
//GS: Workaround wegen Ticket #63455, Hochkommata bewirkt Programmabsturz->Workaround weil Anpassung mit erheblichen Aufwand wegen "document.write" zu hoch, da katatreetools.js eh bald endlich keine Verwendung mehr finden
|
var validText = "";
|
try {
|
if (text.includes("'")) {
|
var validText = text.replace("'", "XHKX");
|
} else {
|
validText = text;
|
}
|
}
|
catch (e) {
|
//GSDEBUGSCHREIBEN
|
}
|
var param = text + "|" + kp.e.Href + "|" + kp.e.FromProg + "|" + progReqData.Prog;
|
var DivZeile = "<div DhRahmenHintergr=" + specialRahmenHintergrundfarbe +
|
" class='Level' onClick='javascript:ladeKataPageSpecial(\"" + param + "\")' onMouseOut='javascript:MausUeberButton(this,1)' onMouseOver='javascript:MausUeberButton(this,0)' style='background-color:" +
|
specialRahmenHintergrundfarbe + ";width:" + Breite + "px; margin-bottom: 1px;margin-left: 15px;padding-left:" + Test + ";'>";
|
parent.level2.document.write(DivZeile);
|
parent.level2.document.write(getIndentation(index) + text);
|
parent.level2.document.write("</div>");
|
} else if (kp.type && kp.type === "incPageFromAccessoires") {
|
text = getCatText(kp.textId);
|
var param = kp.acceCategory + "|" + text;
|
var DivZeile = "<div DhRahmenHintergr=" + RahmenHingergrundfarbe +
|
" class='Level' onClick='javascript:ladeAcceKataPage(\"" + param + "\")' onMouseOut='javascript:MausUeberButton(this,1)' onMouseOver='javascript:MausUeberButton(this,0)' style='background-color:" +
|
RahmenHingergrundfarbe + ";width:" + Breite + "px; margin-bottom: 1px;margin-left: 15px;padding-left:" + Test + ";'>";
|
parent.level2.document.write(DivZeile);
|
parent.level2.document.write(getIndentation(index) + text);
|
parent.level2.document.write("</div>");
|
} else if (kp.type && kp.type === "incPageFromOtherProg") {
|
var tmpKataPage = definedKataPages.find(function (element) {
|
return element.id === kp.originKataPage;
|
});
|
if (!tmpKataPage) {
|
tmpKataPage = definedSubKataPages.find(function (element) {
|
return element.id === kp.originKataPage;
|
});
|
}
|
var param = kp.originKataPage + "|" + kp.originProg.Prog + "|" + kp.originProg.ForProg;
|
var DivZeile = "<div DhRahmenHintergr=" + RahmenHingergrundfarbe +
|
" class='Level' onClick='javascript:ladeKataPageFromProg(\"" + param + "\")' onMouseOut='javascript:MausUeberButton(this,1)' onMouseOver='javascript:MausUeberButton(this,0)' style='background-color:" +
|
RahmenHingergrundfarbe + ";width:" + Breite + "px; margin-bottom: 1px;margin-left: 15px;padding-left:" + Test + ";'>";
|
parent.level2.document.write(DivZeile);
|
if (tmpKataPage) {
|
parent.level2.document.write(tmpKataPage.name);
|
} else {
|
var text = getCatText(getCatTextIdByCat(kp.originKataPage));
|
parent.level2.document.write(getIndentation(index) + text);
|
}
|
parent.level2.document.write("</div>");
|
} else if (kp.type && kp.type === "placeproposals" && !kp.hide) {
|
var param = kp.name;
|
var DivZeile = "<div DhRahmenHintergr=" + RahmenHingergrundfarbe +
|
" class='Level' onClick='javascript:ladeKataPagePlaceProposals(\"" + param + "\")' onMouseOut='javascript:MausUeberButton(this,1)' onMouseOver='javascript:MausUeberButton(this,0)' style='background-color:" +
|
RahmenHingergrundfarbe + ";width:" + Breite + "px; margin-bottom: 1px;margin-left: 15px;padding-left:" + Test + ";'>";
|
parent.level2.document.write(DivZeile);
|
parent.level2.document.write(getIndentation(index) + kp.name);
|
parent.level2.document.write("</div>");
|
|
} else {
|
if (!kp.hide) {
|
kp.name = kp.name.replace("'", "'");
|
var separationInfo = "";
|
if (kp.exclude) {
|
separationInfo = "exclude:" + kp.exclude;
|
}
|
if (kp.include) {
|
separationInfo = "include:" + kp.include;
|
}
|
if (kp.name.indexOf("<br") > -1) {
|
isLineBreakRow = true;
|
}
|
var param = kp.id + "|" + escape(kp.name) + "|" + separationInfo;
|
var DivZeile = "<div DhRahmenHintergr=" + RahmenHingergrundfarbe +
|
" class='Level' onClick='javascript:ladeKataPage(\"" + param + "\")' onMouseOut='javascript:MausUeberButton(this,1)' name='test' onMouseOver='javascript:MausUeberButton(this,0)' style='background-color:" +
|
RahmenHingergrundfarbe + ";width:" + Breite + "px; margin-bottom: 1px;margin-left: 15px;padding-left:" + Test + ";'>";
|
parent.level2.document.write(DivZeile);
|
if (kp.id === "ausf") {
|
parent.level2.document.write("<b>" + getIndentation(index) + kp.name + "</b>");
|
} else {
|
parent.level2.document.write(getIndentation(index) + kp.name);
|
}
|
parent.level2.document.write("</div>");
|
if (progReqData && progReqData.OpenSingleMod) {
|
if (kataPages.length - hideCount === 1) {
|
ladeKataPage(param);
|
}
|
}
|
}
|
}
|
ypos += 21;
|
if (isLineBreakRow) {
|
ypos += 20;
|
}
|
}
|
}
|
} catch (error) {
|
console.log(error);
|
}
|
}
|
else {
|
|
dh_TempSetJSONData("activeGenericKataTree", false);
|
|
AnzElem = parent.ArrTabelleBereich.length;
|
|
for (var i = 0; i < AnzElem; i++) {
|
var BereichValueBereich = parent.ArrTabelleBereich[i][parent.SpalteBereich];
|
if (BereichValueBereich == Bereich) {
|
var TextValueBereich = parent.ArrTabelleBereich[i][parent.SpalteText];
|
var IdValue = parent.ArrTabelleBereich[i][parent.SpalteId];
|
var Level = parent.ArrTabelleBereich[i][parent.SpalteLevel];
|
var Hervorhebung = parent.ArrTabelleBereich[i][parent.SpalteHervorhebung];
|
var OpusPreisliste = parent.ArrTabelleBereich[i][parent.SpalteOpusPreisl];
|
|
RahmenHingergrundfarbe = "#ffffff";
|
|
if (Hervorhebung == "1" || Hervorhebung == "11") {
|
RahmenHingergrundfarbe = "#a4a4a4";
|
} else if (Hervorhebung == "10") {
|
RahmenHingergrundfarbe = "#ffb0b0";
|
}
|
|
var StartLinks = parent.Level2MarginWidth * Level;
|
var Test = StartLinks + 5;
|
StartLinks = 15;
|
var Breite = 320 - StartLinks - 20;
|
|
var ButtonHoehe = parent.Level2LineDz - parent.Level2MarginHeight;
|
|
var DivZeile = "<div DhRahmenHintergr=" + RahmenHingergrundfarbe + " class='Level" + Level + "' onClick='javascript:MausButtonClick(" + IdValue + ")' onMouseOut='javascript:MausUeberButton(this,1)' onMouseOver='javascript:MausUeberButton(this,0)' style='background-color:" + RahmenHingergrundfarbe + ";width:" + Breite + "px; margin-bottom: 1px;margin-left: 15px;padding-left:" + Test + ";'>";
|
|
if (Hervorhebung == "11") {
|
DivZeile = "<div DhRahmenHintergr=" + RahmenHingergrundfarbe + " class='Level" + Level + "' onMouseOut='javascript:MausUeberButton(this,1)' onMouseOver='javascript:MausUeberButton(this,11)' style='background-color:" + RahmenHingergrundfarbe + ";width:" + Breite + "px; margin-bottom: 1px;margin-left: 15px;padding-left:" + Test + ";'>";
|
}
|
|
parent.level2.document.write(DivZeile);
|
parent.level2.document.write(TextValueBereich);
|
parent.level2.document.write("</div>");
|
ypos += 21;
|
}
|
}
|
ypos += 23;
|
}
|
|
parent.Level2Dy = ypos;
|
|
parent.level2.document.write("</body>");
|
parent.level2.document.write("</html>");
|
}
|
|
function CheckKataSeiteExtension(KataSeite) {
|
var Ergebnis = KataSeite.search(/\?/);
|
if (Ergebnis != -1) {
|
return "";
|
} else {
|
return ".html";
|
}
|
}
|
|
function ladeAcceKataPage(param) {
|
var category = param.split("|")[0];
|
var text = param.split("|")[1];
|
dh_TempSetJSONData("openModAcceCategory", category);
|
PathSeite = dh_PathManufacturerGet() + "\\_global\\_global\\html\\h\\generic-katatree\\index_accessoires_embedded.html";
|
parent.level3.location = PathSeite;
|
parent.level2.document.getElementById("BereichUeberschrift").innerHTML = text;
|
parent.BereichSchliessen();
|
}
|
|
function ladeKataPageFromProg(param) {
|
var kataPageID = param.split("|")[0];
|
var prog = param.split("|")[1];
|
var forProg = param.split("|")[2];
|
dh_TempSetJSONData("oldGenKataTreeProg", dh_programmname_get_current());
|
dh_programmname_to_app(prog);
|
dh_TempSetJSONData("lastGenericKataTreeIdValue", kataPageID);
|
PathSeite = dh_PathManufacturerGet() + "\\_global\\_global\\html\\h\\generic-katatree\\index_legacy_frame.html";
|
parent.level3.location = PathSeite;
|
parent.BereichSchliessen();
|
}
|
|
function ladeKataPage(param) {
|
var id = param.split("|")[0];
|
var name = param.split("|")[1];
|
name = unescape(name);
|
if (param.split("|")[2].length > 0) {
|
var info = {};
|
var com = param.split("|")[2];
|
if (com.indexOf('exclude:') === -1) {
|
info = { "typ": "include", "cat": com.substring(8) };
|
} else {
|
info = { "typ": "exclude", "cat": com.substring(8) };
|
}
|
dh_TempSetJSONData("separationInfo", info);
|
} else {
|
dh_TempSetJSONData("separationInfo", {});
|
}
|
|
var prog = dh_TempGetJSONData("oldGenKataTreeProg");
|
if (prog !== "") {
|
dh_programmname_to_app(prog);
|
}
|
|
DH_KataSaveLastLevel_ForKataOpen("", "", "", id.toString());
|
|
dh_TempSetJSONData("lastGenericKataTreeIdValue", id);
|
parent.level2.document.getElementById("BereichUeberschrift").innerHTML = name;
|
var PathSeite = "";
|
if (id === "ausf") {
|
PathSeite = dh_PathManufacturerGet() + "\\_global\\_global\\html\\h\\generic-katatree\\generic-ausf-frame.html";
|
} else {
|
PathSeite = dh_PathManufacturerGet() + "\\_global\\_global\\html\\h\\generic-katatree\\index_legacy_frame.html";
|
}
|
parent.level3.location = PathSeite;
|
parent.BereichSchliessen();
|
}
|
|
function ladeKataPageSpecial(param) {
|
var text = param.split("|")[0];
|
var href = param.split("|")[1];
|
var prog = param.split("|")[2];
|
var inProg = param.split("|")[3];
|
if (prog !== "") {
|
dh_TempSetJSONData("oldGenKataTreeProg", inProg);
|
dh_programmname_to_app(prog);
|
}
|
|
dh_TempSetJSONData("lastGenericKataTreeIdValue", "SpecialKataPage");
|
if (text.includes("XHKX")) {
|
text = text.replace("XHKX", "'");
|
}
|
parent.level2.document.getElementById("BereichUeberschrift").innerHTML = text;
|
var PathSeite = "";
|
PathSeite = dh_PathManufacturerGet() + href;
|
parent.level3.location = PathSeite;
|
if (prog !== "" & dh_manufacturer_get() === "huelsta") {
|
dh_TempSetJSONData("oldGenKataTreeProg", inProg);
|
dh_programmname_to_app(prog);
|
}
|
parent.BereichSchliessen();
|
}
|
|
function ladeKataPageVZ(param) {
|
var text = param.split("|")[0];
|
var FileSuffix = param.split("|")[1];
|
dh_TempSetJSONData("lastGenericKataTreeIdValue", "SpecialKataPageVZ");
|
dh_TempSetJSONData("lastGenericKataTreeVzValue", FileSuffix);
|
parent.level2.document.getElementById("BereichUeberschrift").innerHTML = text;
|
var PathSeite = "";
|
PathSeite = dh_PathManufacturerGet() + "\\_global\\_global\\html\\h\\generic-katatree\\index_vz.html";
|
parent.level3.location = PathSeite;
|
parent.BereichSchliessen();
|
}
|
|
function ladeKataPagePlaceProposals(param) {
|
dh_TempSetJSONData("lastGenericKataTreeIdValue", "SpecialPagePlaceProposals");
|
parent.level2.document.getElementById("BereichUeberschrift").innerHTML = param;
|
var PathSeite = "";
|
PathSeite = dh_PathManufacturerGet() + "\\_global\\_global\\html\\h\\generic-katatree\\index_placeproposal.html";
|
parent.level3.location = PathSeite;
|
parent.BereichSchliessen();
|
}
|
|
function LadeKataSeite(KataProg, KataSeite, GlobaleKataSeite, FromManufacturer) {
|
//GS25022019
|
var genKataPageId = KataSeite.substr(0, 6)
|
if (genKataPageId === "dhcat_") {
|
dh_TempSetJSONData("lastGenericKataTreeIdValue", KataSeite);
|
}
|
|
|
var ImageDBName = DhMcControlObj.StringValueDest(-18026, 0).value;
|
if (ImageDBName !== "") {
|
var element = document.getElementById("buttonIMG");
|
if (element) {
|
element.value = ImageDBName;
|
element.style.display = "inline";
|
}
|
}
|
|
|
var PathManufac = dh_PathManufacturerGet();//dh_reginfo_get("HKLM","","PathManufacturer"); wd20120507
|
|
// JM [2016|7|13] #18270 Damit bei Herstellern, die �ber die Katatree auf einen anderen Hersteller zugreifen, hier auch der Hersteller gewechselt wird.
|
if (FromManufacturer.length > 0) {
|
dh_SessionDataWriteString("FromManufacturer", FromManufacturer);
|
} else {
|
dh_SessionDataWriteString("FromManufacturer", "");
|
}
|
|
|
if (KataProg.length == 0 || KataSeite.length == 0) {
|
var PathSeite = PathManufac + "\\_global\\_global\\html\\h\\katatree\\leer.html";
|
if (typeof GlobaleKataSeite == "string") {
|
if (GlobaleKataSeite.length > 0) {
|
PathSeite = PathManufac + "\\_global\\_global\\html\\h\\" + GlobaleKataSeite + ".html";
|
}
|
}
|
parent.level3.location = PathSeite;
|
} else {
|
var manufacturer = dh_manufacturer_get();
|
//alert("manufacturer="+manufacturer);
|
|
if (typeof FromManufacturer == "string") {
|
if (FromManufacturer.length > 0) {
|
manufacturer = FromManufacturer;
|
dh_manufacturer_to_app(manufacturer);
|
}
|
}
|
var Extension = CheckKataSeiteExtension(GlobaleKataSeite);
|
var PathSeite = "";
|
// var PathSeite = PathManufac + "\\" + manufacturer + "\\" + KataProg + "\\html\\" + KataSeite + Extension;
|
// #mh20160304
|
// Pruefen ob Kata-Seite global (z.B. bei Include von Katalog-Seiten der huels-Gruppe in anderen Katalogen) aufgerufen werden soll
|
// Dies wird durch ein fuehrendes $-Zeichen signalisiert
|
if (KataSeite.indexOf('$') == 0) {
|
// $-Zeichen an erster Position => huels-Gruppe
|
PathSeite = PathManufac + "\\" + manufacturer + "\\_global\\" + KataSeite.substring(1, KataSeite.length);
|
} else {
|
PathSeite = PathManufac + "\\" + manufacturer + "\\" + KataProg + "\\html\\" + KataSeite + Extension
|
}
|
if (genKataPageId === "dhcat_") {
|
//wd20081209
|
if (KataProg.length != 0) {
|
dh_programmname_to_app(KataProg)
|
}
|
PathSeite = dh_PathManufacturerGet() + "\\_global\\_global\\html\\h\\generic-katatree\\index_legacy_frame.html";
|
dh_TempSetJSONData("activeGenericKataTree", "True");
|
} else {
|
dh_TempSetJSONData("activeGenericKataTree", "False");
|
}
|
parent.level3.location = PathSeite;
|
}
|
|
//wd20081209
|
if (KataProg.length != 0 && genKataPageId !== "dhcat_") {
|
dh_programmname_to_app(KataProg)
|
}
|
|
// WD [2021|4|21] von oben hin nach hierhin geschoben... KataProg und manufac muss erst richtig gesetzt sein
|
var progImages = DoSyncFPSAction('GetProgImages', [dh_manufacturer_get(), [KataProg], [dh_TempGetJSONData("currentKataId", "")]]);
|
|
var images = [];
|
|
if (progImages[KataProg] && progImages[KataProg].images && progImages[KataProg].images.length > 0) {
|
images = progImages[KataProg].images;
|
dh_TempSetJSONData("progImages", images);
|
}
|
else {
|
try {
|
var DataProg = WertAusArrTabelle(DropLev1.value, parent.SpalteDataProg);
|
progImages = DoSyncFPSAction('GetProgImages', [dh_manufacturer_get(), [DataProg], [dh_TempGetJSONData("currentKataId", "")]]);
|
if (progImages[DataProg]) {
|
images = progImages[DataProg].images;
|
dh_TempSetJSONData("progImages", images);
|
}
|
} catch (error) {
|
|
}
|
}
|
|
if (document.getElementById("btnProgImages")) {
|
if (images.length > 0) {
|
document.getElementById("btnProgImages").style.display = "inline";
|
} else {
|
document.getElementById("btnProgImages").style.display = "none";
|
}
|
}
|
parent.BereichSchliessen();
|
}
|
|
function MausButtonClick(IdValue) {
|
|
dh_TempSetJSONData("lastKataTreeIdValue", IdValue);
|
|
var DataProg = WertAusArrTabelleBereich(IdValue, parent.SpalteDataProg);
|
SetzeDataProg(DataProg);
|
var KataProg = WertAusArrTabelleBereich(IdValue, parent.SpalteKataProg);
|
var KataSeite = WertAusArrTabelleBereich(IdValue, parent.SpalteKataSeite);
|
var GlobaleKataSeite = WertAusArrTabelleBereich(IdValue, parent.SpalteGlobaleKatalogseite);
|
var FromManufacturer = WertAusArrTabelleBereich(IdValue, parent.SpalteFromManufacturer);
|
|
if (FromManufacturer.length == 0) {
|
FromManufacturer = dh_SessionDataReadString("FromManufacturer");
|
}
|
|
DH_KataSaveLastLevel_ForKataOpen("", "", IdValue.toString(), KataSeite);
|
LadeKataSeite(KataProg, KataSeite, GlobaleKataSeite, FromManufacturer);
|
dh_html_debug(this, "120");
|
}
|
|
function MausUeberButton(obj, modus) {
|
if (modus == 0) {
|
if (dh_TempGetJSONData("activeGenericKataTree") === "True") {
|
obj.style.background = "#D1D3D4";//#f7931e "gray" #ffc375
|
} else {
|
obj.style.background = "#ffc375";//#f7931e "gray" #ffc375
|
}
|
obj.style.cursor = "pointer";
|
} else if (modus == 1) {
|
obj.style.background = obj.DhRahmenHintergr;
|
} else if (modus == 11) {
|
obj.style.background = obj.DhRahmenHintergr;
|
obj.style.cursor = "default";
|
}
|
}
|
|
function WertAusArrTabelleBereich(IdValue, spalte) {
|
var rc = "";
|
for (var i = 0; i < parent.ArrTabelleBereich.length; i++) {
|
var IdValueTable = parent.ArrTabelleBereich[i][parent.SpalteId];
|
|
if (IdValueTable == IdValue) {
|
rc = parent.ArrTabelleBereich[i][spalte];
|
}
|
}
|
return rc;
|
}
|
|
function WertAusArrTabelle(IdValue, spalte) {
|
var rc = "";
|
for (var i = 0; i < parent.ArrTabelle.length; i++) {
|
var IdValueTable = parent.ArrTabelle[i][parent.SpalteId];
|
if (IdValueTable == IdValue) {
|
rc = parent.ArrTabelle[i][spalte];
|
}
|
}
|
return rc;
|
}
|
|
function SetzeDataProg(IdValue) {
|
if (typeof IdValue == "string") {
|
if (IdValue.length == 4) {
|
dh_programmname_to_app(IdValue);
|
}
|
} else {
|
for (var i = 0; i < parent.ArrTabelle.length; i++) {
|
var IdValueTable = parent.ArrTabelle[i][parent.SpalteId];
|
|
if (IdValueTable == IdValue) {
|
var DataProg = parent.ArrTabelle[i][parent.SpalteDataProg];
|
if (DataProg.length > 0) {
|
dh_programmname_to_app(DataProg);
|
}
|
|
}
|
}
|
}
|
}
|
|
function ZusatzpositionErfassen(event) {
|
|
var Version = DhMcControlObj.StringValueDest(-340, 0).value;
|
var FPVersion = DhMcControlObj.TableValueDest(32, 92715, 0, 0).value;
|
|
if (FPVersion === "Development EGGO" || FPVersion === "Furnplan Eggo") {
|
if (window.event && window.event.ctrlKey === true) {
|
// Bei EGGO mit gedrückter STRG-Taste neuen Dialog öffnen
|
DhMcControlObj.DoActionSimpleCL(17024);
|
return;
|
} else {
|
parent.parent.OpenConfigMenu("../zusatzpos.html");
|
return;
|
}
|
}
|
|
if (window.event && window.event.ctrlKey === true) {
|
parent.parent.OpenConfigMenu("../zusatzpos.html");
|
return;
|
}
|
|
DhMcControlObj.DoActionSimpleCL(17024);
|
}
|
|
function ExistiertLieferzeitFuerHersteller() {
|
var returnvalue = dh_CheckDeliveryTimeAvailable();
|
if (returnvalue.length > 0) {
|
return true;
|
}
|
return false;
|
}
|
|
function _Auswert(taste) {
|
if (taste == 13 || taste == 9) //Enter Tab
|
{
|
dh_reginfo_set("HKCU", "", "ArtikelnummerLast", PLACETYPE.value);
|
PLACETYPE.select();
|
var prog = dh_programmname_get_current();
|
//alert("prog="+prog);
|
var apptree = dh_app_tree();
|
var plazieren = apptree + "placer_pago('" + prog + "','" + PLACETYPE.value + "',0,0)";
|
eval(plazieren);
|
|
setTimeout(function () {
|
var el = document.getElementById("inputArticleSearch");
|
if (el && el.focus) el.focus();
|
}, 100);
|
}
|
|
|
}
|
|
|
function showImageDBTab() {
|
DhMcControlObj.DoActionSimpleCL(17029);
|
}
|
|
function showHuelstaOrder() {
|
parent.level3.location = dh_PathManufacturerGet() + "\\huelsta\\_global\\kata-global-gen.html";
|
}
|
|
function showStartPage() {
|
DhKatatreeBereichUeberschrift(dh_TempGetJSONData("lastHeading", ""));
|
parent.level3.location = dh_PathManufacturerGet() + "\\_global\\_global\\html\\h\\generic-katatree\\generic-start-page.html";
|
}
|
|
function showProgImageDialog() {
|
var imageFiles = [];
|
imageFiles = JSON.parse(dh_TempGetJSONData("progImages", []));
|
//alert(imageFiles);
|
//debugger;
|
// var progImages = DoSyncFPSAction('GetProgImages', [dh_manufacturer_get(), [dh_programmname_get_current()], [dh_TempGetJSONData("currentKataId", "")]]);
|
|
// if (progImages[dh_programmname_get_current()]) {
|
// imageFiles = progImages[dh_programmname_get_current()].images;
|
// }
|
|
var Dialog = new CDialog();
|
//debugger;
|
Dialog.showImages(imageFiles);
|
}
|
|
function showFavoritesList() {
|
parent.level3.location = dh_PathManufacturerGet() + "\\_global\\_global\\html\\h\\generic-katatree\\index_favorites.html";
|
}
|
|
function processArticleSearch() {
|
var artNo = document.getElementById("inputArticleSearch").value;
|
if (artNo.length > 1) {
|
dh_TempSetJSONData("searchArticleNumber", artNo);
|
dh_TempSetJSONData("searchArticleKataPageId", "search");
|
var PathSeite = dh_PathManufacturerGet() + "\\_global\\_global\\html\\h\\generic-katatree\\index_legacy_frame.html";
|
parent.level3.location = PathSeite;
|
} else {
|
alert("Keine Artikelnumer angegeben!");
|
}
|
}
|
|
function sortWithIndices(toSort) {
|
for (var i = 0; i < toSort.length; i++) {
|
toSort[i] = [toSort[i], i];
|
}
|
toSort.sort(function (left, right) {
|
return left[0] < right[0] ? -1 : 1;
|
});
|
toSort.sortIndices = [];
|
for (var j = 0; j < toSort.length; j++) {
|
toSort.sortIndices.push(toSort[j][1]);
|
toSort[j] = toSort[j][0];
|
}
|
return toSort;
|
}
|