UNPKG

forma-embedded-view-sdk

Version:

The Forma Embedded View SDK is a JavaScript library for creating custom extensions in Autodesk Forma (previously Spacemaker).

52 lines (51 loc) 1.71 kB
// eslint-disable-next-line @typescript-eslint/no-unused-vars import { EmbeddedViewSdk } from "./embedded-view.js"; /** * Manage items in the user's * [Library](https://help.autodeskforma.com/en/articles/6976465-library-and-importing-files) * of available data. * * @remarks * Available via {@link auto.Forma | Forma}.{@link index.EmbeddedViewSdk.library | library}. */ export class LibraryApi { #iframeMessenger; /** @hidden */ constructor(iframeMessenger) { this.#iframeMessenger = iframeMessenger; } /** * Add data to Library as a new item. * * Requires edit access. See {@link EmbeddedViewSdk.getCanEdit | getCanEdit} for more info. * * @returns The newly created item. * * @example * const urn = mockRegisterElementInSystem() // See e.g. integrate-elements module * const item = await Forma.library.createItem({ * data: { name: "My new item", status: "success", urn: urn } * }) */ async createItem(request) { return await this.#iframeMessenger.sendRequest("library/create-item", request); } /** * Update an existing library item. * * Requires edit access. See {@link EmbeddedViewSdk.getCanEdit | getCanEdit} for more info. * * @returns The updated item. */ async updateItem(request) { return await this.#iframeMessenger.sendRequest("library/update-item", request); } /** * Delete an existing library item. * * Requires edit access. See {@link EmbeddedViewSdk.getCanEdit | getCanEdit} for more info. */ async deleteItem(request) { await this.#iframeMessenger.sendRequest("library/delete-item", request); } }