Skip to content

Commit

Permalink
refactor(robot-context): 🎉 update all form handler
Browse files Browse the repository at this point in the history
  • Loading branch information
gokhangunduz committed Feb 8, 2024
1 parent d585309 commit af220ad
Show file tree
Hide file tree
Showing 29 changed files with 246 additions and 320 deletions.
10 changes: 4 additions & 6 deletions src/components/CFAddBuildButton/CFAddBuildButton.tsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,20 @@
import { ReactElement } from "react";
import CreateRobotFormAddButton from "../CreateRobotFormAddButton/CreateRobotFormAddButton";
import { IBuildSteps } from "../../interfaces/robotInterfaces";
import { FormikProps } from "formik/dist/types";
import useCreateRobot from "../../hooks/useCreateRobot";
import { handleAddBuild } from "../../functions/form.build.function";
import { IEnvironmentStep3 } from "../../interfaces/environment/environment.step3.interface";

interface ICFAddBuildButton {
formik?: FormikProps<IBuildSteps>;
formik: FormikProps<IEnvironmentStep3>;
}

export default function CFAddBuildButton({
formik,
}: ICFAddBuildButton): ReactElement {
const { handleAddBuildStep } = useCreateRobot();

return (
<div data-tut="create-robot-step3-build-add-button">
<CreateRobotFormAddButton
onClick={() => handleAddBuildStep(formik)}
onClick={() => handleAddBuild(formik)}
disabled={formik?.isSubmitting}
/>
</div>
Expand Down
11 changes: 5 additions & 6 deletions src/components/CFAddEnvButton/CFAddEnvButton.tsx
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
import { ReactElement } from "react";
import CreateRobotFormAddButton from "../CreateRobotFormAddButton/CreateRobotFormAddButton";
import { ILaunchStep } from "../../interfaces/robotInterfaces";
import { FormikProps } from "formik/dist/types";
import useCreateRobot from "../../hooks/useCreateRobot";
import { handleAddEnv } from "../../functions/form.env.function";
import { IEnvironmentStep4LaunchStep } from "../../interfaces/environment/environment.step4.interface";

interface ICFAddEnvButton {
formik: FormikProps<ILaunchStep>;
formik: FormikProps<IEnvironmentStep4LaunchStep>;
disabled?: boolean;
}

export default function CFAddEnvButton({
formik,
disabled,
}: ICFAddEnvButton): ReactElement {
const { handleAddENVToLaunchStep } = useCreateRobot();

return (
<div data-tut="create-robot-step4-environments-add-button">
<CreateRobotFormAddButton
onClick={() => handleAddENVToLaunchStep(formik)}
// @ts-ignore
onClick={() => handleAddEnv(formik)}
disabled={disabled || formik?.isSubmitting}
/>
</div>
Expand Down
10 changes: 3 additions & 7 deletions src/components/CFAddRepositoryButton/CFAddRepositoryButton.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import React, { ReactElement } from "react";
import { ReactElement } from "react";
import CreateRobotFormAddButton from "../CreateRobotFormAddButton/CreateRobotFormAddButton";
import useCreateRobot from "../../hooks/useCreateRobot";
import { IWorkspaces } from "../../interfaces/robotInterfaces";
import { FormikProps } from "formik/dist/types";
import { handleAddRepository } from "../../functions/form.repository.function";

interface ICFAddRepositoryButton {
formik: FormikProps<IWorkspaces>;
Expand All @@ -15,14 +15,10 @@ export default function CFAddRepositoryButton({
workspaceIndex,
disabled,
}: ICFAddRepositoryButton): ReactElement {
const { handleAddRepositoryToWorkspaceStep } = useCreateRobot();

return (
<div data-tut="create-robot-step2-repository-add-button">
<CreateRobotFormAddButton
onClick={() =>
handleAddRepositoryToWorkspaceStep(formik, workspaceIndex)
}
onClick={() => handleAddRepository(formik, workspaceIndex)}
disabled={formik.isSubmitting || disabled}
/>
</div>
Expand Down
6 changes: 2 additions & 4 deletions src/components/CFAddWorkspaceButton/CFAddWorkspaceButton.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { ReactElement } from "react";
import CreateRobotFormAddButton from "../CreateRobotFormAddButton/CreateRobotFormAddButton";
import useCreateRobot from "../../hooks/useCreateRobot";
import { IWorkspaces } from "../../interfaces/robotInterfaces";
import { FormikProps } from "formik/dist/types";
import { handleAddWorkspace } from "../../functions/form.workspace.function";

interface ICFAddWorkspaceButton {
formik: FormikProps<IWorkspaces>;
Expand All @@ -13,12 +13,10 @@ export default function CFAddWorkspaceButton({
formik,
disabled,
}: ICFAddWorkspaceButton): ReactElement {
const { handleAddWorkspaceStep } = useCreateRobot();

return (
<div data-tut="create-robot-step2-workspace-add-button">
<CreateRobotFormAddButton
onClick={() => handleAddWorkspaceStep(formik)}
onClick={() => handleAddWorkspace(formik)}
disabled={formik.isSubmitting || disabled}
/>
</div>
Expand Down
6 changes: 2 additions & 4 deletions src/components/CFDeleteBuildButton/CFDeleteBuildButton.tsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Fragment, ReactElement } from "react";
import { FormikProps } from "formik/dist/types";
import CreateRobotFormDeleteButton from "../CreateRobotFormDeleteButton/CreateRobotFormDeleteButton";
import useCreateRobot from "../../hooks/useCreateRobot";
import { IEnvironmentStep3 } from "../../interfaces/environment/environment.step3.interface";
import { handleRemoveBuild } from "../../functions/form.build.function";

interface ICFDeleteBuildButton {
formik: FormikProps<IEnvironmentStep3>;
Expand All @@ -13,14 +13,12 @@ export default function CFDeleteBuildButton({
formik,
buildStepIndex,
}: ICFDeleteBuildButton): ReactElement {
const { handleRemoveStepFromBuildStep } = useCreateRobot();

return (
<Fragment>
{formik.values?.steps?.length > 1 && (
<CreateRobotFormDeleteButton
onClick={() => {
handleRemoveStepFromBuildStep(formik, buildStepIndex);
handleRemoveBuild(formik, buildStepIndex);
}}
text={`Delete ${
formik.values.steps?.[buildStepIndex]?.name || "this"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ReactElement } from "react";
import CreateRobotFormDeleteButton from "../CreateRobotFormDeleteButton/CreateRobotFormDeleteButton";
import { FormikProps } from "formik/dist/types";
import { IWorkspaces } from "../../interfaces/robotInterfaces";
import useCreateRobot from "../../hooks/useCreateRobot";
import { handleRemoveRepository } from "../../functions/form.repository.function";

interface ICFDeleteRepositoryButton {
formik: FormikProps<IWorkspaces>;
Expand All @@ -17,8 +17,6 @@ export default function CFDeleteRepositoryButton({
repositoryIndex,
disabled,
}: ICFDeleteRepositoryButton): ReactElement {
const { handleRemoveRepositoryFromWorkspaceStep } = useCreateRobot();

return (
<div
data-tut="create-robot-step2-workspace-repository-delete-button"
Expand All @@ -33,11 +31,7 @@ export default function CFDeleteRepositoryButton({
: true
}
onClick={() => {
handleRemoveRepositoryFromWorkspaceStep(
formik,
workspaceIndex,
repositoryIndex,
);
handleRemoveRepository(formik, workspaceIndex, repositoryIndex);
}}
text={`Delete ${
formik.values?.workspaces?.[workspaceIndex]?.robotRepositories[
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import React, { ReactElement } from "react";
import useCreateRobot from "../../hooks/useCreateRobot";
import { ReactElement } from "react";
import CreateRobotFormDeleteButton from "../CreateRobotFormDeleteButton/CreateRobotFormDeleteButton";
import { IWorkspaces } from "../../interfaces/robotInterfaces";
import { FormikProps } from "formik/dist/types";
import { handleRemoveWorkspace } from "../../functions/form.workspace.function";

interface ICFDeleteWorkspaceButton {
formik: FormikProps<IWorkspaces>;
Expand All @@ -15,8 +15,6 @@ export default function CFDeleteWorkspaceButton({
workspaceIndex,
disabled,
}: ICFDeleteWorkspaceButton): ReactElement {
const { handleRemoveWorkspaceStep } = useCreateRobot();

return (
<div
className="flex items-center"
Expand All @@ -25,7 +23,7 @@ export default function CFDeleteWorkspaceButton({
<CreateRobotFormDeleteButton
disabled={formik.values.workspaces.length > 1 ? false : true}
onClick={() => {
handleRemoveWorkspaceStep(formik, workspaceIndex);
handleRemoveWorkspace(formik, workspaceIndex);
}}
text={`Delete ${
formik.values.workspaces[workspaceIndex]?.name || "this"
Expand Down
4 changes: 2 additions & 2 deletions src/components/CFEnvMapper/CFEnvMapper.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import { Fragment, ReactElement } from "react";
import CFInfoBar from "../CFInfoBar/CFInfoBar";
import CreateRobotFormEnvItem from "../CreateRobotFormEnvItem/CreateRobotFormEnvItem";
import CFAddEnvButton from "../CFAddEnvButton/CFAddEnvButton";
import { ILaunchStep } from "../../interfaces/robotInterfaces";
import { FormikProps } from "formik/dist/types";
import { IEnvironmentStep4LaunchStep } from "../../interfaces/environment/environment.step4.interface";

interface ICFEnvMapper {
formik: FormikProps<ILaunchStep>;
formik: FormikProps<IEnvironmentStep4LaunchStep>;
disabled?: boolean;
}

Expand Down
11 changes: 2 additions & 9 deletions src/components/CFHostDirectories/CFHostDirectories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { FormikProps } from "formik";
import { ReactElement } from "react";
import HostDirectoriesSearchIframe from "../HostDirectoriesSearchIframe/HostDirectoriesSearchIframe";
import { IEnvironmentStep1 } from "../../interfaces/environment/environment.step1.interface";
import { handleAddHostDirectory } from "../../functions/form.directory.host.function";

interface ICFDirectories {
formik: FormikProps<IEnvironmentStep1>;
Expand Down Expand Up @@ -42,15 +43,7 @@ export default function CFDirectories({
</CFInfoBar>

<CreateRobotFormAddButton
onClick={() => {
formik.setFieldValue("directories.hostDirectories", [
...formik.values.directories.hostDirectories,
{
hostDirectory: "",
mountPath: "",
},
]);
}}
onClick={() => handleAddHostDirectory(formik)}
disabled={disabled}
/>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import FormInputText from "../FormInputText/FormInputText";
import useFunctions from "../../hooks/useFunctions";
import useMain from "../../hooks/useMain";
import { IEnvironmentStep1 } from "../../interfaces/environment/environment.step1.interface";
import { handleRemoveHostDirectory } from "../../functions/form.directory.host.function";

interface ICFDirectoriesInputGroup {
formik: FormikProps<IEnvironmentStep1>;
Expand Down Expand Up @@ -94,16 +95,7 @@ export default function CFDirectoriesInputGroup({
<div className="flex items-center justify-center pt-3 text-sm text-light-800">
<CFDellButton
disabled={disabled}
onClick={() => {
const hostDirectories = [
...formik.values.directories.hostDirectories,
];
hostDirectories.splice(index, 1);
formik.setFieldValue(
"directories.hostDirectories",
hostDirectories,
);
}}
onClick={() => handleRemoveHostDirectory(formik, index)}
/>
</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions src/components/CFLaunchCode/CFLaunchCode.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import React, { ReactElement } from "react";
import CFInfoBar from "../CFInfoBar/CFInfoBar";
import { Editor } from "@monaco-editor/react";
import { ILaunchStep } from "../../interfaces/robotInterfaces";
import { FormikProps } from "formik/dist/types";
import { IEnvironmentStep4LaunchStep } from "../../interfaces/environment/environment.step4.interface";

interface ICFLaunchCode {
formik: FormikProps<ILaunchStep>;
formik: FormikProps<IEnvironmentStep4LaunchStep>;
disabled?: boolean;
}

Expand Down
4 changes: 2 additions & 2 deletions src/components/CFLaunchName/CFLaunchName.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { ReactElement } from "react";
import FormInputText from "../FormInputText/FormInputText";
import { ILaunchStep } from "../../interfaces/robotInterfaces";
import { FormikProps } from "formik/dist/types";
import { IEnvironmentStep4LaunchStep } from "../../interfaces/environment/environment.step4.interface";

interface ICFBuildName {
formik: FormikProps<ILaunchStep>;
formik: FormikProps<IEnvironmentStep4LaunchStep>;
disabled?: boolean;
}

Expand Down
4 changes: 2 additions & 2 deletions src/components/CFLaunchScope/CFLaunchScope.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import CreateRobotFormCodeScope from "../CreateRobotFormCodeScope/CreateRobotFormCodeScope";
import { ILaunchStep } from "../../interfaces/robotInterfaces";
import useCreateRobot from "../../hooks/useCreateRobot";
import { FormikProps } from "formik/dist/types";
import useMain from "../../hooks/useMain";
import { ReactElement } from "react";
import { IEnvironmentStep4LaunchStep } from "../../interfaces/environment/environment.step4.interface";

interface ICFLaunchScope {
formik: FormikProps<ILaunchStep>;
formik: FormikProps<IEnvironmentStep4LaunchStep>;
disabled?: boolean;
}

Expand Down
5 changes: 3 additions & 2 deletions src/components/CFLaunchWorkspace/CFLaunchWorkspace.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { Fragment, ReactElement } from "react";
import FormInputSelect from "../FormInputSelect/FormInputSelect";
import { ILaunchStep, IWorkspace } from "../../interfaces/robotInterfaces";
import { IWorkspace } from "../../interfaces/robotInterfaces";
import { FormikProps } from "formik/dist/types";
import useCreateRobot from "../../hooks/useCreateRobot";
import { IEnvironmentStep4LaunchStep } from "../../interfaces/environment/environment.step4.interface";

interface ICFBuildWorkspace {
formik: FormikProps<ILaunchStep>;
formik: FormikProps<IEnvironmentStep4LaunchStep>;
disabled?: boolean;
}

Expand Down
24 changes: 2 additions & 22 deletions src/components/CFPortInput/CFPortInput.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { FormikProps } from "formik/dist/types";
import CFInfoBar from "../CFInfoBar/CFInfoBar";
import { ReactElement } from "react";
import { IEnvironmentStep1 } from "../../interfaces/environment/environment.step1.interface";
import { handleRemovePortForService } from "../../functions/form.port.function";

interface ICFPortInput {
formik: FormikProps<IEnvironmentStep1>;
Expand Down Expand Up @@ -145,28 +146,7 @@ export default function CFPortInput({

<div className="flex items-center justify-center pt-2.5 text-sm text-light-800">
<CFDellButton
onClick={() => {
switch (type) {
case "jupyterNotebook":
formik.setFieldValue(
`services.jupyterNotebook.customPorts`,
// @ts-ignore
formik.values?.services.jupyterNotebook?.customPorts.filter(
(port: any, index: number) => index !== portIndex,
),
);
break;
default:
formik.setFieldValue(
`services.${type}.customPorts`,
// @ts-ignore
formik.values?.services?.[type].customPorts.filter(
(port: any, index: number) => index !== portIndex,
),
);
break;
}
}}
onClick={() => handleRemovePortForService(formik, type, portIndex)}
disabled={disabled}
/>
</div>
Expand Down
Loading

0 comments on commit af220ad

Please sign in to comment.