Skip to content

Instantly share code, notes, and snippets.

@joassouza
Last active June 19, 2019 13:16
Show Gist options
  • Save joassouza/a08a14b9e20678c1d7b48a3001d478f1 to your computer and use it in GitHub Desktop.
Save joassouza/a08a14b9e20678c1d7b48a3001d478f1 to your computer and use it in GitHub Desktop.

Tag and Folder Documentation

Nós temos operações CRUD para pastas e Move para pastas e tags. Mais detalhes dessas operações podem ser encontradas abaixo.

Tag and Folder Tree

A árvore de tags and pastas é organizada da seguinte forma

{name: "root", folderId: undefined, children [
	{name: "folderName", folderId: "tagFolder-123", isDirectory: true, children: 
		[
			{title: "outra folder", ...},
			{title: "tag", id: "tagId-123", ...}
		] 
	},
	{title: "tag na raiz", id: "tagId-234", isDirectory: false, ...},
	{title: "outra tag na raiz", id: "tagId-567", isDirectory: false, ...},
]}

A pasta root é só um helper para facilitar montar uma árvore.

Nós temos uma flag isDirectory para facilitar identificar se o nó são pastas

Create

Cria nova pasta. Uma pasta pode ser criada na raiz ou dentro de uma pasta existente.
  • action = ‘add_tag_folder'
  • folderName (string) (required) - nome da pasta criada, não pode ser vazio
  • folderParent (string) (required) - folderId da pasta pai. Caso deva ser criada na raiz deve passar "undefined";

Exemplo:

message: {
  type: 'add_tag_folder',
  folderName: 'nome',
  folderParent: 't-123'
}

Read (inbound)

Mensagem com a árvore de pastas e tags.

Obs: Está mensagem é mandada pelo Editor quando algum dado (tag ou pasta) muda ou quando o roteiro é carregado. Não pode ser chamada explicitamente.

  • action = 'tags_data_changed';
message: {
  type: 'tags_data_changed',
  values: [
    {
      "tag and folder data tree"
    },
  ]
}

Update

Atualiza o nome de uma pasta existente.
  • action = 'edit_tag_folder'

  • folderId (string) (required) = folderId da pasta que será editada

  • folderName (string) (required) = novo nome da pasta

    Exemplo:

    message: {
      type: 'edit_tag_folder',
      folderId: 't-123',
      folderName: 'new name'
    }
    

Delete

Remove uma pasta existente pelo seu Id.
  • action = 'remove_tag_folder'

  • folderId (string) (required) = folderId da pasta que será removida

    Exemplo:

    message: {
      type: 'remove_tag_folder',
      folderId: 't-123',
    }
    

Move

Move uma pasta ou uma tag. Usamos o pai desta tag/pasta como referência na árvore de elementos.
  • action = 'move_tag_or_folder'
  • targetElement (string) (required) = id do elemento que será movido (folderId para pastas e tagId para tags)
  • destination (string) (required) = pasta que será "pai" desta pasta. Para mover para a raiz, destination deve ser "undefined"

Obs: Somente pastas tem filhos, não é permitido filhos em tags.

  Exemplo:
  message: {
    type: 'move_tag_or_folder',
    targetElement: 't-123',
    destination: 't-234',
  }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment