1
0

writer.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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 VariableValueMenuManagement from './variable_value_menu';
  9. export function createFloatingCommand () {
  10. return $('<div class="ui writer created_element"> <i class="ui icon small upload"></i> <span> '+LocalizedStrings.getUI('text_command_write')+' var </span></div>');
  11. }
  12. export function renderCommand (command, function_obj) {
  13. var ret = '';
  14. ret += '<div class="ui writer"> <i class="ui icon small upload command_drag"></i> <span>'+LocalizedStrings.getUI('text_command_write')+' ( </span><div class="var_value_menu_div"></div> <span class="close_parentheses">)</span> </div>';
  15. var el = $(ret);
  16. $(el).data('command', command);
  17. VariableValueMenu.renderMenu(command, command.content, $(el).find('.var_value_menu_div'), function_obj);
  18. return el;
  19. }
  20. export function addContent (command, ref_object, dom_object, menu_var_or_value, function_obj, ref_object_content) {
  21. if ($(dom_object).hasClass('var_value_menu_div')) {
  22. var icon_add_item = $( '<i class="ui icon plus square outline icon_add_item_to_writer"></i> ' );
  23. $(icon_add_item).insertAfter(dom_object);
  24. $( icon_add_item ).on('click', function(e) {
  25. var new_div_item = $( '<div class="var_value_menu_div"></div>' );
  26. $(new_div_item).insertAfter(icon_add_item);
  27. var new_related_menu = new Models.VariableValueMenu(VariableValueMenuManagement.VAR_OR_VALUE_TYPES.all, null, null, null, true);
  28. VariableValueMenu.renderMenu(command, new_related_menu, new_div_item, function_obj);
  29. });
  30. }
  31. }