MCPcopy Index your code
hub / github.com/hizzgdev/jsmind / remove_node

Method remove_node

src/jsmind.js:681–715  ·  view source on GitHub ↗

* Remove a node. * @param {string | import('./jsmind.node.js').Node} node * @returns {boolean}

(node)

Source from the content-addressed store, hash-verified

679 * @returns {boolean}
680 */
681 remove_node(node) {
682 if (!Node.is_node(node)) {
683 var the_node = this.get_node(node);
684 if (!the_node) {
685 logger.error('the node[id=' + node + '] can not be found.');
686 return false;
687 } else {
688 return this.remove_node(the_node);
689 }
690 }
691 if (this.get_editable()) {
692 if (node.isroot) {
693 logger.error('fail, can not remove root node');
694 return false;
695 }
696 var node_id = node.id;
697 var parent_id = node.parent.id;
698 var parent_node = this.get_node(parent_id);
699 this.view.save_location(parent_node);
700 this.view.remove_node(node);
701 this.mind.remove_node(node);
702 this.layout.layout();
703 this.view.show(false);
704 this.view.restore_location(parent_node);
705 this.invoke_event_handle(EventType.edit, {
706 evt: 'remove_node',
707 data: [node_id],
708 node: parent_id,
709 });
710 return true;
711 } else {
712 logger.error('fail, this mind map is not editable');
713 return false;
714 }
715 }
716 /**
717 * Update the topic (text content) of a node.
718 * @param {string} node_id

Callers 7

remove_nodeFunction · 0.45
jsmind.jsFile · 0.45
handle_delnodeMethod · 0.45
jsmind.test.jsFile · 0.45

Calls 8

get_nodeMethod · 0.95
get_editableMethod · 0.95
invoke_event_handleMethod · 0.95
save_locationMethod · 0.80
layoutMethod · 0.80
restore_locationMethod · 0.80
is_nodeMethod · 0.45
showMethod · 0.45

Tested by

no test coverage detected