return.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import $ from 'jquery';
  2. import { Types } from '../types';
  3. import * as Models from '../ivprog_elements';
  4. import { LocalizedStrings } from '../../services/localizedStringsService';
  5. import * as GlobalsManagement from '../globals';
  6. import * as VariablesManagement from '../variables';
  7. import * as VariableValueMenu from './variable_value_menu';
  8. import * as CommandsManagement from '../commands';
  9. import * as GenericExpressionManagement from './generic_expression';
  10. export function createFloatingCommand () {
  11. return $('<div class="ui return created_element"> <i class="ui icon small reply"></i> <span> '+LocalizedStrings.getUI('text_return')+' </span></div>');
  12. }
  13. export function renderCommand (command, function_obj) {
  14. var el = $('<div class="ui return command_container"> <i class="ui icon small reply command_drag"></i> <i class="ui icon times red button_remove_command"></i> <span class="span_command_spec"> '+LocalizedStrings.getUI('text_return')+' </span> <div class="expression_elements"></div></div>');
  15. el.data('command', command);
  16. addHandlers(command, function_obj, el);
  17. if (function_obj.return_type != Types.VOID) {
  18. //VariableValueMenu.renderMenu(command, command.variable_value_menu, el.find('.var_value_menu_div'), function_obj);
  19. GenericExpressionManagement.renderExpression(command, function_obj, el.find('.expression_elements'), command.variable_value_menu);
  20. } else {
  21. el.find('.expression_elements').remove();
  22. command.variable_value_menu = null;
  23. }
  24. return el;
  25. }
  26. function addHandlers (command, function_obj, return_dom) {
  27. return_dom.find('.button_remove_command').on('click', function() {
  28. if (CommandsManagement.removeCommand(command, function_obj, return_dom)) {
  29. return_dom.fadeOut(400, function() {
  30. return_dom.remove();
  31. });
  32. }
  33. });
  34. }