Prechádzať zdrojové kódy

Enviando antes de testar os arquivos de Douglas

Igor 5 rokov pred
rodič
commit
c72c8ff340

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 28 - 23
build/ivprog.bundle.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
build/ivprog.bundle.js.map


+ 1 - 0
i18n/en/ui.json

@@ -100,6 +100,7 @@
   "inform_valid_name": "Inform a valid name!",
   "inform_valid_content": "Enter some content!",
   "inform_valid_expression": "Construct the logical condition!",
+  "inform_valid_name_duplicated": "This name is already in use by other function.",
   "arrangement": "Arrangement",
   "conversion": "Conversion",
   "$sin": "sin",

+ 1 - 0
i18n/es/ui.json

@@ -104,6 +104,7 @@
   "inform_valid_name": "Inform a valid name!",
   "inform_valid_content": "Enter some content!",
   "inform_valid_expression": "Construct the logical condition!",
+  "inform_valid_name_duplicated": "This name is already in use by other function.",
   "text_t": "Text",
   "arrangement": "Arrangement",
   "conversion": "Conversion",

+ 1 - 0
i18n/pt/ui.json

@@ -107,6 +107,7 @@
   "inform_valid_name": "Informe um nome válido!",
   "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!",
   "arrangement": "Arranjo",
   "conversion": "Conversao",
   "$sin": "seno",

+ 1 - 1
js/visualUI/algorithm.js

@@ -35,5 +35,5 @@ export function renderAlgorithm () {
 		GlobalsManagement.renderGlobal(window.program_obj.globals[i]);
 	}	
 
-	setTimeout(function(){ block_render = false; }, 500);
+	setTimeout(function(){ block_render = false; }, 100);
 }

+ 15 - 13
js/visualUI/functions.js

@@ -14,6 +14,7 @@ import WatchJS from 'melanke-watchjs';
 import { SemanticAnalyser } from '../processor/semantic/semanticAnalyser';
 import { IVProgAssessment } from '../assessment/ivprogAssessment';
 import * as AlgorithmManagement from './algorithm';
+import * as Utils from './utils';
 
 import '../Sortable.js';
 
@@ -803,22 +804,23 @@ function updateParameterName (parameter_var, new_name, parameter_obj_dom) {
 
 function updateFunctionName (function_var, new_name, function_obj_dom) {
   if (isValidIdentifier(new_name)) {
-    function_var.name = new_name;
+    if (functionNameAlreadyExists(new_name)) {
+      Utils.renderErrorMessage(function_obj_dom.find('.function_name_div'), LocalizedStrings.getUI('inform_valid_name_duplicated'));
+    } else {
+      function_var.name = new_name;
+    }
   } else {
-    function_obj_dom.find('.function_name_div').popup({
-      html : '<i class="ui icon inverted exclamation triangle yellow"></i>' + LocalizedStrings.getUI('inform_valid_name'),
-      transition : "fade up",
-      on    : 'click',
-      closable : true,
-      className   : {
-        popup       : 'ui popup invalid-identifier'
-      },
-      onHidden : function($module) {
-        function_obj_dom.find('.function_name_div').popup('destroy');
-      }
+    Utils.renderErrorMessage(function_obj_dom.find('.function_name_div'), LocalizedStrings.getUI('inform_valid_name'));
+  }
+}
 
-    }).popup('toggle');
+function functionNameAlreadyExists (function_name) {
+  for (var i = 0; i < window.program_obj.functions.length; i++) {
+    if (window.program_obj.functions[i].name == function_name) {
+      return true;
+    }
   }
+  return false;
 }
 
 function isValidIdentifier (identifier_str) {