String
A propriedade string é o tipo de campo mais versátil no FireCMS. Use-a para tudo, desde campos de texto simples até uploads de arquivos, editores de texto rico e dropdowns. Ao construir um painel de administração para sua aplicação Firebase, as propriedades string permitem criar:
- Campos de texto: Nomes, títulos, descrições
- Dropdowns de seleção: Campos de status, categorias, opções
- Upload de arquivos: Imagens, documentos (armazenados no Firebase Storage)
- Editores markdown: Conteúdo rico com formatação
- Campos email/URL: Tipos de entrada validados
import { buildProperty } from "@firecms/core";
const nameProperty = buildProperty({ name: "Name", description: "Basic string property with validation", validation: { required: true }, dataType: "string"});storage
Seção intitulada “storage”Você pode especificar uma configuração StorageMeta. É usada para indicar que esta string refere-se a um caminho no Google Cloud Storage.
mediaTypeTipo de mídia desta referência, usado para exibir a pré-visualização.acceptedFilesTipo MIME de arquivo que pode ser enviado para esta referência.metadataMetadados específicos definidos no arquivo enviado.fileNamePersonalizar o nome do arquivo enviado.storagePathCaminho absoluto no seu bucket.includeBucketUrlQuandotrue, o FireCMS armazenará uma URL de armazenamento completa.storeUrlQuandotrue, a URL de download do arquivo será salva no Firestore.maxSizeTamanho máximo do arquivo em bytes.processFileCallback para processar o arquivo antes do upload.imageResize(recomendado) Configuração avançada de redimensionamento de imagens.imageCompression(depreciado) Redimensionamento/compressão de imagens legado.
import { buildProperty } from "@firecms/core";
const imageProperty = buildProperty({ dataType: "string", storage: { mediaType: "image", storagePath: (context) => { return "images"; }, acceptedFiles: ["image/*"], fileName: (context) => { return context.file.name; }, includeBucketUrl: true, imageResize: { maxWidth: 1200, maxHeight: 1200, mode: "cover", format: "webp", quality: 85 } }});Se o valor desta propriedade for uma URL, pode definir este flag como true para adicionar um link, ou um dos tipos de mídia suportados para renderizar uma pré-visualização.
Se definido como true, este campo será validado como endereço de email.
userSelect
Seção intitulada “userSelect”Esta propriedade indica que a string é um ID de utilizador, e será renderizada como um seletor de utilizador.
enumValues
Seção intitulada “enumValues”Você pode usar os valores enum fornecendo um map de valores exclusivos possíveis que a propriedade pode assumir, mapeados para o rótulo exibido no dropdown.
multiline
Seção intitulada “multiline”Se esta propriedade string for longa o suficiente para ser exibida em um campo multi-linha. Padrão false.
clearable
Seção intitulada “clearable”Adiciona um ícone para limpar o valor e defini-lo como null. Padrão false
markdown
Seção intitulada “markdown”Se esta propriedade string deve ser exibida como um campo markdown.
previewAsTag
Seção intitulada “previewAsTag”Se esta string deve ser renderizada como um tag em vez de texto simples.
validation
Seção intitulada “validation”requiredSe este campo deve ser obrigatório.requiredMessageMensagem a ser exibida como erro de validação.uniqueO valor deste campo deve ser único nesta coleção.uniqueInArraySetrue, o utilizador só poderá ter o valor desta propriedade uma vez noArrayPropertypai.lengthDefinir um comprimento obrigatório para o valor string.minDefinir um limite de comprimento mínimo.maxDefinir um limite de comprimento máximo.matchesFornecer uma regex arbitrária para verificar o valor.emailValida o valor como endereço de email.urlValida o valor como URL válida.trimTransforma valores string removendo espaços em branco no início e no fim.lowercaseTransforma o valor string para minúsculas.uppercaseTransforma o valor string para maiúsculas.
Com base na sua configuração, os widgets criados são:
TextFieldBindingcampo de texto genéricoSelectFieldBindingse osenumValuesestiverem definidosStorageUploadFieldBindingconfiguração de armazenamentoMarkdownEditorFieldBindingconfiguração markdown
Links: