Skip to content

Commit

Permalink
Addressed PR comments
Browse files Browse the repository at this point in the history
  • Loading branch information
jfkonecn committed Sep 26, 2024
1 parent 8ae8022 commit 37c2dd7
Show file tree
Hide file tree
Showing 2 changed files with 90 additions and 68 deletions.
148 changes: 80 additions & 68 deletions src/main/webapp/app/pages/companyPage/CompanyAdditionalInfo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ export default function CompanyAdditionalInfo({
setAdditionalInfo({
license: {
...additionalInfo?.license,
autoRenewal: !!event.target.value,
activation: event.target.value
? new Date(event.target.value).toISOString()
: undefined,
Expand All @@ -59,7 +60,7 @@ export default function CompanyAdditionalInfo({
labelText="Auto-Renewal"
name="auto-renewal"
boldLabel={boldLabel}
defaultValue={{
value={{
value: additionalInfo?.license?.autoRenewal ?? false,
label: additionalInfo?.license?.autoRenewal ? 'Yes' : 'No',
}}
Expand All @@ -79,88 +80,99 @@ export default function CompanyAdditionalInfo({
{mode === 'update' && (
<>
{additionalInfo?.license?.activation && (
<FormInputField
id="termination.date"
label="Termination Date"
type="date"
validate={{
dateRange: {
format: 'YYYY-MM-DD',
start: {
value: additionalInfo?.license?.activation?.split('T')[0],
},
},
}}
value={additionalInfo?.license?.termination?.date?.split('T')[0]}
boldLabel={boldLabel}
onChange={event => {
const terminationDate = event.target.value
? new Date(event.target.value)
: undefined;
setAdditionalInfo({
license: {
...additionalInfo?.license,
termination: {
...additionalInfo?.license?.termination,
date: terminationDate?.toISOString(),
notificationDays:
additionalInfo?.license?.termination
?.notificationDays !== undefined
? additionalInfo?.license?.termination
?.notificationDays
: 90,
},
},
});
}}
/>
)}
{additionalInfo?.license?.termination?.date && (
<>
<FormInputField
id="termination.notification-days"
label="Termination Notification Days"
type="number"
value={additionalInfo?.license?.termination?.notificationDays}
boldLabel={boldLabel}
infoIconOverlay={`Specify the number of days before the OncoKB
license termination date when an email notification will be sent
to the OncoKB team. Only one email will be sent.
If the notification days are updated within this period,
the email will be sent during the next daily notification job.`}
onChange={event => {
const value = event?.target?.value;
setAdditionalInfo({
license: {
...additionalInfo?.license,
termination: {
...additionalInfo?.license?.termination,
notificationDays: value
? +value
: ((undefined as unknown) as number),
},
id="termination.date"
label="Termination Date"
type="date"
validate={{
dateRange: {
format: 'YYYY-MM-DD',
start: {
value: additionalInfo?.license?.activation?.split('T')[0],
},
});
end: {
value: new Date(8640000000000000)
.toISOString()
.split('T')[0],
},
},
}}
/>

<FormTextAreaField
id="termination.notes"
label="Termination Notes"
value={additionalInfo?.license?.termination?.notes}
value={
additionalInfo?.license?.termination?.date?.split('T')[0]
}
boldLabel={boldLabel}
onTextAreaChange={e => {
onChange={event => {
const terminationDate = event.target.value
? new Date(event.target.value)
: undefined;
setAdditionalInfo({
license: {
...additionalInfo?.license,
termination: {
...additionalInfo?.license?.termination,
notes: e.target.value,
date: terminationDate?.toISOString(),
notificationDays:
additionalInfo?.license?.termination
?.notificationDays !== undefined
? additionalInfo?.license?.termination
?.notificationDays
: 90,
},
},
});
}}
/>
{additionalInfo?.license?.termination?.date && (
<>
<FormInputField
id="termination.notification-days"
label="Termination Notification Days"
type="number"
value={
additionalInfo?.license?.termination?.notificationDays
}
boldLabel={boldLabel}
infoIconOverlay={`Specify the number of days before the OncoKB
license termination date when an email notification will be sent
to the OncoKB team. Only one email will be sent.
If the notification days are updated within this period,
the email will be sent during the next daily notification job.`}
onChange={event => {
const value = event?.target?.value;
setAdditionalInfo({
license: {
...additionalInfo?.license,
termination: {
...additionalInfo?.license?.termination,
notificationDays: value
? +value
: ((undefined as unknown) as number),
},
},
});
}}
/>

<FormTextAreaField
id="termination.notes"
label="Termination Notes"
value={additionalInfo?.license?.termination?.notes}
boldLabel={boldLabel}
onTextAreaChange={e => {
setAdditionalInfo({
license: {
...additionalInfo?.license,
termination: {
...additionalInfo?.license?.termination,
notes: e.target.value,
},
},
});
}}
/>
</>
)}
</>
)}
</>
Expand Down
10 changes: 10 additions & 0 deletions src/main/webapp/app/pages/companyPage/CompanyPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import {
UserDTO,
UserOverviewUsage,
CompanyAdditionalInfoDTO,
CompanyTermination,
} from 'app/shared/api/generated/API';
import client from 'app/shared/api/clientInstance';
import { action, computed, observable } from 'mobx';
Expand Down Expand Up @@ -211,6 +212,15 @@ export default class CompanyPage extends React.Component<ICompanyPage> {
);
if (this.selectedLicenseStatus === 'TRIAL') {
this.company.additionalInfo = (null as unknown) as CompanyAdditionalInfoDTO;
} else if (this.company.additionalInfo?.license) {
const license = this.company.additionalInfo?.license;
if (!license.activation) {
license.autoRenewal = false;
license.termination = (undefined as unknown) as CompanyTermination;
} else if (license.termination && !license.termination.date) {
license.termination.notes = (undefined as unknown) as string;
license.termination.notificationDays = (undefined as unknown) as number;
}
}
const updatedCompany: CompanyVM = {
...this.company,
Expand Down

0 comments on commit 37c2dd7

Please sign in to comment.