Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.32.8

firestore_ui

Uma versão portada do FirebaseAnimatedList do firebase_database que funciona com o cloud_firestore, com variantes adicionais

AndroidiOSWebmacOSWindows
Downloads em 30 dias
222
Curtidas
75
Pontos Pub
140

Instalar pacote

flutter pub add firestore_ui

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

firestore_ui é um pacote Flutter que traz a funcionalidade do FirebaseAnimatedList para o Cloud Firestore, permitindo renderização dinâmica e animada de listas a partir de coleções do Firestore. Ele suporta atualizações em tempo real e inclui variantes adicionais para diferentes casos de uso, como listas paginadas ou filtradas. Projetado para integração perfeita com o banco de dados em nuvem do Firebase, simplifica a criação de interfaces responsivas que refletem mudanças de dados ao vivo em várias plataformas.

Casos de uso

  • Exibição de dados em tempo real em listas
  • Atualizações de conteúdo dinâmico do Firestore
  • Listas do Firestore paginadas ou filtradas
  • Aplicativos colaborativos ao vivo
  • Visualizações de lista com capacidade offline

Principais recursos

  • Renderização de lista animada
  • Suporte para atualizações em tempo real do Firestore
  • Várias variantes de lista incluídas
  • Compatibilidade multiplataforma
  • API simples semelhante ao FirebaseAnimatedList

Indicado para

  • Desenvolvedores usando o Cloud Firestore
  • Aplicativos que exigem listas atualizadas em tempo real
  • Aplicações Firebase com foco em UI
  • Projetos Flutter em múltiplas plataformas

Considerações

  • Requer configuração do Firebase e Cloud Firestore
  • Pode afetar o desempenho com grandes conjuntos de dados
  • Personalização limitada em comparação com a ListView original
  • Mais adequado para coleções de tamanho moderado
  • Depende da compatibilidade da versão do Firebase SDK

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

firestore_ui

pub package

This project started as a Pull Request to the official cloud_firestore plugin, but unfortunately they are still polishing the main features and this had to be postponed; it's based on firebase_database's version.

But fear not, my fellow Cloud Firestore users, this is a package that extracted the main code from that PR and now it's available to use!

Custom parameters

  • bool linear - This will make it so it just uses .add instead of .insert, this usually leads to less issues in the order if your list updates linearly (like a chat)
  • void onLoaded(QuerySnapshot snapshot) - You can use this to access the most recent QuerySnapshot that came from the stream
  • bool filter(DocumentSnapshot snapshot) - This allows you to filter out specific snapshots on the rendering phase, return true if you want that item to be filtered
  • bool debug - Set this to see all logs related to inserting/removing/updating items on any variant of the list

How to use

All the examples below are from the actual example folder, please run that to see how it behaves!

List

Just set it up as you would with a ListView.builder:

FirestoreAnimatedList(
    query: query,
    itemBuilder: (
        BuildContext context,
        DocumentSnapshot snapshot,
        Animation<double> animation,
        int index,
    ) => FadeTransition(
        opacity: animation,
        child: MessageListTile(
            index: index,
            document: snapshot,
            onTap: _removeMessage,
        ),
    ),
);

Grid

Just set it up as you would with a GridView.count, alongside the necessary crossAxisCount, all the other parameters from the SliverGridDelegateWithFixedCrossAxisCount are also available:

FirestoreAnimatedGrid(
    query: query,
    crossAxisCount: 2,
    mainAxisSpacing: 4.0,
    childAspectRatio: 1.0,
    crossAxisSpacing: 4.0,
    itemBuilder: (
        BuildContext context,
        DocumentSnapshot snapshot,
        Animation<double> animation,
        int index,
    ) => FadeTransition(
        opacity: animation,
        child: MessageGridTile(
            index: index,
            document: snapshot,
            onTap: _removeMessage,
        ),
    ),
);

Staggered

Just set it up as you would with a StaggeredGridView.countBuilder, alongside the necessary crossAxisCount and the staggeredTileBuilder:

FirestoreAnimatedStaggered(
    query: query,
    staggeredTileBuilder: (int index, DocumentSnapshot snapshot) => StaggeredTile.count(2, index.isEven ? 2 : 1),
    crossAxisCount: 4,
    mainAxisSpacing: 4.0,
    crossAxisSpacing: 4.0,
    itemBuilder: (
        BuildContext context,
        DocumentSnapshot snapshot,
        Animation<double> animation,
        int index,
    ) => FadeTransition(
        opacity: animation,
        child: MessageGridTile(
            index: index,
            document: snapshot,
            onTap: _removeMessage,
        ),
    ),
);

Special thanks to @letsar for the flutter_staggered_grid_view package! Without it, this part wouldn't be available; please check out the library for more info on how it works!

Categorias

Dependências

Lista de dependências 7 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.