// Web resource script (no SPA). Le funzioni esportate sono richiamabili da Dataverse
// come <Namespace>.<funzione> (es. negli eventi di form: OnLoad, OnSave, OnChange).
// Generato da Dataverse Helper.

/* eslint-disable @typescript-eslint/no-explicit-any */
import { DataverseService } from "./services/DataverseService";

const svc = new DataverseService();

function ensureInit(): void {
  if (!(svc as any).baseUrl) {
    svc.init(DataverseService.getGlobalContext());
  }
}

/** Esempio: handler OnLoad di una form. */
export async function onLoad(executionContext: any): Promise<void> {
  ensureInit();
  const formContext = executionContext.getFormContext();
  // Esempio d'uso:
  // const me = await svc.whoAmI();
  // const rows = await svc.retrieveMultiple("accounts", "$select=name&$top=5");
  console.log("onLoad", formContext.getFormType());
}

/** Esempio: handler OnSave di una form. */
export function onSave(executionContext: any): void {
  ensureInit();
  console.log("onSave", executionContext);
}

/** Esempio: handler OnChange di un campo. */
export function onChange(executionContext: any): void {
  ensureInit();
  const formContext = executionContext.getFormContext();
  console.log("onChange", formContext);
}
