Univer Slides API
Facade Slides добавляет объекты презентации и слайда в FUniver. Импортируйте модуль с побочным эффектом до создания объекта API:
import { FUniver } from '@univerjs/core/facade'import '@univerjs-pro/slides/facade'const univerAPI = FUniver.newAPI(univer)Создание и поиск презентаций
const presentation = univerAPI.createPresentation({ id: 'quarterly-review', name: 'Quarterly review',})const activePresentation = univerAPI.getActivePresentation()const samePresentation = univerAPI.getPresentation(presentation.getId())createPresentation() принимает частичный снимок ISlideData. Передайте снимок из save(), чтобы восстановить презентацию.
Работа с Unit презентации
FPresentation предоставляет идентификатор, имя, размер страницы, слайды, активный слайд, переходы, права и отделённый снимок:
presentation.setName('FY 2027 review')const opening = presentation.getSlideByIndex(0) ?? presentation.appendSlide({ name: 'Opening',})presentation.setActiveSlide(opening)const snapshot = presentation.save()Не изменяйте snapshot, чтобы обновить работающую презентацию. Используйте методы Facade или команды, чтобы синхронизировать отрисовку и историю.
Работа со слайдом
FSlide служит точкой входа к фону, заметкам докладчика, переходу и элементам слайда:
const slide = presentation.getActiveSlide()if (slide) { const elements = slide.getElements() const notes = slide.getSpeakerNotes()}Подробнее см. Слайды и макеты, Фигуры и текст и Изображения и группы.
Определение цели команды
Параметры события команды могут содержать идентификаторы презентации и слайда. Определите цель без зависимости от текущего выделения:
const listener = univerAPI.addEvent( univerAPI.Event.CommandExecuted, ({ params }) => { const target = univerAPI.getSlideCommandTarget(params) console.log(target?.presentation.getId(), target?.slide.getId()) })Удалите слушатель вместе с его компонентом-хозяином.
Выгрузка презентации
Выгрузите ненужный модуль Slides по его идентификатору. Корневой экземпляр univer следует освобождать только при уничтожении всего приложения.
const presentation = univerAPI.getActivePresentation()if (presentation) { univerAPI.disposeUnit(presentation.getId())}Насколько полезно это руководство?