@mendix/extensions-api - v0.11.5
    Preparing search index...

    Interface IProjectApi

    API for working with project and folders

    interface IProjectApi {
        _apiId: "mendix.ProjectApi";
        addEventListener<K extends never>(
            eventType: K,
            listener: EventHandler<{}, K>,
        ): DisposeListener;
        addFolder(containerId: string, name: string): Promise<Readonly<Folder>>;
        deleteFolder(folderId: string): Promise<void>;
        getDocumentsInfo(
            containerId: string,
        ): Promise<readonly Readonly<UnitInfo>[]>;
        getFolder(
            containerId: string,
            name: string,
        ): Promise<Readonly<Folder> | null>;
        getFolders(containerId: string): Promise<readonly Readonly<Folder>[]>;
        getModulesTree(
            options?: { includeUnnamed?: boolean },
        ): Promise<
            readonly {
                $CreationOptions?: { name?: string };
                $ID: string;
                $Type: "Projects$Module";
                $UnitID?: string;
                appStoreGuid: string;
                appStorePackageIdString: string;
                appStoreVersion: string;
                appStoreVersionGuid: string;
                documents?: readonly {
                    $ID: string;
                    $Type: string;
                    moduleName?: string;
                    name?: string;
                }[];
                folders?: readonly {
                    $CreationOptions?: { name?: string };
                    $ID: string;
                    $Type: "Projects$Folder";
                    $UnitID?: string;
                    documents?: readonly {
                        $ID: string;
                        $Type: string;
                        moduleName?: string;
                        name?: string;
                    }[];
                    folders?: readonly { readonly $CreationOptions?: { readonly name?: string | undefined; } | undefined; readonly $Type: "Projects$Folder"; readonly name: string; readonly $ID: string; readonly $UnitID?: string | undefined; readonly folders?: readonly ...[] | undefined; readonly documents?: readonly { ...; }[] | undefined; }[] |...;
                    name: string;
                }[];
                fromAppStore: boolean;
                isThemeModule: boolean;
                name: string;
                sortIndex: number;
            }[],
        >;
        getProjectId(): Promise<string>;
        removeEventListener<K extends never>(
            eventType: K,
            listener: EventHandler<{}, K>,
        ): void;
        renameFolder(folderId: string, newName: string): Promise<void>;
    }

    Hierarchy (View Summary)

    Index

    Properties

    _apiId: "mendix.ProjectApi"

    Unique identifier that can be used to register or retrieve a specific API.

    Example: mendix.EditorsAPI, mycompany.MyFunkyAPI

    Methods

    • Adds an event listener for the specified event type.

      Type Parameters

      • K extends never

      Parameters

      • eventType: K

        The type of event to listen for.

      • listener: EventHandler<{}, K>

        The event listener to add.

      Returns DisposeListener

      A function that can be called to remove the event listener.

    • Creates a new folder within a given container.

      Parameters

      • containerId: string

        The ID of the container to add the folder to.

      • name: string

        The name of the new folder.

      Returns Promise<Readonly<Folder>>

      Promise resolving to the created folder.

    • Deletes a folder by its ID.

      Parameters

      • folderId: string

        The ID of the folder to delete.

      Returns Promise<void>

      Promise resolving when the folder has been deleted.

    • Retrieves information about all documents within a given container.

      Parameters

      • containerId: string

        The ID of the container to get documents info from.

      Returns Promise<readonly Readonly<UnitInfo>[]>

      Promise resolving to a readonly array of document info objects.

    • Retrieves a specific folder by name within a given container.

      Parameters

      • containerId: string

        The ID of the container to search in.

      • name: string

        The name of the folder to retrieve.

      Returns Promise<Readonly<Folder> | null>

      Promise resolving to the folder if found, or null otherwise.

    • Retrieves all folders within a given container (module or folder).

      Parameters

      • containerId: string

        The ID of the container to get folders from (module or folder).

      Returns Promise<readonly Readonly<Folder>[]>

      Promise resolving to a readonly array of folders.

    • Returns the full module/folder/document tree in a single call. Each entry in the returned array corresponds to one module and includes all nested folders and the UnitInfo of every document at each level.

      Parameters

      • Optionaloptions: { includeUnnamed?: boolean }

      Returns Promise<
          readonly {
              $CreationOptions?: { name?: string };
              $ID: string;
              $Type: "Projects$Module";
              $UnitID?: string;
              appStoreGuid: string;
              appStorePackageIdString: string;
              appStoreVersion: string;
              appStoreVersionGuid: string;
              documents?: readonly {
                  $ID: string;
                  $Type: string;
                  moduleName?: string;
                  name?: string;
              }[];
              folders?: readonly {
                  $CreationOptions?: { name?: string };
                  $ID: string;
                  $Type: "Projects$Folder";
                  $UnitID?: string;
                  documents?: readonly {
                      $ID: string;
                      $Type: string;
                      moduleName?: string;
                      name?: string;
                  }[];
                  folders?: readonly { readonly $CreationOptions?: { readonly name?: string | undefined; } | undefined; readonly $Type: "Projects$Folder"; readonly name: string; readonly $ID: string; readonly $UnitID?: string | undefined; readonly folders?: readonly ...[] | undefined; readonly documents?: readonly { ...; }[] | undefined; }[] |...;
                  name: string;
              }[];
              fromAppStore: boolean;
              isThemeModule: boolean;
              name: string;
              sortIndex: number;
          }[],
      >

      Promise resolving to an array of raw module trees.

    • Returns the unique identifier of the current project.

      Returns Promise<string>

      Promise resolving to the project ID as a string.

    • Removes an event listener for the specified event type.

      Type Parameters

      • K extends never

      Parameters

      • eventType: K

        The type of event to remove the listener from.

      • listener: EventHandler<{}, K>

        The event listener to remove.

      Returns void

    • Changes the name of a folder.

      Parameters

      • folderId: string

        The ID of the folder to rename.

      • newName: string

        The new name for the folder.

      Returns Promise<void>

      Promise resolving when the folder name has been changed.