如何创建插件

1. 创建一个名为script-name.vue的文件。

2. 将以下内容添加到文件中:

<!--
PluginName: __SCRIPT_NAME__
PluginUrl: __URL_WHERE_OTHER_USERS_CAN_DOWNLOAD_THE_SCRIPT__
-->


<!-- Libraries (if need) -->
<script src="__URL_OF_LIBRARY_JS_FILE__"></script>


<!-- Main Script -->
<script>

// On Key Down
ioctopus.$on("keydown", e => {

	// Alt + Shift + N
	if (e.altKey && e.shiftKey && e.code === "KeyN") {

		// Get Selected Branches
		const selectedBranches = ioctopus.getSelectedBranches();

		// Each branches
		for (let branch of selectedBranches) {

			// Change the branch content
			let text = branch.getText();
			
			// Change the text as you want
			// (you can use html)...
			text = `<span class="my-style">${text}</span>`;

			branch.setText(text);
		}
	}
});
</script>


<!-- Styles -->
<style>
.my-style {
	color: green;
}
</style>

ioctopus - 是思维地图的主要对象

主要事件

ioctopus.$on('EVENT_NAME', callback);

可用事件:

  • keydown
  • keypress
  • keyup
  • context-menu
  • branch-map-data (在分支的数据更改时)

上下文菜单

// On Context Menu
ioctopus.$on('context-menu', contextMenu => {

	// Add to the Context Menu new Button
	contextMenu.add({
		label: "Button text", // Button Text
		icon: "fas fa-list-ul", // Button Icon
		keycode: "Alt+Shift+L", // Dysplayed prompt
		click: () => { // Button action
			// Code running on click
		},
		href: "https://...", // Button url (when no Button action)
		target: "_blank", // Open Button url in new window (tab)
	});
});

我在哪里可以获得图标?

来自 fontawesome.com。
例如,复制 此代码此页面

分支

根据ID获取分支:

const branch = ioctopus.getBranchById(ID);

获取选定的分支:

const selectedBranches = ioctopus.getSelectedBranches();

获取分支的文本: 将文本设置分支: 添加子分支:
branch.addChild({
	content: {
		text: "My new branch",
	}
});

显示/隐藏“加载中...”分支

branch.loading();
branch.loadingStop();

添加按钮分支:

branch.addButton('buttonName', {
	icon: 'fa-equals fas',
	title: 'Title on hover',
	label: 'Button label',
	click: () => {
		console.log('Button pressed')
	},
})

从哪里可以得到图标?

来自fontawesome.com.
例如从这个页面复制此代码

删除按钮

branch.removeButton('buttonName')

当分支数据更改时

ioctopus.$on('branch-map-data', ({ $branch, mapData }) => {
	// ...
});

选择

选定项目数量:

ioctopus.selectedCount

所选的元素

let selectedElementsArray = ioctopus.getSelected();

选择元素

要让用户有可能选择一个分支,请使用以下内容:

启动选择模式:

ioctopus.startPicking($branch => {
	ioctopus.stopPicking();
	console.log('$branch', $branch);
});

停止选择:

ioctopus.stopPicking();

菜单栏

如何添加按钮到菜单栏:

// Menubar
ioctopus.addButtonToMenubar({
	to: 'tools',
	button: {
		label: 'Button label',
		icon: 'fas fa-calendar-alt', // Font Awesome
		click() {
			// ...
		},
	},
});

会话

打开对话:

ioctopus.openDialog({
	header: 'Header of dialog',

	// Vue Component
	component: {
		template: `<p>Content</p>`,
	}

}).then(dialog => {
	//...
});

关闭对话框

dialog.close();

输入文本时禁用短代码

完成输入后:

ioctopus.onFocus();

输入结束后:

ioctopus.onBlur();

示例:

ioctopus.openDialog({
	header: 'Header of dialog',

	// Vue Component
	component: {
		methods: {
			
			onFocus() {
				ioctopus.onFocus();
			},


			onBlur() {
				ioctopus.onBlur();
			},
		},
		template: `<input @focus="onFocus" @blur="onBlur">`,
	}

});

保存文件

ioctopus.save();

你想要更多功能?

请给我们发电子邮件 roman@ioctopus.online

评论