import type { ApplyDesignerSettingsCallback, DesignerSettings, GetDesignerSettingsCallback, GetDesignerSettingsSchemaCallback, ValidateConfigurableItemCallback } from "../designer"; /** * Callbacks used to implement a settings form in App Designer. */ export interface DesignerCallbacks { /** * Applies settings that were modified in VertiGIS Studio App Designer back * to the model. Note that this function may be invoked to apply any * arbitrary subset of settings at a time. * * @param args Contains the updated settings, the model to update, as well * as other contextual information such as the subsetting type and ID if * applicable. */ applyDesignerSettings?: ApplyDesignerSettingsCallback>; /** * Gets the settings for a component's model, so that it can be configured * by VertiGIS Studio App Designer. * * @param args Information about the settings being requested such as the * model, as well as the subsetting type and ID if applicable. */ getDesignerSettings?: GetDesignerSettingsCallback>; /** * Returns the VertiGIS Studio App Designer settings schema for a given * model. * * @param args Information about the settings schema being requested. */ getDesignerSettingsSchema?: GetDesignerSettingsSchemaCallback>; /** * Validates that a configurable item (component or service) is in a valid * state to save. If not, the callback can return one or more errors and * warnings to indicate any issue(s). This can be used to ensure validity of * application changes that might not be the direct result of updating a * property in the item's settings form. * * @param args The model being validated and utils which could be required * for validation. */ validateConfigurableItem?: ValidateConfigurableItemCallback; }