Editor de diagramas e quadros brancos no navegador, escrito em JavaScript, executado no cliente e que pode ser hospedado por conta própria.
alyssaxuu/flowy
Uma biblioteca minimalista de JavaScript puro para criar editores de fluxogramas com blocos arrastáveis e encaixe automático em apps web.
- Estrelas
- 12,143
- Forks
- 1,043
- Issues abertas
- 59
- Último commit
- há 2 anos
O que é?
Flowy é uma biblioteca JavaScript sem dependências que permite adicionar recursos de fluxograma a uma página web. Você marca elementos com a classe create-flowy para transformá-los em blocos arrastáveis e os posiciona em um elemento canvas. Os usuários podem arrastar os blocos para o canvas, onde eles se encaixam nos blocos-pai e formam ramificações conectadas.
A biblioteca oferece callbacks para eventos de pegar, soltar, encaixar e reorganizar, permitindo que seu código aprove ou rejeite conexões e reaja às ações dos usuários. O estado do fluxograma pode ser exportado como uma estrutura JSON com flowy.output() e restaurado mais tarde com flowy.import(), embora o método de importação insira HTML bruto e só deva ser usado com dados confiáveis. É possível remover blocos em massa com flowy.deleteBlocks(); não há suporte para remover blocos individualmente.
A instalação é feita vinculando um arquivo JavaScript e um arquivo CSS, atualmente pelo jsDelivr, e a biblioteca funciona em dispositivos móveis. A instalação via npm é indicada como ainda não suportada.
Recursos principais
- 01Blocos arrastáveis com encaixe e centralização automáticos
- 02Callbacks para eventos de pegar, soltar, encaixar e reorganizar
- 03Encaixe condicional e remoção condicional de blocos
- 04Exportação e importação de dados de fluxogramas em JSON
- 05Funciona em dispositivos móveis e não tem dependências externas
Casos de uso
- Criar um editor de automações ou fluxos de trabalho em um app web
- Criar uma ferramenta de mapas mentais ou diagramas com nós conectados
- Prototipar uma interface simples de programação visual
Início rápido
- 1
Vincule a folha de estilos pelo jsDelivr
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/alyssaxuu/flowy/flowy.min.css"> - 2
Vincule o script pelo jsDelivr
<script src="https://cdn.jsdelivr.net/gh/alyssaxuu/flowy/flowy.min.js"></script> - 3
Crie um elemento canvas e blocos arrastáveis na sua página
- 4
Inicialize o Flowy no canvas
flowy(document.getElementById("canvas"), onGrab, onRelease, onSnap, onRearrange, spacing_x, spacing_y);
Antes de usar
- A instalação via npm ainda não está disponível; use os links CDN ou copie os arquivos.
- Não é possível remover blocos individualmente; só é possível excluir todos de uma vez.
- O método de importação não sanitiza o HTML e é vulnerável a XSS quando usado com entradas não confiáveis.
Tópicos
Perguntas frequentes
- O que é flowy?
- Uma biblioteca minimalista de JavaScript puro para criar editores de fluxogramas com blocos arrastáveis e encaixe automático em apps web. Flowy é uma biblioteca JavaScript sem dependências que permite adicionar recursos de fluxograma a uma página web. Você marca elementos com a classe create-flowy para transformá-los em blocos arrastáveis e os posiciona em um elemento canvas. Os usuários podem arrastar os blocos para o canvas, onde eles se encaixam nos blocos-pai e formam ramificações conectadas.
- flowy é gratuito? Qual é a licença?
- flowy é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- flowy ainda é mantido?
- Sem commits há mais de 6 meses. O último commit de flowy foi em 13 de jul. de 2024.
- Para que posso usar flowy?
- Criar um editor de automações ou fluxos de trabalho em um app web Criar uma ferramenta de mapas mentais ou diagramas com nós conectados Prototipar uma interface simples de programação visual
- Como instalar flowy?
- Vincule a folha de estilos pelo jsDelivr: <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/alyssaxuu/flowy/flowy.min.css"> Vincule o script pelo jsDelivr: <script src="https://cdn.jsdelivr.net/gh/alyssaxuu/flowy/flowy.min.js"></script> Crie um elemento canvas e blocos arrastáveis na sua página Inicialize o Flowy no canvas: flowy(document.getElementById("canvas"), onGrab, onRelease, onSnap, onRearrange, spacing_x, spacing_y);
- Onde consigo flowy?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/alyssaxuu/flowy
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Biblioteca JavaScript e CLI que converte código JS em fluxogramas SVG, com níveis de abstração, modificadores de blocos de código e temas.
Conjunto de 15 skills de marketing para Claude Code que auditam sites, escrevem textos, criam sequências de e-mail e geram relatórios em PDF prontos para clientes.
Um renderizador leve e síncrono que converte texto de diagramas Mermaid em SVG, sem dependências em tempo de execução.
Ferramenta de performance para React que detecta e destaca automaticamente componentes que renderizam novamente sem necessidade, sem exigir alterações no código.
Coleção bilíngue com mais de 100 diagramas originais que explicam LLM, RL, RLHF, DPO, GRPO e algoritmos relacionados a modelos de grande porte.