-
Notifications
You must be signed in to change notification settings - Fork 163
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
215d63d
commit 373f4db
Showing
32 changed files
with
911 additions
and
437 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
import * as React from 'react'; | ||
import { Popover } from '@patternfly/react-core'; | ||
import { OutlinedQuestionCircleIcon } from '@patternfly/react-icons'; | ||
import DashboardPopupIconButton from '~/concepts/dashboard/DashboardPopupIconButton'; | ||
|
||
type FieldGroupHelpLabelIconProps = { | ||
content: React.ComponentProps<typeof Popover>['bodyContent']; | ||
}; | ||
|
||
const FieldGroupHelpLabelIcon: React.FC<FieldGroupHelpLabelIconProps> = ({ content }) => ( | ||
<Popover bodyContent={content}> | ||
<DashboardPopupIconButton icon={<OutlinedQuestionCircleIcon />} aria-label="More info" /> | ||
</Popover> | ||
); | ||
|
||
export default FieldGroupHelpLabelIcon; |
13 changes: 5 additions & 8 deletions
13
frontend/src/concepts/k8s/ResourceNameDefinitionTooltip.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,16 @@ | ||
import * as React from 'react'; | ||
import { Popover, Stack, StackItem } from '@patternfly/react-core'; | ||
import { OutlinedQuestionCircleIcon } from '@patternfly/react-icons'; | ||
import DashboardPopupIconButton from '~/concepts/dashboard/DashboardPopupIconButton'; | ||
import { Stack, StackItem } from '@patternfly/react-core'; | ||
import FieldGroupHelpLabelIcon from '~/components/FieldGroupHelpLabelIcon'; | ||
|
||
const ResourceNameDefinitionTooltip: React.FC = () => ( | ||
<Popover | ||
bodyContent={ | ||
<FieldGroupHelpLabelIcon | ||
content={ | ||
<Stack hasGutter> | ||
<StackItem>Resource names are what your resources are labeled in OpenShift.</StackItem> | ||
<StackItem>Resource names are not editable after creation.</StackItem> | ||
</Stack> | ||
} | ||
> | ||
<DashboardPopupIconButton icon={<OutlinedQuestionCircleIcon />} aria-label="More info" /> | ||
</Popover> | ||
/> | ||
); | ||
|
||
export default ResourceNameDefinitionTooltip; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
export const TRUSTYAI_ROUTE_NAME = 'trustyai-service'; | ||
|
||
export const TRUSTYAI_DEFINITION_NAME = 'trustyai-service'; | ||
|
||
export const TRUSTYAI_SECRET_NAME = 'trustyai-db-secret'; | ||
|
||
export const TRUSTYAI_INSTALL_MODAL_TEST_ID = 'trusty-db-config'; |
62 changes: 0 additions & 62 deletions
62
frontend/src/concepts/trustyai/content/InstallTrustyAICheckbox.tsx
This file was deleted.
Oops, something went wrong.
110 changes: 110 additions & 0 deletions
110
frontend/src/concepts/trustyai/content/InstallTrustyModal.tsx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
import * as React from 'react'; | ||
import { Form, Modal, Radio } from '@patternfly/react-core'; | ||
import DashboardModalFooter from '~/concepts/dashboard/DashboardModalFooter'; | ||
import TrustyDBSecretFields from '~/concepts/trustyai/content/TrustyDBSecretFields'; | ||
import useTrustyInstallModalData, { | ||
TrustyInstallModalFormType, | ||
} from '~/concepts/trustyai/content/useTrustyInstallModalData'; | ||
import { UseManageTrustyAICRReturnType } from '~/concepts/trustyai/useManageTrustyAICR'; | ||
import FieldGroupHelpLabelIcon from '~/components/FieldGroupHelpLabelIcon'; | ||
import TrustyDBExistingSecretField from '~/concepts/trustyai/content/TrustyDBExistingSecretField'; | ||
|
||
type InstallTrustyModalProps = { | ||
onClose: () => void; | ||
namespace: string; | ||
onInstallExistingDB: UseManageTrustyAICRReturnType['installCRForExistingDB']; | ||
onInstallNewDB: UseManageTrustyAICRReturnType['installCRForNewDB']; | ||
}; | ||
|
||
const InstallTrustyModal: React.FC<InstallTrustyModalProps> = ({ | ||
onClose, | ||
namespace, | ||
onInstallNewDB, | ||
onInstallExistingDB, | ||
}) => { | ||
const [submitting, setSubmitting] = React.useState(false); | ||
const [installError, setInstallError] = React.useState<Error | undefined>(); | ||
const formData = useTrustyInstallModalData(namespace); | ||
|
||
return ( | ||
<Modal | ||
title="Configure TrustyAI service" | ||
isOpen | ||
variant="medium" | ||
onClose={onClose} | ||
footer={ | ||
<DashboardModalFooter | ||
onCancel={onClose} | ||
onSubmit={() => { | ||
let promise: Promise<void>; | ||
if (formData.type === TrustyInstallModalFormType.EXISTING) { | ||
promise = onInstallExistingDB(formData.data); | ||
} else { | ||
promise = onInstallNewDB(formData.data); | ||
} | ||
setSubmitting(true); | ||
setInstallError(undefined); | ||
promise | ||
.then(() => { | ||
onClose(); | ||
}) | ||
.catch((e) => { | ||
setInstallError(e); | ||
}) | ||
.finally(() => { | ||
setSubmitting(false); | ||
}); | ||
}} | ||
submitLabel="Configure" | ||
isSubmitLoading={submitting} | ||
isSubmitDisabled={!formData.canSubmit || submitting} | ||
error={installError} | ||
alertTitle="Install error" | ||
/> | ||
} | ||
> | ||
<Form | ||
onSubmit={(e) => { | ||
e.preventDefault(); | ||
}} | ||
> | ||
<Radio | ||
id="existing" | ||
label={ | ||
<> | ||
Specify an existing secret{' '} | ||
<FieldGroupHelpLabelIcon content="Provide the name of an existing Kubernetes secret within your project." /> | ||
</> | ||
} | ||
name="secret-value" | ||
isChecked={formData.type === TrustyInstallModalFormType.EXISTING} | ||
onChange={() => formData.onModeChange(TrustyInstallModalFormType.EXISTING)} | ||
body={ | ||
formData.type === TrustyInstallModalFormType.EXISTING && ( | ||
<TrustyDBExistingSecretField formData={formData} /> | ||
) | ||
} | ||
/> | ||
<Radio | ||
id="new" | ||
label={ | ||
<> | ||
Create a new secret{' '} | ||
<FieldGroupHelpLabelIcon content="Consult the product documentation for more information on these fields." /> | ||
</> | ||
} | ||
name="secret-value" | ||
isChecked={formData.type === TrustyInstallModalFormType.NEW} | ||
onChange={() => formData.onModeChange(TrustyInstallModalFormType.NEW)} | ||
body={ | ||
formData.type === TrustyInstallModalFormType.NEW && ( | ||
<TrustyDBSecretFields data={formData.data} onDataChange={formData.onDataChange} /> | ||
) | ||
} | ||
/> | ||
</Form> | ||
</Modal> | ||
); | ||
}; | ||
|
||
export default InstallTrustyModal; |
42 changes: 0 additions & 42 deletions
42
frontend/src/concepts/trustyai/content/TrustyAIServerTimedOutError.tsx
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.