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
JavaScript
// 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);
}
}