Skip to content

Commit

Permalink
Code optimisation for builder
Browse files Browse the repository at this point in the history
Ref: #209
  • Loading branch information
projkov committed Nov 27, 2023
1 parent e3c4457 commit f0ec846
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 16 deletions.
12 changes: 2 additions & 10 deletions src/containers/QuestionnaireBuilder/hooks.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
import { notification } from 'antd';
import {
Questionnaire as FHIRQuestionnaire,
QuestionnaireItem as FHIRQuestionnaireItem,
Questionnaire,
} from 'fhir/r4b';
import { Questionnaire as FHIRQuestionnaire, QuestionnaireItem as FHIRQuestionnaireItem } from 'fhir/r4b';
import { notAsked, RemoteData } from 'fhir-react';
import _ from 'lodash';
import { useCallback, useEffect, useState } from 'react';
Expand Down Expand Up @@ -48,7 +44,6 @@ export function useQuestionnaireBuilder() {
const [error, setError] = useState<string | undefined>();
const [editHistory, setEditHistory] = useState({});
const [selectedPrompt, setSelectedPrompt] = useState<string | undefined>(undefined);
const [selectedQuestionnaire, setSelectedQuestionnaire] = useState<Questionnaire>();

useEffect(() => {
(async () => {
Expand Down Expand Up @@ -96,14 +91,12 @@ export function useQuestionnaireBuilder() {
setError(undefined);
const questionnaire = response.data;
const saveResponse = await generateQuestionnaire(prompt, JSON.stringify(questionnaire));
console.log('saveResponse', saveResponse);

setUpdateResponse(saveResponse);
if (isSuccess(saveResponse)) {
const newQuestionnaire = saveResponse.data;
setResponse(success(newQuestionnaire));
setEditHistory({ ...{ [prompt]: newQuestionnaire }, ...editHistory });
setSelectedQuestionnaire(undefined);
setSelectedPrompt(prompt);
}

Expand Down Expand Up @@ -172,7 +165,7 @@ export function useQuestionnaireBuilder() {

const onPromptSelect = useCallback(
(prompt: string) => {
setSelectedQuestionnaire(editHistory[prompt]);
setResponse(success(editHistory[prompt]));
setSelectedPrompt(prompt);
},
[editHistory],
Expand Down Expand Up @@ -201,7 +194,6 @@ export function useQuestionnaireBuilder() {
error,
editHistory,
setEditHistory,
selectedQuestionnaire,
onPromptSelect,
selectedPrompt,
onPromptDelete,
Expand Down
9 changes: 3 additions & 6 deletions src/containers/QuestionnaireBuilder/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import React, { useState } from 'react';
import { GroupItemProps, QuestionItemProps } from 'sdc-qrf/lib/types';

import { RenderRemoteData } from 'fhir-react/lib/components/RenderRemoteData';
import { isLoading, success } from 'fhir-react/lib/libs/remoteData';
import { isLoading } from 'fhir-react/lib/libs/remoteData';

import { BasePageContent, BasePageHeader } from 'src/components/BaseLayout';
import { ModalTrigger } from 'src/components/ModalTrigger';
Expand All @@ -30,7 +30,6 @@ export function QuestionnaireBuilder() {
onItemDrag,
onSaveQuestionnaire,
onItemDelete,
selectedQuestionnaire,
onPromptSelect,
selectedPrompt,
editHistory,
Expand All @@ -50,9 +49,7 @@ export function QuestionnaireBuilder() {
</Title>
</Col>
<Col>
<RenderRemoteData
remoteData={selectedQuestionnaire ? success(selectedQuestionnaire) : response}
>
<RenderRemoteData remoteData={response}>
{(questionnaire: Questionnaire) => {
return questionnaire.item ? (
<ModalTrigger
Expand Down Expand Up @@ -82,7 +79,7 @@ export function QuestionnaireBuilder() {
<S.Content>
<div className={s.rightColumn}>
<Builder
response={selectedQuestionnaire ? success(selectedQuestionnaire) : response}
response={response}
updateResponse={updateResponse}
error={error}
activeQuestionItem={questionnaireItem || groupItem}
Expand Down

0 comments on commit f0ec846

Please sign in to comment.