diff --git a/forms-flow-web/src/components/Form/components/FormSettings.js b/forms-flow-web/src/components/Form/components/FormSettings.js
index 370bc9377..a05b92cf7 100644
--- a/forms-flow-web/src/components/Form/components/FormSettings.js
+++ b/forms-flow-web/src/components/Form/components/FormSettings.js
@@ -9,10 +9,10 @@ import { Form, FormControl, InputGroup } from "react-bootstrap";
import {
CopyIcon,
CustomInfo,
- CustomRadioButton,
FormInput,
FormTextArea,
- MultipleSelect
+ CustomTabs,
+ DropdownMultiSelect
} from "@formsflow/components";
import { MULTITENANCY_ENABLED } from "../../../constants/constants";
@@ -231,11 +231,13 @@ const FormSettings = forwardRef((props, ref) => {
const handleRoleSelectForApplication = (roles) =>
handleRoleStateChange(APPLICATION, "selectedRoles", roles);
- return (
- <>
- {/* Section 1: Basic */}
-
-
{t("Basic")}
+ const [key,setKey] = useState("Basic");
+ const tabs = [
+ {
+ eventKey: "Basic",
+ title: "Basic",
+ content: (
+
{
maxLength={200}
/>
{
onChange={handleFormDetailsChange}
className="field-label"
/>
-
-
-
-
-
-
{t("Permissions")}
-
-
- {t("Who Can View/Edit This Form")}
-
-
+ ),
+ },
+ {
+ eventKey: "Permissions",
+ title: "Permissions",
+ content: (
+
+ {
value: "specifiedRoles",
},
]}
- onChange={
- (value) => {
- handleRoleStateChange(DESIGN, "selectedOption", value);
- }
- }
- dataTestId="who-can-edit-this-form"
- id="who-can-edit-this-form"
- ariaLabel={t("Edit Submission Role")}
- selectedValue={rolesState.DESIGN.selectedOption}
- />
-
- {rolesState.DESIGN.selectedOption === "onlyYou" && (
-
- )}
- {rolesState.DESIGN.selectedOption === "specifiedRoles" && (
-
-
- )}
-
-
- {t("Who Can Create Submissions")}
-
- {
- setIsAnonymous(!isAnonymous);
+ multiSelectedValues={rolesState?.DESIGN?.selectedRoles }
+ multiSelectOptions={userRoles || []}
+ onDropdownChange={(value) => {
+ handleRoleStateChange(DESIGN, "selectedOption", value);
}}
- className="field-label"
+ onMultiSelectionChange={handleRoleSelectForDesign}
+ displayValue={multiSelectOptionKey}
+ ariaLabel="design-permission"
+ dataTestId="design-permission"
+
/>
- {
value:"specifiedRoles"
},
]}
- id="who-can-create-submission"
- dataTestId="create-submission-role"
- ariaLabel={t("Create Submission Role")}
- onChange={
+ multiSelectedValues={rolesState.FORM.selectedRoles }
+ multiSelectOptions={userRoles}
+ onDropdownChange={
(value) => {
handleRoleStateChange(FORM, "selectedOption", value);
}
}
- selectedValue={rolesState.FORM.selectedOption}
+ onMultiSelectionChange={handleRoleSelectForForm}
+ displayValue={multiSelectOptionKey}
+ ariaLabel="form-permission"
+ dataTestId="form-permission"
+
+ />
+ {
+ setIsAnonymous(!isAnonymous);
+ }}
+ className="field-label"
/>
- {rolesState.FORM.selectedOption === "registeredUsers" && (
-
- )}
- {rolesState.FORM.selectedOption === "specifiedRoles" && (
-
-
- )}
-
-
- {t("Who Can View Submissions")}
-
- {
value:"specifiedRoles"
},
]}
- id="who-can-view-submission"
- dataTestId="view-submission-role"
- ariaLabel={t("View Submission Role")}
- onChange={
+ multiSelectedValues={rolesState.APPLICATION.selectedRoles }
+ multiSelectOptions={userRoles}
+ onDropdownChange={
(value) => {
handleRoleStateChange(APPLICATION, "selectedOption", value);
}
}
- selectedValue={rolesState.APPLICATION.selectedOption}
+ onMultiSelectionChange={handleRoleSelectForApplication}
+ displayValue={multiSelectOptionKey}
+ dataTestId="application-permission"
/>
- {rolesState.APPLICATION.selectedOption === "submitter" && (
-
- )}
-
- {rolesState.APPLICATION.selectedOption === "specifiedRoles" && (
-
-
- )}
-
-
-
-
-
{t("Link for this form")}
+
+ ),
+ },
+ {
+ eventKey :"Link",
+ title : "Link",
+ content : (
+
@@ -426,6 +400,7 @@ const FormSettings = forwardRef((props, ref) => {
{
{errors.path && {errors.path}
}
-
- >
+
+ )
+ }
+ ];
+ return (
+
+
+
);
});
diff --git a/forms-flow-web/src/components/Modals/SettingsModal.js b/forms-flow-web/src/components/Modals/SettingsModal.js
index ecbd4b157..ca7bc195b 100644
--- a/forms-flow-web/src/components/Modals/SettingsModal.js
+++ b/forms-flow-web/src/components/Modals/SettingsModal.js
@@ -39,6 +39,7 @@ const SettingsModal = ({ show, handleClose, handleConfirm, isSaving = false }) =
onHide={handleClose}
size="sm"
backdrop="static"
+ centered
>
{t("Settings")}