import { ValidationMode } from "@jsonforms/core"; import _ from "lodash"; import { NavigateFunction } from "react-router" export class ImpaktAppsJsonFormsStore { setFormdata: React.Dispatch> setUiSchema: React.Dispatch> setSchema: React.Dispatch> setValidation: React.Dispatch> setLoading: React.Dispatch> setNotify: React.Dispatch> setSearchParams: any navigate: NavigateFunction | any formData: any uiSchema: any schema: any validationMode: ValidationMode openNotify: { Fail: boolean; FailMessage: string; Success: boolean; SuccessMessage: string; Info: boolean; InfoMessage: string; } loading: boolean theme: any permissions: any[] serviceHolder: any pageName: string searchParams: any newData: any setAdditionalErrors: any additionalErrors: any urlHistory: any serverDateTimeFormat: string dateFormat: string dateTimeFormat: string locale: string timeZone: string dialog: Record updateDialog: any arrayExpendState: Record handleToggleArray: any targetElementMap: any additionalIcons: Record ctx: any location: any notificationAutoHideDuration: number constructor( updateFormdata: React.Dispatch>, setUiSchema: React.Dispatch>, setSchema: React.Dispatch>, setValidation: React.Dispatch>, setLoading: React.Dispatch>, setNotify: React.Dispatch>, setSearchParams: any, navigate: NavigateFunction, formData: any, uiSchema: any, schema: any, validationMode: ValidationMode, openNotify: { Fail: boolean; FailMessage: string; Success: boolean; SuccessMessage: string; Info: boolean; InfoMessage: string; }, loading: boolean, theme: any, permissions: any[], serviceHolder: any, pageName: string, searchParams: any, setAdditionalErrors: any, additionalErrors: any, serverDateTimeFormat: string, dateFormat: string, dateTimeFormat: string, locale: string, timeZone: string, dialog: Record | {}, updateDialog: any, arrayExpendState: Record | {}, handleToggleArray: any, targetElementMap: any, additionalIcons: Record, ctx: any, location: any, notificationAutoHideDuration: number ) { this.setFormdata = updateFormdata; this.setUiSchema = setUiSchema; this.setSchema = setSchema; this.setValidation = setValidation; this.setLoading = setLoading; this.setNotify = setNotify; this.setSearchParams = setSearchParams; this.navigate = navigate; this.formData = formData; this.uiSchema = uiSchema; this.schema = schema; this.validationMode = validationMode; this.openNotify = openNotify; this.loading = loading; this.theme = theme; this.permissions = permissions; this.serviceHolder = serviceHolder; this.pageName = pageName; this.searchParams = searchParams; this.serverDateTimeFormat = serverDateTimeFormat this.dateFormat = dateFormat, this.dateTimeFormat = dateTimeFormat, this.timeZone = timeZone this.setAdditionalErrors = setAdditionalErrors this.additionalErrors = additionalErrors this.dialog = dialog this.updateDialog = updateDialog this.arrayExpendState = arrayExpendState this.handleToggleArray = handleToggleArray this.targetElementMap = targetElementMap this.locale = locale this.additionalIcons = additionalIcons this.ctx = ctx; this.location = location; this.notificationAutoHideDuration = notificationAutoHideDuration } updateFormdata(data: any) { this.newData = data; this.setFormdata(data); } }