Univer Bases API
Découvrez comment utiliser l’API Facade dans une application Univer Bases.
L’API Facade fournit une couche destinée aux applications au-dessus du modèle Bases. Utilisez-la pour les opérations courantes, comme la création de bases, de tables, de champs, d’enregistrements, de vues, de filtres, de tris, de groupes et de sélections, ainsi que pour la navigation dans l’interface utilisateur.
Attention
Les mutations du modèle Base sont synchrones. Les méthodes d’activation UI renvoient des promesses et doivent être attendues.
Activer les points d’entrée Facade
Importez le point d’entrée Facade de chaque fonctionnalité Bases utilisée par votre application :
import { FUniver } from '@univerjs/core/facade'import '@univerjs-pro/bases/facade'import '@univerjs-pro/bases-ui/facade'Créez l’objet API après avoir enregistré l’instance Univer et les extensions requises :
const univerAPI = FUniver.newAPI(univer)Créer et lire une base
Utilisez createBase pour créer une unité Base au moyen de la couche Facade. Dans le code de configuration de plus bas niveau, créez l’unité avec univer.createUnit(UniverInstanceType.UNIVER_BASE, snapshot).
const base = univerAPI.createBase({ id: 'base-demo', name: 'Base Demo',})const activeBase = univerAPI.getActiveBase()const sameBase = univerAPI.getBase(base.getId())Créer une table
const table = base.insertTable('Tasks', { primaryFieldName: 'Title' })const status = table.addField('Status', univerAPI.Enum.BaseFieldType.SingleSelect)Manipuler les enregistrements
const record = table.addRecord({ Title: 'Write docs', Status: 'In progress',}, univerAPI.Enum.BaseFieldKeyEnum.Name)record.setValue(status.getId(), 'Done')Manipuler l’état de l’interface utilisateur
@univerjs-pro/bases-ui/facade ajoute des API d’interface utilisateur pour l’activation des tables et des vues, la sélection, le défilement, la modification et les panneaux.
const baseUI = univerAPI.getBaseUI()const view = table.getViews()[0]if (!view) throw new Error('No table view')await baseUI.activateTable(table.getId())await baseUI.activateView(view.getId())baseUI.setSelection({ type: 'grid-record', tableId: table.getId(), viewId: view.getId(), recordId: record.getId(),})Référence
Que pensez-vous de ce guide ?