SGGR#81078 Sensoren: ondersteuning triggerwaarde voor status-sensoren, GUI
svn path=/Website/trunk/; revision=70082
This commit is contained in:
@@ -124,6 +124,108 @@ else
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
$(function () {
|
||||
// Elementen
|
||||
const $type = $("#srtdeel_sensortype");
|
||||
const $step = $("#statestepsize");
|
||||
const $anchor = $("#stateanchor");
|
||||
const $threshold = $("#statethreshold");
|
||||
const $msgShow = $("#stdm_show");
|
||||
const $msgHidden = $("#stdm");
|
||||
|
||||
// Labels (bewaar originele teksten zodat we ze kunnen herstellen)
|
||||
const $lblStep = $('label[for="statestepsize"]');
|
||||
const $lblAnchor = $('label[for="stateanchor"]');
|
||||
const $lblThreshold = $('label[for="statethreshold"]');
|
||||
const $lblMsg = $('label[for="stdm_show"]');
|
||||
|
||||
const originalLabels = {
|
||||
threshold: $lblThreshold.text().trim(), // "Bovengrenswaarde"
|
||||
message: $lblMsg.text().trim() // "Melding boven grenswaarde"
|
||||
};
|
||||
|
||||
// Helper: (de)activeren + rij visueel dimmen
|
||||
function setEnabled($input, enabled) {
|
||||
if (!$input.length) return;
|
||||
$input.prop('disabled', !enabled);
|
||||
// Dim ook het label/rij (optioneel, werkt met bestaande markup)
|
||||
const $row = $input.closest('tr');
|
||||
$row.css('opacity', enabled ? 1 : 0.6);
|
||||
// Voor suggest/readonly veld: zet ook readonly voor zekerheid
|
||||
if ($input.is('#stdm_show')) {
|
||||
$input.prop('readonly', !enabled);
|
||||
}
|
||||
if (!enabled) {
|
||||
$input.val('');
|
||||
// voor hidden veld ook
|
||||
if ($input.is('#stdm_show')) {
|
||||
$msgHidden.val('');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setOnlyThresholdAndMessage() {
|
||||
// Alleen Bovengrenswaarde (-> Triggerwaarde) en Melding boven grenswaarde (-> Melding bij triggerwaarde)
|
||||
setEnabled($step, false);
|
||||
setEnabled($anchor, false);
|
||||
setEnabled($threshold,true);
|
||||
setEnabled($msgShow, true);
|
||||
setEnabled($msgHidden,true);
|
||||
|
||||
// Labelteksten aanpassen
|
||||
$lblThreshold.text(L("lcl_ins_srtdeel_statethreshold1")); //'Triggerwaarde'
|
||||
$lblMsg.text(L("lcl_ins_srtdeel_statethresholdmld1")); //'Melding bij triggerwaarde'
|
||||
}
|
||||
|
||||
function setAllDisabled() {
|
||||
// Geen sensor: 4 velden niet beschikbaar
|
||||
setEnabled($step, false);
|
||||
setEnabled($anchor, false);
|
||||
setEnabled($threshold,false);
|
||||
setEnabled($msgShow, false);
|
||||
setEnabled($msgHidden,false);
|
||||
|
||||
// Labels terug naar origineel
|
||||
$lblThreshold.text(originalLabels.threshold);
|
||||
$lblMsg.text(originalLabels.message);
|
||||
}
|
||||
|
||||
function setAllEnabledWithOriginalLabels() {
|
||||
setEnabled($step, true);
|
||||
setEnabled($anchor, true);
|
||||
setEnabled($threshold,true);
|
||||
setEnabled($msgShow, true);
|
||||
setEnabled($msgHidden,true);
|
||||
|
||||
$lblThreshold.text(originalLabels.threshold);
|
||||
$lblMsg.text(originalLabels.message);
|
||||
}
|
||||
|
||||
function applyByType(value) {
|
||||
switch (String(value)) {
|
||||
case '0': // Geen sensor
|
||||
setAllDisabled();
|
||||
break;
|
||||
case '1': // Status-sensor
|
||||
setOnlyThresholdAndMessage();
|
||||
break;
|
||||
case '2': // Meetwaarde-sensor
|
||||
default:
|
||||
setAllEnabledWithOriginalLabels();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Init bij laden (pakt de al geselecteerde optie op de pagina)
|
||||
applyByType($type.val());
|
||||
|
||||
// Reageer op wijzigingen
|
||||
$type.on('change', function () {
|
||||
applyByType(this.value);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body class="editmode">
|
||||
<% SUBFRAME_START();
|
||||
|
||||
@@ -161,10 +161,12 @@ oRs.close();
|
||||
{
|
||||
BLOCK_START("insSensorinfo", L("lcl_ins_sensorinfo"), {icon: "fa-sensor"});
|
||||
var srtdeel_sensortypetxt = ([L("lcl_ins_sensortype0"), L("lcl_ins_sensortype1"), L("lcl_ins_sensortype2")])[srtdeel.srtdeel_sensortype];
|
||||
var srtdeel_statethresholdlbl = (["", L("lcl_ins_srtdeel_statethreshold1"),L("lcl_ins_srtdeel_statethreshold2")])[srtdeel.srtdeel_sensortype];
|
||||
var srtdeel_statethresholdmldlbl = (["", L("lcl_ins_srtdeel_statethresholdmld1"),L("lcl_ins_srtdeel_statethresholdmld2")])[srtdeel.srtdeel_sensortype];
|
||||
ROFIELDTR("fld", L("lcl_ins_sensortype"), srtdeel_sensortypetxt );
|
||||
ROFIELDTR("fld", L("lcl_ins_srtdeel_statestepsize"), srtdeel.statestepsize, {suppressEmpty: true} );
|
||||
ROFIELDTR("fld", L("lcl_ins_srtdeel_stateanchor"), srtdeel.stateanchor, {suppressEmpty: true} );
|
||||
ROFIELDTR("fld", L("lcl_ins_srtdeel_statethreshold"), srtdeel.statethreshold, {suppressEmpty: true} );
|
||||
ROFIELDTR("fld", srtdeel_statethresholdlbl, srtdeel.statethreshold, {suppressEmpty: true} );
|
||||
if (srtdeel.mld_stdmelding_key)
|
||||
{
|
||||
sql = "SELECT "+ lcl.xsqla('s.mld_stdmelding_omschrijving','s.mld_stdmelding_key')
|
||||
@@ -173,7 +175,7 @@ oRs.close();
|
||||
oRs = Oracle.Execute(sql);
|
||||
var stdmelding_omschrijving = oRs("mld_stdmelding_omschrijving").value;
|
||||
oRs.close();
|
||||
ROFIELDTR("fld", L("lcl_ins_srtdeel_statethresholdmld"), stdmelding_omschrijving, {suppressEmpty: true} );
|
||||
ROFIELDTR("fld", srtdeel_statethresholdmldlbl, stdmelding_omschrijving, {suppressEmpty: true} );
|
||||
}
|
||||
BLOCK_END();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user