ソースを参照

iVProg most recent version included

Igor 3 年 前
コミット
7f6715775a
27 ファイル変更276801 行追加27 行削除
  1. 54 11
      ilm/iVProg/1.0.20190717/ivprog/css/ivprog-visual-1.0.css
  2. 1 1
      ilm/iVProg/1.0.20190717/ivprog/index.html
  3. 31 0
      ilm/iVProg/1.0.20190717/ivprog/js/iassign-integration-functions.js
  4. 27656 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.0dbe69c90e79a59997bc.js
  5. 1 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.0dbe69c90e79a59997bc.js.map
  6. 27656 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.178e3d646fb79d7bafa6.js
  7. 1 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.178e3d646fb79d7bafa6.js.map
  8. 27651 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.25bbb06803f26e12b972.js
  9. 1 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.25bbb06803f26e12b972.js.map
  10. 27651 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.308b4036355a0af3793b.js
  11. 1 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.308b4036355a0af3793b.js.map
  12. 27656 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.30fa082cc8a9942d60d0.js
  13. 1 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.30fa082cc8a9942d60d0.js.map
  14. 27723 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.5e7761a70f5b53c69b09.js
  15. 1 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.5e7761a70f5b53c69b09.js.map
  16. 27723 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.7e850e1e799453d24cec.js
  17. 1 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.7e850e1e799453d24cec.js.map
  18. 27656 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.96c8c56bbdf2ab0724c3.js
  19. 1 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.96c8c56bbdf2ab0724c3.js.map
  20. 29 13
      ilm/iVProg/1.0.20190717/ivprog/js/main.d645005987e041044c6f.js
  21. 1 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.d37a85f034d619e41454.js.map
  22. 27651 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.d3a24f40f33b9a1c322a.js
  23. 1 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.d3a24f40f33b9a1c322a.js.map
  24. 27651 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.d4ddc7e5339f9c968f82.js
  25. 1 0
      ilm/iVProg/1.0.20190717/ivprog/js/main.d4ddc7e5339f9c968f82.js.map
  26. 0 1
      ilm/iVProg/1.0.20190717/ivprog/js/main.d645005987e041044c6f.js.map
  27. 1 1
      ilm/iVProg/1.0.20190717/ivprog/runner.html

+ 54 - 11
ilm/iVProg/1.0.20190717/ivprog/css/ivprog-visual-1.0.css

@@ -138,17 +138,6 @@ body {
 	margin-right: 10px;
 }
 
