Organization_Management : Organization Hierarchy #443
@ -171,8 +171,8 @@ const AssignOrg = ({ setStep }) => {
|
|||||||
{flowType !== "default" && (
|
{flowType !== "default" && (
|
||||||
<>
|
<>
|
||||||
{/* Organization Type */}
|
{/* Organization Type */}
|
||||||
<div className="mb-1 text-start">
|
<div className="mb-3 text-start">
|
||||||
<Label htmlFor="organizationTypeId" required>
|
<Label htmlFor="organizationTypeId" className="mb-3 fw-semibold" required>
|
||||||
Organization Type
|
Organization Type
|
||||||
</Label>
|
</Label>
|
||||||
<div className="d-flex flex-wrap gap-3 mt-1">
|
<div className="d-flex flex-wrap gap-3 mt-1">
|
||||||
@ -206,11 +206,11 @@ const AssignOrg = ({ setStep }) => {
|
|||||||
|
|
||||||
{/* Services */}
|
{/* Services */}
|
||||||
<div className="mb-3">
|
<div className="mb-3">
|
||||||
<Label htmlFor="serviceIds" required>
|
<Label htmlFor="serviceIds" className="mb-3 fw-semibold" required>
|
||||||
Select Services
|
Select Services
|
||||||
</Label>
|
</Label>
|
||||||
{mergedServices?.map((service) => (
|
{mergedServices?.map((service) => (
|
||||||
<div key={service.id} className="form-check">
|
<div key={service.id} className="form-check mb-3">
|
||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
value={service.id}
|
value={service.id}
|
||||||
@ -230,7 +230,7 @@ const AssignOrg = ({ setStep }) => {
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Buttons: Always visible */}
|
{/* Buttons: Always visible */}
|
||||||
<div className="d-flex justify-content-between mt-3">
|
<div className="d-flex justify-content-between mt-5">
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className="btn btn-xs btn-outline-secondary"
|
className="btn btn-xs btn-outline-secondary"
|
||||||
@ -247,8 +247,8 @@ const AssignOrg = ({ setStep }) => {
|
|||||||
{isPending
|
{isPending
|
||||||
? "Please wait..."
|
? "Please wait..."
|
||||||
: flowType === "default"
|
: flowType === "default"
|
||||||
? "Assign Organization"
|
? "Assign Organization"
|
||||||
: "Add"}
|
: "Add"}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -146,6 +146,7 @@ const ManagOrg = () => {
|
|||||||
required
|
required
|
||||||
valueKey="id"
|
valueKey="id"
|
||||||
options={service?.data || []}
|
options={service?.data || []}
|
||||||
|
required = {true}
|
||||||
/>
|
/>
|
||||||
{errors.serviceIds && (
|
{errors.serviceIds && (
|
||||||
<span className="danger-text">{errors.serviceIds.message}</span>
|
<span className="danger-text">{errors.serviceIds.message}</span>
|
||||||
|
@ -27,9 +27,9 @@ const Modal = ({
|
|||||||
className={`modal-dialog modal-${size} modal-dialog-${position}`}
|
className={`modal-dialog modal-${size} modal-dialog-${position}`}
|
||||||
role="document"
|
role="document"
|
||||||
>
|
>
|
||||||
<div className="modal-content text-white shadow-lg">
|
<div className="modal-content text-white shadow-lg">
|
||||||
{/* Header */}
|
{/* Header */}
|
||||||
<div className="modal-header pb-2 border-0">
|
<div className="modal-header justify-content-center pb-2 border-0">
|
||||||
<h5 className="modal-title">{title}</h5>
|
<h5 className="modal-title">{title}</h5>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
@ -12,6 +12,7 @@ const SelectMultiple = ({
|
|||||||
valueKey = "id",
|
valueKey = "id",
|
||||||
placeholder = "Please select...",
|
placeholder = "Please select...",
|
||||||
IsLoading = false,
|
IsLoading = false,
|
||||||
|
required = false
|
||||||
}) => {
|
}) => {
|
||||||
const { setValue, watch } = useFormContext();
|
const { setValue, watch } = useFormContext();
|
||||||
const selectedValues = watch(name) || [];
|
const selectedValues = watch(name) || [];
|
||||||
@ -146,7 +147,8 @@ const SelectMultiple = ({
|
|||||||
className="multi-select-dropdown-container"
|
className="multi-select-dropdown-container"
|
||||||
style={{ position: "relative" }}
|
style={{ position: "relative" }}
|
||||||
>
|
>
|
||||||
<label>{label}</label>
|
<Label required={required}>{label}</Label>
|
||||||
|
|
||||||
|
|
||||||
<div
|
<div
|
||||||
className="multi-select-dropdown-header"
|
className="multi-select-dropdown-header"
|
||||||
|
@ -174,27 +174,25 @@ const AttendancePage = () => {
|
|||||||
{/* Search + Organization filter */}
|
{/* Search + Organization filter */}
|
||||||
<div className="col-12 col-md-auto mt-2 mt-md-0 ms-md-auto d-flex gap-2 align-items-center">
|
<div className="col-12 col-md-auto mt-2 mt-md-0 ms-md-auto d-flex gap-2 align-items-center">
|
||||||
{/* Organization Dropdown */}
|
{/* Organization Dropdown */}
|
||||||
{organizations?.length > 1 && (
|
<select
|
||||||
<select
|
className="form-select form-select-sm"
|
||||||
className="form-select form-select-sm"
|
style={{ minWidth: "180px" }}
|
||||||
style={{ minWidth: "180px" }}
|
value={appliedFilters.selectedOrganization}
|
||||||
value={appliedFilters.selectedOrganization}
|
onChange={(e) =>
|
||||||
onChange={(e) =>
|
setAppliedFilters((prev) => ({
|
||||||
setAppliedFilters((prev) => ({
|
...prev,
|
||||||
...prev,
|
selectedOrganization: e.target.value,
|
||||||
selectedOrganization: e.target.value,
|
}))
|
||||||
}))
|
}
|
||||||
}
|
disabled={orgLoading}
|
||||||
disabled={orgLoading}
|
>
|
||||||
>
|
<option value="">All Organizations</option>
|
||||||
<option value="">All Organizations</option>
|
{organizations?.map((org) => (
|
||||||
{organizations?.map((org) => (
|
<option key={org.id} value={org.id}>
|
||||||
<option key={org.id} value={org.id}>
|
{org.name}
|
||||||
{org.name}
|
</option>
|
||||||
</option>
|
))}
|
||||||
))}
|
</select>
|
||||||
</select>
|
|
||||||
)}
|
|
||||||
|
|
||||||
{/* Search Input */}
|
{/* Search Input */}
|
||||||
<input
|
<input
|
||||||
@ -207,6 +205,7 @@ const AttendancePage = () => {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user