Browse Source

Continuando os comandos

Igor 6 years ago
parent
commit
8a39e8c6d9

+ 1 - 1
css/ivprog-visual-1.0.css

@@ -302,7 +302,7 @@ div.buttons_manage_columns {
 	cursor: pointer;
 }
 
-.button_remove_command {
+.button_remove_command, .button_refresh_attribution {
 	float: right;
 	cursor: pointer;
 }

+ 7 - 3
js/visualUI/commands/attribution.js

@@ -13,8 +13,8 @@ export function createFloatingCommand () {
 }
 
 export function renderCommand (command, function_obj) {
-
-	var el = $('<div class="ui attribution command_container"> <i class="ui icon small arrow left command_drag"></i> <i class="ui icon times red button_remove_command"></i> <div class="var_attributed"></div> <span class="text_attr_receives">'+LocalizedStrings.getUI('text_receives')+'</span> '
+	
+	var el = $('<div class="ui attribution command_container"> <i class="ui icon small arrow left command_drag"></i> <i class="ui icon times red button_remove_command"></i> <i class="ui icon redo alternate blue button_refresh_attribution"></i> <div class="var_attributed"></div> <span class="text_attr_receives">'+LocalizedStrings.getUI('text_receives')+'</span> '
 		 + '<div class="expression_elements"></div> </div>');
 	el.data('command', command);
 
@@ -27,7 +27,7 @@ export function renderCommand (command, function_obj) {
 	command.expression.push(Models.ARITHMETIC_TYPES.plus);
 
 	command.expression.push(new Models.VariableValueMenu(VariableValueMenuManagement.VAR_OR_VALUE_TYPES.all, window.program_obj.functions[0].variables_list[0], null, 
-		new Models.VariableValueMenu(VariableValueMenuManagement.VAR_OR_VALUE_TYPES.all, new Models.Variable(Types.REAL, "variable_2", 1), true), null, null, true));
+		new Models.VariableValueMenu(VariableValueMenuManagement.VAR_OR_VALUE_TYPES.all, new Models.Variable(Types.REAL, "variable_2", 1)), null, null, true));
 
 
 	command.expression.push(")");
@@ -114,6 +114,10 @@ function addHandlers (command, function_obj, attribution_dom) {
 			attribution_dom.remove();
 		}
 	});
