task-data-in-loop-fix (#1748)

* pass the task guid in the id so base input gets re-rendered fully w/ burnettk

* use keys instead of ids w/ burnettk

* lint issues

---------

Co-authored-by: jasquat <jasquat@users.noreply.github.com>
This commit is contained in:
jasquat 2024-06-18 14:25:02 -04:00 committed by GitHub
parent 0bccdb7cba
commit 657836e7da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 17 additions and 4 deletions

View File

@ -19,10 +19,12 @@ enum DateCheckType {
type OwnProps = { type OwnProps = {
id: string; id: string;
key: string;
formData: any; formData: any;
schema: any; schema: any;
uiSchema: any; uiSchema: any;
className?: string;
disabled?: boolean; disabled?: boolean;
onChange?: any; onChange?: any;
onSubmit?: any; onSubmit?: any;
@ -35,7 +37,9 @@ type OwnProps = {
export default function CustomForm({ export default function CustomForm({
id, id,
key,
formData, formData,
className,
schema, schema,
uiSchema, uiSchema,
disabled = false, disabled = false,
@ -504,6 +508,8 @@ export default function CustomForm({
const formProps = { const formProps = {
id, id,
key,
className,
disabled, disabled,
formData, formData,
onChange, onChange,

View File

@ -520,6 +520,7 @@ export default function ReactFormBuilder({
<ErrorBoundary FallbackComponent={FormErrorFallback}> <ErrorBoundary FallbackComponent={FormErrorFallback}>
<CustomForm <CustomForm
id="custom_form" id="custom_form"
key="custom_form"
formData={formData} formData={formData}
onChange={(e: any) => updateData(e.formData)} onChange={(e: any) => updateData(e.formData)}
schema={postJsonSchema} schema={postJsonSchema}

View File

@ -187,6 +187,7 @@ export default function TaskListTable({
</div> </div>
<CustomForm <CustomForm
id={formSubmissionTask.guid} id={formSubmissionTask.guid}
key={formSubmissionTask.guid}
formData={formSubmissionTask.data} formData={formSubmissionTask.data}
schema={jsonSchema} schema={jsonSchema}
uiSchema={formUiSchema} uiSchema={formUiSchema}

View File

@ -267,6 +267,7 @@ export function MessageEditor({
) : null} ) : null}
<CustomForm <CustomForm
id={currentMessageId || ''} id={currentMessageId || ''}
key={currentMessageId || ''}
schema={schema} schema={schema}
uiSchema={uischema} uiSchema={uischema}
formData={currentFormData} formData={currentFormData}

View File

@ -830,7 +830,7 @@ hr {
margin-left: 1rem; margin-left: 1rem;
} }
#hidden-form-for-autosave { .hidden-form-for-autosave {
display: none; display: none;
} }

View File

@ -399,7 +399,8 @@ export default function TaskShow() {
<Grid fullWidth condensed className="megacondensed"> <Grid fullWidth condensed className="megacondensed">
<Column sm={4} md={5} lg={8}> <Column sm={4} md={5} lg={8}>
<CustomForm <CustomForm
id="form-to-submit" id={`form-to-submit-${taskWithTaskData.guid}`}
key={`form-to-submit-${taskWithTaskData.guid}`}
disabled={formButtonsDisabled} disabled={formButtonsDisabled}
formData={taskData} formData={taskData}
onChange={(obj: any) => { onChange={(obj: any) => {
@ -414,7 +415,9 @@ export default function TaskShow() {
{reactFragmentToHideSubmitButton} {reactFragmentToHideSubmitButton}
</CustomForm> </CustomForm>
<CustomForm <CustomForm
id="hidden-form-for-autosave" id={`hidden-form-for-autosave-${taskWithTaskData.guid}`}
key={`hidden-form-for-autosave-${taskWithTaskData.guid}`}
className="hidden-form-for-autosave"
formData={taskData} formData={taskData}
onSubmit={handleAutosaveFormSubmit} onSubmit={handleAutosaveFormSubmit}
schema={jsonSchema} schema={jsonSchema}

View File

@ -154,7 +154,8 @@ export default function PublicForm() {
<Grid fullWidth condensed className="megacondensed"> <Grid fullWidth condensed className="megacondensed">
<Column sm={4} md={5} lg={8}> <Column sm={4} md={5} lg={8}>
<CustomForm <CustomForm
id="form-to-submit" id={`form-to-submit-${publicTask.task_guid}`}
key={`form-to-submit-${publicTask.task_guid}`}
disabled={formButtonsDisabled} disabled={formButtonsDisabled}
formData={taskData} formData={taskData}
onChange={(obj: any) => { onChange={(obj: any) => {