Univer Bases API
Узнайте, как использовать Facade API в приложении Univer Bases.
Facade API предоставляет прикладной уровень над моделью Bases. Используйте его для распространенных операций: создания баз, таблиц, полей, записей, представлений, фильтров, сортировок, групп и выделений, а также навигации по интерфейсу.
Внимание
Изменения модели Base выполняются синхронно. Методы активации UI возвращают Promise, поэтому используйте await.
Подключение точек входа Facade
Импортируйте точку входа Facade для каждой возможности Bases, которую использует приложение:
import { FUniver } from '@univerjs/core/facade'import '@univerjs-pro/bases/facade'import '@univerjs-pro/bases-ui/facade'Создайте объект API после регистрации экземпляра Univer и необходимых плагинов:
const univerAPI = FUniver.newAPI(univer)Создание и чтение базы
Чтобы создать модуль Base через слой Facade, используйте createBase. В низкоуровневом коде настройки создайте модуль с помощью 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())Создание таблицы
const table = base.insertTable('Tasks', { primaryFieldName: 'Title' })const status = table.addField('Status', univerAPI.Enum.BaseFieldType.SingleSelect)Работа с записями
const record = table.addRecord({ Title: 'Write docs', Status: 'In progress',}, univerAPI.Enum.BaseFieldKeyEnum.Name)record.setValue(status.getId(), 'Done')Работа с состоянием интерфейса
@univerjs-pro/bases-ui/facade добавляет API интерфейса для активации таблиц и представлений, выделения, прокрутки, редактирования и работы с панелями.
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(),})Справочные материалы
Насколько полезно это руководство?