Commit bf1b6f00 authored by Andy Stewart's avatar Andy Stewart
Browse files

Add insert_or_remove_middle_node and insert_or_add_middle_node.

parent c3efe68b
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ class AppBuffer(BrowserBuffer):

        self.cut_node_id = None

        for method_name in ["add_sub_node", "add_brother_node", "remove_node"]:
        for method_name in ["add_sub_node", "add_brother_node", "remove_node", "remove_middle_node", "add_middle_node"]:
            self.build_js_method(method_name, True)

        for method_name in ["zoom_in", "zoom_out", "zoom_reset",
@@ -49,7 +49,8 @@ class AppBuffer(BrowserBuffer):
                            "toggle_node", "save_screenshot"]:
            self.build_js_method(method_name)

        for method_name in ["zoom_in", "zoom_out", "zoom_reset", "remove_node", "update_node_topic",
        for method_name in ["zoom_in", "zoom_out", "zoom_reset", "remove_node",
                            "remove_middle_node", "add_middle_node", "update_node_topic",
                            "copy_node_topic", "paste_node_topic", "refresh_page",
                            "select_up_node", "select_down_node", "select_left_node", "select_right_node",
                            "toggle_node", "save_screenshot", "save_file", "save_org_file",
+31 −0
Original line number Diff line number Diff line
@@ -225,6 +225,37 @@
                 _jm.move_node(src_node, src_node_id, selected_node.id, selected_node.direction);
             }
         }

         function remove_middle_node() {
             var selected_node = _jm.get_selected_node();
             if(!!selected_node){
                 var children = selected_node.children;
                 for (var i = 0; i < children.length; i++) {
                     var child = children[i];
                     _jm.move_node(child, child.id, selected_node.parent.id, selected_node.parent.direction);
                 }

                 _jm.select_node(selected_node.parent);
                 _jm.remove_node(selected_node.id);
             }
         }

         function add_middle_node() {
             var selected_node = _jm.get_selected_node(); // as parent of new node
             if(!!selected_node) {
                 var topic = selected_node.topic;

                 add_brother_node();

                 var brother_node = _jm.get_selected_node();
                 _jm.update_node(brother_node.id, topic);
                 _jm.update_node(selected_node.id, "Topic");

                 _jm.move_node(selected_node, selected_node.id, brother_node.id, brother_node.direction);

                 _jm.select_node(selected_node);
             }
         }
        </script>
    </body>
</html>
+3 −1
Original line number Diff line number Diff line
@@ -471,9 +471,11 @@ Try not to modify this alist directly. Use `eaf-setq' to modify instead."
    ("=" . "insert_or_zoom_in")
    ("0" . "insert_or_zoom_reset")
    ("d" . "insert_or_remove_node")
    ("D" . "insert_or_remove_middle_node")
    ("i" . "insert_or_add_middle_node")
    ("f" . "insert_or_update_node_topic")
    ("t" . "insert_or_toggle_node")
    ("i" . "insert_or_change_node_background")
    ("b" . "insert_or_change_node_background")
    ("1" . "insert_or_save_screenshot")
    ("2" . "insert_or_save_file")
    ("3" . "insert_or_save_org_file")