+
+	attribution_dom.find('.button_refresh_attribution').on('click', function() {
+		renderExpression(command, function_obj, attribution_dom);
+	});
 }
 
 export function renderMenuOperations (command, ref_object, dom_object, menu_var_or_value, function_obj, variable_selected) {

+ 95 - 37
js/visualUI/commands/variable_value_menu.js

@@ -73,38 +73,15 @@ function renderPreviousContent (function_obj, menu_var_or_value, ref_object, dom
 	if (ref_object.function_called) {
 
 	} else if (ref_object.content.type) { 
-		var temp = $('<div class="variable_rendered"></div>');
-		temp.insertBefore(menu_var_or_value);
+		
 		menu_var_or_value.remove();
-		temp.append(variableValueMenuCode(command, ref_object, dom_object, function_obj));
-
-		var context_menu = '<div class="ui dropdown context_menu_clear"><div class="text"></div><i class="dropdown icon"></i><div class="menu">';
-		context_menu += '<div class="item" data-clear="true">'+LocalizedStrings.getUI('btn_clear')+'</div>';
-		context_menu += '</div></div>';
-
-		context_menu = $(context_menu);
-
-		context_menu.insertAfter( dom_object.find('.variable_rendered') );
-
-		context_menu.dropdown({
-			onChange: function(value, text, $selectedItem) {
-		     if ($selectedItem.data('clear')) {
-		     	dom_object.text('');
-
-		     	ref_object.content = null;
-		     	ref_object.row = null;
-		     	ref_object.column = null;
-
-		     	renderMenu(command, ref_object, dom_object, function_obj);
-		     }
-	      }
-		});
+		variableValueMenuCode(command, ref_object, dom_object, function_obj);
 
 	} else {
 		var temp = $('<div class="value_rendered"></div>');
 		temp.insertBefore(menu_var_or_value);
 		menu_var_or_value.remove();
-		temp.append(variableValueMenuCode(command, ref_object, dom_object, function_obj));
+		variableValueMenuCode(command, ref_object, temp, function_obj);
 
 
 		var context_menu = '<div class="ui dropdown context_menu_clear"><div class="text"></div><i class="dropdown icon"></i><div class="menu">';
@@ -145,8 +122,6 @@ function renderPreviousContent (function_obj, menu_var_or_value, ref_object, dom
 
 function variableValueMenuCode (command, variable_obj, dom_object, function_obj) {
 
-	console.log("o que chegou: ");
-	console.log(variable_obj);
 
 	var ret = '';
 	if (variable_obj.function_called) {
@@ -155,7 +130,7 @@ function variableValueMenuCode (command, variable_obj, dom_object, function_obj)
 
 		if (variable_obj.parameters_list) {
 			for (var i = 0; i < variable_obj.parameters_list.length; i++) {
-				ret += variableValueMenuCode(command, variable_obj.parameters_list[i], dom_object, function_obj);
+				variableValueMenuCode(command, variable_obj.parameters_list[i], dom_object, function_obj);
 				if ((i + 1) < variable_obj.parameters_list.length) {
 					ret += ', ';
 				}
@@ -163,26 +138,109 @@ function variableValueMenuCode (command, variable_obj, dom_object, function_obj)
 		}
 
 		ret += ' )';
+
+		dom_object.append($(ret));
+
+
 	} else if (variable_obj.content.type) {
 
-		ret += variable_obj.content.name;
+		var variable_render = "";
 
 		if (variable_obj.content.dimensions == 1) {
-			ret += ' [ ' + variableValueMenuCode(command, variable_obj.column, dom_object, function_obj) + ' ] ';
-		}
 
-		if (variable_obj.content.dimensions == 2) {
-			ret += ' [ ' + variableValueMenuCode(command, variable_obj.row, dom_object, function_obj) + ' ] ';
-			ret += ' [ ' + variableValueMenuCode(command, variable_obj.column, dom_object, function_obj) + ' ] ';
+			variable_render = '<div class="variable_rendered"> <span class="var_name">'+variable_obj.content.name+'</span>';
+
+			variable_render += ' <span>[ </span> <div class="column_container"></div> <span> ]</span>';
+			
+			variable_render += '</div>';
+
+			variable_render = $(variable_render);
+
+			dom_object.append(variable_render);
+
+
+			var context_menu = '<div class="ui dropdown context_menu_clear"><div class="text"></div><i class="dropdown icon"></i><div class="menu">';
+			context_menu += '<div class="item" data-clear="true">'+LocalizedStrings.getUI('btn_clear')+'</div>';
+			context_menu += '</div></div>';
+
+			context_menu = $(context_menu);
+
+			//context_menu.insertAfter( dom_object.find('.variable_rendered') );
+
+			variable_render.append(context_menu);
+
+			context_menu.dropdown({
+				onChange: function(value, text, $selectedItem) {
+			     if ($selectedItem.data('clear')) {
+			     	dom_object.text('');
+
+			     	variable_obj.content = null;
+			     	variable_obj.row = null;
+			     	variable_obj.column = null;
+
+			     	renderMenu(command, variable_obj, dom_object, function_obj);
+			     }
+		      }
+			});
+
+
+			variableValueMenuCode(command, variable_obj.column, $(variable_render.find('.column_container')[0]), function_obj);
+
+		} else if (variable_obj.content.dimensions == 2) {
+			/*ret += ' [ ' + variableValueMenuCode(command, variable_obj.row, dom_object, function_obj) + ' ] ';
+			ret += ' [ ' + variableValueMenuCode(command, variable_obj.column, dom_object, function_obj) + ' ] ';*/
+		} else {
+
+			variable_render = '<div class="variable_rendered"> <span class="var_name">'+variable_obj.content.name+'</span>';
+
+			variable_render += '</div>';
+
+			variable_render = $(variable_render);
+
+			dom_object.append(variable_render);
+
+
+			var context_menu = '<div class="ui dropdown context_menu_clear"><div class="text"></div><i class="dropdown icon"></i><div class="menu">';
+			context_menu += '<div class="item" data-clear="true">'+LocalizedStrings.getUI('btn_clear')+'</div>';
+			context_menu += '</div></div>';
+
+			context_menu = $(context_menu);
+
+			context_menu.insertAfter( variable_render );
+
+			context_menu.dropdown({
+				onChange: function(value, text, $selectedItem) {
+			     if ($selectedItem.data('clear')) {
+			     	dom_object.text('');
+
+			     	variable_obj.content = null;
+			     	variable_obj.row = null;
+			     	variable_obj.column = null;
+
+			     	renderMenu(command, variable_obj, dom_object, function_obj);
+			     }
+		      }
+			});
+
 		}
 
 
+		
+
+
 	} else {
 
-		ret += variable_obj.content;
+		console.log("numeral?");
+
+		var variable_render = '<div class="variable_rendered"> <span class="var_name">'+variable_obj.content+'</span>';
+		variable_render += '</div>';
+
+		console.log(ret);
+
+		dom_object.append($(variable_render));
 	}
 
-	return ret;
+	
 
 }