Como criar um plugin

1. Crie um arquivo script-name.vue.

2. Adicione o conteúdo ao arquivo como mostrado abaixo:

<!--
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 - é o objeto principal do mapa mental

Eventos principais

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

Eventos disponíveis:

  • keydown
  • keypress
  • keyup
  • context-menu
  • branch-map-data (ao alterar os dados da ramificação)

Menu de contexto

// 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)
	});
});

Onde eu posso obter ícones?

Do fontawesome.com.
Por exemplo, copie este código desta página.

Filiais

Obter ramo por id:

const branch = ioctopus.getBranchById(ID);

Obter ramos selecionados:

const selectedBranches = ioctopus.getSelectedBranches();

Obter o texto de um ramo: Defina o texto de um ramo: Adicione uma ramificação de criança:
branch.addChild({
	content: {
		text: "My new branch",
	}
});

Mostrar/ocultar a ramificação "Carregando..."

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

Adicionar botão à ramificação:

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

De onde posso pegar os ícones?

Do fontawesome.com.
Reproduça este código desta page desta página.

Remover botão

branch.removeButton('buttonName')

Quando os dados das ramificações são alterados

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

Seleção

Contagem de elementos selecionados:

ioctopus.selectedCount

Elementos selecionados

let selectedElementsArray = ioctopus.getSelected();

Escolha de elementos

Para dar aos seus usuários a possibilidade de escolher uma ramificação, use o seguinte:

Inicie o modo de seleção:

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

Parar de escolher:

ioctopus.stopPicking();

Barra de menu

Como adicionar um botão à barra de menu:

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

Diálogos (Brasil)

Abrir diálogo:

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

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

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

Fechar diálogo

dialog.close();

Desativar shortcodes no campo de texto

Após enfocar uma entrada:

ioctopus.onFocus();

Após não enfocar uma entrada:

ioctopus.onBlur();

Exemplo:

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

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


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

});

Salvar Arquivo

ioctopus.save();

Quer mais funcionalidade?

Envie um e-mail para roman@ioctopus.online.

Comentários