! function() { var TestSetup = function(div, lineParameter, replotFunctions) { div.append("
"); $("#normalParameters").append("apply"); $("#normalParameters").append("monotonicFit"); $("#normalParameters").append("tension /in [0,1]"); $("#normalParameters").append("# spline points"); div.append(""); $("#legacyParameters").append("use legacy options"); $("#legacyParameters").append("fit"); $("#legacyParameters").append("point factor"); $("#legacyParameters").append("fit point dist"); function replotAll() { var parameter = { apply: $("#apply").prop("checked"), monotonicFit: $("#monotonicFit").prop("checked"), tension: $("#tension").val(), nrSplinePoints: $("#nrSplinePoints").val(), legacyOverride: undefined }; if ($("#useLegacy").prop("checked")) { var fDist = $("#legacyFitPointDist").val(); parameter.legacyOverride = { fit: $("#legacyFit").prop("checked"), curvePointFactor: $("#legacyPointFactor").val(), fitPointDist: (fDist == '') ? undefined : fDist, }; } for (var i = 0; i < replotFunctions.length; i++) { replotFunctions[i](parameter); } } function init(parameter) { var defaultParam = { active: false, apply: false, monotonicFit: false, tension: 0.0, nrSplinePoints: 20, legacyOverride: undefined }; var defaultLegacy = { fit: false, curvePointFactor: 20, fitPointDist: undefined }; if (typeof parameter.legacyOverride != 'undefined' ) { defaultParam.legacyOverride = defaultLegacy; if (parameter.legacyOverride == true) { parameter.legacyOverride = defaultLegacy; } } var combinedParam = jQuery.extend(true, defaultParam, parameter); $("#apply").prop("checked", combinedParam.apply); var withLegacy = (typeof combinedParam.legacyOverride != 'undefined'); var fit = combinedParam.legacyOverride.fit; var pointFactor = combinedParam.legacyOverride.curvePointFactor; var fitDist = combinedParam.legacyOverride.fitPointDist; var monotone = combinedParam.monotonicFit; var tension = combinedParam.tension; var nrPoints = combinedParam.nrSplinePoints; $("#useLegacy").prop("checked", withLegacy); $("#legacyFit").prop("checked", fit); $("#legacyPointFactor").val(pointFactor); $("#legacyFitPointDist").val(fitDist); $("#monotonicFit").prop("checked", monotone); $("#tension").val(tension); $("#nrSplinePoints").val(nrPoints); replotAll(parameter, replotFunctions); } TestSetup.applyChanged = function() { replotAll(); }; TestSetup.useLegacyChanged = function() { replotAll(); }; TestSetup.legacyFitChanged = function() { if ($("#useLegacy").prop("checked")) { replotAll(); } }; TestSetup.legacyPointFactorChanged = function() { if ($("#useLegacy").prop("checked")) { replotAll(); } }; TestSetup.legacyFitPointDistChanged = function() { if ($("#useLegacy").prop("checked")) { replotAll(); } }; TestSetup.monotonicFitChanged = function() { $("#useLegacy").prop("checked", false); replotAll(); }; TestSetup.tensionChanged = function() { $("#useLegacy").prop("checked", false); replotAll(); }; TestSetup.nrSplinePointsChanged = function() { $("#useLegacy").prop("checked", false); replotAll(); }; init(lineParameter); }; this.TestSetup = TestSetup; }();