|
@@ -3,11 +3,12 @@ import * as Models from './ivprog_elements';
|
|
|
import { LocalizedStrings } from './../services/localizedStringsService';
|
|
|
import * as Utils from './utils';
|
|
|
import { registerUserEvent, registerSystemEvent, ActionTypes } from "./../services/userLog";
|
|
|
+import { isValidIdentifier } from "./../util/utils";
|
|
|
|
|
|
var counter_new_variables = 0;
|
|
|
|
|
|
export function addVariable (function_obj, function_container, is_in_click = false) {
|
|
|
- var new_var = new Models.Variable(Types.INTEGER, LocalizedStrings.getUI('new_variable') + '_' + counter_new_variables, 1);
|
|
|
+ var new_var = new Models.Variable(Types.INTEGER, LocalizedStrings.getUI('new_variable') + '_' + counter_new_variables, 0);
|
|
|
if (function_obj.variables_list == null) {
|
|
|
function_obj.variables_list = [];
|
|
|
}
|
|
@@ -32,13 +33,13 @@ function updateName (variable_obj, new_name, variable_obj_dom, function_obj) {
|
|
|
|
|
|
if (isValidIdentifier(new_name)) {
|
|
|
if (variableNameAlreadyExists(new_name, function_obj)) {
|
|
|
- Utils.renderErrorMessage(variable_obj_dom.find('.editing_name_var'), LocalizedStrings.getUI('inform_valid_variable_duplicated'));
|
|
|
+ Utils.renderErrorMessage(variable_obj_dom.find('.editing_name_var'), LocalizedStrings.getError('inform_valid_variable_duplicated', [new_name, function_obj.name]));
|
|
|
} else {
|
|
|
- registerUserEvent(function_obj.name, ActionTypes.REMOVE_FUNCTION_VAR, variable_obj.name, new_name);
|
|
|
+ registerUserEvent(function_obj.name, ActionTypes.RENAME_FUNCTION_VAR, variable_obj.name, new_name);
|
|
|
variable_obj.name = new_name;
|
|
|
}
|
|
|
} else {
|
|
|
- Utils.renderErrorMessage(variable_obj_dom.find('.editing_name_var'), LocalizedStrings.getUI('inform_valid_name'));
|
|
|
+ Utils.renderErrorMessage(variable_obj_dom.find('.editing_name_var'), LocalizedStrings.getError('inform_valid_identifier'));
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -63,10 +64,6 @@ function variableNameAlreadyExists (name_var, function_obj) {
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
-function isValidIdentifier (identifier_str) {
|
|
|
- return /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(identifier_str);
|
|
|
-}
|
|
|
-
|
|
|
function removeVariable (variable_obj, variable_container, function_name) {
|
|
|
var function_associated = variable_container.data('associatedFunction');
|
|
|
registerUserEvent(function_name, ActionTypes.REMOVE_FUNCTION_VAR, variable_obj.name);
|
|
@@ -99,7 +96,7 @@ function updateType (variable_obj, new_type, function_name, new_dimensions = 0)
|
|
|
function addHandlers (variable_obj, variable_container, function_obj) {
|
|
|
|
|
|
// Manage variable name:
|
|
|
- variable_container.find( ".enable_edit_name_variable" ).on('click', function(e){
|
|
|
+ variable_container.find( ".editing_name_var" ).on('click', function(e){
|
|
|
registerUserEvent(function_obj.name, ActionTypes.ENTER_CHANGE_VAR_NAME, variable_obj.name);
|
|
|
enableNameUpdate(variable_obj, variable_container, function_obj);
|
|
|
});
|
|
@@ -125,21 +122,20 @@ function addHandlers (variable_obj, variable_container, function_obj) {
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
export function renderVariable (function_container, new_var, function_obj) {
|
|
|
|
|
|
var element = '<div class="ui label variable_container pink"><i class="ui icon ellipsis vertical inverted"></i>';
|
|
|
|
|
|
element += '<div class="ui dropdown variable_type">';
|
|
|
|
|
|
- if (new_var.dimensions > 0) {
|
|
|
- element += '<div class="text">'+ LocalizedStrings.getUI('vector') + ':' + LocalizedStrings.getUI(new_var.type.toLowerCase());
|
|
|
- for (var i = 0; i < new_var.dimensions; i ++) {
|
|
|
- element += ' [ ] ';
|
|
|
- }
|
|
|
- element += '</div>';
|
|
|
+ if (new_var.dimensions == 1) {
|
|
|
+ element += '<div class="text">'+ LocalizedStrings.getUI('vector') + ': ' + LocalizedStrings.getUI(`type_${new_var.type.toLowerCase()}`);
|
|
|
+ element += ' [ ] </div>';
|
|
|
+ } else if (new_var.dimensions == 2) {
|
|
|
+ element += '<div class="text">'+ LocalizedStrings.getUI('matrix') + ': ' + LocalizedStrings.getUI(`type_${new_var.type.toLowerCase()}`);
|
|
|
+ element += ' [ ] [ ] </div>';
|
|
|
} else {
|
|
|
- element += '<div class="text">' + LocalizedStrings.getUI(new_var.type.toLowerCase()) + '</div>';
|
|
|
+ element += '<div class="text">' + LocalizedStrings.getUI(`type_${new_var.type.toLowerCase()}`) + '</div>';
|
|
|
}
|
|
|
element += '<div class="menu">';
|
|
|
|
|
@@ -147,28 +143,42 @@ export function renderVariable (function_container, new_var, function_obj) {
|
|
|
if (tm == Types.VOID.toUpperCase()) {
|
|
|
continue;
|
|
|
}
|
|
|
- element += '<div class="item ' + (new_var.type == tm.toLowerCase() ? ' selected ' : '') + '" data-type="'+tm+'" >'+LocalizedStrings.getUI(tm.toLowerCase())+'</div>';
|
|
|
+ element += '<div class="item ' + (new_var.type == tm.toLowerCase() && new_var.dimensions == 0 ? ' selected ' : '') + '" data-type="'+tm+'" >'+LocalizedStrings.getUI(`type_${tm.toLowerCase()}`)+'</div>';
|
|
|
}
|
|
|
|
|
|
- for (var tm in Types) {
|
|
|
+
|
|
|
+ element += '<div class="item ' + (new_var.dimensions == 1 ? ' selected ' : '') + '">'
|
|
|
+ + '<i class="dropdown icon"></i>' + LocalizedStrings.getUI('vector')
|
|
|
+ + '<div class="menu">';
|
|
|
+
|
|
|
+ for (var tm in Types) {
|
|
|
if (tm == Types.VOID.toUpperCase()) {
|
|
|
continue;
|
|
|
}
|
|
|
- element += '<div class="item">'
|
|
|
- + '<i class="dropdown icon"></i>'
|
|
|
- + LocalizedStrings.getUI('vector')+':'+LocalizedStrings.getUI(tm.toLowerCase())
|
|
|
- + '<div class="menu">'
|
|
|
- + '<div class="item" data-text="'+ LocalizedStrings.getUI('vector')+':'+LocalizedStrings.getUI(tm.toLowerCase())+' [ ] " data-type="'+tm+'" data-dimensions="1">[ ]</div>'
|
|
|
- + '<div class="item" data-text="'+ LocalizedStrings.getUI('vector')+':'+LocalizedStrings.getUI(tm.toLowerCase())+' [ ] [ ] " data-type="'+tm+'" data-dimensions="2">[ ] [ ] </div>'
|
|
|
- + '</div>'
|
|
|
- + '</div>';
|
|
|
+
|
|
|
+ element += '<div class="item ' + (new_var.type == tm.toLowerCase() && new_var.dimensions == 1 ? ' selected ' : '') + '" data-text="'+ LocalizedStrings.getUI('vector')+':'+LocalizedStrings.getUI(`type_${tm.toLowerCase()}`)+' [ ] " data-type="'+tm+'" data-dimensions="1"> '+LocalizedStrings.getUI(`type_${tm.toLowerCase()}`)+'</div>';
|
|
|
+ }
|
|
|
+ element += '</div></div>';
|
|
|
+
|
|
|
+
|
|
|
+ element += '<div class="item ' + (new_var.dimensions == 2 ? ' selected ' : '') + '">'
|
|
|
+ + '<i class="dropdown icon"></i>' + LocalizedStrings.getUI('matrix')
|
|
|
+ + '<div class="menu">';
|
|
|
+
|
|
|
+ for (var tm in Types) {
|
|
|
+ if (tm == Types.VOID.toUpperCase()) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ element += '<div class="item ' + (new_var.type == tm.toLowerCase() && new_var.dimensions == 2 ? ' selected ' : '') + '" data-text="'+ LocalizedStrings.getUI('matrix')+':'+LocalizedStrings.getUI(`type_${tm.toLowerCase()}`)+' [ ] " data-type="'+tm+'" data-dimensions="2"> '+LocalizedStrings.getUI(`type_${tm.toLowerCase()}`)+'</div>';
|
|
|
}
|
|
|
+ element += '</div></div>';
|
|
|
|
|
|
element += '</div></div> ';
|
|
|
|
|
|
element += '<div class="editing_name_var"><span class="span_name_variable enable_edit_name_variable">'+new_var.name+'</span> </div>';
|
|
|
|
|
|
- element += ' <span class="character_equals"> = </span> <div class="ui div_valor_var">'+new_var.value+'</div>';
|
|
|
+ element += ' <span class="character_equals"> <— </span> <div class="ui div_valor_var">'+new_var.value+'</div>';
|
|
|
|
|
|
element += ' <i class="yellow inverted icon times remove_variable"></i></div>';
|
|
|
|
|
@@ -209,7 +219,7 @@ function renderValues (new_var, variable_container, function_name) {
|
|
|
ret += '<div class="created_div_valor_var"><span class="span_value_variable simple_var">'+new_var.value.toFixed(1)+'</span> </div> ';
|
|
|
} else {
|
|
|
if (new_var.type == Types.BOOLEAN) {
|
|
|
- ret += '<div class="created_div_valor_var"><span class="span_value_variable boolean_simple_type">'+LocalizedStrings.getUI(new_var.value)+'</span> </div> ';
|
|
|
+ ret += '<div class="created_div_valor_var"><span class="span_value_variable boolean_simple_type">'+LocalizedStrings.getUI(`logic_value_${new_var.value}`)+'</span> </div> ';
|
|
|
} else {
|
|
|
ret += '<div class="created_div_valor_var"><span class="span_value_variable simple_var">'+new_var.value+'</span> </div> ';
|
|
|
}
|
|
@@ -226,7 +236,7 @@ function renderValues (new_var, variable_container, function_name) {
|
|
|
} else {
|
|
|
for (var k = 0; k < new_var.columns; k++) {
|
|
|
if (new_var.type == Types.BOOLEAN) {
|
|
|
- ret += '<td><span class="span_value_variable boolean_vector_var" data-index="'+k+'">'+LocalizedStrings.getUI(new_var.value[k])+'</span></td>';
|
|
|
+ ret += '<td><span class="span_value_variable boolean_vector_var" data-index="'+k+'">'+LocalizedStrings.getUI(`logic_value_${new_var.value[k]}`)+'</span></td>';
|
|
|
} else {
|
|
|
ret += '<td><span class="span_value_variable vector_var" data-index="'+k+'">'+new_var.value[k]+'</span>'+'</td>';
|
|
|
}
|
|
@@ -254,7 +264,7 @@ function renderValues (new_var, variable_container, function_name) {
|
|
|
ret += '<tr>';
|
|
|
for (var k = 0; k < new_var.columns; k++) {
|
|
|
if (new_var.type == Types.BOOLEAN) {
|
|
|
- ret += '<td><span class="span_value_variable boolean_matrix_var" data-index="'+k+'" data-row="'+l+'">'+LocalizedStrings.getUI(new_var.value[l][k])+'</span></td>';
|
|
|
+ ret += '<td><span class="span_value_variable boolean_matrix_var" data-index="'+k+'" data-row="'+l+'">'+LocalizedStrings.getUI(`logic_value_${new_var.value[l][k]}`)+'</span></td>';
|
|
|
} else {
|
|
|
ret += '<td><span class="span_value_variable matrix_var" data-index="'+k+'" data-row="'+l+'">'+new_var.value[l][k]+'</span></td>';
|
|
|
}
|
|
@@ -369,7 +379,7 @@ function renderValues (new_var, variable_container, function_name) {
|
|
|
|
|
|
function alternateBooleanMatrixValue (var_obj, row, index, value_container) {
|
|
|
var_obj.value[row][index] = !var_obj.value[row][index];
|
|
|
- $(value_container).find('.span_value_variable').text(LocalizedStrings.getUI(var_obj.value[row][index]));
|
|
|
+ $(value_container).find('.span_value_variable').text(LocalizedStrings.getUI(`logic_value_${var_obj.value[row][index]}`));
|
|
|
}
|
|
|
|
|
|
function addLineMatrix (var_obj) {
|
|
@@ -378,14 +388,14 @@ function addLineMatrix (var_obj) {
|
|
|
if (var_obj.type == Types.INTEGER) {
|
|
|
var n_l = [];
|
|
|
for (var i = 0; i < var_obj.columns; i++) {
|
|
|
- n_l.push(1);
|
|
|
+ n_l.push(0);
|
|
|
}
|
|
|
var_obj.value.push(n_l);
|
|
|
}
|
|
|
if (var_obj.type == Types.REAL) {
|
|
|
var n_l = [];
|
|
|
for (i = 0; i < var_obj.columns; i++) {
|
|
|
- n_l.push(1.0);
|
|
|
+ n_l.push(0.0);
|
|
|
}
|
|
|
var_obj.value.push(n_l);
|
|
|
}
|
|
@@ -393,7 +403,7 @@ function addLineMatrix (var_obj) {
|
|
|
if (var_obj.type == Types.TEXT) {
|
|
|
var n_l = [];
|
|
|
for (i = 0; i < var_obj.columns; i++) {
|
|
|
- n_l.push(LocalizedStrings.getUI('text_start'));
|
|
|
+ n_l.push(LocalizedStrings.getUI('textvar_default_value'));
|
|
|
}
|
|
|
var_obj.value.push(n_l);
|
|
|
}
|
|
@@ -421,17 +431,17 @@ function addColumnMatrix (var_obj) {
|
|
|
|
|
|
if (var_obj.type == Types.INTEGER) {
|
|
|
for (var i = 0; i < var_obj.rows; i++) {
|
|
|
- var_obj.value[i].push(1);
|
|
|
+ var_obj.value[i].push(0);
|
|
|
}
|
|
|
}
|
|
|
if (var_obj.type == Types.REAL) {
|
|
|
for (var i = 0; i < var_obj.rows; i++) {
|
|
|
- var_obj.value[i].push(1.0);
|
|
|
+ var_obj.value[i].push(0.0);
|
|
|
}
|
|
|
}
|
|
|
if (var_obj.type == Types.TEXT) {
|
|
|
for (var i = 0; i < var_obj.rows; i++) {
|
|
|
- var_obj.value[i].push(LocalizedStrings.getUI('text_start'));
|
|
|
+ var_obj.value[i].push(LocalizedStrings.getUI('textvar_default_value'));
|
|
|
}
|
|
|
}
|
|
|
if (var_obj.type == Types.BOOLEAN) {
|
|
@@ -457,13 +467,13 @@ function addColumnVector (var_obj) {
|
|
|
var_obj.columns ++;
|
|
|
|
|
|
if (var_obj.type == Types.INTEGER) {
|
|
|
- var_obj.value.push(1);
|
|
|
+ var_obj.value.push(0);
|
|
|
}
|
|
|
if (var_obj.type == Types.REAL) {
|
|
|
- var_obj.value.push(1.0);
|
|
|
+ var_obj.value.push(0.0);
|
|
|
}
|
|
|
if (var_obj.type == Types.TEXT) {
|
|
|
- var_obj.value.push(LocalizedStrings.getUI('text_start'));
|
|
|
+ var_obj.value.push(LocalizedStrings.getUI('textvar_default_value'));
|
|
|
}
|
|
|
if (var_obj.type == Types.BOOLEAN) {
|
|
|
var_obj.value.push(true);
|
|
@@ -481,49 +491,49 @@ function removeColumnVector (var_obj) {
|
|
|
|
|
|
function alternateBooleanValue (var_obj, value_container) {
|
|
|
var_obj.value = !var_obj.value;
|
|
|
- $(value_container).find('.span_value_variable').text(LocalizedStrings.getUI(var_obj.value));
|
|
|
+ $(value_container).find('.span_value_variable').text(LocalizedStrings.getUI(`logic_value_${var_obj.value}`));
|
|
|
}
|
|
|
|
|
|
function alternateBooleanVectorValue (var_obj, index, value_container) {
|
|
|
var_obj.value[index] = !var_obj.value[index];
|
|
|
- $(value_container).find('.span_value_variable').text(LocalizedStrings.getUI(var_obj.value[index]));
|
|
|
+ $(value_container).find('.span_value_variable').text(LocalizedStrings.getUI(`logic_value_${var_obj.value[index]}`));
|
|
|
}
|
|
|
|
|
|
function updateInitialValues (variable_obj, function_name) {
|
|
|
if (variable_obj.type == Types.INTEGER) {
|
|
|
if (variable_obj.dimensions == 0) {
|
|
|
- variable_obj.value = 1;
|
|
|
+ variable_obj.value = 0;
|
|
|
}
|
|
|
if (variable_obj.dimensions == 1) {
|
|
|
- variable_obj.value = [1, 1];
|
|
|
+ variable_obj.value = [0, 0];
|
|
|
}
|
|
|
if (variable_obj.dimensions == 2) {
|
|
|
- variable_obj.value = [[1, 1], [1, 1]];
|
|
|
+ variable_obj.value = [[0, 0], [0, 0]];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (variable_obj.type == Types.REAL) {
|
|
|
if (variable_obj.dimensions == 0) {
|
|
|
- variable_obj.value = 1.0;
|
|
|
+ variable_obj.value = 0.0;
|
|
|
}
|
|
|
if (variable_obj.dimensions == 1) {
|
|
|
- variable_obj.value = [1.0, 1.0];
|
|
|
+ variable_obj.value = [0.0, 0.0];
|
|
|
}
|
|
|
if (variable_obj.dimensions == 2) {
|
|
|
- variable_obj.value = [[1.0, 1.0], [1.0, 1.0]];
|
|
|
+ variable_obj.value = [[0.0, 0.0], [0.0, 0.0]];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (variable_obj.type == Types.TEXT) {
|
|
|
if (variable_obj.dimensions == 0) {
|
|
|
- variable_obj.value = LocalizedStrings.getUI('text_start');
|
|
|
+ variable_obj.value = LocalizedStrings.getUI('textvar_default_value');
|
|
|
}
|
|
|
if (variable_obj.dimensions == 1) {
|
|
|
- variable_obj.value = [LocalizedStrings.getUI('text_start'), LocalizedStrings.getUI('text_start')];
|
|
|
+ variable_obj.value = [LocalizedStrings.getUI('textvar_default_value'), LocalizedStrings.getUI('textvar_default_value')];
|
|
|
}
|
|
|
if (variable_obj.dimensions == 2) {
|
|
|
- variable_obj.value = [[LocalizedStrings.getUI('text_start'), LocalizedStrings.getUI('text_start')],
|
|
|
- [LocalizedStrings.getUI('text_start'), LocalizedStrings.getUI('text_start')]];
|
|
|
+ variable_obj.value = [[LocalizedStrings.getUI('textvar_default_value'), LocalizedStrings.getUI('textvar_default_value')],
|
|
|
+ [LocalizedStrings.getUI('textvar_default_value'), LocalizedStrings.getUI('textvar_default_value')]];
|
|
|
}
|
|
|
}
|
|
|
|