|
@@ -21,6 +21,7 @@ export function renderMenu (
|
|
size_field = 2,
|
|
size_field = 2,
|
|
expression_element
|
|
expression_element
|
|
) {
|
|
) {
|
|
|
|
+
|
|
// Verificar se o objeto atual trata-se de uma chamada de função e conferir se possui a quantidade correta de parâmetros
|
|
// Verificar se o objeto atual trata-se de uma chamada de função e conferir se possui a quantidade correta de parâmetros
|
|
// Caso não possua, tem que adicionar as variáveis que servirão de parâmetros:
|
|
// Caso não possua, tem que adicionar as variáveis que servirão de parâmetros:
|
|
if (ref_object.function_called) {
|
|
if (ref_object.function_called) {
|
|
@@ -49,6 +50,35 @@ export function renderMenu (
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // Verificar agora, quando trata-se de chamada de função, se a passagem de parâmetro é
|
|
|
|
+ // por referência ou por cópia:
|
|
|
|
+ var index_references = [];
|
|
|
|
+ if (ref_object.function_called) {
|
|
|
|
+ if (ref_object.function_called.parameters_list) {
|
|
|
|
+ for (var i = 0; i < ref_object.function_called.parameters_list.length; i++) {
|
|
|
|
+ if (ref_object.function_called.parameters_list[i].reference) {
|
|
|
|
+ index_references.push(i)
|
|
|
|
+ ref_object.parameters_list[i].reference = true
|
|
|
|
+ ref_object.parameters_list[i].variable_and_value = VAR_OR_VALUE_TYPES.only_variable;
|
|
|
|
+ if (ref_object.parameters_list[i].column)
|
|
|
|
+ ref_object.parameters_list[i].column.reference_parent = true
|
|
|
|
+ if (ref_object.parameters_list[i].row)
|
|
|
|
+ ref_object.parameters_list[i].row.reference_parent = true
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ ref_object.parameters_list[i].reference = false;
|
|
|
|
+ ref_object.parameters_list[i].variable_and_value = VAR_OR_VALUE_TYPES.all;
|
|
|
|
+ if (ref_object.parameters_list[i].column)
|
|
|
|
+ ref_object.parameters_list[i].column.reference_parent = false
|
|
|
|
+ if (ref_object.parameters_list[i].row)
|
|
|
|
+ ref_object.parameters_list[i].row.reference_parent = false
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ ref_object.parameters_list[i].reference_dimensions = ref_object.function_called.parameters_list[i].dimensions
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
let menu_var_or_value =
|
|
let menu_var_or_value =
|
|
'<div class="ui dropdown menu_var_or_value_dom" data-varmenu="true"><div class="text"></div><i class="dropdown icon"></i><div class="menu">';
|
|
'<div class="ui dropdown menu_var_or_value_dom" data-varmenu="true"><div class="text"></div><i class="dropdown icon"></i><div class="menu">';
|
|
|
|
|
|
@@ -227,6 +257,12 @@ export function renderMenu (
|
|
}
|
|
}
|
|
|
|
|
|
function appendSelectText (ref_object, menu_var_or_value) {
|
|
function appendSelectText (ref_object, menu_var_or_value) {
|
|
|
|
+ // if (ref_object.reference_parent) {
|
|
|
|
+ // menu_var_or_value
|
|
|
|
+ // .find(".text")
|
|
|
|
+ // .append("<i>Opcional</i>");
|
|
|
|
+ // return;
|
|
|
|
+ // }
|
|
switch (ref_object.variable_and_value) {
|
|
switch (ref_object.variable_and_value) {
|
|
case VAR_OR_VALUE_TYPES.only_variable:
|
|
case VAR_OR_VALUE_TYPES.only_variable:
|
|
menu_var_or_value
|
|
menu_var_or_value
|
|
@@ -620,8 +656,11 @@ function variableValueMenuCode (
|
|
variable_obj.content.name +
|
|
variable_obj.content.name +
|
|
"</span>";
|
|
"</span>";
|
|
|
|
|
|
- variable_render +=
|
|
|
|
- ' <span>[ </span> <div class="column_container"></div> <span> ]</span>';
|
|
|
|
|
|
+ if (variable_obj.reference_dimensions >= 1)
|
|
|
|
+ variable_render += '';
|
|
|
|
+ else
|
|
|
|
+ variable_render +=
|
|
|
|
+ ' <span>[ </span> <div class="column_container"></div> <span> ]</span>';
|
|
|
|
|
|
variable_render += "</div>";
|
|
variable_render += "</div>";
|
|
|
|
|
|
@@ -688,13 +727,16 @@ function variableValueMenuCode (
|
|
});
|
|
});
|
|
|
|
|
|
if (!variable_obj.column) {
|
|
if (!variable_obj.column) {
|
|
- variable_obj.column = new Models.VariableValueMenu(
|
|
|
|
|
|
+ var temp = new Models.VariableValueMenu(
|
|
VAR_OR_VALUE_TYPES.all,
|
|
VAR_OR_VALUE_TYPES.all,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
true
|
|
true
|
|
);
|
|
);
|
|
|
|
+ if (variable_obj.reference)
|
|
|
|
+ temp.reference_parent = true
|
|
|
|
+ variable_obj.column = temp;
|
|
}
|
|
}
|
|
|
|
|
|
variableValueMenuCode(
|
|
variableValueMenuCode(
|
|
@@ -713,11 +755,13 @@ function variableValueMenuCode (
|
|
'<div class="variable_rendered"> <span class="var_name">' +
|
|
'<div class="variable_rendered"> <span class="var_name">' +
|
|
variable_obj.content.name +
|
|
variable_obj.content.name +
|
|
"</span>";
|
|
"</span>";
|
|
-
|
|
|
|
|
|
+
|
|
variable_render +=
|
|
variable_render +=
|
|
' <span>[ </span> <div class="row_container"></div> <span> ]</span>';
|
|
' <span>[ </span> <div class="row_container"></div> <span> ]</span>';
|
|
- variable_render +=
|
|
|
|
- ' <span>[ </span> <div class="column_container"></div> <span> ] </span>';
|
|
|
|
|
|
+
|
|
|
|
+ if (variable_obj.reference_dimensions == 0)
|
|
|
|
+ variable_render +=
|
|
|
|
+ ' <span>[ </span> <div class="column_container"></div> <span> ] </span>';
|
|
|
|
|
|
variable_render += "</div>";
|
|
variable_render += "</div>";
|
|
|
|
|
|
@@ -784,22 +828,32 @@ function variableValueMenuCode (
|
|
});
|
|
});
|
|
|
|
|
|
if (!variable_obj.column) {
|
|
if (!variable_obj.column) {
|
|
- variable_obj.column = new Models.VariableValueMenu(
|
|
|
|
|
|
+ var temp = new Models.VariableValueMenu(
|
|
VAR_OR_VALUE_TYPES.all,
|
|
VAR_OR_VALUE_TYPES.all,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
true
|
|
true
|
|
);
|
|
);
|
|
|
|
+
|
|
|
|
+ if (variable_obj.reference)
|
|
|
|
+ temp.reference_parent = true
|
|
|
|
+
|
|
|
|
+ variable_obj.column = temp
|
|
}
|
|
}
|
|
if (!variable_obj.row) {
|
|
if (!variable_obj.row) {
|
|
- variable_obj.row = new Models.VariableValueMenu(
|
|
|
|
|
|
+ var temp = new Models.VariableValueMenu(
|
|
VAR_OR_VALUE_TYPES.all,
|
|
VAR_OR_VALUE_TYPES.all,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
true
|
|
true
|
|
);
|
|
);
|
|
|
|
+
|
|
|
|
+ if (variable_obj.reference)
|
|
|
|
+ temp.reference_parent = true
|
|
|
|
+
|
|
|
|
+ variable_obj.row = temp
|
|
}
|
|
}
|
|
|
|
|
|
variableValueMenuCode(
|
|
variableValueMenuCode(
|
|
@@ -810,14 +864,19 @@ function variableValueMenuCode (
|
|
menu_var_or_value,
|
|
menu_var_or_value,
|
|
expression_element
|
|
expression_element
|
|
);
|
|
);
|
|
- variableValueMenuCode(
|
|
|
|
- command,
|
|
|
|
- variable_obj.column,
|
|
|
|
- $(variable_render.find(".column_container")),
|
|
|
|
- function_obj,
|
|
|
|
- menu_var_or_value,
|
|
|
|
- expression_element
|
|
|
|
- );
|
|
|
|
|
|
+
|
|
|
|
+ if (variable_obj.reference_dimensions == 1) {
|
|
|
|
+ variable_obj.column = null
|
|
|
|
+ } else {
|
|
|
|
+ variableValueMenuCode(
|
|
|
|
+ command,
|
|
|
|
+ variable_obj.column,
|
|
|
|
+ $(variable_render.find(".column_container")),
|
|
|
|
+ function_obj,
|
|
|
|
+ menu_var_or_value,
|
|
|
|
+ expression_element
|
|
|
|
+ );
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
variable_render =
|
|
variable_render =
|
|
'<div class="variable_rendered"> <span class="var_name">' +
|
|
'<div class="variable_rendered"> <span class="var_name">' +
|
|
@@ -1346,6 +1405,16 @@ function openInputToFunction (
|
|
true
|
|
true
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if (function_selected.parameters_list[j].reference == true) {
|
|
|
|
+ temp.reference = true;
|
|
|
|
+ temp.variable_and_value = VAR_OR_VALUE_TYPES.only_variable;
|
|
|
|
+ } else {
|
|
|
|
+ temp.reference = false;
|
|
|
|
+ temp.variable_and_value = VAR_OR_VALUE_TYPES.all;
|
|
|
|
+ }
|
|
|
|
+ temp.reference_dimensions = function_selected.parameters_list[j].dimensions
|
|
|
|
+
|
|
ref_object.parameters_list.push(temp);
|
|
ref_object.parameters_list.push(temp);
|
|
renderMenu(
|
|
renderMenu(
|
|
command,
|
|
command,
|
|
@@ -1525,14 +1594,17 @@ function openInputToVariable (
|
|
"</span>";
|
|
"</span>";
|
|
|
|
|
|
if (variable_selected.dimensions == 1 && ref_object.dimensions != 1) {
|
|
if (variable_selected.dimensions == 1 && ref_object.dimensions != 1) {
|
|
|
|
+
|
|
variable_render +=
|
|
variable_render +=
|
|
' <span>[ </span> <div class="column_container"></div> <span> ]</span>';
|
|
' <span>[ </span> <div class="column_container"></div> <span> ]</span>';
|
|
}
|
|
}
|
|
if (variable_selected.dimensions == 2 && ref_object.dimensions != 2) {
|
|
if (variable_selected.dimensions == 2 && ref_object.dimensions != 2) {
|
|
variable_render +=
|
|
variable_render +=
|
|
' <span>[ </span> <div class="row_container"></div> <span> ]</span> ';
|
|
' <span>[ </span> <div class="row_container"></div> <span> ]</span> ';
|
|
|
|
+
|
|
variable_render +=
|
|
variable_render +=
|
|
' <span>[ </span> <div class="column_container"></div> <span> ]</span>';
|
|
' <span>[ </span> <div class="column_container"></div> <span> ]</span>';
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
variable_render += "</div>";
|
|
variable_render += "</div>";
|
|
@@ -1542,13 +1614,18 @@ function openInputToVariable (
|
|
dom_object.append(variable_render);
|
|
dom_object.append(variable_render);
|
|
|
|
|
|
if (variable_selected.dimensions == 1 && ref_object.dimensions != 1) {
|
|
if (variable_selected.dimensions == 1 && ref_object.dimensions != 1) {
|
|
- ref_object.column = new Models.VariableValueMenu(
|
|
|
|
|
|
+ var temp = new Models.VariableValueMenu(
|
|
VAR_OR_VALUE_TYPES.all,
|
|
VAR_OR_VALUE_TYPES.all,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
true
|
|
true
|
|
);
|
|
);
|
|
|
|
+ if (ref_object.reference)
|
|
|
|
+ temp.reference_parent = true
|
|
|
|
+
|
|
|
|
+ ref_object.column = temp
|
|
|
|
+
|
|
renderMenu(
|
|
renderMenu(
|
|
command,
|
|
command,
|
|
ref_object.column,
|
|
ref_object.column,
|
|
@@ -1559,13 +1636,19 @@ function openInputToVariable (
|
|
);
|
|
);
|
|
}
|
|
}
|
|
if (variable_selected.dimensions == 2 && ref_object.dimensions != 2) {
|
|
if (variable_selected.dimensions == 2 && ref_object.dimensions != 2) {
|
|
- ref_object.row = new Models.VariableValueMenu(
|
|
|
|
|
|
+ var temp = new Models.VariableValueMenu(
|
|
VAR_OR_VALUE_TYPES.all,
|
|
VAR_OR_VALUE_TYPES.all,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
true
|
|
true
|
|
);
|
|
);
|
|
|
|
+
|
|
|
|
+ if (ref_object.reference)
|
|
|
|
+ temp.reference_parent = true
|
|
|
|
+
|
|
|
|
+ ref_object.row = temp
|
|
|
|
+
|
|
renderMenu(
|
|
renderMenu(
|
|
command,
|
|
command,
|
|
ref_object.row,
|
|
ref_object.row,
|
|
@@ -1575,13 +1658,19 @@ function openInputToVariable (
|
|
expression_element
|
|
expression_element
|
|
);
|
|
);
|
|
|
|
|
|
- ref_object.column = new Models.VariableValueMenu(
|
|
|
|
|
|
+ var temp = new Models.VariableValueMenu(
|
|
VAR_OR_VALUE_TYPES.all,
|
|
VAR_OR_VALUE_TYPES.all,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
null,
|
|
true
|
|
true
|
|
);
|
|
);
|
|
|
|
+
|
|
|
|
+ if (ref_object.reference)
|
|
|
|
+ temp.reference_parent = true
|
|
|
|
+
|
|
|
|
+ ref_object.column = temp
|
|
|
|
+
|
|
renderMenu(
|
|
renderMenu(
|
|
command,
|
|
command,
|
|
ref_object.column,
|
|
ref_object.column,
|