Commit 77962e3c by Valera Rozuvan Committed by Alexander Kryklia

Removed unnecessary comments. Added feature to update element either on "change"…

Removed unnecessary comments. Added feature to update element either on "change" or on "slide" event.
parent 052dc3fa
...@@ -25,7 +25,7 @@ define('ElOutput', ['logme'], function (logme) { ...@@ -25,7 +25,7 @@ define('ElOutput', ['logme'], function (logme) {
return; return;
function processFuncObj(obj) { function processFuncObj(obj) {
var paramNames, funcString, func, special, el, disableAutoReturn; var paramNames, funcString, func, el, disableAutoReturn, updateOnEvent;
// We are only interested in functions that are meant for output to an // We are only interested in functions that are meant for output to an
// element. // element.
...@@ -48,6 +48,15 @@ define('ElOutput', ['logme'], function (logme) { ...@@ -48,6 +48,15 @@ define('ElOutput', ['logme'], function (logme) {
return; return;
} }
updateOnEvent = 'slide';
if (
(obj.hasOwnProperty('@update_on') === true) &&
(typeof obj['@update_on'] === 'string') &&
((obj['@update_on'].toLowerCase() === 'slide') || (obj['@update_on'].toLowerCase() === 'change'))
) {
updateOnEvent = obj['@update_on'].toLowerCase();
}
disableAutoReturn = obj['@disable_auto_return']; disableAutoReturn = obj['@disable_auto_return'];
funcString = obj['#text']; funcString = obj['#text'];
...@@ -99,10 +108,6 @@ define('ElOutput', ['logme'], function (logme) { ...@@ -99,10 +108,6 @@ define('ElOutput', ['logme'], function (logme) {
paramNames.pop(); paramNames.pop();
special = false;
if (obj['@el_id'][0] === '_') {
special = true;
} else {
el = $('#' + obj['@el_id']); el = $('#' + obj['@el_id']);
if (el.length !== 1) { if (el.length !== 1) {
...@@ -115,9 +120,8 @@ define('ElOutput', ['logme'], function (logme) { ...@@ -115,9 +120,8 @@ define('ElOutput', ['logme'], function (logme) {
} }
el.html(func.apply(window, state.getAllParameterValues())); el.html(func.apply(window, state.getAllParameterValues()));
}
state.addDynamicEl(el, func, obj['@el_id'], special); state.addDynamicEl(el, func, obj['@el_id'], updateOnEvent);
} }
} }
......
...@@ -57,9 +57,6 @@ define('Graph', ['logme'], function (logme) { ...@@ -57,9 +57,6 @@ define('Graph', ['logme'], function (logme) {
getBarWidth(); getBarWidth();
getBarAlign(); getBarAlign();
logme('graphBarWidth = ' + graphBarWidth);
logme('graphBarAlign = ' + graphBarAlign);
// Get the user defined functions. If there aren't any, don't do // Get the user defined functions. If there aren't any, don't do
// anything else. // anything else.
createFunctions(); createFunctions();
...@@ -1119,7 +1116,7 @@ define('Graph', ['logme'], function (logme) { ...@@ -1119,7 +1116,7 @@ define('Graph', ['logme'], function (logme) {
} }
function generateData() { function generateData() {
var c0, c1, functionObj, seriesObj, dataPoints, paramValues, x, y, var c0, c1, c3, functionObj, seriesObj, dataPoints, paramValues, x, y,
start, end, step, numNotUndefined; start, end, step, numNotUndefined;
paramValues = state.getAllParameterValues(); paramValues = state.getAllParameterValues();
...@@ -1289,17 +1286,18 @@ define('Graph', ['logme'], function (logme) { ...@@ -1289,17 +1286,18 @@ define('Graph', ['logme'], function (logme) {
numNotUndefined = 0; numNotUndefined = 0;
for (c1 = 0; c1 < dataSeries.length; c1 += 1) { for (c1 = 0; c1 < dataSeries.length; c1 += 1) {
logme('c1 = ' + c1 + ', dataSeries[c1].data[c0][1] = ' + dataSeries[c1].data[c0][1]);
if (isFinite(parseInt(dataSeries[c1].data[c0][1])) === true) { if (isFinite(parseInt(dataSeries[c1].data[c0][1])) === true) {
numNotUndefined += 1; numNotUndefined += 1;
} }
} }
logme('Point number = ' + c0 + ', numNotUndefined = ' + numNotUndefined); c3 = 0;
for (c1 = 0; c1 < dataSeries.length; c1 += 1) { for (c1 = 0; c1 < dataSeries.length; c1 += 1) {
dataSeries[c1].data[c0][0] -= graphBarWidth * (0.5 * numNotUndefined - c1); dataSeries[c1].data[c0][0] -= graphBarWidth * (0.5 * numNotUndefined - c3);
if (isFinite(parseInt(dataSeries[c1].data[c0][1])) === true) {
c3 += 1;
}
} }
} }
} }
......
...@@ -6,7 +6,7 @@ define('Sliders', ['logme'], function (logme) { ...@@ -6,7 +6,7 @@ define('Sliders', ['logme'], function (logme) {
return Sliders; return Sliders;
function Sliders(gstId, state) { function Sliders(gstId, state) {
var c1, paramName, allParamNames, sliderDiv, onEvent; var c1, paramName, allParamNames, sliderDiv;
allParamNames = state.getAllParameterNames(); allParamNames = state.getAllParameterNames();
...@@ -16,12 +16,7 @@ define('Sliders', ['logme'], function (logme) { ...@@ -16,12 +16,7 @@ define('Sliders', ['logme'], function (logme) {
sliderDiv = $('#' + gstId + '_slider_' + paramName); sliderDiv = $('#' + gstId + '_slider_' + paramName);
if (sliderDiv.length === 1) { if (sliderDiv.length === 1) {
onEvent = 'slide'; createSlider(sliderDiv, paramName);
if (sliderDiv.attr('data-on_event') === 'change') {
onEvent = 'slidechange';
}
createSlider(sliderDiv, paramName, onEvent);
} else if (sliderDiv.length > 1) { } else if (sliderDiv.length > 1) {
logme('ERROR: Found more than one slider for the parameter "' + paramName + '".'); logme('ERROR: Found more than one slider for the parameter "' + paramName + '".');
logme('sliderDiv.length = ', sliderDiv.length); logme('sliderDiv.length = ', sliderDiv.length);
...@@ -30,7 +25,7 @@ define('Sliders', ['logme'], function (logme) { ...@@ -30,7 +25,7 @@ define('Sliders', ['logme'], function (logme) {
} }
} }
function createSlider(sliderDiv, paramName, onEvent) { function createSlider(sliderDiv, paramName) {
var paramObj; var paramObj;
paramObj = state.getParamObj(paramName); paramObj = state.getParamObj(paramName);
...@@ -57,8 +52,9 @@ define('Sliders', ['logme'], function (logme) { ...@@ -57,8 +52,9 @@ define('Sliders', ['logme'], function (logme) {
// will also update the value of this slider. // will also update the value of this slider.
paramObj.sliderDiv = sliderDiv; paramObj.sliderDiv = sliderDiv;
// Atach a callback to update the slider's parameter. // Atach callbacks to update the slider's parameter.
paramObj.sliderDiv.on(onEvent, sliderOnSlide); paramObj.sliderDiv.on('slide', sliderOnSlide);
paramObj.sliderDiv.on('slidechange', sliderOnChange);
return; return;
...@@ -72,10 +68,15 @@ define('Sliders', ['logme'], function (logme) { ...@@ -72,10 +68,15 @@ define('Sliders', ['logme'], function (logme) {
// so that the function knows we are a slider, and it can // so that the function knows we are a slider, and it can
// change the our value back in the case when the new value is // change the our value back in the case when the new value is
// invalid for some reason. // invalid for some reason.
if (state.setParameterValue(paramName, ui.value, sliderDiv, true) === undefined) { if (state.setParameterValue(paramName, ui.value, sliderDiv, true, 'slide') === undefined) {
logme('ERROR: Could not update the parameter named "' + paramName + '" with the value "' + ui.value + '".'); logme('ERROR: Could not update the parameter named "' + paramName + '" with the value "' + ui.value + '".');
} }
}
function sliderOnChange(event, ui) {
if (state.setParameterValue(paramName, ui.value, sliderDiv, true, 'change') === undefined) {
logme('ERROR: Could not update the parameter named "' + paramName + '" with the value "' + ui.value + '".');
}
} }
} }
} }
......
...@@ -98,8 +98,6 @@ define('State', ['logme'], function (logme) { ...@@ -98,8 +98,6 @@ define('State', ['logme'], function (logme) {
'bindUpdatePlotEvent': bindUpdatePlotEvent, 'bindUpdatePlotEvent': bindUpdatePlotEvent,
'addDynamicEl': addDynamicEl, 'addDynamicEl': addDynamicEl,
'getFuncForSpecialLabel': getFuncForSpecialLabel,
// plde is an abbreviation for Plot Label Dynamic Elements. // plde is an abbreviation for Plot Label Dynamic Elements.
plde: [] plde: []
}; };
...@@ -128,14 +126,14 @@ define('State', ['logme'], function (logme) { ...@@ -128,14 +126,14 @@ define('State', ['logme'], function (logme) {
plotDiv.bind('update_plot', callback); plotDiv.bind('update_plot', callback);
} }
function addDynamicEl(el, func, elId, special) { function addDynamicEl(el, func, elId, updateOnEvent) {
var newLength; var newLength;
newLength = dynamicEl.push({ newLength = dynamicEl.push({
'el': el, 'el': el,
'func': func, 'func': func,
'elId': elId, 'elId': elId,
'special': special 'updateOnEvent': updateOnEvent
}); });
if (typeof dynamicElByElId[elId] !== 'undefined') { if (typeof dynamicElByElId[elId] !== 'undefined') {
...@@ -147,16 +145,6 @@ define('State', ['logme'], function (logme) { ...@@ -147,16 +145,6 @@ define('State', ['logme'], function (logme) {
} }
} }
function getFuncForSpecialLabel(elId) {
if (typeof dynamicElByElId[elId] === 'undefined') {
logme('ERROR: Special label with ID "' + elId + '" does not exist.');
return null;
}
return dynamicElByElId[elId].func;
}
function getParameterValue(paramName) { function getParameterValue(paramName) {
// If the name of the constant is not tracked by state, return an // If the name of the constant is not tracked by state, return an
...@@ -203,7 +191,7 @@ define('State', ['logme'], function (logme) { ...@@ -203,7 +191,7 @@ define('State', ['logme'], function (logme) {
// original value. // original value.
// //
// #################################################################### // ####################################################################
function setParameterValue(paramName, paramValue, element, slider) { function setParameterValue(paramName, paramValue, element, slider, updateOnEvent) {
var paramValueNum, c1; var paramValueNum, c1;
// If a parameter with the name specified by the 'paramName' // If a parameter with the name specified by the 'paramName'
...@@ -249,7 +237,10 @@ define('State', ['logme'], function (logme) { ...@@ -249,7 +237,10 @@ define('State', ['logme'], function (logme) {
allParameterValues[parameters[paramName].helperArrayIndex] = paramValueNum; allParameterValues[parameters[paramName].helperArrayIndex] = paramValueNum;
for (c1 = 0; c1 < dynamicEl.length; c1++) { for (c1 = 0; c1 < dynamicEl.length; c1++) {
if (dynamicEl[c1].special !== true) { if (
((updateOnEvent !== undefined) && (dynamicEl[c1].updateOnEvent === updateOnEvent)) ||
(updateOnEvent === undefined)
) {
dynamicEl[c1].el.html(dynamicEl[c1].func.apply(window, allParameterValues)); dynamicEl[c1].el.html(dynamicEl[c1].func.apply(window, allParameterValues));
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment