Skip to main content

Events

IDashboardEvents

The IDashboard interface has Events property, which provides access to the IDashboardEvents interface. This interface provides two methods:

  • Register( event, callback ): Registers an event handler for the specified event and returns the event handler ID.
  • Unregister( eventId ): Unregisters the event handler with the specified ID.

One of the use cases for events in IDashboard is to listen for custom data changes provided by UpdateCustomData method.

Here is a JavaScript example of how to use the IDashboardEvents interface to listen for custom data changes using globally defined events.

// Register event handler for the custom data changes.
const eventId = await dashboard.Events.Register(
MFiles.Event.CustomDataChanged,
(data) => {
console.log("Custom data changed: ", data);
},
);
EventDescriptionArguments
RefreshTriggered when the dashboard data is refreshed.
StartedSent when the dashboard turns to started state.
StopSent before the dashboard is stopped.
CustomDataChangedThis event is triggered, when custom data on dashboard has changed. The event can be
used to update the dashboard based on the new data. This event will fire at least
once when the dashboard is started and initialized.
data New custom data for the dashboard

ISearchPaneEvents

Interface for the Search pane events. The interface provides two methods:

  • Register( event, callback ): Registers an event handler for the specified event.
  • Unregister( eventId ): Unregisters the event handler with the specified ID.
EventDescriptionArguments
StopSent before the Searchpane is closed.
StartedRegisters event handler for the Search pane started event, which means that the Search pane
is ready to be used.

IShellFrameEvents

IShellFrameEvents interface provides means to manage shell frame events. The interface provides two methods:

  • Register( event, callback ): Registers an event handler for the specified event.
  • Unregister( eventId ): Unregisters the event handler with the specified ID.
EventDescriptionArguments
StopSent before the IShellFrame is stopped.
StartedRegisters event handler for the IShellFrame started event, which means that the IShellFrame
is ready to be used. This event will trigger at least once for each registered callback
if the IShellFrame is already started and not yet stopped.
ViewLocationChangedRegisters event handler for the IShellFrame ViewLocationChanged event, which means that the view location has changed.
ViewLocationChangedAsyncRegisters event handler for the IShellFrame ViewLocationChangedAsync event, which means that the view location has changed.
NewCommandsRegisters event handler for the IShellFrame NewCommands event, which means that a new ICommands interface has been created and is ready to be used.
NewRightPaneRegisters event handler for the IShellFrame NewRightPane event, which means that a shell pane container is created for right shell pane.
NewShellListingRegisters event handler for the IShellFrame NewShellListing event, which means that a new shell listing object is created.newShellisting The new IShellListing object.

IShellListingEvents

IShellListingEvents interface provides means to manage shell listing events. The interface provides two methods:

  • Register( event, callback ): Registers an event handler for the specified event.
  • Unregister( eventId ): Unregisters the event handler with the specified ID.
EventDescriptionArguments
StartedRegisters event handler for the IShellListingEvents started event.
StopRegisters event handler for the IShellListingEvents stopped event.
SelectionChangedRegisters event handler for the IShellListingEvents SelectionChanged event.
This event is triggered when the selection in the listing view is set, changed or removed.
shellItems Contains the selected items.
SelectNextObjectRegisters event handler for the IShellListingEvents SelectNextObject event. This event is triggered when the next object in the listing is selected.
SelectPreviousObjectRegisters event handler for the IShellListingEvents SelectPreviousObject event. This event is triggered when the previous object in the listing is selected.
SelectNextFolderRegisters event handler for the IShellListingEvents SelectNextFolder event. This event is triggered when the next folder in the listing is selected.folderType type of the folder, which have been selected.
SelectPreviousFolderRegisters event handler for the IShellListingEvents SelectPreviousFolder event. This event is triggered when the previous folder in the listing is selected.folderType type of the folder, which have been selected.
ListingDeactivatedRegisters event handler for the IShellListingEvents ListingDeactivated event.
This event is triggered when the listing object becomes inactive and loses the input focus.
shellListing The next active shell listing object. Can be null.
ListingActivatedRegisters event handler for the IShellListingEvents ListingActivated event.
This event is triggered when the listing object becomes active and receives the input focus.
shellListing The previous active shell listing object. Can be null.
ContentChangedRegisters event handler for the IShellListingEvents ContentChanged event.
This event is triggered when the current listing content is changed, or listed items are modified.
shellItems Contains all items in the listing.
ListItemAddedRegisters event handler for the IShellListingEvents ListItemAdded event. This event is triggered when one or more items are added to the listing.objectVersion Object
ListItemRemovedRegisters event handler for the IShellListingEvents ListItemRemoved event. This event is triggered when one or more items are removed from the listing.listItem Either an array of ObjectVersionEx if non-folder objects are removed or a single ObjectVersionEx, in case folder is removed.
removedExternalFolder In case folder was removed, include information about the old external folder item being removed in case of
ListItemModifiedRegisters event handler for the IShellListingEvents ListItemModified event.
This event is triggered when one or more of the items that are currently selected are modified.
oldServerObjVer Array of old object versions.
newObjVer Array of new objects.
SelectedItemsChangedRegisters event handler for the IShellListingEvents SelectedItemsChanged event.
This event is triggered when one or more of the items that are currently selected are modified.
shellItems Contains the selected items.

IShellPaneContainerEvents

Interface for the Shell pane container events. The interface provides two methods:

  • Register( event, callback ): Registers an event handler for the specified event.
  • Unregister( eventId ): Unregisters the event handler with the specified ID.
EventDescriptionArguments
StopSent when the object turns to stopped state.
StartedSent when the object turns to started state.

IShellPaneTabEvents

Interface for the Shell pane tab events. The interface provides two methods:

  • Register( event, callback ): Registers an event handler for the specified event.
  • Unregister( eventId ): Unregisters the event handler with the specified ID.
EventDescriptionArguments
StartedSent when the object turns to started state.
StopSent before the object is stopped.

IWindowEvents

Interface for the Window events. The interface provides two methods:

  • Register( event, callback ): Registers an event handler for the specified event.
  • Unregister( eventId ): Unregisters the event handler with the specified ID.
EventDescriptionArguments
CloseWindowSent when the window is requested to closed.

IShellUIEvents

Interface for the Shell UI events. The interface provides two methods:

  • Register( event, callback ): Registers an event handler for the specified event.
  • Unregister( eventId ): Unregisters the event handler with the specified ID.
EventDescriptionArguments
StartedSent when the object turns to started state.
StopSent when the application is stopping.
NewShellFrameTriggered when any shell frame object is created, including normal shell frames, common dialogs, and embedded or special shell frames.shellFrame - The new shell frame object.
NewNormalShellFrameTriggered when a normal shell frame object is created.
Note that this event is not triggered for common dialogs, or embedded or special shell frames.
shellFrame - The new shell frame object.
CrossApplicationNotificationBroadcasted message to multiple applications.appGUID - GUID of the target application, or null if broadcasted to all applications.
msgId - ID of the message which is sent to the other applications.
data - Custom data to be sent.
CheckInObjectsTriggered when the check in of one or more vault objects is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.
objVers - The object versions being checked in.
properties - The properties to add/replace during check-in.
options - Flags that control the operation.
ObjectsCheckedInTriggered after the request to check in one or more vault objects succeeded on M-Files Server.checkedInObjects - The extended object info for checked-in objects.
CheckOutObjectsTriggered when the checking out of one or more vault objects is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.
objIds - The objects being checked out.
ObjectsCheckedOutTriggered after the request to check out one or more vault objects succeeded on M-Files Server.checkedOutVersions - The new checked-out object versions with properties and ACL.
previousVersions - The previous versions before checkout.
UndoObjectCheckoutsTriggered when the undoing checkout of one or more vault objects is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.
objVers - The checked-out object versions being reverted.
force - If true, undo checkout is performed even if not checked out to the caller.
ObjectCheckoutsUndoneTriggered after the request to undo checkout of one or more vault objects succeeded on M-Files Server.restoredObjects - The extended object info for restored objects.
DestroyObjectsTriggered when the destruction of one or more vault objects is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.
objIds - The objects being permanently destroyed.
ObjectsDestroyedTriggered after the request to destroy one or more vault objects succeeded on M-Files Server.

NOTE: Stability is experimental. Non-backward compatible changes or removal may occur in any future release. Use of this feature is not recommended for production environments.
updatedObjects - Information about objects that were also updated during the operation.
DestroyObjectVersionsTriggered when the destruction of one or more object versions is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.

NOTE: Stability is experimental. Non-backward compatible changes or removal may occur in any future release. Use of this feature is not recommended for production environments.
objVers - The object versions being permanently destroyed.
ObjectVersionsDestroyedTriggered after the request to destroy one or more object versions succeeded on M-Files Server.

NOTE: Stability is experimental. Non-backward compatible changes or removal may occur in any future release. Use of this feature is not recommended for production environments.
updatedObjects - Information about objects that were also updated during the operation.
RemoveObjectsTriggered when the deletion of one or more vault objects is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.
objIds - The objects being deleted.
ObjectsRemovedTriggered after the request to delete one or more vault objects succeeded on M-Files Server.deletedObjects - The extended object info for deleted objects.
UndeleteObjectsTriggered when the undeletion of one or more vault objects is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.

NOTE: Stability is experimental. Non-backward compatible changes or removal may occur in any future release. Use of this feature is not recommended for production environments.
objIds - The objects being restored from deletion.
ObjectsUndeletedTriggered after the request to undelete one or more vault objects succeeded on M-Files Server.

NOTE: Stability is experimental. Non-backward compatible changes or removal may occur in any future release. Use of this feature is not recommended for production environments.
extObjectInfos - The extended object info for undeleted objects.
RemoveObjectFileTriggered when the removal of a file from an object version is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.
objVer - The object version from which the file is being removed.
fileVer - The file being removed.
ObjectFileRemovedTriggered after a request to remove an object file from an object version succeeds on M-Files Server.objectVersion - Information about the latest version of the document after the operation.
RollBackObjectVersionTriggered when the roll back of a previous vault object version is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.

NOTE: Stability is experimental. Non-backward compatible changes or removal may occur in any future release. Use of this feature is not recommended for production environments.
objId - The object to roll back.
rollbackVersion - The version to roll back to. A new version is created using this as source.
ObjectVersionRolledBackTriggered after a request to roll back a previous vault object version succeeds on M-Files Server.

NOTE: Stability is experimental. Non-backward compatible changes or removal may occur in any future release. Use of this feature is not recommended for production environments.
extObjectInfo - Information about the object after the operation.
CreateObjectTriggered when the creation of a new object is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.
objectTypeId - The object type ID for the new object.
properties - The properties for the new object.
acl - The access control list for the new object.
options - Flags that control the operation.
checkIn - If true, the object is checked in immediately after creation.
objFileSources - The file sources for the new object.
ObjectCreatedTriggered after the request to create a new object succeeded on M-Files Server.isVisibleToUser - True if the created object is visible to the user.
createdObject - The created object with properties and ACL.
AddObjectFileTriggered when the addition of a new file to a document is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.
objVer - The object version to which the file is being added.
title - The title of the new file.
extension - The file extension (without the leading dot).
createdAtUtc - The UTC timestamp when the file was originally created.
accessedAtUtc - The UTC timestamp when the file was last accessed.
writtenAtUtc - The UTC timestamp when the file was last written to.
changedAtUtc - The UTC timestamp when the file was last changed (content or attributes).
ObjectFileAddedTriggered after a request to add a file to a document succeeds on M-Files Server.fileVer - The version information of the added file.
objectVersion - The object version after the file was added.
RenameObjectFileTriggered when the renaming of a file in a document is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.
objVer - The object version containing the file.
fileVer - The file being renamed.
title - The new title for the file.
extension - The new extension for the file (without the leading dot).
ObjectFileRenamedTriggered after a request to rename a file in a document succeeds on M-Files Server.objectVersion - The object version after the file was renamed.
SetPropertiesOfObjectVersionsTriggered when setting properties for one or more object versions is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.
setPropertiesParams - Array of parameters for setting properties on multiple objects.
PropertiesOfObjectVersionsSetTriggered after a request to set properties of one or more object versions succeeds on M-Files Server.extObjectInfos - Extended object info for each object after the properties were set.
SetObjectVersionPermissionsTriggered when changing the permissions of an object version is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.
objVer - The object version whose permissions are being changed.
acl - The new access control list.
options - Flags that control the operation.
ObjectVersionPermissionsSetTriggered after a request to change the permissions of an object version succeeds on M-Files Server.isSpecifiedVersionStillVisible - True if the specified version is still visible after the operation.
specifiedVersion - Information about the specified version after the operation.
extObjectInfo - Extended object info after the operation.
SetObjectLevelPropertyTriggered when setting an object-level property is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.
objId - The object whose property is being set.
property - The property value to set.
options - Flags that control the operation.
ObjectLevelPropertySetTriggered after a request to set an object-level property succeeds on M-Files Server.extObjectInfo - Extended object info after the operation.
ModifyObjectVersionLabelsTriggered when modifying the labels of an object version is requested.
This event occurs before the request is passed to M-Files Server.

Return a promise that resolves true to proceed, or Error object/false to cancel the operation.
When resolving with an Error object, its message will be shown to the user, enabling you to provide a custom explanation for why the operation was stopped.

NOTE: Stability is experimental. Non-backward compatible changes or removal may occur in any future release. Use of this feature is not recommended for production environments.
objVer - The object version whose labels are being modified.
clearFromOtherVersions - If true, the specified labels are cleared from other versions.
append - If true, the labels are appended to existing labels; if false, existing labels are replaced.
labelIDs - The IDs of the labels to set.
ObjectVersionLabelsModifiedTriggered after a request to modify the labels of an object version succeeds on M-Files Server.

NOTE: Stability is experimental. Non-backward compatible changes or removal may occur in any future release. Use of this feature is not recommended for production environments.
objVer - The object version whose labels were modified.
clearFromOtherVersions - If true, the specified labels were cleared from other versions.
append - If true, the labels were appended to existing labels.
labelIDs - The IDs of the labels that were set.
ChangeVaultLanguageTriggered when changing the vault language is requested.
This event occurs before the request is passed to M-Files Server.

NOTE: Stability is experimental. Non-backward compatible changes or removal may occur in any future release. Use of this feature is not recommended for production environments.
languageId - The ID of the new vault language.
VaultLanguageChangedTriggered after the vault language has been changed.

NOTE: Stability is experimental. Non-backward compatible changes or removal may occur in any future release. Use of this feature is not recommended for production environments.
languageId - The ID of the new vault language.
LogOutTriggered when logging out of the vault is requested.
This event occurs before the logout is processed.

NOTE: Stability is experimental. Non-backward compatible changes or removal may occur in any future release. Use of this feature is not recommended for production environments.

ICommandsEvents

Ths ICommandEvents interface provides methods to register and unregister event handlers for custom commands:

  • Register( event, callback ): Registers an event handler for the specified event and returns the event handler ID.
  • Unregister( eventId ): Unregisters the event handler with the specified ID.

The ICommands interface has Events property, which provides access to the ICommandsEvents interface.

Here is a JavaScript example of how to use the ICommandsEvents interface to listen for custom command events and their data:

const commandsEvents = shellFrame.Commands.Events;
// Register event handler for the custom command
const eventId = await commandsEvents.Register(
Event.CustomCommand,
(commandID, data) => {
console.log("Custom command invoked: ", commandID);
console.log("Data: ", data);
},
);
EventDescriptionArguments
CustomCommandTriggered when a custom command is invoked.commandID The ID of the custom command to be used.
data The data passed to the custom command.
BuiltinCommandCallback handler for Builtin commands.

Allows UI Extensibility applications to intercept and optionally cancel built-in command execution.
argument of type ( commandId : BuiltinCommand, param : any ) => Promise< boolean >