mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-05 22:29:27 +00:00
346 lines
9.4 KiB
JavaScript
346 lines
9.4 KiB
JavaScript
/**
|
|
* Javascript file for Issues Zuständigkeiten assignment page
|
|
*/
|
|
|
|
const FEHLERAPP_DROPDOWN_ID = "fehlerappSelect";
|
|
const FEHLERCODE_DROPDOWN_ID = "fehlercodeSelect";
|
|
const FEHLERKONFIGURATIONSTYP_DROPDOWN_ID = "konfigSelect";
|
|
|
|
var IssuesKonfiguration = {
|
|
|
|
fehlerkonfigArr: [], // for saving received fehlerkonfigs
|
|
fehlercodesArr: [], // for saving received fehlercodes
|
|
|
|
getApps: function()
|
|
{
|
|
FHC_AjaxClient.ajaxCallGet(
|
|
'system/issues/IssuesKonfiguration/getApps',
|
|
null,
|
|
{
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
if (FHC_AjaxClient.hasData(data))
|
|
{
|
|
// save loaded apps
|
|
let apps = FHC_AjaxClient.getData(data);
|
|
|
|
// fill dropdown with apps
|
|
IssuesKonfiguration._fillDropdown(
|
|
FEHLERAPP_DROPDOWN_ID,
|
|
"app",
|
|
apps,
|
|
null,
|
|
false,
|
|
"core"
|
|
);
|
|
|
|
// Initiate getting of fehlercodes with apps
|
|
IssuesKonfiguration.getFehlerKonfigurationByApp($("#"+FEHLERAPP_DROPDOWN_ID).val());
|
|
}
|
|
},
|
|
errorCallback: function(jqXHR, textStatus, errorThrown) {
|
|
FHC_DialogLib.alertError(textStatus);
|
|
}
|
|
}
|
|
);
|
|
},
|
|
getFehlerKonfigurationByApp: function(app)
|
|
{
|
|
FHC_AjaxClient.ajaxCallGet(
|
|
'system/issues/IssuesKonfiguration/getFehlerKonfigurationByApp',
|
|
{
|
|
app: app
|
|
},
|
|
{
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
if (FHC_AjaxClient.hasData(data))
|
|
{
|
|
let fehlerKonfigurationData = FHC_AjaxClient.getData(data);
|
|
|
|
// save konfig and fehler data for displaying info later
|
|
IssuesKonfiguration.fehlerkonfigArr = fehlerKonfigurationData.konfigurationstypen;
|
|
IssuesKonfiguration.fehlercodesArr = fehlerKonfigurationData.fehler;
|
|
|
|
// display fehlercodes in dropdown
|
|
let fehlerCodes = [];
|
|
|
|
for (let i = 0; i < fehlerKonfigurationData.fehler.length; i++)
|
|
{
|
|
let fe = fehlerKonfigurationData.fehler[i];
|
|
|
|
fehlerCodes.push(
|
|
{
|
|
fehlercode: fe.fehlercode,
|
|
fullFehlerBezeichnung: fe.fehlercode + (!fe.fehler_kurzbz ? '' : ' - ' + fe.fehler_kurzbz)
|
|
}
|
|
);
|
|
}
|
|
|
|
IssuesKonfiguration._fillDropdown(
|
|
FEHLERCODE_DROPDOWN_ID,
|
|
"fehlercode",
|
|
fehlerCodes,
|
|
"fullFehlerBezeichnung"
|
|
);
|
|
|
|
// display fehlerkonfiguration in dropdown
|
|
let konfigurationstypen = [];
|
|
|
|
for (let i = 0; i < fehlerKonfigurationData.konfigurationstypen.length; i++)
|
|
{
|
|
let konf = fehlerKonfigurationData.konfigurationstypen[i];
|
|
|
|
konfigurationstypen.push(
|
|
{
|
|
konfigurationstyp_kurzbz: konf.konfigurationstyp_kurzbz
|
|
}
|
|
);
|
|
}
|
|
|
|
IssuesKonfiguration._fillDropdown(
|
|
FEHLERKONFIGURATIONSTYP_DROPDOWN_ID,
|
|
"konfigurationstyp_kurzbz",
|
|
konfigurationstypen
|
|
);
|
|
|
|
// set delete event on buttons
|
|
IssuesKonfiguration._setDeleteEvents();
|
|
}
|
|
},
|
|
errorCallback: function(jqXHR, textStatus, errorThrown) {
|
|
FHC_DialogLib.alertError(textStatus);
|
|
}
|
|
}
|
|
);
|
|
},
|
|
saveFehlerKonfiguration: function(konfigurationstyp_kurzbz, fehlercode, konfigurationsWert)
|
|
{
|
|
FHC_AjaxClient.ajaxCallPost(
|
|
'system/issues/IssuesKonfiguration/saveFehlerKonfiguration',
|
|
{
|
|
konfigurationstyp_kurzbz: konfigurationstyp_kurzbz,
|
|
fehlercode: fehlercode,
|
|
konfigurationsWert: konfigurationsWert
|
|
},
|
|
{
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
if (FHC_AjaxClient.hasData(data))
|
|
{
|
|
// show message, reset input fields and reload data after Zuständigkeit added
|
|
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t('fehlermonitoring', 'konfigurationGespeichert'))
|
|
IssuesKonfiguration._reloadKonfigurationOverview();
|
|
}
|
|
else
|
|
{
|
|
// show error if no data
|
|
let errorMsg = FHC_PhrasesLib.t('fehlermonitoring', 'konfigurationGespeichertFehler');
|
|
if (FHC_AjaxClient.isError(data))
|
|
errorMsg += ": "+FHC_AjaxClient.getError(data);
|
|
FHC_DialogLib.alertError(errorMsg);
|
|
}
|
|
},
|
|
errorCallback: function(jqXHR, textStatus, errorThrown) {
|
|
FHC_DialogLib.alertError(textStatus);
|
|
}
|
|
}
|
|
);
|
|
},
|
|
deleteKonfigurationsWerte: function(konfigurationstyp_kurzbz, fehlercode, konfigurationsWert)
|
|
{
|
|
FHC_AjaxClient.ajaxCallPost(
|
|
'system/issues/IssuesKonfiguration/deleteKonfigurationsWerte',
|
|
{
|
|
konfigurationstyp_kurzbz: konfigurationstyp_kurzbz,
|
|
fehlercode: fehlercode,
|
|
konfigurationsWert: konfigurationsWert
|
|
},
|
|
{
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
if (FHC_AjaxClient.hasData(data))
|
|
{
|
|
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t('fehlermonitoring', 'konfigurationGeloescht'))
|
|
// reload dataset to see change
|
|
IssuesKonfiguration._reloadKonfigurationOverview();
|
|
}
|
|
else
|
|
{
|
|
FHC_DialogLib.alertError(FHC_PhrasesLib.t('fehlermonitoring', 'konfigurationGeloeschtFehler'));
|
|
}
|
|
},
|
|
errorCallback: function(jqXHR, textStatus, errorThrown) {
|
|
FHC_DialogLib.alertError(textStatus);
|
|
}
|
|
}
|
|
);
|
|
},
|
|
deleteKonfiguration: function(konfigurationstyp_kurzbz, fehlercode)
|
|
{
|
|
FHC_AjaxClient.ajaxCallPost(
|
|
'system/issues/IssuesKonfiguration/deleteKonfiguration',
|
|
{
|
|
konfigurationstyp_kurzbz: konfigurationstyp_kurzbz,
|
|
fehlercode: fehlercode
|
|
},
|
|
{
|
|
successCallback: function(data, textStatus, jqXHR) {
|
|
if (FHC_AjaxClient.hasData(data))
|
|
{
|
|
FHC_DialogLib.alertSuccess(FHC_PhrasesLib.t('fehlermonitoring', 'konfigurationGeloescht'))
|
|
// reload dataset to see change
|
|
IssuesKonfiguration._reloadKonfigurationOverview();
|
|
}
|
|
else
|
|
{
|
|
FHC_DialogLib.alertError(FHC_PhrasesLib.t('fehlermonitoring', 'konfigurationGeloeschtFehler'));
|
|
}
|
|
},
|
|
errorCallback: function(jqXHR, textStatus, errorThrown) {
|
|
FHC_DialogLib.alertError(textStatus);
|
|
}
|
|
}
|
|
);
|
|
},
|
|
_reloadKonfigurationOverview: function()
|
|
{
|
|
FHC_FilterWidget.reloadDataset();
|
|
IssuesKonfiguration._setDeleteEvents();
|
|
},
|
|
_setDeleteEvents: function()
|
|
{
|
|
// set events on delete buttons
|
|
$(".deleteBtn").click(
|
|
function()
|
|
{
|
|
IssuesKonfiguration.deleteKonfiguration($(this).attr("data-konfigurationstyp-kurzbz"), $(this).attr("data-fehlercode"));
|
|
}
|
|
)
|
|
},
|
|
_fillDropdown: function(dropdownId, valueName, data, textName, includeNoSelectionOption, defaultValue)
|
|
{
|
|
// by default, displayed text in dropdown is the value
|
|
if (!textName)
|
|
textName = valueName;
|
|
|
|
// clear dropdown
|
|
$("#"+dropdownId).empty();
|
|
|
|
// optionally include default "no selection" value
|
|
if (includeNoSelectionOption === true)
|
|
$("#"+dropdownId).append("<option value=''> -- "+FHC_PhrasesLib.t('fehlermonitoring', 'keineAuswahl')+" -- </option>");
|
|
|
|
// fill dropdown with values
|
|
for (let i = 0; i < data.length; i++)
|
|
{
|
|
let val = data[i];
|
|
|
|
// the value selected by default
|
|
let selected = val[valueName] === defaultValue ? " selected" : "";
|
|
|
|
// append option
|
|
$("#"+dropdownId).append("<option value='"+val[valueName]+"'"+selected+">"+val[textName]+"</option>");
|
|
}
|
|
}
|
|
};
|
|
|
|
/**
|
|
* When JQuery is up
|
|
*/
|
|
$(document).ready(function() {
|
|
|
|
// initiate cascade of getting data, first apps
|
|
IssuesKonfiguration.getApps();
|
|
|
|
// get new fehlercodes each time app is changed
|
|
$("#"+FEHLERAPP_DROPDOWN_ID).change(
|
|
function()
|
|
{
|
|
IssuesKonfiguration.getFehlerKonfigurationByApp($(this).val());
|
|
}
|
|
);
|
|
|
|
// set assign configuration event
|
|
$("#assignKonfiguration").click(
|
|
function()
|
|
{
|
|
IssuesKonfiguration.saveFehlerKonfiguration(
|
|
$("#"+FEHLERKONFIGURATIONSTYP_DROPDOWN_ID).val(),
|
|
$("#"+FEHLERCODE_DROPDOWN_ID).val(),
|
|
$("#konfigurationsWert").val()
|
|
);
|
|
}
|
|
);
|
|
|
|
// set delete configuration event
|
|
$("#deleteKonfiguration").click(
|
|
function()
|
|
{
|
|
IssuesKonfiguration.deleteKonfigurationsWerte(
|
|
$("#"+FEHLERKONFIGURATIONSTYP_DROPDOWN_ID).val(),
|
|
$("#"+FEHLERCODE_DROPDOWN_ID).val(),
|
|
$("#konfigurationsWert").val()
|
|
);
|
|
}
|
|
);
|
|
|
|
// set events for showing info modals
|
|
$("#fehlercodeInfoIcon").click(
|
|
function()
|
|
{
|
|
let fehlercode = $("#"+FEHLERCODE_DROPDOWN_ID).val();
|
|
let fehlercodeData = {};
|
|
|
|
for (let i = 0; i < IssuesKonfiguration.fehlercodesArr.length; i++)
|
|
{
|
|
let fc = IssuesKonfiguration.fehlercodesArr[i];
|
|
console.log(fc);
|
|
|
|
if (fc.fehlercode === fehlercode)
|
|
{
|
|
fehlercodeData = fc;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!fehlercodeData)
|
|
return;
|
|
|
|
$("#fehlerInfoLabel").text(fehlercodeData.fehlercode + " - " + fehlercodeData.fehler_kurzbz);
|
|
$("#fehlercodeInfo").text(fehlercodeData.fehlercode);
|
|
$("#fehlerkurzbzInfo").text(fehlercodeData.fehler_kurzbz);
|
|
$("#fehlertypInfo").text(fehlercodeData.fehlertyp_kurzbz);
|
|
$("#fehlertextInfo").text(fehlercodeData.fehlertext);
|
|
|
|
$("#fehlerInfo").modal("show");
|
|
}
|
|
);
|
|
|
|
$("#konfigurationstypInfoIcon").click(
|
|
function()
|
|
{
|
|
let konfigurationstyp_kurzbz = $("#"+FEHLERKONFIGURATIONSTYP_DROPDOWN_ID).val();
|
|
let konfigurationstypData = {};
|
|
|
|
for (let i = 0; i < IssuesKonfiguration.fehlerkonfigArr.length; i++)
|
|
{
|
|
let konf = IssuesKonfiguration.fehlerkonfigArr[i];
|
|
console.log(konf);
|
|
|
|
if (konf.konfigurationstyp_kurzbz === konfigurationstyp_kurzbz)
|
|
{
|
|
konfigurationstypData = konf;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (!konfigurationstypData)
|
|
return;
|
|
|
|
$("#konfigurationstypInfo").text(konfigurationstypData.konfigurationstyp_kurzbz);
|
|
$("#konfigurationsbeschreibungInfo").text(konfigurationstypData.beschreibung);
|
|
$("#konfigurationsdatentypInfo").text(konfigurationstypData.konfigurationsdatentyp);
|
|
|
|
$("#konfigurationsInfo").modal("show");
|
|
}
|
|
);
|
|
|
|
});
|