import { TcHmiControl } from 'Beckhoff.TwinCAT.HMI.Framework/index.esm.js'; import type { Control as TcHmiButton } from '../TcHmiButton/TcHmiButton.esm.js'; import { SelectRecipePrompt } from './SelectRecipePrompt.js'; import { TextAndButtonsPrompt } from '../Helpers/TcHmiPopups/TextAndButtonsPrompt.js'; declare class TcHmiRecipeSelect extends TcHmiControl.Control { #private; /** * Constructor Creates a new control instance. * @param element The element that hosts the control. * @param pcElement Precompiled element. * @param attrs The control attributes. */ constructor(element: JQuery, pcElement: JQuery, attrs: TcHmi.Controls.ControlAttributeList); protected __elementTemplateRoot: HTMLElement; protected __elementSelectedRecipe: HTMLElement; protected __elementPathBox: HTMLDivElement; protected __buttonActivate: TcHmiButton; protected __buttonTeach: TcHmiButton; protected __selectRecipePrompt: SelectRecipePrompt; protected __serverDomain: string | undefined; protected __serverInterval: number | undefined; protected __allowedRecipeTypes: string[] | null | undefined; protected __promptBeforeActivating: boolean | undefined; protected __promptBeforeTeaching: boolean | undefined; protected __confirmationPrompt: TextAndButtonsPrompt | null; protected __unwatchRecipeList: TcHmi.DestroyFunction | null; protected __unwatchRecipeManagementDomain: TcHmi.DestroyFunction | null; protected __watchRecipeConditions: { extensionLoaded: boolean; userHasRights: boolean; }; protected __activeRecipesSubscriptionId: number | null; protected __watchActiveRecipeConditions: { extensionLoaded: boolean; userHasRights: boolean; }; protected __symbolAccessSubscriptionId: number | null; protected __symbolAccess: { '{0}.Config': import("Beckhoff.TwinCAT.HMI.Framework/dist/API/Server.js").ACCESS; '{0}.ActivateRecipe': import("Beckhoff.TwinCAT.HMI.Framework/dist/API/Server.js").ACCESS; '{0}.ReadFromTarget': import("Beckhoff.TwinCAT.HMI.Framework/dist/API/Server.js").ACCESS; '{0}.UpdateRecipe': import("Beckhoff.TwinCAT.HMI.Framework/dist/API/Server.js").ACCESS; '{0}.GetActiveRecipes': import("Beckhoff.TwinCAT.HMI.Framework/dist/API/Server.js").ACCESS; }; protected __selectedRecipe: TcHmi.ObjectPath | null; protected __isEnabledLock: { locked: boolean; unlockValue: boolean | null; }; protected __localizedElements: Map; protected __localizationReader: TcHmi.Locale.LocalizationReader | undefined; /** * If raised, the control object exists in control cache and constructor of each inheritation level was called. * This function is only to be used by the System. Other function calls are not intended. */ __previnit(): void; /** * If raised, all attributes have been set to it's default or dom values. * This function is only to be used by the System. Other function calls are not intended. */ __init(): void; /** * Is called by the system after the control instance gets part of the current DOM. * This function is only to be used by the System. Other function calls are not intended. */ __attach(): void; /** * Is called by the system after the control instance is no longer part of the current DOM. * This function is only to be used by the System. Other function calls are not intended. */ __detach(): void; /** * Destroy the current control instance. * Will be called automatically if system destroys control! */ destroy(): void; /** * Add an element to be localized. * @param element The element. * @param key The localization key. * @param parameters Optional parameters to pass to tchmi_format_string. */ protected __addLocalizedElement(element: HTMLElement, key: string, ...parameters: any[]): void; /** * Remove a localized element. * @param element The element to remove. */ protected __removeLocalizedElement(element: HTMLElement): void; /** * Event handler for the click event of the selected recipe element and the path box. * @param _event The event to handle. */ protected __onRecipeClick(_event: MouseEvent): Promise; /** * Selects the recipe with the given name. * @param fullName The path and name of the recipe to select. */ protected __select(fullName: string): void; /** * Unselects the currently selected recipe. */ protected __unselect(): void; /** * Returns a TextAndButtonsPrompt with a yes and a no button. * @param headerKey The localization key for the header text. * @param contentKey The localization key for the content text. */ protected __getConfirmationPrompt(headerKey: string, contentKey: string): TextAndButtonsPrompt; /** * Event handler for the onPressed event of the activate button. */ protected __onActivatePressed(): Promise; /** * Event handler for the onPressed event of the teach button. */ protected __onTeachPressed(): Promise; /** * Sets the current value of attribute ServerDomain. * @param valueNew */ setServerDomain(valueNew: string | null): void; /** * Returns the current value of attribute ServerDomain. */ getServerDomain(): string | undefined; /** * Processes the current value of attribute ServerDomain. */ protected __processServerDomain(): void; /** * Sets the current value of attribute ServerInterval. * @param valueNew */ setServerInterval(valueNew: number | null): void; /** * Returns the current value of attribute ServerInterval. */ getServerInterval(): number | undefined; /** * Processes the current value of attribute ServerInterval. */ protected __processServerInterval(): void; /** * Returns the current value of attribute SelectedRecipeFullName. */ getSelectedRecipeFullName(): string | null; /** * Returns the current value of attribute SelectedRecipeName. */ getSelectedRecipeName(): string | null; /** * Returns the current value of attribute SelectedRecipePath. */ getSelectedRecipePath(): string | null; /** * Sets the current value of attribute AllowedRecipeTypes. * @param valueNew The new value. */ setAllowedRecipeTypes(valueNew: string[] | null): void; /** * The watch callback for the AllowedRecipeTypes object resolver */ protected __onResolverForAllowedRecipeTypesWatchCallback(data: TcHmi.Symbol.ObjectResolver.IWatchResultObject): void; /** * Returns the current value of attribute AllowedRecipeTypes. */ getAllowedRecipeTypes(): string[] | null | undefined; /** * Processes the current value of attribute AllowedRecipeTypes. */ protected __processAllowedRecipeTypes(): void; /** * Sets the current value of attribute PromptBeforeActivating. * @param valueNew */ setPromptBeforeActivating(valueNew: boolean | null): void; /** * Returns the current value of attribute PromptBeforeActivating. */ getPromptBeforeActivating(): boolean | undefined; /** * Sets the current value of attribute PromptBeforeTeaching. * @param valueNew */ setPromptBeforeTeaching(valueNew: boolean | null): void; /** * Returns the current value of attribute PromptBeforeTeaching. */ getPromptBeforeTeaching(): boolean | undefined; /** * Updates the RecipeManagementDomainWatch. Also unwatches the recipe list watch. * @param unwatchOnly Set to true to only destroy the existing watch. Defaults to false. */ protected __updateRecipeWatches(unwatchOnly?: boolean): void; /** * Lock the isEnabled state to false. */ protected __lockIsEnabled(): void; /** * Unlock the isEnabled state and apply the stored unlockValue. */ protected __unlockIsEnabled(): void; /** * Sets the value of attribute IsEnabled. */ setIsEnabled(valueNew: boolean | null): void; /** * Updates the recipe list watch, if the recipe extension is loaded and the user has the necessary access rights. * @param extensionLoaded Whether the recipe extension is loaded. * @param userHasRights Whether the user has the necessary access rights. */ protected __updateRecipeListWatch(extensionLoaded: boolean | null, userHasRights: boolean | null): void; /** * Callback function for TcHmi.Server.RecipeManagement.watchRecipeList. * @param data The recipes. */ protected __onRecipeListWatch(data: TcHmi.Server.RecipeManagement.IWatchResultObject): void; /** * Update the subscription to GetActiveRecipes. * @param unsubscribeOnly Only unsubscribe. Should be used on detach. */ protected __updateActiveRecipesSubscription(extensionLoaded: boolean | null, userHasRights: boolean | null, recipeChanged?: boolean): void; /** * Update the subscription to GetSymbolAccess. * @param unsubscribeOnly Only unsubscribe. Should be used on detach. */ protected __updateSymbolAccessSubscription(unsubscribeOnly?: boolean): void; /** * Forces the buttons operate rights to Deny if the user doesn't have the necessary symbol TcHmi.Access. */ protected __updateButtonAccess(): void; /** * Expands the given localization key to a full symbol expression. * @param key The key to expand. */ protected __expandLocalizationSymbol(key: string): string; } export { TcHmiRecipeSelect as Control }; declare const _TcHmiRecipeSelect: typeof TcHmiRecipeSelect; type tTcHmiRecipeSelect = TcHmiRecipeSelect; declare global { namespace TcHmi.Controls.Beckhoff { const TcHmiRecipeSelect: typeof _TcHmiRecipeSelect; type TcHmiRecipeSelect = tTcHmiRecipeSelect; } } //# sourceMappingURL=TcHmiRecipeSelect.esm.d.ts.map