Loading frontend/src/email/EmailForm/InstructorEmailForm.tsx +1 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ const InstructorEmailForm: FC<EmailFormProps> = ({ const formState = useFormState({ exerciseId, inInstructor: true, teamId, emailThreadId: threadId, }) const { Loading frontend/src/email/EmailForm/TraineeEmailForm.tsx +1 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ const TraineeEmailForm: FC<TraineeEmailFormProps> = ({ } = useFormState({ teamAddress, inInstructor: false, teamId, exerciseId, emailThreadId: threadId, }) Loading frontend/src/email/EmailForm/useFormState.ts +5 −0 Original line number Diff line number Diff line Loading @@ -31,10 +31,12 @@ export interface FormState { const useFormState = ({ teamAddress, exerciseId, teamId, inInstructor, emailThreadId, }: { exerciseId: string teamId: string inInstructor: boolean emailThreadId: string | undefined teamAddress?: string | undefined Loading @@ -55,6 +57,7 @@ const useFormState = ({ const { data: draftData } = useReturnLocalEmailDraft({ variables: { exerciseId, teamId, instructor: inInstructor, emailThreadId: emailThreadId || null, }, Loading Loading @@ -82,6 +85,7 @@ const useFormState = ({ variables: { emailDraft: { exerciseId, teamId, instructor: inInstructor, emailThreadId, senderAddress, Loading Loading @@ -119,6 +123,7 @@ const useFormState = ({ variables: { emailDraft: { exerciseId, teamId, instructor: inInstructor, emailThreadId, senderAddress: teamAddress || '', Loading graphql/client/apollo-helpers.ts +3 −2 Original line number Diff line number Diff line Loading @@ -99,7 +99,7 @@ export type EmailAddressTypeFieldPolicy = { teamVisible?: FieldPolicy<any> | FieldReadFunction<any>, templates?: FieldPolicy<any> | FieldReadFunction<any> }; export type EmailDraftTypeKeySpecifier = ('activateMilestone' | 'content' | 'deactivateMilestone' | 'emailThreadId' | 'exerciseId' | 'fileName' | 'instructor' | 'selectedContacts' | 'senderAddress' | 'subject' | EmailDraftTypeKeySpecifier)[]; export type EmailDraftTypeKeySpecifier = ('activateMilestone' | 'content' | 'deactivateMilestone' | 'emailThreadId' | 'exerciseId' | 'fileName' | 'instructor' | 'selectedContacts' | 'senderAddress' | 'subject' | 'teamId' | EmailDraftTypeKeySpecifier)[]; export type EmailDraftTypeFieldPolicy = { activateMilestone?: FieldPolicy<any> | FieldReadFunction<any>, content?: FieldPolicy<any> | FieldReadFunction<any>, Loading @@ -110,7 +110,8 @@ export type EmailDraftTypeFieldPolicy = { instructor?: FieldPolicy<any> | FieldReadFunction<any>, selectedContacts?: FieldPolicy<any> | FieldReadFunction<any>, senderAddress?: FieldPolicy<any> | FieldReadFunction<any>, subject?: FieldPolicy<any> | FieldReadFunction<any> subject?: FieldPolicy<any> | FieldReadFunction<any>, teamId?: FieldPolicy<any> | FieldReadFunction<any> }; export type EmailParticipantTypeKeySpecifier = ('address' | 'definitionAddress' | 'emails' | 'exercise' | 'id' | 'team' | 'threads' | EmailParticipantTypeKeySpecifier)[]; export type EmailParticipantTypeFieldPolicy = { Loading graphql/client/resolvers.ts +6 −3 Original line number Diff line number Diff line Loading @@ -4,12 +4,13 @@ import getKey from '@inject/shared/localstorage/getKey' const getEmailThreadDraftId = ( exerciseId: string, teamId: string, instructor: boolean, emailThreadId: string | null | undefined ) => `EmailThreadDraft:${instructor ? 'instructor' : 'trainee'}:${exerciseId}:${ emailThreadId || 'newThread' }` `EmailThreadDraft:${ instructor ? 'instructor' : 'trainee' }:${exerciseId}:${teamId}:${emailThreadId || 'newThread'}` const resolvers: Resolvers = { EmailType: { Loading Loading @@ -44,6 +45,7 @@ const resolvers: Resolvers = { async returnLocalEmailDraft(_root, variables) { const id = getEmailThreadDraftId( variables.exerciseId, variables.teamId, variables.instructor, variables.emailThreadId ) Loading Loading @@ -179,6 +181,7 @@ const resolvers: Resolvers = { async writeEmailDraft(_root, variables) { const id = getEmailThreadDraftId( variables.emailDraft.exerciseId, variables.emailDraft.teamId, variables.emailDraft.instructor, variables.emailDraft.emailThreadId ) Loading Loading
frontend/src/email/EmailForm/InstructorEmailForm.tsx +1 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ const InstructorEmailForm: FC<EmailFormProps> = ({ const formState = useFormState({ exerciseId, inInstructor: true, teamId, emailThreadId: threadId, }) const { Loading
frontend/src/email/EmailForm/TraineeEmailForm.tsx +1 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ const TraineeEmailForm: FC<TraineeEmailFormProps> = ({ } = useFormState({ teamAddress, inInstructor: false, teamId, exerciseId, emailThreadId: threadId, }) Loading
frontend/src/email/EmailForm/useFormState.ts +5 −0 Original line number Diff line number Diff line Loading @@ -31,10 +31,12 @@ export interface FormState { const useFormState = ({ teamAddress, exerciseId, teamId, inInstructor, emailThreadId, }: { exerciseId: string teamId: string inInstructor: boolean emailThreadId: string | undefined teamAddress?: string | undefined Loading @@ -55,6 +57,7 @@ const useFormState = ({ const { data: draftData } = useReturnLocalEmailDraft({ variables: { exerciseId, teamId, instructor: inInstructor, emailThreadId: emailThreadId || null, }, Loading Loading @@ -82,6 +85,7 @@ const useFormState = ({ variables: { emailDraft: { exerciseId, teamId, instructor: inInstructor, emailThreadId, senderAddress, Loading Loading @@ -119,6 +123,7 @@ const useFormState = ({ variables: { emailDraft: { exerciseId, teamId, instructor: inInstructor, emailThreadId, senderAddress: teamAddress || '', Loading
graphql/client/apollo-helpers.ts +3 −2 Original line number Diff line number Diff line Loading @@ -99,7 +99,7 @@ export type EmailAddressTypeFieldPolicy = { teamVisible?: FieldPolicy<any> | FieldReadFunction<any>, templates?: FieldPolicy<any> | FieldReadFunction<any> }; export type EmailDraftTypeKeySpecifier = ('activateMilestone' | 'content' | 'deactivateMilestone' | 'emailThreadId' | 'exerciseId' | 'fileName' | 'instructor' | 'selectedContacts' | 'senderAddress' | 'subject' | EmailDraftTypeKeySpecifier)[]; export type EmailDraftTypeKeySpecifier = ('activateMilestone' | 'content' | 'deactivateMilestone' | 'emailThreadId' | 'exerciseId' | 'fileName' | 'instructor' | 'selectedContacts' | 'senderAddress' | 'subject' | 'teamId' | EmailDraftTypeKeySpecifier)[]; export type EmailDraftTypeFieldPolicy = { activateMilestone?: FieldPolicy<any> | FieldReadFunction<any>, content?: FieldPolicy<any> | FieldReadFunction<any>, Loading @@ -110,7 +110,8 @@ export type EmailDraftTypeFieldPolicy = { instructor?: FieldPolicy<any> | FieldReadFunction<any>, selectedContacts?: FieldPolicy<any> | FieldReadFunction<any>, senderAddress?: FieldPolicy<any> | FieldReadFunction<any>, subject?: FieldPolicy<any> | FieldReadFunction<any> subject?: FieldPolicy<any> | FieldReadFunction<any>, teamId?: FieldPolicy<any> | FieldReadFunction<any> }; export type EmailParticipantTypeKeySpecifier = ('address' | 'definitionAddress' | 'emails' | 'exercise' | 'id' | 'team' | 'threads' | EmailParticipantTypeKeySpecifier)[]; export type EmailParticipantTypeFieldPolicy = { Loading
graphql/client/resolvers.ts +6 −3 Original line number Diff line number Diff line Loading @@ -4,12 +4,13 @@ import getKey from '@inject/shared/localstorage/getKey' const getEmailThreadDraftId = ( exerciseId: string, teamId: string, instructor: boolean, emailThreadId: string | null | undefined ) => `EmailThreadDraft:${instructor ? 'instructor' : 'trainee'}:${exerciseId}:${ emailThreadId || 'newThread' }` `EmailThreadDraft:${ instructor ? 'instructor' : 'trainee' }:${exerciseId}:${teamId}:${emailThreadId || 'newThread'}` const resolvers: Resolvers = { EmailType: { Loading Loading @@ -44,6 +45,7 @@ const resolvers: Resolvers = { async returnLocalEmailDraft(_root, variables) { const id = getEmailThreadDraftId( variables.exerciseId, variables.teamId, variables.instructor, variables.emailThreadId ) Loading Loading @@ -179,6 +181,7 @@ const resolvers: Resolvers = { async writeEmailDraft(_root, variables) { const id = getEmailThreadDraftId( variables.emailDraft.exerciseId, variables.emailDraft.teamId, variables.emailDraft.instructor, variables.emailDraft.emailThreadId ) Loading