Univer Bases API
Univer Bases 애플리케이션에서 Facade API를 사용하는 방법을 알아봅니다.
Facade API는 Bases 모델 위에 애플리케이션용 계층을 제공합니다. Base, 테이블, 필드, 레코드, 뷰, 필터, 정렬, 그룹, 선택 영역을 만들거나 UI를 탐색하는 등의 일반적인 작업에 사용하세요.
주의
Base 모델 변경은 동기식입니다. UI 활성화 메서드는 Promise를 반환하므로 await하세요.
Facade 진입점 활성화
애플리케이션에서 사용하는 각 Bases 기능의 Facade 진입점을 가져옵니다.
TypeScript
import { FUniver } from '@univerjs/core/facade'import '@univerjs-pro/bases/facade'import '@univerjs-pro/bases-ui/facade'Univer 인스턴스와 필수 플러그인을 등록한 다음 API 객체를 만듭니다.
TypeScript
const univerAPI = FUniver.newAPI(univer)Base 생성 및 읽기
Facade 계층을 통해 Base 단위를 만들려면 createBase를 사용합니다. 하위 수준 설정 코드에서는 univer.createUnit(UniverInstanceType.UNIVER_BASE, snapshot)으로 단위를 만듭니다.
TypeScript
const base = univerAPI.createBase({ id: 'base-demo', name: 'Base Demo',})const activeBase = univerAPI.getActiveBase()const sameBase = univerAPI.getBase(base.getId())테이블 생성
TypeScript
const table = base.insertTable('Tasks', { primaryFieldName: 'Title' })const status = table.addField('Status', univerAPI.Enum.BaseFieldType.SingleSelect)레코드 작업
TypeScript
const record = table.addRecord({ Title: 'Write docs', Status: 'In progress',}, univerAPI.Enum.BaseFieldKeyEnum.Name)record.setValue(status.getId(), 'Done')UI 상태 작업
@univerjs-pro/bases-ui/facade는 테이블 및 뷰 활성화, 선택, 스크롤, 편집, 패널을 위한 UI API를 추가합니다.
TypeScript
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(),})참고 자료
이 가이드는 어떠셨나요?