summaryrefslogtreecommitdiff
path: root/src/lib/address
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/address')
-rw-r--r--src/lib/address/api/stateApi.js12
-rw-r--r--src/lib/address/components/CreateAddress.jsx10
-rw-r--r--src/lib/address/components/EditAddress.jsx28
3 files changed, 30 insertions, 20 deletions
diff --git a/src/lib/address/api/stateApi.js b/src/lib/address/api/stateApi.js
index cea49e7e..6bfd36d2 100644
--- a/src/lib/address/api/stateApi.js
+++ b/src/lib/address/api/stateApi.js
@@ -1,8 +1,8 @@
-import odooApi from '@/core/api/odooApi'
+import odooApi from '@/core/api/odooApi';
-const stateApi = async () => {
- const dataState = await odooApi('GET', '/api/v1/state')
- return dataState
-}
+const stateApi = async ({ tempo = false }) => {
+ const dataState = await odooApi('GET', `/api/v1/state?tempo=${tempo}`);
+ return dataState;
+};
-export default stateApi \ No newline at end of file
+export default stateApi;
diff --git a/src/lib/address/components/CreateAddress.jsx b/src/lib/address/components/CreateAddress.jsx
index 9d70e8fc..97db7ed8 100644
--- a/src/lib/address/components/CreateAddress.jsx
+++ b/src/lib/address/components/CreateAddress.jsx
@@ -37,7 +37,7 @@ const CreateAddress = () => {
useEffect(() => {
const loadState = async () => {
- let dataState = await stateApi();
+ let dataState = await stateApi({ tempo: false });
dataState = dataState.map((state) => ({
value: state.id,
label: state.name,
@@ -52,7 +52,7 @@ const CreateAddress = () => {
setValue('city', '');
if (watchState) {
const loadCities = async () => {
- let dataCities = await cityApi({stateId: watchState});
+ let dataCities = await cityApi({ stateId: watchState });
dataCities = dataCities.map((city) => ({
value: city.id,
label: city.name,
@@ -243,7 +243,11 @@ const CreateAddress = () => {
name='city'
control={control}
render={(props) => (
- <HookFormSelect {...props} options={cities} disabled={!watchState}/>
+ <HookFormSelect
+ {...props}
+ options={cities}
+ disabled={!watchState}
+ />
)}
/>
<div className='text-caption-2 text-danger-500 mt-1'>
diff --git a/src/lib/address/components/EditAddress.jsx b/src/lib/address/components/EditAddress.jsx
index 23cf72a9..62858465 100644
--- a/src/lib/address/components/EditAddress.jsx
+++ b/src/lib/address/components/EditAddress.jsx
@@ -34,7 +34,7 @@ const EditAddress = ({ id, defaultValues }) => {
const [states, setStates] = useState([]);
const [cities, setCities] = useState([]);
const [districts, setDistricts] = useState([]);
- const [subDistricts, setSubDistricts] = useState([]);
+ const [subDistricts, setSubDistricts] = useState([]);
useEffect(() => {
const loadProfile = async () => {
@@ -46,13 +46,16 @@ const EditAddress = ({ id, defaultValues }) => {
setValue('alamat_wajib_pajak', dataProfile.alamatWajibPajak);
setValue('alamat_bisnis', dataProfile.alamatBisnis);
setValue('business_name', dataProfile.name);
+ setValue('city', dataProfile.city?.id);
+ setValue('district', dataProfile.district?.id);
+ setValue('subDistrict', dataProfile.subDistrict?.id);
};
if (auth) loadProfile();
}, [auth?.parentId]);
useEffect(() => {
const loadStates = async () => {
- let dataStates = await stateApi();
+ let dataStates = await stateApi({ tempo: false });
dataStates = dataStates.map((state) => ({
value: state.id,
label: state.name,
@@ -60,12 +63,12 @@ const EditAddress = ({ id, defaultValues }) => {
setStates(dataStates);
};
loadStates();
- },[])
+ }, []);
const watchState = watch('state');
useEffect(() => {
- setValue('city', '');
- if(watchState) {
+ if (watchState) {
+ setValue('city', '');
const loadCities = async () => {
let dataCities = await cityApi({ stateId: watchState });
dataCities = dataCities.map((city) => ({
@@ -81,13 +84,12 @@ const EditAddress = ({ id, defaultValues }) => {
};
loadCities();
}
-
}, [watchState, setValue, getValues]);
const watchCity = watch('city');
useEffect(() => {
- setValue('district', '');
if (watchCity) {
+ // setValue('district', '');
const loadDistricts = async () => {
let dataDistricts = await districtApi({ cityId: watchCity });
dataDistricts = dataDistricts.map((district) => ({
@@ -97,7 +99,7 @@ const EditAddress = ({ id, defaultValues }) => {
setDistricts(dataDistricts);
let oldDistrict = getValues('oldDistrict');
if (oldDistrict) {
- setValue('district', oldDistrict);
+ // setValue('district', oldDistrict);
setValue('oldDistrict', '');
}
};
@@ -107,8 +109,8 @@ const EditAddress = ({ id, defaultValues }) => {
const watchDistrict = watch('district');
useEffect(() => {
- setValue('subDistrict', '');
if (watchDistrict) {
+ // setValue('subDistrict', '');
const loadSubDistricts = async () => {
let dataSubDistricts = await subDistrictApi({
districtId: watchDistrict,
@@ -287,7 +289,11 @@ const EditAddress = ({ id, defaultValues }) => {
name='city'
control={control}
render={(props) => (
- <HookFormSelect {...props} options={cities} disabled={!watchState} />
+ <HookFormSelect
+ {...props}
+ options={cities}
+ disabled={!watchState}
+ />
)}
/>
<div className='text-caption-2 text-danger-500 mt-1'>
@@ -348,7 +354,7 @@ const validationSchema = Yup.object().shape({
mobile: Yup.string().required('Harus di-isi'),
street: Yup.string().required('Harus di-isi'),
zip: Yup.string().required('Harus di-isi'),
- state : Yup.string().required('Harus di-pilih'),
+ state: Yup.string().required('Harus di-pilih'),
city: Yup.string().required('Harus di-pilih'),
district: Yup.string().required('Harus di-pilih'),
});