Browse Source

Implement better error messages from the visual ui regarding duplicate and invalid variables, parameters and functions name

Lucas de Souza 5 years ago
parent
commit
2704a65cf7
5 changed files with 16 additions and 11 deletions
  1. 6 1
      i18n/pt/error.json
  2. 1 1
      i18n/pt/ui.json
  3. 5 5
      js/visualUI/functions.js
  4. 2 2
      js/visualUI/globals.js
  5. 2 2
      js/visualUI/variables.js

+ 6 - 1
i18n/pt/error.json

@@ -88,5 +88,10 @@
   "test_case_failed_exception": "Caso de teste $0 falhou: $1",
   "invalid_type_conversion": "O valor $0 não pode ser convertido para o tipo $1",
   "invalid_read_type":"A entrada \"$0\" não é do tipo $1, que é o tipo da variável <span class='ivprog-error-varname'>$2</span>.",
-  "invalid_read_type_array":"A entrada \"$0\" não é do tipo $1, que é o tipo aceito pela variável <span class='ivprog-error-varname'>$2</span> que é um $3."
+  "invalid_read_type_array":"A entrada \"$0\" não é do tipo $1, que é o tipo aceito pela variável <span class='ivprog-error-varname'>$2</span> que é um $3.",
+  "inform_valid_identifier": "Informe um nome válido! O nome não pode ser uma palavra reservadoa e deve começar com letras e conter apenas letras, números e _",
+  "inform_valid_global_duplicated": "Já existe uma variável global com o nome <span class='ivprog-error-varname'>$0</span>, você precisa de nomes distintos.",
+  "inform_valid_variable_duplicated" : "Já existe uma variável com o nome <span class='ivprog-error-varname'>$0</span> na função <span class='ivprog-error-varname'>$1</span>, você precisa de nomes distintos.",
+  "inform_valid_function_duplicated" : "Já existe uma função com o nome <span class='ivprog-error-varname'>$0</span>, você precisa de nomes distintos.",
+  "inform_valid_param_duplicated" : "Já existe um parâmetro com o nome <span class='ivprog-error-varname'>$0</span> na função <span class='ivprog-error-varname'>$1</span>, você precisa de nomes distintos."
 }

+ 1 - 1
i18n/pt/ui.json

@@ -100,7 +100,7 @@
   "var_menu_select_all": "Selecione",
   "var_menu_select_function": "Selecione uma função",
   "expression_menu_select": "Construir uma expressão lógica",
-  "inform_valid_name": "Informe um nome válido!",
+  "inform_valid_name": "Informe um nome válido! O nome não pode ser uma palavra reservadoa e deve começar com letras e conter apenas letras, números e _",
   "inform_valid_content": "Informe o conteúdo!",
   "inform_valid_expression": "Construa uma expressão lógica!",
   "inform_valid_name_duplicated": "Este nome já está em uso por outra função!",

+ 5 - 5
js/visualUI/functions.js

@@ -1127,13 +1127,13 @@ function updateParameterName (parameter_var, new_name, parameter_obj_dom, functi
 
   if (isValidIdentifier(new_name)) {
     if (variableNameAlreadyExists(new_name, function_obj)) {
-      Utils.renderErrorMessage(parameter_obj_dom.find('.parameter_div_edit'), LocalizedStrings.getUI('inform_valid_variable_duplicated'));
+      Utils.renderErrorMessage(parameter_obj_dom.find('.parameter_div_edit'), LocalizedStrings.getError('inform_valid_param_duplicated', [new_name, function_obj.name]));
     } else {
-      registerUserEvent(parameter_var.name, ActionTypes.RENAME_FUNCTION_PARAM, function_obj.name, new_name);
+      registerUserEvent(function_obj.name, ActionTypes.RENAME_FUNCTION_PARAM, parameter_var.name, new_name);
       parameter_var.name = new_name;
     }
   } else {
-    Utils.renderErrorMessage(parameter_obj_dom.find('.parameter_div_edit'), LocalizedStrings.getUI('inform_valid_name'));
+    Utils.renderErrorMessage(parameter_obj_dom.find('.parameter_div_edit'), LocalizedStrings.getError('inform_valid_identifier'));
   }
 }
 
@@ -1166,13 +1166,13 @@ function updateFunctionName (function_var, new_name, function_obj_dom) {
   
   if (isValidIdentifier(new_name)) {
     if (functionNameAlreadyExists(new_name)) {
-      Utils.renderErrorMessage(function_obj_dom.find('.function_name_div'), LocalizedStrings.getUI('inform_valid_name_duplicated'));
+      Utils.renderErrorMessage(function_obj_dom.find('.function_name_div'), LocalizedStrings.getError('inform_valid_function_duplicated', [new_name]));
     } else {
       registerUserEvent(function_var.name, ActionTypes.RENAME_FUNCTION, new_name);
       function_var.name = new_name;
     }
   } else {
-    Utils.renderErrorMessage(function_obj_dom.find('.function_name_div'), LocalizedStrings.getUI('inform_valid_name'));
+    Utils.renderErrorMessage(function_obj_dom.find('.function_name_div'), LocalizedStrings.getError('inform_valid_identifier'));
   }
 }
 

+ 2 - 2
js/visualUI/globals.js

@@ -37,13 +37,13 @@ function updateName (global_var, new_name, global_obj_dom) {
 
 	if (isValidIdentifier(new_name)) {
 		if (globalNameAlreadyExists(new_name)) {
-			Utils.renderErrorMessage(global_obj_dom.find('.editing_name_var'), LocalizedStrings.getUI('inform_valid_global_duplicated'));
+			Utils.renderErrorMessage(global_obj_dom.find('.editing_name_var'), LocalizedStrings.getError('inform_valid_global_duplicated', [new_name]));
 		} else {
 			registerUserEvent(global_var.name, ActionTypes.RENAME_GLOBAL_VAR, new_name);
 			global_var.name = new_name;
 		}
 	} else {
-		Utils.renderErrorMessage(global_obj_dom.find('.editing_name_var'), LocalizedStrings.getUI('inform_valid_name'));
+		Utils.renderErrorMessage(global_obj_dom.find('.editing_name_var'), LocalizedStrings.getError('inform_valid_identifier'));
 	}
 }
 

+ 2 - 2
js/visualUI/variables.js

@@ -33,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.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'));
 	}
 }