-.case_commands_block {
-	/*border: 1px solid red;*/
-}
-
-.context_menu {
-	display: inline;
-	float: right; 
-	margin-right: 25px;
-	margin-top: -4px;
-}
-
 .case_div {
 	border: 1px solid gray;
 	margin-left: 30px;
@@ -1085,3 +1074,57 @@ div.ui.checkbox.transition.visible {
   height: 32px;
   cursor: pointer;
 }
+
+.ui.icon.button.minimize_block_button {
+	background: none;
+	float: right;
+	padding-top: .25rem;
+	margin-right: .3rem;
+}
+
+div.ui.dropdown.menu_commands.pause {
+
+}
+
+.context_menu {
+	display: inline;
+	float: right;
+	margin: 0;
+}
+
+.data_block_if span.textual_expression,
+.ui.dowhiletrue span.textual_expression,
+.ui.whiletrue span.textual_expression,
+.attribution span.textual_expression,
+.writer span.textual_expression {
+	color: #2325a6;
+	font-weight: bold;
+	font-size: 1.2rem;
+}
+
+i.button_alternate_expression {
+	cursor: pointer;
+	font-size: 1.1rem;
+	margin-left: 0.3rem;
+	color: black;
+}
+
+.attribution i.button_alternate_expression {
+	margin-left: .8rem;
+}
+.repeatN_text_par_1, .repeatN_text_par_2, 
+.repeatN_text_par_3, .repeatN_text_par_4 {
+	margin-left: .2rem;
+	font-weight: bold;
+	font-size: 1.2rem;
+	margin-right: .3rem;
+	color: #2325a6;
+}
+
+.repeatN_text_par_1 {
+	margin-left: -1.2rem;
+}
+
+.writer .button_alternate_expression {
+	margin-left: 2.5rem;
+}

+ 1 - 1
ilm/iVProg/1.0.20190717/ivprog/index.html

@@ -115,7 +115,7 @@
     </div>
     <script src="js/iassign-integration-functions.js"></script>
   </div>
-  <script src="js/vendors~main.685d1cf2ece1ed4ebb99.js"></script><script src="js/main.d645005987e041044c6f.js"></script></body>
+  <script src="js/vendors~main.685d1cf2ece1ed4ebb99.js"></script><script src="js/main.5e7761a70f5b53c69b09.js"></script></body>
   <script>
     var mouseX;
     var mouseY;

+ 31 - 0
ilm/iVProg/1.0.20190717/ivprog/js/iassign-integration-functions.js

@@ -20,11 +20,42 @@ var iLMparameters = {
 // and no dependency to the global scope, avoind future 'strict mode' problems
 //localStorage.setItem('ivprog.lang', iLMparameters.lang);
 
+function removeCollapseValue (command) {
+  if (command.collapsed) {
+    delete command.collapsed;
+  }
+  if (command.type == 'iftrue') {
+    if (command.commands_block)
+      for (var i = 0; i < command.commands_block.length; i++) {
+        removeCollapseValue(command.commands_block[i]);
+      }
+    if (command.commands_else)
+      for (var i = 0; i < command.commands_else.length; i++) {
+        removeCollapseValue(command.commands_else[i]);
+      }
+  } else if (command.type == 'repeatNtimes' 
+            || command.type == 'whiletrue' 
+            || command.type == 'dowhiletrue' ) {
+    if (command.commands_block)
+      for (var i = 0; i < command.commands_block.length; i++) {
+        removeCollapseValue(command.commands_block[i]);
+      }
+  }
+}
+
 // Função chamada pelo iTarefa quando o professor finaliza a criação da atividade
 // ou quando o aluno finaliza a resolução do exercício
 // O retorno é um JSON com os dados do exercício ou da resolução
 // Esse retorno será armazenado no banco de dados do Moodle, pelo iTarefa
 function getAnswer () {
+  // Remover o colapsar usado localmente:
+  if (window.program_obj) {
+    for (var i = 0; i < window.program_obj.functions.length; i++) {
+      for (var j = 0; j < window.program_obj.functions[i].commands.length; j++) {
+        removeCollapseValue(window.program_obj.functions[i].commands[j]);
+      }
+    }
+  }
   // Se o parâmetro "iLM_PARAM_SendAnswer" for false,
   // então trata-se de resolução de atividade
   if (iLMparameters.iLM_PARAM_SendAnswer == 'false') {

ファイルの差分が大きいため隠しています
+ 27656 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.0dbe69c90e79a59997bc.js


ファイルの差分が大きいため隠しています
+ 1 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.0dbe69c90e79a59997bc.js.map


ファイルの差分が大きいため隠しています
+ 27656 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.178e3d646fb79d7bafa6.js


ファイルの差分が大きいため隠しています
+ 1 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.178e3d646fb79d7bafa6.js.map


ファイルの差分が大きいため隠しています
+ 27651 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.25bbb06803f26e12b972.js


ファイルの差分が大きいため隠しています
+ 1 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.25bbb06803f26e12b972.js.map


ファイルの差分が大きいため隠しています
+ 27651 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.308b4036355a0af3793b.js


ファイルの差分が大きいため隠しています
+ 1 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.308b4036355a0af3793b.js.map


ファイルの差分が大きいため隠しています
+ 27656 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.30fa082cc8a9942d60d0.js


ファイルの差分が大きいため隠しています
+ 1 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.30fa082cc8a9942d60d0.js.map


ファイルの差分が大きいため隠しています
+ 27723 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.5e7761a70f5b53c69b09.js


ファイルの差分が大きいため隠しています
+ 1 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.5e7761a70f5b53c69b09.js.map


ファイルの差分が大きいため隠しています
+ 27723 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.7e850e1e799453d24cec.js


ファイルの差分が大きいため隠しています
+ 1 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.7e850e1e799453d24cec.js.map


ファイルの差分が大きいため隠しています
+ 27656 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.96c8c56bbdf2ab0724c3.js


ファイルの差分が大きいため隠しています
+ 1 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.96c8c56bbdf2ab0724c3.js.map


+ 29 - 13
ilm/iVProg/1.0.20190717/ivprog/js/main.d645005987e041044c6f.js

@@ -172,7 +172,7 @@ return /******/ (function(modules) { // webpackBootstrap
 /*! exports provided: version, default */
 /***/ (function(module) {
 
-module.exports = JSON.parse("{\"version\":\"2020_12_03 16_39\"}");
+module.exports = JSON.parse("{\"version\":\"2020_12_07 16_46\"}");
 
 /***/ }),
 
@@ -256,7 +256,7 @@ module.exports =
 /* 0 */
 /***/ (function(module, exports, __webpack_require__) {
 
-// Generated from /tmp/tmp-2715Xlfam4sP62FI/ivprog.g4 by ANTLR 4.7
+// Generated from /tmp/tmp-184237bid74CzAZob/ivprog.g4 by ANTLR 4.7
 // jshint ignore: start
 var antlr4 = __webpack_require__(2);
 
@@ -932,7 +932,7 @@ module.exports =
 /* 0 */
 /***/ (function(module, exports, __webpack_require__) {
 
-// Generated from /tmp/tmp-2715XQhuJHzzsmxx/ivprog.g4 by ANTLR 4.7
+// Generated from /tmp/tmp-18423BweKd1GpxdNi/ivprog.g4 by ANTLR 4.7
 // jshint ignore: start
 var antlr4 = __webpack_require__(2);
 
@@ -17358,7 +17358,6 @@ function renderAlgorithm() {
   }
 
   window.block_render = true;
-  console.log('rendering algorithm');
   $('.all_functions').children().off();
   $('.all_functions').empty();
   $('.list_globals').children().off();
@@ -17375,7 +17374,6 @@ function renderAlgorithm() {
   setTimeout(function () {
     window.block_render = false;
   }, 100);
-  console.log('fim do render');
 
   if (settingsFilter && settingsFilter[0]) {
     blockAllEditingOptions();
@@ -20490,10 +20488,10 @@ __webpack_require__.r(__webpack_exports__);
 
 
 function createFloatingCommand() {
-  return $('<div class="ui comment created_element"> <i class="ui icon small quote left"></i> <span> ' + _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_0__["LocalizedStrings"].getUI('text_break') + ' </span></div>');
+  return $('<div class="ui comment created_element"> <i class="ui icon small pause"></i> <span> ' + _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_0__["LocalizedStrings"].getUI('text_break') + ' </span></div>');
 }
 function renderCommand(command, function_obj) {
-  var el = $('<div class="ui comment command_container"> <i class="ui icon small quote left"></i> <i class="ui icon times red button_remove_command"></i> <span>' + _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_0__["LocalizedStrings"].getUI('text_break') + '</span> </div>');
+  var el = $('<div class="ui comment command_container"> <i class="ui icon small pause"></i> <i class="ui icon times red button_remove_command"></i> <span>' + _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_0__["LocalizedStrings"].getUI('text_break') + '</span> </div>');
   el.data('command', command);
   addHandlers(command, function_obj, el);
   return el;
@@ -20788,22 +20786,30 @@ __webpack_require__.r(__webpack_exports__);
 
 
 function renderMenu(command, dom_where_render, function_obj, dom_command) {
-  var menu_div = '<div class="ui dropdown menu_commands" ><i class="icon code"></i> <div class="menu"> ';
+  var menu_div = '<button class="ui icon button minimize_block_button tiny"><i class="icon window minimize"></i></button> <div class="ui dropdown menu_commands pause" ><i class="icon pause"></i> <div class="menu"> ';
 
   if (command.type == _ivprog_elements__WEBPACK_IMPORTED_MODULE_0__["COMMAND_TYPES"].repeatNtimes || command.type == _ivprog_elements__WEBPACK_IMPORTED_MODULE_0__["COMMAND_TYPES"].whiletrue || command.type == _ivprog_elements__WEBPACK_IMPORTED_MODULE_0__["COMMAND_TYPES"].dowhiletrue) {
-    menu_div += '<a class="item" data-command="' + _ivprog_elements__WEBPACK_IMPORTED_MODULE_0__["COMMAND_TYPES"]["break"] + '"><i class="download icon"></i> ' + _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_1__["LocalizedStrings"].getUI('btn_break') + ' </a>';
+    menu_div += '<a class="item" data-command="' + _ivprog_elements__WEBPACK_IMPORTED_MODULE_0__["COMMAND_TYPES"]["break"] + '"><i class="pause icon"></i> ' + _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_1__["LocalizedStrings"].getUI('btn_break') + ' </a>';
   } else {
-    menu_div += '<a class="item" data-command="' + _ivprog_elements__WEBPACK_IMPORTED_MODULE_0__["COMMAND_TYPES"]["break"] + '"><i class="download icon"></i> ' + _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_1__["LocalizedStrings"].getUI('btn_break') + ' </a>';
-    menu_div += '<a class="item" data-command="' + _ivprog_elements__WEBPACK_IMPORTED_MODULE_0__["COMMAND_TYPES"].switchcase + '"><i class="download icon"></i> ' + _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_1__["LocalizedStrings"].getUI('btn_case') + ' </a>';
+    menu_div += '<a class="item" data-command="' + _ivprog_elements__WEBPACK_IMPORTED_MODULE_0__["COMMAND_TYPES"]["break"] + '"><i class="pause icon"></i> ' + _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_1__["LocalizedStrings"].getUI('btn_break') + ' </a>';
+    menu_div += '<a class="item" data-command="' + _ivprog_elements__WEBPACK_IMPORTED_MODULE_0__["COMMAND_TYPES"].switchcase + '"><i class="pause icon"></i> ' + _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_1__["LocalizedStrings"].getUI('btn_case') + ' </a>';
   }
 
   menu_div += '</div></div>';
   menu_div = $(menu_div);
   dom_where_render.append(menu_div);
   addHandlers(command, dom_where_render, function_obj, dom_command);
+
+  if (command.collapsed) {
+    dom_command.children('.ui.block_commands').toggle();
+  }
 }
 
 function addHandlers(command, dom_where_render, function_obj, dom_command) {
+  dom_where_render.find('.minimize_block_button').on('click', function (evt) {
+    dom_command.children('.ui.block_commands').toggle();
+    command.collapsed = !command.collapsed;
+  });
   dom_where_render.find('.menu_commands').dropdown({
     on: 'hover'
   });
@@ -21813,7 +21819,7 @@ function createFloatingCommand() {
 }
 function renderCommand(command, function_obj) {
   var ret = '';
-  ret += '<div class="ui iftrue command_container"><div class="ui data_block_if" data-if="true">  <i class="ui icon small random command_drag"></i> <i class="ui icon times red button_remove_command"></i>';
+  ret += '<div class="ui iftrue command_container"><div class="ui data_block_if" data-if="true">  <i class="ui icon small random command_drag"></i> <i class="ui icon times red button_remove_command"></i> <button class="ui icon button minimize_block_button tiny"><i class="icon window minimize"></i></button>';
   ret += '<span class="span_command_spec"> ' + _services_localizedStringsService__WEBPACK_IMPORTED_MODULE_0__["LocalizedStrings"].getUI('text_if') + '</span>';
   ret += ' <span class="span_command_spec"> ( </span> <div class="conditional_expression"></div> <span class="span_command_spec"> ) </span>';
   ret += '<span> </span> ';
@@ -21846,6 +21852,11 @@ function renderCommand(command, function_obj) {
     }
   }
 
+  if (command.collapsed) {
+    el.children('.data_block_else').toggle();
+    $(el.find('.block_commands')[0]).toggle();
+  }
+
   return el;
 }
 
@@ -21857,6 +21868,11 @@ function addHandlers(command, function_obj, iftrue_dom) {
       });
     }
   });
+  iftrue_dom.find('.minimize_block_button').on('click', function () {
+    iftrue_dom.children('.data_block_else').toggle();
+    $(iftrue_dom.find('.block_commands')[0]).toggle();
+    command.collapsed = !command.collapsed;
+  });
 }
 
 /***/ }),
@@ -27632,4 +27648,4 @@ function enableMatrixValueUpdate(var_obj, row, index, parent_node, function_name
 
 /******/ });
 });
-//# sourceMappingURL=main.d645005987e041044c6f.js.map
+//# sourceMappingURL=main.d37a85f034d619e41454.js.map

ファイルの差分が大きいため隠しています
+ 1 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.d37a85f034d619e41454.js.map


ファイルの差分が大きいため隠しています
+ 27651 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.d3a24f40f33b9a1c322a.js


ファイルの差分が大きいため隠しています
+ 1 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.d3a24f40f33b9a1c322a.js.map


ファイルの差分が大きいため隠しています
+ 27651 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.d4ddc7e5339f9c968f82.js


ファイルの差分が大きいため隠しています
+ 1 - 0
ilm/iVProg/1.0.20190717/ivprog/js/main.d4ddc7e5339f9c968f82.js.map


ファイルの差分が大きいため隠しています
+ 0 - 1
ilm/iVProg/1.0.20190717/ivprog/js/main.d645005987e041044c6f.js.map


+ 1 - 1
ilm/iVProg/1.0.20190717/ivprog/runner.html

@@ -52,7 +52,7 @@
   </div>
   
   
-<script src="js/vendors~main.685d1cf2ece1ed4ebb99.js"></script><script src="js/main.d645005987e041044c6f.js"></script></body>
+<script src="js/vendors~main.685d1cf2ece1ed4ebb99.js"></script><script src="js/main.5e7761a70f5b53c69b09.js"></script></body>
 <script>
   ( function () {
     ivprogCore.runner();