+ ]},
+ json_data: {
+ data: tree_data
+ },
+ crrm: {
+ move: {
+ check_move: requirement_spec_tree_check_move,
+ open_move: true
+ }
+ },
+ themes: {
+ theme: "requirement-spec"
+ },
+ plugins: [ "themes", "json_data", "ui", "crrm", "dnd" ]
+ })
+ .bind("move_node.jstree", requirement_spec_tree_node_moved)
+ .bind("click.jstree", requirement_spec_tree_node_clicked);
+[% IF SELF.requirement_spec_item %]
+ $.jstree._reference("#tree").select_node('#fb-[% SELF.requirement_spec_item.id %]', true);
+[% END %]
+});
+
+function ask_delete_text_block(key, opt) {
+ if (confirm("[% LxERP.t8("Are you sure?") %]"))
+ standard_text_block_ajax_call(key, opt);
+ return true;
+}
+
+function ask_delete_item(key, opt) {
+ if (confirm("[% LxERP.t8("Are you sure?") %]"))
+ standard_item_ajax_call(key, opt);
+ return true;
+}
+
+$(function(){
+ $.contextMenu({
+ selector: '.text-block-context-menu',
+ items: {
+ add: { name: "[% LxERP.t8('Add text block') %]", icon: "add", callback: standard_text_block_ajax_call },
+ edit: { name: "[% LxERP.t8('Edit text block') %]", icon: "edit", callback: standard_text_block_ajax_call, disabled: disable_edit_text_block_commands },
+ delete: { name: "[% LxERP.t8('Delete text block') %]", icon: "delete", callback: ask_delete_text_block, disabled: disable_edit_text_block_commands },
+ sep1: "---------",
+ copy: { name: "[% LxERP.t8('Copy') %]", icon: "copy", disabled: disable_edit_text_block_commands },
+ paste: { name: "[% LxERP.t8('Paste') %]", icon: "paste", disabled: disable_edit_text_block_commands }
+ }
+ });
+
+
+ $.contextMenu({
+ selector: '.section-context-menu',
+ items: {
+ add_section: { name: "[% LxERP.t8('Add section') %]", icon: "add", callback: standard_item_ajax_call },
+ add_function_block: { name: "[% LxERP.t8('Add function block') %]", icon: "add", callback: standard_text_block_ajax_call, disabled: disable_edit_item_commands },
+ sep1: "---------",
+ edit: { name: "[% LxERP.t8('Edit') %]", icon: "edit", callback: standard_item_ajax_call, disabled: disable_edit_item_commands },
+ delete: { name: "[% LxERP.t8('Delete') %]", icon: "delete", callback: ask_delete_item, disabled: disable_edit_item_commands },
+ sep2: "---------",
+ copy: { name: "[% LxERP.t8('Copy') %]", icon: "copy", disabled: disable_edit_item_commands },
+ paste: { name: "[% LxERP.t8('Paste') %]", icon: "paste", disabled: disable_edit_item_commands }
+ }
+ });
+
+ $.contextMenu({
+ selector: '.function-block-context-menu,.sub-function-block-context-menu',
+ items: {
+ new_item: { name: "[% LxERP.t8('Add function block') %]", icon: "add", callback: standard_item_ajax_call },
+ new_sub_item: { name: "[% LxERP.t8('Add sub function block') %]", icon: "add", callback: standard_item_ajax_call },
+ sep1: "---------",
+ edit: { name: "[% LxERP.t8('Edit') %]", icon: "edit", callback: standard_item_ajax_call, disabled: disable_edit_item_commands },
+ delete: { name: "[% LxERP.t8('Delete') %]", icon: "delete", callback: standard_item_ajax_call, disabled: disable_edit_item_commands },
+ sep2: "---------",
+ copy: { name: "[% LxERP.t8('Copy') %]", icon: "copy", disabled: disable_edit_item_commands },
+ paste: { name: "[% LxERP.t8('Paste') %]", icon: "paste", disabled: disable_edit_item_commands }
+ }
+ });
+});
+
+function edit_section_header() {
+ $.post("controller.pl?action=RequirementSpecItem/edit_section&id=" + encodeURIComponent($('#active_section_id').val()), function(data) {
+ var header = $('#section-header');
+ header.data('old-elements', header.children().detach());
+ header.html(data);
+ });
+}
+
+function submit_section_form() {
+ $.post("controller.pl?action=RequirementSpecItem/update_section&id=" + $('#section-form form').serialize(), function(data) {
+ var header = $('#section-header');
+ header.removeData('old-elements');
+ header.html(data['header_html']);
+ $('#tree').jstree('rename_node', '#fb-' + data['id'], data['node_name']);
+ });
+}
+
+function cancel_section_form() {
+ var header = $('#section-header');
+ header.empty();
+ header.append(header.data('old-elements'));
+ header.removeData('old-elements');
+}
+
+
+
+
+
+