admin apis and fixes
This commit is contained in:
parent
e3c93c2330
commit
4675311fce
|
|
@ -15,6 +15,7 @@ const DataTable: React.FC<DataTableProps> = ({
|
||||||
...props
|
...props
|
||||||
}) => {
|
}) => {
|
||||||
const data: any[] = response?.data?.data || [];
|
const data: any[] = response?.data?.data || [];
|
||||||
|
|
||||||
const columns = useColumns();
|
const columns = useColumns();
|
||||||
const { pagination, handlePageChange } = usePagination(response?.data);
|
const { pagination, handlePageChange } = usePagination(response?.data);
|
||||||
const [t] = useTranslation();
|
const [t] = useTranslation();
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,8 @@
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import useSetPageTitle from "../../../../Hooks/useSetPageTitle";
|
|
||||||
import PageHeader from "../../../../Layout/Dashboard/PageHeader";
|
import PageHeader from "../../../../Layout/Dashboard/PageHeader";
|
||||||
import { Suspense } from "react";
|
import { Suspense, useEffect } from "react";
|
||||||
import { Spin } from "antd";
|
import { Spin } from "antd";
|
||||||
import { ModalEnum } from "../../../../enums/Model";
|
import { ModalEnum } from "../../../../enums/Model";
|
||||||
import { canAddReSeller } from "../../../../utils/hasAbilityFn";
|
|
||||||
import PersonalDetailsForm from "../Form/PersonalDetailsForm";
|
import PersonalDetailsForm from "../Form/PersonalDetailsForm";
|
||||||
import { Formik, Form } from "formik";
|
import { Formik, Form } from "formik";
|
||||||
import { getInitialValues, getValidationSchema } from "../Form/formUtils";
|
import { getInitialValues, getValidationSchema } from "../Form/formUtils";
|
||||||
|
|
@ -12,15 +10,27 @@ import TitleDetailsForm from "../Form/TitleDetailsForm";
|
||||||
import AttachmentForm from "../Form/AttachmentForm";
|
import AttachmentForm from "../Form/AttachmentForm";
|
||||||
import { useAddManager } from "../../../../api/manager";
|
import { useAddManager } from "../../../../api/manager";
|
||||||
import { QueryStatusEnum } from "../../../../enums/QueryStatus";
|
import { QueryStatusEnum } from "../../../../enums/QueryStatus";
|
||||||
|
import { useNavigate } from "react-router-dom";
|
||||||
|
|
||||||
const TableHeader = () => {
|
const TableHeader = () => {
|
||||||
const [t] = useTranslation();
|
const [t] = useTranslation();
|
||||||
useSetPageTitle(t(`page_header.add_reseller`));
|
const Navigate = useNavigate();
|
||||||
const {mutate,status } = useAddManager();
|
const {mutate,status } = useAddManager();
|
||||||
const handelSubmit = (values: any) => {
|
const handelSubmit = (values: any) => {
|
||||||
console.log(values, "values");
|
console.log(values, "values");
|
||||||
mutate({...values});
|
mutate({...values});
|
||||||
};
|
};
|
||||||
|
const handleCancel = () => {
|
||||||
|
Navigate(-1);
|
||||||
|
};
|
||||||
|
console.log(status);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if(status === QueryStatusEnum.SUCCESS){
|
||||||
|
handleCancel();
|
||||||
|
}
|
||||||
|
}, [status])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="TableWithHeader">
|
<div className="TableWithHeader">
|
||||||
<Suspense fallback={<Spin />}>
|
<Suspense fallback={<Spin />}>
|
||||||
|
|
@ -40,7 +50,7 @@ const TableHeader = () => {
|
||||||
<TitleDetailsForm />
|
<TitleDetailsForm />
|
||||||
<AttachmentForm />
|
<AttachmentForm />
|
||||||
<div className="resellerButton">
|
<div className="resellerButton">
|
||||||
<button type="button">{t("practical.cancel")}</button>
|
<button type="button" onClick={handleCancel}>{t("practical.cancel")}</button>
|
||||||
<button type="submit">
|
<button type="submit">
|
||||||
{t("practical.add")} {t("models.reseller")}
|
{t("practical.add")} {t("models.reseller")}
|
||||||
{status === QueryStatusEnum.LOADING && (
|
{status === QueryStatusEnum.LOADING && (
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,36 @@
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import useSetPageTitle from "../../../../Hooks/useSetPageTitle";
|
|
||||||
import PageHeader from "../../../../Layout/Dashboard/PageHeader";
|
import PageHeader from "../../../../Layout/Dashboard/PageHeader";
|
||||||
import { Suspense } from "react";
|
import { Suspense, useEffect } from "react";
|
||||||
import { Spin } from "antd";
|
import { Spin } from "antd";
|
||||||
import { ModalEnum } from "../../../../enums/Model";
|
import { ModalEnum } from "../../../../enums/Model";
|
||||||
import { canAddReSeller } from "../../../../utils/hasAbilityFn";
|
|
||||||
import PersonalDetailsForm from "../Form/PersonalDetailsForm";
|
import PersonalDetailsForm from "../Form/PersonalDetailsForm";
|
||||||
import { Formik, Form } from "formik";
|
import { Formik, Form } from "formik";
|
||||||
import { getInitialValues, getValidationSchema } from "../Form/formUtils";
|
import { getInitialValues, getValidationSchema } from "../Form/formUtils";
|
||||||
import TitleDetailsForm from "../Form/TitleDetailsForm";
|
import TitleDetailsForm from "../Form/TitleDetailsForm";
|
||||||
import AttachmentForm from "../Form/AttachmentForm";
|
import AttachmentForm from "../Form/AttachmentForm";
|
||||||
import PasswordDetailsForm from "../Form/PasswordDetailsForm";
|
import PasswordDetailsForm from "../Form/PasswordDetailsForm";
|
||||||
|
import { useObjectToEdit } from "../../../../zustand/ObjectToEditState";
|
||||||
|
import { useNavigate } from "react-router-dom";
|
||||||
|
import { useUpdateManager } from "../../../../api/manager";
|
||||||
|
import { QueryStatusEnum } from "../../../../enums/QueryStatus";
|
||||||
|
|
||||||
const TableHeader = () => {
|
const TableHeader = () => {
|
||||||
const [t] = useTranslation();
|
const [t] = useTranslation();
|
||||||
useSetPageTitle(t(`page_header.add_reseller`));
|
const {objectToEdit} = useObjectToEdit();
|
||||||
|
const Navigate = useNavigate();
|
||||||
|
const {mutate,status } = useUpdateManager();
|
||||||
const handelSubmit = (values: any) => {
|
const handelSubmit = (values: any) => {
|
||||||
console.log(values, "values");
|
mutate({...values});
|
||||||
};
|
};
|
||||||
|
const handleCancel = () => {
|
||||||
|
Navigate(-1);
|
||||||
|
};
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if(status === QueryStatusEnum.SUCCESS){
|
||||||
|
handleCancel();
|
||||||
|
}
|
||||||
|
}, [status])
|
||||||
return (
|
return (
|
||||||
<div className="TableWithHeader">
|
<div className="TableWithHeader">
|
||||||
<Suspense fallback={<Spin />}>
|
<Suspense fallback={<Spin />}>
|
||||||
|
|
@ -28,19 +41,24 @@ const TableHeader = () => {
|
||||||
/>
|
/>
|
||||||
<div>
|
<div>
|
||||||
<Formik
|
<Formik
|
||||||
initialValues={getInitialValues({})}
|
initialValues={getInitialValues(objectToEdit)}
|
||||||
validationSchema={getValidationSchema}
|
validationSchema={getValidationSchema}
|
||||||
onSubmit={handelSubmit}
|
onSubmit={handelSubmit}
|
||||||
>
|
>
|
||||||
<Form className="Form_details_container">
|
<Form className="Form_details_container">
|
||||||
<PersonalDetailsForm />
|
<PersonalDetailsForm isEdit={true}/>
|
||||||
<TitleDetailsForm />
|
<TitleDetailsForm />
|
||||||
<PasswordDetailsForm/>
|
<PasswordDetailsForm/>
|
||||||
<AttachmentForm />
|
<AttachmentForm />
|
||||||
<div className="resellerButton">
|
<div className="resellerButton">
|
||||||
<button type="button">{t("practical.cancel")}</button>
|
<button type="button" onClick={handleCancel}>{t("practical.cancel")}</button>
|
||||||
<button type="submit">
|
<button type="submit">
|
||||||
{t("practical.save_changes")}
|
{t("practical.add")} {t("models.reseller")}
|
||||||
|
{status === QueryStatusEnum.LOADING && (
|
||||||
|
<span className="Spinier_Div">
|
||||||
|
<Spin />
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</Form>
|
</Form>
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@ import { userTypeOptions } from "../../../../config/userTypeOptions";
|
||||||
import { statusType } from "../../../../config/statusType";
|
import { statusType } from "../../../../config/statusType";
|
||||||
import { useGetRole } from "../../../../api/role";
|
import { useGetRole } from "../../../../api/role";
|
||||||
|
|
||||||
const PersonalDetailsForm = () => {
|
const PersonalDetailsForm = ({isEdit= false}:{isEdit?:boolean}) => {
|
||||||
const [t] = useTranslation();
|
const [t] = useTranslation();
|
||||||
const {data} = useGetRole();
|
const {data} = useGetRole();
|
||||||
const RoleData = data?.data
|
const RoleData = data?.data
|
||||||
console.log(RoleData);
|
|
||||||
const sex = [
|
const sex = [
|
||||||
{ name: "male", id: "male" },
|
{ name: "male", id: "male" },
|
||||||
{ name: "female", id: "female" },
|
{ name: "female", id: "female" },
|
||||||
|
|
@ -24,56 +24,28 @@ const PersonalDetailsForm = () => {
|
||||||
</header>
|
</header>
|
||||||
<main className="main_form_body">
|
<main className="main_form_body">
|
||||||
<ValidationField
|
<ValidationField
|
||||||
name={"first_name"}
|
name={"username"}
|
||||||
placeholder={"_"}
|
placeholder={"_"}
|
||||||
label={"first_name"}
|
label={"username"}
|
||||||
/>
|
/>
|
||||||
<ValidationField
|
<ValidationField
|
||||||
name={"last_name"}
|
name={"name"}
|
||||||
placeholder={"_"}
|
placeholder={"_"}
|
||||||
// type="Date"
|
label={"name"}
|
||||||
label={"last_name"}
|
|
||||||
/>
|
/>
|
||||||
<ValidationField
|
<ValidationField
|
||||||
name={"status"}
|
name={"contact_number"}
|
||||||
placeholder={"_"}
|
placeholder={"_"}
|
||||||
label={"Status"}
|
label={"contact_number"}
|
||||||
type="Select"
|
type="number"
|
||||||
option={statusType}
|
|
||||||
/>
|
/>
|
||||||
|
{!isEdit && (
|
||||||
<ValidationField
|
<ValidationField
|
||||||
name={"sex"}
|
name={"password"}
|
||||||
placeholder={"_"}
|
placeholder={"_"}
|
||||||
label={"sex"}
|
label={"password"}
|
||||||
type="Select"
|
|
||||||
option={sex}
|
|
||||||
/>
|
|
||||||
<ValidationField
|
|
||||||
name={"phone_number"}
|
|
||||||
placeholder={"_"}
|
|
||||||
label={"Phone Number"}
|
|
||||||
type="text"
|
|
||||||
/>
|
|
||||||
<ValidationField
|
|
||||||
name={"email_address"}
|
|
||||||
placeholder={"_"}
|
|
||||||
label={"email_address"}
|
|
||||||
type="email"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<ValidationField
|
|
||||||
name={"birthday"}
|
|
||||||
placeholder={"_"}
|
|
||||||
label={"birthday"}
|
|
||||||
type="Date"
|
|
||||||
/>
|
|
||||||
<ValidationField
|
|
||||||
name={"join_date"}
|
|
||||||
placeholder={"_"}
|
|
||||||
label={"join_date"}
|
|
||||||
type="Date"
|
|
||||||
/>
|
/>
|
||||||
|
)}
|
||||||
<ValidationField
|
<ValidationField
|
||||||
name={"role"}
|
name={"role"}
|
||||||
placeholder={"_"}
|
placeholder={"_"}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,25 @@
|
||||||
import * as Yup from "yup";
|
import * as Yup from "yup";
|
||||||
|
|
||||||
export const getInitialValues = (objectToEdit: Partial<any>) => {
|
export const getInitialValues = (objectToEdit: Partial<any>) => {
|
||||||
|
console.log(objectToEdit);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
id: objectToEdit?.id ?? null,
|
id: objectToEdit?.id ?? null,
|
||||||
name: objectToEdit?.name ?? null,
|
name: objectToEdit?.name ?? null,
|
||||||
|
username: objectToEdit?.user?.username ?? null,
|
||||||
|
contact_number: objectToEdit?.contact_number ?? null,
|
||||||
|
role_id: objectToEdit?.role_id ?? null,
|
||||||
|
password: objectToEdit?.password ?? null,
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getValidationSchema = () => {
|
export const getValidationSchema = () => {
|
||||||
// validate input
|
// validate input
|
||||||
return Yup.object().shape({});
|
return Yup.object().shape({
|
||||||
|
// name: Yup.string().required("validation.required"),
|
||||||
|
// username: Yup.string().required("validation.required"),
|
||||||
|
// contact_number: Yup.mixed().required("validation.required"),
|
||||||
|
// role_id: Yup.mixed().required("validation.required"),
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,6 @@ import FilterForm from "./Model/FilterForm";
|
||||||
import { useDeleteManager } from "../../../api/manager";
|
import { useDeleteManager } from "../../../api/manager";
|
||||||
|
|
||||||
const Table = lazy(() => import("./Table"));
|
const Table = lazy(() => import("./Table"));
|
||||||
const AddModalForm = lazy(() => import("./Model/AddModel"));
|
|
||||||
const EditModalForm = lazy(() => import("./Model/EditModel"));
|
|
||||||
const DeleteModalForm = lazy(
|
const DeleteModalForm = lazy(
|
||||||
() => import("../../../Layout/Dashboard/DeleteModels"),
|
() => import("../../../Layout/Dashboard/DeleteModels"),
|
||||||
);
|
);
|
||||||
|
|
@ -40,8 +38,6 @@ const TableHeader = () => {
|
||||||
filterTitle="table.managers_list"
|
filterTitle="table.managers_list"
|
||||||
/>
|
/>
|
||||||
<Table />
|
<Table />
|
||||||
<AddModalForm />
|
|
||||||
<EditModalForm />
|
|
||||||
<DeleteModalForm
|
<DeleteModalForm
|
||||||
deleteMutation={deleteMutation}
|
deleteMutation={deleteMutation}
|
||||||
ModelEnum={ModalEnum?.MANAGER_DELETE}
|
ModelEnum={ModalEnum?.MANAGER_DELETE}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ const App: React.FC = () => {
|
||||||
...filterState,
|
...filterState,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
return <DataTable response={response} useColumns={useColumns} />;
|
return <DataTable response={response} useColumns={useColumns} />;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ import {
|
||||||
} from "../../../utils/hasAbilityFn";
|
} from "../../../utils/hasAbilityFn";
|
||||||
import ActionButtons from "../../../Components/Table/ActionButtons";
|
import ActionButtons from "../../../Components/Table/ActionButtons";
|
||||||
import { Manager } from "../../../types/Manager";
|
import { Manager } from "../../../types/Manager";
|
||||||
|
import { ABILITIES_ENUM } from "../../../enums/abilities";
|
||||||
|
|
||||||
export const useColumns = () => {
|
export const useColumns = () => {
|
||||||
const { handel_open_model } = useModalHandler();
|
const { handel_open_model } = useModalHandler();
|
||||||
|
|
@ -23,7 +24,7 @@ export const useColumns = () => {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
const handelShow = (record: Manager) => {
|
const handelShow = (record: Manager) => {
|
||||||
navigate(`${record?.user_id}`);
|
navigate(`${record?.id}`);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handelDelete = (data: Manager) => {
|
const handelDelete = (data: Manager) => {
|
||||||
|
|
@ -31,9 +32,10 @@ export const useColumns = () => {
|
||||||
handel_open_model(ModalEnum?.MANAGER_DELETE);
|
handel_open_model(ModalEnum?.MANAGER_DELETE);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleEdit = (record: Student) => {
|
const handleEdit = (record: Manager) => {
|
||||||
setObjectToEdit(record);
|
setObjectToEdit(record);
|
||||||
handel_open_model(ModalEnum?.MANAGER_EDIT);
|
navigate(`/${ABILITIES_ENUM?.MANAGERS}/${record?.id}/edit`)
|
||||||
|
|
||||||
};
|
};
|
||||||
const [t] = useTranslation();
|
const [t] = useTranslation();
|
||||||
|
|
||||||
|
|
@ -43,28 +45,28 @@ export const useColumns = () => {
|
||||||
dataIndex: "id",
|
dataIndex: "id",
|
||||||
key: "id",
|
key: "id",
|
||||||
align: "center",
|
align: "center",
|
||||||
render: (_text, record) => record?.user_id,
|
render: (_text, record) => record?.id,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `${t("columns.first_name")}`,
|
title: `${t("columns.name")}`,
|
||||||
dataIndex: "first_name",
|
dataIndex: "name",
|
||||||
key: "first_name",
|
key: "name",
|
||||||
align: "center",
|
align: "center",
|
||||||
render: (_text, record) => record?.first_name,
|
render: (_text, record) => record?.name,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `${t("columns.last_name")}`,
|
title: `${t("columns.username")}`,
|
||||||
dataIndex: "last_name",
|
dataIndex: "username",
|
||||||
key: "last_name",
|
key: "username",
|
||||||
align: "center",
|
align: "center",
|
||||||
render: (_text, record) => record?.last_name,
|
render: (_text, record) => record?.user.username ,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: `${t("columns.sex")}`,
|
title: `${t("columns.phone_number")}`,
|
||||||
dataIndex: "sex",
|
dataIndex: "contact_number",
|
||||||
key: "sex",
|
key: "contact_number",
|
||||||
align: "center",
|
align: "center",
|
||||||
render: (_text, record) => record?.sex,
|
render: (_text, record) => record?.contact_number,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
@ -77,7 +79,7 @@ export const useColumns = () => {
|
||||||
<ActionButtons
|
<ActionButtons
|
||||||
canDelete={canDeleteManager}
|
canDelete={canDeleteManager}
|
||||||
canEdit={canEditManager}
|
canEdit={canEditManager}
|
||||||
canShow={canShowManager}
|
// canShow={canShowManager}
|
||||||
index={index}
|
index={index}
|
||||||
onDelete={() => handelDelete(record)}
|
onDelete={() => handelDelete(record)}
|
||||||
onEdit={() => handleEdit(record)}
|
onEdit={() => handleEdit(record)}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
export const formatAbilityData = (Data: any[]) => {
|
export const formatAbilityData = (Data: any[]) => {
|
||||||
const newArray: Array<{ name: any; [key: string]: boolean }> = [];
|
const newArray: Array<{ name: any; [key: string]: boolean }> = [];
|
||||||
console.log(Data, "Data");
|
|
||||||
for (let i = 0; i < Data.length; i++) {
|
for (let i = 0; i < Data.length; i++) {
|
||||||
const currentObject = Data?.[i];
|
const currentObject = Data?.[i];
|
||||||
console.log(currentObject);
|
|
||||||
const newObjectShape = {
|
const newObjectShape = {
|
||||||
name: currentObject?.name,
|
name: currentObject?.name,
|
||||||
delete: typeof currentObject?.delete === "boolean" ? false : "disabled",
|
delete: typeof currentObject?.delete === "boolean" ? false : "disabled",
|
||||||
|
|
@ -12,7 +11,6 @@ export const formatAbilityData = (Data: any[]) => {
|
||||||
store: typeof currentObject?.store === "boolean" ? false : "disabled",
|
store: typeof currentObject?.store === "boolean" ? false : "disabled",
|
||||||
update: typeof currentObject?.update === "boolean" ? false : "disabled",
|
update: typeof currentObject?.update === "boolean" ? false : "disabled",
|
||||||
} as any;
|
} as any;
|
||||||
console.log(newObjectShape);
|
|
||||||
|
|
||||||
newArray.push(newObjectShape);
|
newArray.push(newObjectShape);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ export const transformPermissions = (Data: string[]) => {
|
||||||
for (let i = 0; i < Data.length; i++) {
|
for (let i = 0; i < Data.length; i++) {
|
||||||
const [permission, value] = Data[i].split("::");
|
const [permission, value] = Data[i].split("::");
|
||||||
const existingIndex = hashMap.get(permission);
|
const existingIndex = hashMap.get(permission);
|
||||||
|
// console.log(hashMap);
|
||||||
|
|
||||||
if (existingIndex !== undefined) {
|
if (existingIndex !== undefined) {
|
||||||
if (value) {
|
if (value) {
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ import { lazy, Suspense } from "react";
|
||||||
import { Spin } from "antd";
|
import { Spin } from "antd";
|
||||||
import useSetPageTitle from "../../../../Hooks/useSetPageTitle";
|
import useSetPageTitle from "../../../../Hooks/useSetPageTitle";
|
||||||
import PageHeader from "../../../../Layout/Dashboard/PageHeader";
|
import PageHeader from "../../../../Layout/Dashboard/PageHeader";
|
||||||
import FilterLayout from "../../../../Layout/Dashboard/FilterLayout";
|
|
||||||
const Table = lazy(() => import("./Table"));
|
const Table = lazy(() => import("./Table"));
|
||||||
|
|
||||||
const TableHeader = () => {
|
const TableHeader = () => {
|
||||||
|
|
@ -22,12 +21,6 @@ const TableHeader = () => {
|
||||||
pageTitle="role"
|
pageTitle="role"
|
||||||
addModal={false}
|
addModal={false}
|
||||||
/>
|
/>
|
||||||
{/* <FilterLayout
|
|
||||||
sub_children={""}
|
|
||||||
filterTitle="page_header.permissions"
|
|
||||||
haveFilter={false}
|
|
||||||
/> */}
|
|
||||||
|
|
||||||
<Table />
|
<Table />
|
||||||
</Suspense>
|
</Suspense>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,7 @@ const App: React.FC = () => {
|
||||||
});
|
});
|
||||||
const { data, isLoading } = useGetAllAbility();
|
const { data, isLoading } = useGetAllAbility();
|
||||||
const AllAbilityData = data?.data ?? [];
|
const AllAbilityData = data?.data ?? [];
|
||||||
|
|
||||||
const currentData = response?.data?.data?.abilities ?? [];
|
const currentData = response?.data?.data?.abilities ?? [];
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,12 @@ import { useFormikContext } from "formik";
|
||||||
export const useColumns = () => {
|
export const useColumns = () => {
|
||||||
const [t] = useTranslation();
|
const [t] = useTranslation();
|
||||||
const {values,setValues} = useFormikContext<any>()
|
const {values,setValues} = useFormikContext<any>()
|
||||||
|
console.log(values);
|
||||||
|
|
||||||
const onChange = (type:any,index:any) => {
|
const onChange = (type:any,index:any) => {
|
||||||
const cloneValue = JSON.parse(JSON.stringify(values))
|
const cloneValue = JSON.parse(JSON.stringify(values))
|
||||||
|
console.log(cloneValue);
|
||||||
|
|
||||||
if (!cloneValue[index]) {
|
if (!cloneValue[index]) {
|
||||||
cloneValue[index] = {};
|
cloneValue[index] = {};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -375,7 +375,7 @@ export const CrudRoute: TCrudRoute[] = [
|
||||||
{
|
{
|
||||||
header: "page_header.edit_manager",
|
header: "page_header.edit_manager",
|
||||||
element: <EditManager />,
|
element: <EditManager />,
|
||||||
path: `/${ABILITIES_ENUM?.MANAGERS}/edit`,
|
path: `/${ABILITIES_ENUM?.MANAGERS}/:${ParamsEnum?.Manager_ID}/edit`,
|
||||||
abilities: ABILITIES_ENUM?.MANAGERS,
|
abilities: ABILITIES_ENUM?.MANAGERS,
|
||||||
abilities_value: ABILITIES_VALUES_ENUM.INDEX,
|
abilities_value: ABILITIES_VALUES_ENUM.INDEX,
|
||||||
prevPath: 0,
|
prevPath: 0,
|
||||||
|
|
|
||||||
|
|
@ -4,15 +4,13 @@ import useGetQuery from "./helper/useGetQuery";
|
||||||
import useUpdateMutation from "./helper/useUpdateMutation";
|
import useUpdateMutation from "./helper/useUpdateMutation";
|
||||||
|
|
||||||
const API = {
|
const API = {
|
||||||
GET: "/manager",
|
GET: "/admin",
|
||||||
ADD: "/manager",
|
ADD: "/admin",
|
||||||
DELETE: "/manager",
|
DELETE: "/admin",
|
||||||
UPDATE: "/manager",
|
UPDATE: "/admin",
|
||||||
MOVE: "/manager/moveManagers",
|
|
||||||
IMPORT: "/manager/importManagers",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const KEY = "manager";
|
const KEY = "ADMIN";
|
||||||
|
|
||||||
export const useGetAllManager = (params?: any, options?: any) =>
|
export const useGetAllManager = (params?: any, options?: any) =>
|
||||||
useGetQuery(KEY, API.GET, params);
|
useGetQuery(KEY, API.GET, params);
|
||||||
|
|
@ -26,6 +24,3 @@ export const useUpdateManager = (params?: any) =>
|
||||||
|
|
||||||
export const useDeleteManager = (params?: any) =>
|
export const useDeleteManager = (params?: any) =>
|
||||||
useDeleteMutation(KEY, API.DELETE);
|
useDeleteMutation(KEY, API.DELETE);
|
||||||
|
|
||||||
export const useMoveManager = () => useAddMutation(KEY, API.MOVE);
|
|
||||||
export const useImportManager = () => useAddMutation(KEY, API.IMPORT);
|
|
||||||
|
|
|
||||||
|
|
@ -14,5 +14,8 @@ export enum ParamsEnum {
|
||||||
RE_SELLER_ID = "re_seller_id",
|
RE_SELLER_ID = "re_seller_id",
|
||||||
ROLE_ID = "role_id",
|
ROLE_ID = "role_id",
|
||||||
CITY_ID = "city_id",
|
CITY_ID = "city_id",
|
||||||
Collection_ID = "collection_id"
|
Collection_ID = "collection_id",
|
||||||
|
Manager_ID = "manager_id",
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -563,7 +563,8 @@
|
||||||
"reseller":"البائعين",
|
"reseller":"البائعين",
|
||||||
"activation_date":"تاريخ التنشيط",
|
"activation_date":"تاريخ التنشيط",
|
||||||
"expiration_date":"تاريخ الالغاء",
|
"expiration_date":"تاريخ الالغاء",
|
||||||
"package":"حزمة"
|
"package":"حزمة",
|
||||||
|
"contact_number":"رقم الهاتف"
|
||||||
},
|
},
|
||||||
"select": {
|
"select": {
|
||||||
"enums": {
|
"enums": {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { DateType } from "./App";
|
import { DateType } from "./App";
|
||||||
|
|
||||||
export interface Manager {
|
export interface Manager {
|
||||||
first_name: string; // The first name of the user
|
name: string; // The first name of the user
|
||||||
last_name: string; // The last name of the user
|
last_name: string; // The last name of the user
|
||||||
city: string | null; // The city of the user, can be null
|
city: string | null; // The city of the user, can be null
|
||||||
sex: string; // The sex of the user, using a union type for possible values
|
sex: string; // The sex of the user, using a union type for possible values
|
||||||
|
|
@ -10,5 +10,5 @@ export interface Manager {
|
||||||
card: string | null; // The card information, can be null
|
card: string | null; // The card information, can be null
|
||||||
birthday: DateType; // The birthday of the user, can be null
|
birthday: DateType; // The birthday of the user, can be null
|
||||||
grade_id: number | string; // The ID of the user's grade
|
grade_id: number | string; // The ID of the user's grade
|
||||||
user_id: number; // The unique ID of the user
|
id: number; // The unique ID of the user
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user