@erpsquad/common 1.10.58 → 1.10.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{ERPUIProvider-C9xsCdz8.js → ERPUIProvider-Dx510YOi.js} +4 -4
- package/dist/chunks/{ERPUIProvider-C9xsCdz8.js.map → ERPUIProvider-Dx510YOi.js.map} +1 -1
- package/dist/chunks/{ERPUIProvider-DUpktqXA.esm.js → ERPUIProvider-f482ZZks.esm.js} +4 -4
- package/dist/chunks/{ERPUIProvider-DUpktqXA.esm.js.map → ERPUIProvider-f482ZZks.esm.js.map} +1 -1
- package/dist/chunks/{android-12-switch-_UhYJwIo.js → android-12-switch-CN34IUv6.js} +6 -6
- package/dist/chunks/{android-12-switch-_UhYJwIo.js.map → android-12-switch-CN34IUv6.js.map} +1 -1
- package/dist/chunks/{android-12-switch-BFYF5yWP.esm.js → android-12-switch-DMx6Q9Zi.esm.js} +6 -6
- package/dist/chunks/{android-12-switch-BFYF5yWP.esm.js.map → android-12-switch-DMx6Q9Zi.esm.js.map} +1 -1
- package/dist/chunks/{appbar-5TrpZMbY.esm.js → appbar-Cn3nzgcA.esm.js} +3 -3
- package/dist/chunks/{appbar-5TrpZMbY.esm.js.map → appbar-Cn3nzgcA.esm.js.map} +1 -1
- package/dist/chunks/{appbar-C9ey8q7A.js → appbar-DmQnXpjh.js} +3 -3
- package/dist/chunks/{appbar-C9ey8q7A.js.map → appbar-DmQnXpjh.js.map} +1 -1
- package/dist/chunks/{checkbox-Nrx4n_Th.esm.js → checkbox-CY109f8U.esm.js} +3 -3
- package/dist/chunks/{checkbox-Nrx4n_Th.esm.js.map → checkbox-CY109f8U.esm.js.map} +1 -1
- package/dist/chunks/{checkbox-BGOe79Cy.js → checkbox-DCDNuj0h.js} +3 -3
- package/dist/chunks/{checkbox-BGOe79Cy.js.map → checkbox-DCDNuj0h.js.map} +1 -1
- package/dist/chunks/{default-data-CKE51uFF.js → default-data-Av7VuzZ7.js} +6 -6
- package/dist/chunks/{default-data-CKE51uFF.js.map → default-data-Av7VuzZ7.js.map} +1 -1
- package/dist/chunks/{default-data-D6k6H-p7.esm.js → default-data-Dl7xjyme.esm.js} +6 -6
- package/dist/chunks/{default-data-D6k6H-p7.esm.js.map → default-data-Dl7xjyme.esm.js.map} +1 -1
- package/dist/chunks/{fullScreen-BfwTymyU.js → fullScreen-BRRYokze.js} +2 -2
- package/dist/chunks/{fullScreen-BfwTymyU.js.map → fullScreen-BRRYokze.js.map} +1 -1
- package/dist/chunks/{fullScreen-BAoq_e7y.esm.js → fullScreen-Dudkmbx3.esm.js} +2 -2
- package/dist/chunks/{fullScreen-BAoq_e7y.esm.js.map → fullScreen-Dudkmbx3.esm.js.map} +1 -1
- package/dist/chunks/{modules-BLLiy7lE.js → modules-BNuvy7fb.js} +2 -2
- package/dist/chunks/{modules-BLLiy7lE.js.map → modules-BNuvy7fb.js.map} +1 -1
- package/dist/chunks/{modules-iMRqZ5uM.esm.js → modules-CrPGQR-7.esm.js} +2 -2
- package/dist/chunks/{modules-iMRqZ5uM.esm.js.map → modules-CrPGQR-7.esm.js.map} +1 -1
- package/dist/chunks/{page-context-oSxL8_xq.js → page-context-Bl5SEL1G.js} +2 -2
- package/dist/chunks/{page-context-oSxL8_xq.js.map → page-context-Bl5SEL1G.js.map} +1 -1
- package/dist/chunks/{page-context-BmxkvLgp.esm.js → page-context-Dy0COu6T.esm.js} +2 -2
- package/dist/chunks/{page-context-BmxkvLgp.esm.js.map → page-context-Dy0COu6T.esm.js.map} +1 -1
- package/dist/chunks/{route-page-map-DiM8kR2P.js → route-page-map-C_stv0lM.js} +10 -1
- package/dist/chunks/{route-page-map-DiM8kR2P.js.map → route-page-map-C_stv0lM.js.map} +1 -1
- package/dist/chunks/{route-page-map-zIIGZHIH.esm.js → route-page-map-DRdSTiPH.esm.js} +10 -1
- package/dist/chunks/{route-page-map-zIIGZHIH.esm.js.map → route-page-map-DRdSTiPH.esm.js.map} +1 -1
- package/dist/chunks/{sidebar-mRDqCVsd.js → sidebar-DAyfQ8hX.js} +2 -2
- package/dist/chunks/{sidebar-mRDqCVsd.js.map → sidebar-DAyfQ8hX.js.map} +1 -1
- package/dist/chunks/{sidebar-BbOMMvki.esm.js → sidebar-DxMP9e4a.esm.js} +2 -2
- package/dist/chunks/{sidebar-BbOMMvki.esm.js.map → sidebar-DxMP9e4a.esm.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-CSErMH2c.js → sidebarScreen-B8a6hQQD.js} +3 -3
- package/dist/chunks/{sidebarScreen-CSErMH2c.js.map → sidebarScreen-B8a6hQQD.js.map} +1 -1
- package/dist/chunks/{sidebarScreen-Cf__OCj5.esm.js → sidebarScreen-DFeaZmHG.esm.js} +3 -3
- package/dist/chunks/{sidebarScreen-Cf__OCj5.esm.js.map → sidebarScreen-DFeaZmHG.esm.js.map} +1 -1
- package/dist/chunks/{uom-field-wrapper-oWX1Kcwg.esm.js → uom-field-wrapper-BqcSmcAs.esm.js} +13 -11
- package/dist/chunks/uom-field-wrapper-BqcSmcAs.esm.js.map +1 -0
- package/dist/chunks/{uom-field-wrapper-BwBGeG5I.js → uom-field-wrapper-DlXciJko.js} +13 -11
- package/dist/chunks/uom-field-wrapper-DlXciJko.js.map +1 -0
- package/dist/chunks/{useAddressContact-jfZLI0ck.js → useAddressContact-B4kEQFE5.js} +3 -3
- package/dist/chunks/{useAddressContact-jfZLI0ck.js.map → useAddressContact-B4kEQFE5.js.map} +1 -1
- package/dist/chunks/{useAddressContact-CiCCkuNT.esm.js → useAddressContact-DbPBm_MA.esm.js} +3 -3
- package/dist/chunks/{useAddressContact-CiCCkuNT.esm.js.map → useAddressContact-DbPBm_MA.esm.js.map} +1 -1
- package/dist/components/index.esm.js +7 -7
- package/dist/components/index.js +7 -7
- package/dist/components/reports-title-bar/reports-title-bar.d.ts +3 -0
- package/dist/constants/index.esm.js +2 -2
- package/dist/constants/index.js +2 -2
- package/dist/contexts/index.esm.js +1 -1
- package/dist/contexts/index.js +1 -1
- package/dist/hooks/index.esm.js +3 -3
- package/dist/hooks/index.js +3 -3
- package/dist/index.esm.js +13 -13
- package/dist/index.js +13 -13
- package/dist/layout/index.esm.js +2 -2
- package/dist/layout/index.js +2 -2
- package/dist/src/components/reports-title-bar/reports-title-bar.d.ts +3 -0
- package/dist/views/index.esm.js +7 -7
- package/dist/views/index.js +6 -6
- package/package.json +1 -1
- package/dist/chunks/uom-field-wrapper-BwBGeG5I.js.map +0 -1
- package/dist/chunks/uom-field-wrapper-oWX1Kcwg.esm.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import _ from "lodash";
|
|
2
2
|
import { useRef, useContext, useEffect, useMemo, useState, useCallback, memo } from "react";
|
|
3
3
|
import { useLocation } from "react-router-dom";
|
|
4
|
-
import { b as PermissionsContext, P as PageContext } from "./page-context-
|
|
5
|
-
import { b1 as routeToResourceMap } from "./route-page-map-
|
|
4
|
+
import { b as PermissionsContext, P as PageContext } from "./page-context-Dy0COu6T.esm.js";
|
|
5
|
+
import { b1 as routeToResourceMap } from "./route-page-map-DRdSTiPH.esm.js";
|
|
6
6
|
import { c as isApiConfigInitialized, g as getApiConfig, o as onApiConfigReady } from "./api-config-GOys-syK.esm.js";
|
|
7
7
|
import { at as getToken } from "./common-BxysM2Z3.esm.js";
|
|
8
8
|
import { B as getV1SettingsConfigurations, C as setBaseUrl } from "./api-s4Kstg3E.esm.js";
|
|
@@ -384,4 +384,4 @@ export {
|
|
|
384
384
|
initializeApiBaseUrls as i,
|
|
385
385
|
useAccountingSetting as u
|
|
386
386
|
};
|
|
387
|
-
//# sourceMappingURL=checkbox-
|
|
387
|
+
//# sourceMappingURL=checkbox-CY109f8U.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-Nrx4n_Th.esm.js","sources":["../../src/hooks/use-deep-memo.ts","../../src/hooks/use-permissions.ts","../../src/hooks/use-pages.ts","../../src/hooks/useLocationFilter.tsx","../../src/hooks/useApi.tsx","../../src/hooks/useAccountSetting.tsx","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { useRef } from 'react';\n\nfunction useDeepMemo<T>(value: T): T {\n const ref = useRef<T>();\n\n if (!_.isEqual(ref.current, value)) {\n ref.current = value;\n }\n\n return ref.current as T;\n}\n\nexport default useDeepMemo;\n","import { useContext } from \"react\";\nimport { PermissionsContext, PermissionsContextType } from \"../contexts/permission-context\";\n\n\nexport const usePermissions = (): PermissionsContextType => {\n const context = useContext(PermissionsContext) as PermissionsContextType | null;\n\n if (!context) {\n throw new Error(\"usePermissions must be used within a PermissionsProvider\");\n }\n\n return context;\n};","import { useContext } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { PageContext } from \"../contexts/page-context\";\nimport { routeToResourceMap } from \"../constants/route-page-map\";\nimport { usePermissions } from \"./use-permissions\";\nimport { MaterialTableColumnProps } from \"../components/material-table/material-table\";\n\nfunction getByDotKey(obj: any, key: string) {\n return key.split('.').reduce((acc: any, part: string) => acc?.[part], obj);\n}\n\nexport const usePages = (defaultColumns:MaterialTableColumnProps[] = []) => {\n const context = useContext(PageContext);\n\n if (!context) {\n throw new Error(\"usePages must be used within a PageProvider\");\n }\n\n if (context.initializeColumns) {\n context.initializeColumns(defaultColumns);\n }\n\n const location = useLocation();\n const permissions = usePermissions();\n const mergedRouteToResourceMap = { ...routeToResourceMap, ...context.customRouteToResourceMap };\n const permissionKey = mergedRouteToResourceMap[location.pathname]?.permissionKey;\n const permObj = permissionKey ? getByDotKey(permissions, permissionKey) : null;\n const notAllowedFilters: string[] = permObj?.notAllowedFilters ?? [];\n\n const schemaFields = notAllowedFilters.length > 0\n ? context.schemaFields.filter((f) => !notAllowedFilters.includes(f.key))\n : context.schemaFields;\n\n return { ...context, schemaFields };\n};\n","import { useEffect, useMemo } from 'react';\n\n\nexport const useLocationFilter = ({\n selectedCompany,\n setValue,\n fieldArrayName,\n locationFieldName,\n resetValue = null,\n filterKey = '&company_id.in',\n isDirty = false\n}) => {\n\n // Reset location value when company changes\n useEffect(() => {\n if (setValue && fieldArrayName && locationFieldName && isDirty) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n }, [isDirty, setValue, fieldArrayName, locationFieldName, resetValue]);\n\n const locationFilter = useMemo(() => {\n const companyId = Array.isArray(selectedCompany) ? (selectedCompany?.length ? selectedCompany : null) : (selectedCompany || null);\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n if (companyId === null) {\n return {};\n }\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, filterKey]);\n\n return locationFilter;\n};\n\n\n\nexport const useMultipleLocationFilters = ({\n selectedCompany,\n setValue,\n fieldConfigs,\n resetValue = undefined,\n filterKey = '&company_id.in'\n}) => {\n return useMemo(() => {\n const companyId = selectedCompany?.length > 0 ? selectedCompany : 0;\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n // Reset all location fields\n fieldConfigs.forEach(({ fieldArrayName, locationFieldName }) => {\n if (setValue && fieldArrayName && locationFieldName) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n });\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, setValue, fieldConfigs, resetValue, filterKey]);\n};\n\nexport default {\n useLocationFilter,\n useMultipleLocationFilters\n}","import { useSnackbar } from 'notistack';\nimport { useCallback, useState } from 'react';\n\ninterface UseApiProps {\n apiFunc: any;\n onSuccess?: any;\n onError?: any;\n enableLoading?: any;\n successMessage?: string;\n errorMessage?: string | null;\n loadingState?: any;\n showError?: boolean;\n}\n\ntype ApiResponse = {\n meta?: {\n requestStatus?: string;\n };\n error?: {\n message?: string;\n };\n payload?: any\n};\n\ntype Callback = () => void;\n\nfunction apiHelper({\n res,\n callBack,\n showError = true,\n errorCallback,\n successMessage = null,\n enqueueSnackbar,\n}: {\n res: ApiResponse;\n callBack?: Callback;\n showError?: boolean;\n errorCallback?: (error: any) => void;\n successMessage?: string | null;\n enqueueSnackbar: any;\n}): void {\n if (res?.meta?.requestStatus === \"rejected\") {\n const errorMessage = (() => {\n try {\n const msg = res.error?.message || res?.payload?.message;\n return msg ? JSON.parse(msg) : null;\n } catch {\n return { message: res.error?.message || res?.payload?.message || \"Something went wrong\" };\n }\n })();\n\n const rawError = errorMessage?.message;\n let message = \"Something went wrong\";\n\n if (typeof rawError === \"string\") {\n message = rawError.replace(\"Error:\", \"\").trim();\n } else if (rawError && typeof rawError === \"object\") {\n message = (rawError as any).message || JSON.stringify(rawError);\n } else if (rawError) {\n message = String(rawError);\n }\n console.log(\"🚀 ~ apiHelper ~ rawError:\", rawError)\n\n console.log(\"🚀 ~ apiHelper ~ showError:\", showError)\n if (showError && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(message, { variant: \"error\" });\n }\n\n if (errorCallback && typeof errorCallback === \"function\") {\n errorCallback(message);\n }\n return;\n }\n\n if (successMessage && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(successMessage);\n }\n\n if (callBack && typeof callBack === \"function\") {\n callBack();\n }\n}\n\nexport default function useApi() {\n const { enqueueSnackbar } = useSnackbar();\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n const callApi = useCallback(async ({\n apiFunc,\n onSuccess,\n onError,\n successMessage,\n errorMessage,\n loadingState,\n enableLoading = true,\n showError = true,\n }: UseApiProps) => {\n if (enableLoading) setLoading(true);\n loadingState?.(true);\n let response;\n try {\n response = await apiFunc();\n } catch (err: any) {\n response = {\n meta: { requestStatus: \"rejected\" },\n error: { message: err?.message || \"Something went wrong\" }\n };\n }\n if (enableLoading) setLoading(false);\n\n loadingState?.(false);\n apiHelper(\n {\n res: response,\n callBack: () => {\n onSuccess?.(response);\n },\n errorCallback: (err) => {\n onError?.(response);\n setError(errorMessage || err);\n },\n successMessage: successMessage,\n showError,\n enqueueSnackbar,\n }\n )\n\n return { response, error }\n\n }, [enqueueSnackbar])\n\n return { callApi, loading, error };\n}\n","import { useCallback, useEffect, useState } from \"react\";\nimport { Control, FieldValues, Path, PathValue, UseFormSetValue, useWatch } from \"react-hook-form\";\nimport { getApiConfig, getToken, isApiConfigInitialized, onApiConfigReady } from \"../utils\";\nimport { getV1SettingsConfigurations, setBaseUrl } from \"../api-client/api.accounting/api\";\nimport useApi from \"./useApi\";\n\ninterface UpdateMapping {\n [key: string]: string; // Form field name -> API config key\n}\n\ninterface UseFormFieldUpdaterConfig<T extends FieldValues = any> {\n control?: Control<T>;\n setValue?: UseFormSetValue<T>;\n watch?: any;\n fieldToUpdate: UpdateMapping;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n fieldArrayName?: string;\n transformResponse?: (data: any) => any;\n customDependencies?: any[];\n getFieldState?: any;\n isUpdateAccount?: boolean;\n}\nexport function initializeApiBaseUrls(): void {\n if (!isApiConfigInitialized()) {\n console.warn('API configuration not initialized yet. Base URLs will be set when configuration is available.');\n return;\n }\n\n const config = getApiConfig();\n const baseUrl = config.backendBaseUrl;\n\n setBaseUrl(`${baseUrl}/accounting`);\n}\n\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/accounting`);\n});\n\n\nexport const useFormFieldUpdater = <T extends FieldValues = any>({\n control,\n setValue,\n fieldToUpdate,\n transformResponse,\n watch,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n customDependencies = [],\n getFieldState,\n isUpdateAccount = false\n}: UseFormFieldUpdaterConfig<T>) => {\n const { callApi } = useApi();\n\n\n const [initialState, setInitialState] = useState<{\n filters: { [companyField]: any;[locationField]: any;[departmentField]: any };\n values: Record<string, any>;\n } | null>(null);\n const companyPath = fieldArrayName ? `${fieldArrayName}.${companyField}` : companyField;\n const locationPath = fieldArrayName ? `${fieldArrayName}.${locationField}` : locationField;\n const departmentPath = fieldArrayName ? `${fieldArrayName}.${departmentField}` : departmentField;\n const data = watch?.(`${fieldArrayName}`) || {};\n const isDirtyCompany = getFieldState?.(companyPath)?.isDirty;\n const isDirtyLocation = getFieldState?.(locationPath)?.isDirty;\n const isDirtyDepartment = getFieldState?.(departmentPath)?.isDirty;\n const selectedCompany = data?.[companyField] || null;\n const selectedLocation = data?.[locationField] || null;\n const selectedDepartment = data?.[departmentField] || null;\n useEffect(() => {\n if (watch && !initialState) {\n const filters = {\n [companyField]: selectedCompany,\n [locationField]: selectedLocation,\n [departmentField]: selectedDepartment,\n };\n const values: Record<string, any> = {};\n Object.keys(fieldToUpdate).forEach((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n values[key] = watch(path as any);\n });\n\n setInitialState({ filters, values });\n }\n }, [watch, selectedCompany, selectedLocation, selectedDepartment, initialState, companyPath, locationPath, departmentPath, isDirtyCompany, isDirtyLocation, isDirtyDepartment]);\n\n const updateFields = useCallback((data: any, forceUpdate: boolean = false) => {\n if (!setValue || !data) return;\n\n const transformed = transformResponse ? transformResponse(data) : data;\n if (!transformed) return;\n\n Object.entries(fieldToUpdate).forEach(([sourceField, targetField]: any) => {\n const updateValue = transformed?.find((i: any) => i?.config_key == (typeof targetField == 'object' ? targetField.key : targetField));\n if (updateValue !== undefined && updateValue !== null) {\n const path = fieldArrayName ? `${fieldArrayName}.${sourceField}` : sourceField;\n\n // Check if field already has a value - skip update only if NOT force updating (edit mode protection)\n if (!forceUpdate) {\n const existingValue = watch?.(path as any);\n if (existingValue !== undefined && existingValue !== null && existingValue !== '') {\n return; // Skip updating fields that already have values\n }\n }\n\n if (typeof targetField == 'object') {\n targetField.value(updateValue?.reference_id || updateValue?.reference_text);\n } else {\n setValue(path as any, updateValue?.reference_id || updateValue?.reference_text);\n }\n }\n });\n }, [setValue, fieldToUpdate, transformResponse, fieldArrayName, watch, ...customDependencies]);\n\n\n\n const fetchAndUpdate = useCallback(async () => {\n if (!selectedCompany || !initialState) return;\n // Helper to extract ID from array/object values\n const getFilterValue = (val: any) => {\n if (Array.isArray(val)) {\n if (val.length === 0) return null;\n const firstVal = val[0];\n if (firstVal && typeof firstVal === 'object') return firstVal.id || firstVal.value || null;\n return firstVal || null;\n }\n if (val && typeof val === 'object') return val.id || val.value || null;\n return val || null;\n };\n\n const companyId = getFilterValue(selectedCompany);\n const locationId = getFilterValue(selectedLocation);\n const departmentId = getFilterValue(selectedDepartment);\n\n if (!companyId || !initialState) return;\n\n const initialFilters = {\n companyId: getFilterValue(initialState.filters[companyField]),\n locationId: getFilterValue(initialState.filters[locationField]),\n departmentId: getFilterValue(initialState.filters[departmentField]),\n };\n\n const isFilterChanged =\n initialFilters.companyId !== companyId ||\n initialFilters.locationId !== locationId ||\n initialFilters.departmentId !== departmentId;\n\n const isTargetFieldsEmpty = Object.keys(fieldToUpdate).every((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n const val = watch?.(path as any);\n return val === undefined || val === null || val === \"\";\n });\n\n if (!isFilterChanged && !isUpdateAccount && !isTargetFieldsEmpty) {\n Object.entries(initialState.values).forEach(([key, value]) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n setValue?.(path as any, value as any);\n });\n return;\n }\n\n const filter = `(company_id.eq=${companyId || 1}&location_id.eq=${locationId || null}&department_id.eq=${departmentId || null})`;\n\n // In edit mode (isUpdateAccount=true): only force update if user manually changed filter (isDirty)\n // In add mode: force update when filter changes\n const isUserChangedFilter = isDirtyCompany || isDirtyLocation || isDirtyDepartment;\n const shouldForceUpdate = isUpdateAccount\n ? (isFilterChanged && isUserChangedFilter) // Edit mode: only when user changed\n : isFilterChanged; // Add mode: any filter change\n\n callApi({\n apiFunc: () => getV1SettingsConfigurations({\n ...getToken(),\n filters: filter\n }),\n onSuccess: (res: any) => {\n updateFields(res?.data?.configuration_list, shouldForceUpdate);\n },\n onError: (err) => {\n console.error('Error fetching accounting settings:', err);\n }\n });\n }, [selectedCompany, selectedLocation, selectedDepartment, initialState, callApi, setValue, isDirtyCompany, isDirtyLocation, isDirtyDepartment, isUpdateAccount]);\n\n useEffect(() => {\n fetchAndUpdate();\n }, [fetchAndUpdate]);\n\n return {\n selectedCompany,\n selectedLocation,\n selectedDepartment\n };\n};\n\nexport const useAccountingSetting = ({\n fieldToUpdate,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n formMethods,\n customDependencies = [],\n ...rest\n}: {\n fieldToUpdate: any;\n fieldArrayName?: string;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n setValue?: any;\n control?: any;\n formMethods?: any;\n customDependencies?: any[];\n}) => {\n const { setValue, control, watch, getFieldState } = formMethods || {};\n\n return useFormFieldUpdater({\n control,\n setValue,\n watch,\n companyField,\n locationField,\n departmentField,\n fieldToUpdate,\n fieldArrayName,\n customDependencies,\n getFieldState,\n ...rest\n });\n};","import { CheckboxProps, Checkbox as MUICheckbox, styled } from '@mui/material';\nimport { CheckBoxIcon, RecgtangleIcon } from '../icons';\nimport { memo } from 'react';\n\nconst StyledCheckbox = styled(MUICheckbox)(({ theme: { palette } }) => ({\n\tpadding: '0rem',\n\tcolor: palette.theme?.secondary[300],\n\tborderRadius: '.625rem',\n\t'&.Mui-checked': {\n\t\tcolor: palette.theme?.primary[600],\n\t\t'&:hover': {\n\t\t\tcolor: palette.theme?.primary[500]\n\t\t}\n\t},\n\t'&.Mui-disabled': {\n\t\tcolor: palette.theme?.secondary[400]\n\t}\n}));\n\nconst Checkbox = memo((props: CheckboxProps) => {\n\treturn (\n\t\t<StyledCheckbox\n\t\t\ticon={<RecgtangleIcon fontSize={props?.size || 'small'} />}\n\t\t\tcheckedIcon={<CheckBoxIcon fontSize={props?.size || 'small'} />}\n\t\t\tdisableRipple\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nexport { Checkbox };\nexport default Checkbox;\n"],"names":["_a","data","MUICheckbox","jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkbox-CY109f8U.esm.js","sources":["../../src/hooks/use-deep-memo.ts","../../src/hooks/use-permissions.ts","../../src/hooks/use-pages.ts","../../src/hooks/useLocationFilter.tsx","../../src/hooks/useApi.tsx","../../src/hooks/useAccountSetting.tsx","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { useRef } from 'react';\n\nfunction useDeepMemo<T>(value: T): T {\n const ref = useRef<T>();\n\n if (!_.isEqual(ref.current, value)) {\n ref.current = value;\n }\n\n return ref.current as T;\n}\n\nexport default useDeepMemo;\n","import { useContext } from \"react\";\nimport { PermissionsContext, PermissionsContextType } from \"../contexts/permission-context\";\n\n\nexport const usePermissions = (): PermissionsContextType => {\n const context = useContext(PermissionsContext) as PermissionsContextType | null;\n\n if (!context) {\n throw new Error(\"usePermissions must be used within a PermissionsProvider\");\n }\n\n return context;\n};","import { useContext } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { PageContext } from \"../contexts/page-context\";\nimport { routeToResourceMap } from \"../constants/route-page-map\";\nimport { usePermissions } from \"./use-permissions\";\nimport { MaterialTableColumnProps } from \"../components/material-table/material-table\";\n\nfunction getByDotKey(obj: any, key: string) {\n return key.split('.').reduce((acc: any, part: string) => acc?.[part], obj);\n}\n\nexport const usePages = (defaultColumns:MaterialTableColumnProps[] = []) => {\n const context = useContext(PageContext);\n\n if (!context) {\n throw new Error(\"usePages must be used within a PageProvider\");\n }\n\n if (context.initializeColumns) {\n context.initializeColumns(defaultColumns);\n }\n\n const location = useLocation();\n const permissions = usePermissions();\n const mergedRouteToResourceMap = { ...routeToResourceMap, ...context.customRouteToResourceMap };\n const permissionKey = mergedRouteToResourceMap[location.pathname]?.permissionKey;\n const permObj = permissionKey ? getByDotKey(permissions, permissionKey) : null;\n const notAllowedFilters: string[] = permObj?.notAllowedFilters ?? [];\n\n const schemaFields = notAllowedFilters.length > 0\n ? context.schemaFields.filter((f) => !notAllowedFilters.includes(f.key))\n : context.schemaFields;\n\n return { ...context, schemaFields };\n};\n","import { useEffect, useMemo } from 'react';\n\n\nexport const useLocationFilter = ({\n selectedCompany,\n setValue,\n fieldArrayName,\n locationFieldName,\n resetValue = null,\n filterKey = '&company_id.in',\n isDirty = false\n}) => {\n\n // Reset location value when company changes\n useEffect(() => {\n if (setValue && fieldArrayName && locationFieldName && isDirty) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n }, [isDirty, setValue, fieldArrayName, locationFieldName, resetValue]);\n\n const locationFilter = useMemo(() => {\n const companyId = Array.isArray(selectedCompany) ? (selectedCompany?.length ? selectedCompany : null) : (selectedCompany || null);\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n if (companyId === null) {\n return {};\n }\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, filterKey]);\n\n return locationFilter;\n};\n\n\n\nexport const useMultipleLocationFilters = ({\n selectedCompany,\n setValue,\n fieldConfigs,\n resetValue = undefined,\n filterKey = '&company_id.in'\n}) => {\n return useMemo(() => {\n const companyId = selectedCompany?.length > 0 ? selectedCompany : 0;\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n // Reset all location fields\n fieldConfigs.forEach(({ fieldArrayName, locationFieldName }) => {\n if (setValue && fieldArrayName && locationFieldName) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n });\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, setValue, fieldConfigs, resetValue, filterKey]);\n};\n\nexport default {\n useLocationFilter,\n useMultipleLocationFilters\n}","import { useSnackbar } from 'notistack';\nimport { useCallback, useState } from 'react';\n\ninterface UseApiProps {\n apiFunc: any;\n onSuccess?: any;\n onError?: any;\n enableLoading?: any;\n successMessage?: string;\n errorMessage?: string | null;\n loadingState?: any;\n showError?: boolean;\n}\n\ntype ApiResponse = {\n meta?: {\n requestStatus?: string;\n };\n error?: {\n message?: string;\n };\n payload?: any\n};\n\ntype Callback = () => void;\n\nfunction apiHelper({\n res,\n callBack,\n showError = true,\n errorCallback,\n successMessage = null,\n enqueueSnackbar,\n}: {\n res: ApiResponse;\n callBack?: Callback;\n showError?: boolean;\n errorCallback?: (error: any) => void;\n successMessage?: string | null;\n enqueueSnackbar: any;\n}): void {\n if (res?.meta?.requestStatus === \"rejected\") {\n const errorMessage = (() => {\n try {\n const msg = res.error?.message || res?.payload?.message;\n return msg ? JSON.parse(msg) : null;\n } catch {\n return { message: res.error?.message || res?.payload?.message || \"Something went wrong\" };\n }\n })();\n\n const rawError = errorMessage?.message;\n let message = \"Something went wrong\";\n\n if (typeof rawError === \"string\") {\n message = rawError.replace(\"Error:\", \"\").trim();\n } else if (rawError && typeof rawError === \"object\") {\n message = (rawError as any).message || JSON.stringify(rawError);\n } else if (rawError) {\n message = String(rawError);\n }\n console.log(\"🚀 ~ apiHelper ~ rawError:\", rawError)\n\n console.log(\"🚀 ~ apiHelper ~ showError:\", showError)\n if (showError && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(message, { variant: \"error\" });\n }\n\n if (errorCallback && typeof errorCallback === \"function\") {\n errorCallback(message);\n }\n return;\n }\n\n if (successMessage && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(successMessage);\n }\n\n if (callBack && typeof callBack === \"function\") {\n callBack();\n }\n}\n\nexport default function useApi() {\n const { enqueueSnackbar } = useSnackbar();\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n const callApi = useCallback(async ({\n apiFunc,\n onSuccess,\n onError,\n successMessage,\n errorMessage,\n loadingState,\n enableLoading = true,\n showError = true,\n }: UseApiProps) => {\n if (enableLoading) setLoading(true);\n loadingState?.(true);\n let response;\n try {\n response = await apiFunc();\n } catch (err: any) {\n response = {\n meta: { requestStatus: \"rejected\" },\n error: { message: err?.message || \"Something went wrong\" }\n };\n }\n if (enableLoading) setLoading(false);\n\n loadingState?.(false);\n apiHelper(\n {\n res: response,\n callBack: () => {\n onSuccess?.(response);\n },\n errorCallback: (err) => {\n onError?.(response);\n setError(errorMessage || err);\n },\n successMessage: successMessage,\n showError,\n enqueueSnackbar,\n }\n )\n\n return { response, error }\n\n }, [enqueueSnackbar])\n\n return { callApi, loading, error };\n}\n","import { useCallback, useEffect, useState } from \"react\";\nimport { Control, FieldValues, Path, PathValue, UseFormSetValue, useWatch } from \"react-hook-form\";\nimport { getApiConfig, getToken, isApiConfigInitialized, onApiConfigReady } from \"../utils\";\nimport { getV1SettingsConfigurations, setBaseUrl } from \"../api-client/api.accounting/api\";\nimport useApi from \"./useApi\";\n\ninterface UpdateMapping {\n [key: string]: string; // Form field name -> API config key\n}\n\ninterface UseFormFieldUpdaterConfig<T extends FieldValues = any> {\n control?: Control<T>;\n setValue?: UseFormSetValue<T>;\n watch?: any;\n fieldToUpdate: UpdateMapping;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n fieldArrayName?: string;\n transformResponse?: (data: any) => any;\n customDependencies?: any[];\n getFieldState?: any;\n isUpdateAccount?: boolean;\n}\nexport function initializeApiBaseUrls(): void {\n if (!isApiConfigInitialized()) {\n console.warn('API configuration not initialized yet. Base URLs will be set when configuration is available.');\n return;\n }\n\n const config = getApiConfig();\n const baseUrl = config.backendBaseUrl;\n\n setBaseUrl(`${baseUrl}/accounting`);\n}\n\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/accounting`);\n});\n\n\nexport const useFormFieldUpdater = <T extends FieldValues = any>({\n control,\n setValue,\n fieldToUpdate,\n transformResponse,\n watch,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n customDependencies = [],\n getFieldState,\n isUpdateAccount = false\n}: UseFormFieldUpdaterConfig<T>) => {\n const { callApi } = useApi();\n\n\n const [initialState, setInitialState] = useState<{\n filters: { [companyField]: any;[locationField]: any;[departmentField]: any };\n values: Record<string, any>;\n } | null>(null);\n const companyPath = fieldArrayName ? `${fieldArrayName}.${companyField}` : companyField;\n const locationPath = fieldArrayName ? `${fieldArrayName}.${locationField}` : locationField;\n const departmentPath = fieldArrayName ? `${fieldArrayName}.${departmentField}` : departmentField;\n const data = watch?.(`${fieldArrayName}`) || {};\n const isDirtyCompany = getFieldState?.(companyPath)?.isDirty;\n const isDirtyLocation = getFieldState?.(locationPath)?.isDirty;\n const isDirtyDepartment = getFieldState?.(departmentPath)?.isDirty;\n const selectedCompany = data?.[companyField] || null;\n const selectedLocation = data?.[locationField] || null;\n const selectedDepartment = data?.[departmentField] || null;\n useEffect(() => {\n if (watch && !initialState) {\n const filters = {\n [companyField]: selectedCompany,\n [locationField]: selectedLocation,\n [departmentField]: selectedDepartment,\n };\n const values: Record<string, any> = {};\n Object.keys(fieldToUpdate).forEach((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n values[key] = watch(path as any);\n });\n\n setInitialState({ filters, values });\n }\n }, [watch, selectedCompany, selectedLocation, selectedDepartment, initialState, companyPath, locationPath, departmentPath, isDirtyCompany, isDirtyLocation, isDirtyDepartment]);\n\n const updateFields = useCallback((data: any, forceUpdate: boolean = false) => {\n if (!setValue || !data) return;\n\n const transformed = transformResponse ? transformResponse(data) : data;\n if (!transformed) return;\n\n Object.entries(fieldToUpdate).forEach(([sourceField, targetField]: any) => {\n const updateValue = transformed?.find((i: any) => i?.config_key == (typeof targetField == 'object' ? targetField.key : targetField));\n if (updateValue !== undefined && updateValue !== null) {\n const path = fieldArrayName ? `${fieldArrayName}.${sourceField}` : sourceField;\n\n // Check if field already has a value - skip update only if NOT force updating (edit mode protection)\n if (!forceUpdate) {\n const existingValue = watch?.(path as any);\n if (existingValue !== undefined && existingValue !== null && existingValue !== '') {\n return; // Skip updating fields that already have values\n }\n }\n\n if (typeof targetField == 'object') {\n targetField.value(updateValue?.reference_id || updateValue?.reference_text);\n } else {\n setValue(path as any, updateValue?.reference_id || updateValue?.reference_text);\n }\n }\n });\n }, [setValue, fieldToUpdate, transformResponse, fieldArrayName, watch, ...customDependencies]);\n\n\n\n const fetchAndUpdate = useCallback(async () => {\n if (!selectedCompany || !initialState) return;\n // Helper to extract ID from array/object values\n const getFilterValue = (val: any) => {\n if (Array.isArray(val)) {\n if (val.length === 0) return null;\n const firstVal = val[0];\n if (firstVal && typeof firstVal === 'object') return firstVal.id || firstVal.value || null;\n return firstVal || null;\n }\n if (val && typeof val === 'object') return val.id || val.value || null;\n return val || null;\n };\n\n const companyId = getFilterValue(selectedCompany);\n const locationId = getFilterValue(selectedLocation);\n const departmentId = getFilterValue(selectedDepartment);\n\n if (!companyId || !initialState) return;\n\n const initialFilters = {\n companyId: getFilterValue(initialState.filters[companyField]),\n locationId: getFilterValue(initialState.filters[locationField]),\n departmentId: getFilterValue(initialState.filters[departmentField]),\n };\n\n const isFilterChanged =\n initialFilters.companyId !== companyId ||\n initialFilters.locationId !== locationId ||\n initialFilters.departmentId !== departmentId;\n\n const isTargetFieldsEmpty = Object.keys(fieldToUpdate).every((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n const val = watch?.(path as any);\n return val === undefined || val === null || val === \"\";\n });\n\n if (!isFilterChanged && !isUpdateAccount && !isTargetFieldsEmpty) {\n Object.entries(initialState.values).forEach(([key, value]) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n setValue?.(path as any, value as any);\n });\n return;\n }\n\n const filter = `(company_id.eq=${companyId || 1}&location_id.eq=${locationId || null}&department_id.eq=${departmentId || null})`;\n\n // In edit mode (isUpdateAccount=true): only force update if user manually changed filter (isDirty)\n // In add mode: force update when filter changes\n const isUserChangedFilter = isDirtyCompany || isDirtyLocation || isDirtyDepartment;\n const shouldForceUpdate = isUpdateAccount\n ? (isFilterChanged && isUserChangedFilter) // Edit mode: only when user changed\n : isFilterChanged; // Add mode: any filter change\n\n callApi({\n apiFunc: () => getV1SettingsConfigurations({\n ...getToken(),\n filters: filter\n }),\n onSuccess: (res: any) => {\n updateFields(res?.data?.configuration_list, shouldForceUpdate);\n },\n onError: (err) => {\n console.error('Error fetching accounting settings:', err);\n }\n });\n }, [selectedCompany, selectedLocation, selectedDepartment, initialState, callApi, setValue, isDirtyCompany, isDirtyLocation, isDirtyDepartment, isUpdateAccount]);\n\n useEffect(() => {\n fetchAndUpdate();\n }, [fetchAndUpdate]);\n\n return {\n selectedCompany,\n selectedLocation,\n selectedDepartment\n };\n};\n\nexport const useAccountingSetting = ({\n fieldToUpdate,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n formMethods,\n customDependencies = [],\n ...rest\n}: {\n fieldToUpdate: any;\n fieldArrayName?: string;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n setValue?: any;\n control?: any;\n formMethods?: any;\n customDependencies?: any[];\n}) => {\n const { setValue, control, watch, getFieldState } = formMethods || {};\n\n return useFormFieldUpdater({\n control,\n setValue,\n watch,\n companyField,\n locationField,\n departmentField,\n fieldToUpdate,\n fieldArrayName,\n customDependencies,\n getFieldState,\n ...rest\n });\n};","import { CheckboxProps, Checkbox as MUICheckbox, styled } from '@mui/material';\nimport { CheckBoxIcon, RecgtangleIcon } from '../icons';\nimport { memo } from 'react';\n\nconst StyledCheckbox = styled(MUICheckbox)(({ theme: { palette } }) => ({\n\tpadding: '0rem',\n\tcolor: palette.theme?.secondary[300],\n\tborderRadius: '.625rem',\n\t'&.Mui-checked': {\n\t\tcolor: palette.theme?.primary[600],\n\t\t'&:hover': {\n\t\t\tcolor: palette.theme?.primary[500]\n\t\t}\n\t},\n\t'&.Mui-disabled': {\n\t\tcolor: palette.theme?.secondary[400]\n\t}\n}));\n\nconst Checkbox = memo((props: CheckboxProps) => {\n\treturn (\n\t\t<StyledCheckbox\n\t\t\ticon={<RecgtangleIcon fontSize={props?.size || 'small'} />}\n\t\t\tcheckedIcon={<CheckBoxIcon fontSize={props?.size || 'small'} />}\n\t\t\tdisableRipple\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nexport { Checkbox };\nexport default Checkbox;\n"],"names":["_a","data","MUICheckbox","jsx"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
const _ = require("lodash");
|
|
3
3
|
const React = require("react");
|
|
4
4
|
const reactRouterDom = require("react-router-dom");
|
|
5
|
-
const pageContext = require("./page-context-
|
|
6
|
-
const routePageMap = require("./route-page-map-
|
|
5
|
+
const pageContext = require("./page-context-Bl5SEL1G.js");
|
|
6
|
+
const routePageMap = require("./route-page-map-C_stv0lM.js");
|
|
7
7
|
const apiConfig = require("./api-config-DXwDMFn-.js");
|
|
8
8
|
const common = require("./common-JwQWCeAL.js");
|
|
9
9
|
const api = require("./api-PQmwG2-a.js");
|
|
@@ -383,4 +383,4 @@ exports.useLocationFilter = useLocationFilter;
|
|
|
383
383
|
exports.useMultipleLocationFilters = useMultipleLocationFilters;
|
|
384
384
|
exports.usePages = usePages;
|
|
385
385
|
exports.usePermissions = usePermissions;
|
|
386
|
-
//# sourceMappingURL=checkbox-
|
|
386
|
+
//# sourceMappingURL=checkbox-DCDNuj0h.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-BGOe79Cy.js","sources":["../../src/hooks/use-deep-memo.ts","../../src/hooks/use-permissions.ts","../../src/hooks/use-pages.ts","../../src/hooks/useLocationFilter.tsx","../../src/hooks/useApi.tsx","../../src/hooks/useAccountSetting.tsx","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { useRef } from 'react';\n\nfunction useDeepMemo<T>(value: T): T {\n const ref = useRef<T>();\n\n if (!_.isEqual(ref.current, value)) {\n ref.current = value;\n }\n\n return ref.current as T;\n}\n\nexport default useDeepMemo;\n","import { useContext } from \"react\";\nimport { PermissionsContext, PermissionsContextType } from \"../contexts/permission-context\";\n\n\nexport const usePermissions = (): PermissionsContextType => {\n const context = useContext(PermissionsContext) as PermissionsContextType | null;\n\n if (!context) {\n throw new Error(\"usePermissions must be used within a PermissionsProvider\");\n }\n\n return context;\n};","import { useContext } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { PageContext } from \"../contexts/page-context\";\nimport { routeToResourceMap } from \"../constants/route-page-map\";\nimport { usePermissions } from \"./use-permissions\";\nimport { MaterialTableColumnProps } from \"../components/material-table/material-table\";\n\nfunction getByDotKey(obj: any, key: string) {\n return key.split('.').reduce((acc: any, part: string) => acc?.[part], obj);\n}\n\nexport const usePages = (defaultColumns:MaterialTableColumnProps[] = []) => {\n const context = useContext(PageContext);\n\n if (!context) {\n throw new Error(\"usePages must be used within a PageProvider\");\n }\n\n if (context.initializeColumns) {\n context.initializeColumns(defaultColumns);\n }\n\n const location = useLocation();\n const permissions = usePermissions();\n const mergedRouteToResourceMap = { ...routeToResourceMap, ...context.customRouteToResourceMap };\n const permissionKey = mergedRouteToResourceMap[location.pathname]?.permissionKey;\n const permObj = permissionKey ? getByDotKey(permissions, permissionKey) : null;\n const notAllowedFilters: string[] = permObj?.notAllowedFilters ?? [];\n\n const schemaFields = notAllowedFilters.length > 0\n ? context.schemaFields.filter((f) => !notAllowedFilters.includes(f.key))\n : context.schemaFields;\n\n return { ...context, schemaFields };\n};\n","import { useEffect, useMemo } from 'react';\n\n\nexport const useLocationFilter = ({\n selectedCompany,\n setValue,\n fieldArrayName,\n locationFieldName,\n resetValue = null,\n filterKey = '&company_id.in',\n isDirty = false\n}) => {\n\n // Reset location value when company changes\n useEffect(() => {\n if (setValue && fieldArrayName && locationFieldName && isDirty) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n }, [isDirty, setValue, fieldArrayName, locationFieldName, resetValue]);\n\n const locationFilter = useMemo(() => {\n const companyId = Array.isArray(selectedCompany) ? (selectedCompany?.length ? selectedCompany : null) : (selectedCompany || null);\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n if (companyId === null) {\n return {};\n }\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, filterKey]);\n\n return locationFilter;\n};\n\n\n\nexport const useMultipleLocationFilters = ({\n selectedCompany,\n setValue,\n fieldConfigs,\n resetValue = undefined,\n filterKey = '&company_id.in'\n}) => {\n return useMemo(() => {\n const companyId = selectedCompany?.length > 0 ? selectedCompany : 0;\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n // Reset all location fields\n fieldConfigs.forEach(({ fieldArrayName, locationFieldName }) => {\n if (setValue && fieldArrayName && locationFieldName) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n });\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, setValue, fieldConfigs, resetValue, filterKey]);\n};\n\nexport default {\n useLocationFilter,\n useMultipleLocationFilters\n}","import { useSnackbar } from 'notistack';\nimport { useCallback, useState } from 'react';\n\ninterface UseApiProps {\n apiFunc: any;\n onSuccess?: any;\n onError?: any;\n enableLoading?: any;\n successMessage?: string;\n errorMessage?: string | null;\n loadingState?: any;\n showError?: boolean;\n}\n\ntype ApiResponse = {\n meta?: {\n requestStatus?: string;\n };\n error?: {\n message?: string;\n };\n payload?: any\n};\n\ntype Callback = () => void;\n\nfunction apiHelper({\n res,\n callBack,\n showError = true,\n errorCallback,\n successMessage = null,\n enqueueSnackbar,\n}: {\n res: ApiResponse;\n callBack?: Callback;\n showError?: boolean;\n errorCallback?: (error: any) => void;\n successMessage?: string | null;\n enqueueSnackbar: any;\n}): void {\n if (res?.meta?.requestStatus === \"rejected\") {\n const errorMessage = (() => {\n try {\n const msg = res.error?.message || res?.payload?.message;\n return msg ? JSON.parse(msg) : null;\n } catch {\n return { message: res.error?.message || res?.payload?.message || \"Something went wrong\" };\n }\n })();\n\n const rawError = errorMessage?.message;\n let message = \"Something went wrong\";\n\n if (typeof rawError === \"string\") {\n message = rawError.replace(\"Error:\", \"\").trim();\n } else if (rawError && typeof rawError === \"object\") {\n message = (rawError as any).message || JSON.stringify(rawError);\n } else if (rawError) {\n message = String(rawError);\n }\n console.log(\"🚀 ~ apiHelper ~ rawError:\", rawError)\n\n console.log(\"🚀 ~ apiHelper ~ showError:\", showError)\n if (showError && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(message, { variant: \"error\" });\n }\n\n if (errorCallback && typeof errorCallback === \"function\") {\n errorCallback(message);\n }\n return;\n }\n\n if (successMessage && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(successMessage);\n }\n\n if (callBack && typeof callBack === \"function\") {\n callBack();\n }\n}\n\nexport default function useApi() {\n const { enqueueSnackbar } = useSnackbar();\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n const callApi = useCallback(async ({\n apiFunc,\n onSuccess,\n onError,\n successMessage,\n errorMessage,\n loadingState,\n enableLoading = true,\n showError = true,\n }: UseApiProps) => {\n if (enableLoading) setLoading(true);\n loadingState?.(true);\n let response;\n try {\n response = await apiFunc();\n } catch (err: any) {\n response = {\n meta: { requestStatus: \"rejected\" },\n error: { message: err?.message || \"Something went wrong\" }\n };\n }\n if (enableLoading) setLoading(false);\n\n loadingState?.(false);\n apiHelper(\n {\n res: response,\n callBack: () => {\n onSuccess?.(response);\n },\n errorCallback: (err) => {\n onError?.(response);\n setError(errorMessage || err);\n },\n successMessage: successMessage,\n showError,\n enqueueSnackbar,\n }\n )\n\n return { response, error }\n\n }, [enqueueSnackbar])\n\n return { callApi, loading, error };\n}\n","import { useCallback, useEffect, useState } from \"react\";\nimport { Control, FieldValues, Path, PathValue, UseFormSetValue, useWatch } from \"react-hook-form\";\nimport { getApiConfig, getToken, isApiConfigInitialized, onApiConfigReady } from \"../utils\";\nimport { getV1SettingsConfigurations, setBaseUrl } from \"../api-client/api.accounting/api\";\nimport useApi from \"./useApi\";\n\ninterface UpdateMapping {\n [key: string]: string; // Form field name -> API config key\n}\n\ninterface UseFormFieldUpdaterConfig<T extends FieldValues = any> {\n control?: Control<T>;\n setValue?: UseFormSetValue<T>;\n watch?: any;\n fieldToUpdate: UpdateMapping;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n fieldArrayName?: string;\n transformResponse?: (data: any) => any;\n customDependencies?: any[];\n getFieldState?: any;\n isUpdateAccount?: boolean;\n}\nexport function initializeApiBaseUrls(): void {\n if (!isApiConfigInitialized()) {\n console.warn('API configuration not initialized yet. Base URLs will be set when configuration is available.');\n return;\n }\n\n const config = getApiConfig();\n const baseUrl = config.backendBaseUrl;\n\n setBaseUrl(`${baseUrl}/accounting`);\n}\n\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/accounting`);\n});\n\n\nexport const useFormFieldUpdater = <T extends FieldValues = any>({\n control,\n setValue,\n fieldToUpdate,\n transformResponse,\n watch,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n customDependencies = [],\n getFieldState,\n isUpdateAccount = false\n}: UseFormFieldUpdaterConfig<T>) => {\n const { callApi } = useApi();\n\n\n const [initialState, setInitialState] = useState<{\n filters: { [companyField]: any;[locationField]: any;[departmentField]: any };\n values: Record<string, any>;\n } | null>(null);\n const companyPath = fieldArrayName ? `${fieldArrayName}.${companyField}` : companyField;\n const locationPath = fieldArrayName ? `${fieldArrayName}.${locationField}` : locationField;\n const departmentPath = fieldArrayName ? `${fieldArrayName}.${departmentField}` : departmentField;\n const data = watch?.(`${fieldArrayName}`) || {};\n const isDirtyCompany = getFieldState?.(companyPath)?.isDirty;\n const isDirtyLocation = getFieldState?.(locationPath)?.isDirty;\n const isDirtyDepartment = getFieldState?.(departmentPath)?.isDirty;\n const selectedCompany = data?.[companyField] || null;\n const selectedLocation = data?.[locationField] || null;\n const selectedDepartment = data?.[departmentField] || null;\n useEffect(() => {\n if (watch && !initialState) {\n const filters = {\n [companyField]: selectedCompany,\n [locationField]: selectedLocation,\n [departmentField]: selectedDepartment,\n };\n const values: Record<string, any> = {};\n Object.keys(fieldToUpdate).forEach((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n values[key] = watch(path as any);\n });\n\n setInitialState({ filters, values });\n }\n }, [watch, selectedCompany, selectedLocation, selectedDepartment, initialState, companyPath, locationPath, departmentPath, isDirtyCompany, isDirtyLocation, isDirtyDepartment]);\n\n const updateFields = useCallback((data: any, forceUpdate: boolean = false) => {\n if (!setValue || !data) return;\n\n const transformed = transformResponse ? transformResponse(data) : data;\n if (!transformed) return;\n\n Object.entries(fieldToUpdate).forEach(([sourceField, targetField]: any) => {\n const updateValue = transformed?.find((i: any) => i?.config_key == (typeof targetField == 'object' ? targetField.key : targetField));\n if (updateValue !== undefined && updateValue !== null) {\n const path = fieldArrayName ? `${fieldArrayName}.${sourceField}` : sourceField;\n\n // Check if field already has a value - skip update only if NOT force updating (edit mode protection)\n if (!forceUpdate) {\n const existingValue = watch?.(path as any);\n if (existingValue !== undefined && existingValue !== null && existingValue !== '') {\n return; // Skip updating fields that already have values\n }\n }\n\n if (typeof targetField == 'object') {\n targetField.value(updateValue?.reference_id || updateValue?.reference_text);\n } else {\n setValue(path as any, updateValue?.reference_id || updateValue?.reference_text);\n }\n }\n });\n }, [setValue, fieldToUpdate, transformResponse, fieldArrayName, watch, ...customDependencies]);\n\n\n\n const fetchAndUpdate = useCallback(async () => {\n if (!selectedCompany || !initialState) return;\n // Helper to extract ID from array/object values\n const getFilterValue = (val: any) => {\n if (Array.isArray(val)) {\n if (val.length === 0) return null;\n const firstVal = val[0];\n if (firstVal && typeof firstVal === 'object') return firstVal.id || firstVal.value || null;\n return firstVal || null;\n }\n if (val && typeof val === 'object') return val.id || val.value || null;\n return val || null;\n };\n\n const companyId = getFilterValue(selectedCompany);\n const locationId = getFilterValue(selectedLocation);\n const departmentId = getFilterValue(selectedDepartment);\n\n if (!companyId || !initialState) return;\n\n const initialFilters = {\n companyId: getFilterValue(initialState.filters[companyField]),\n locationId: getFilterValue(initialState.filters[locationField]),\n departmentId: getFilterValue(initialState.filters[departmentField]),\n };\n\n const isFilterChanged =\n initialFilters.companyId !== companyId ||\n initialFilters.locationId !== locationId ||\n initialFilters.departmentId !== departmentId;\n\n const isTargetFieldsEmpty = Object.keys(fieldToUpdate).every((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n const val = watch?.(path as any);\n return val === undefined || val === null || val === \"\";\n });\n\n if (!isFilterChanged && !isUpdateAccount && !isTargetFieldsEmpty) {\n Object.entries(initialState.values).forEach(([key, value]) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n setValue?.(path as any, value as any);\n });\n return;\n }\n\n const filter = `(company_id.eq=${companyId || 1}&location_id.eq=${locationId || null}&department_id.eq=${departmentId || null})`;\n\n // In edit mode (isUpdateAccount=true): only force update if user manually changed filter (isDirty)\n // In add mode: force update when filter changes\n const isUserChangedFilter = isDirtyCompany || isDirtyLocation || isDirtyDepartment;\n const shouldForceUpdate = isUpdateAccount\n ? (isFilterChanged && isUserChangedFilter) // Edit mode: only when user changed\n : isFilterChanged; // Add mode: any filter change\n\n callApi({\n apiFunc: () => getV1SettingsConfigurations({\n ...getToken(),\n filters: filter\n }),\n onSuccess: (res: any) => {\n updateFields(res?.data?.configuration_list, shouldForceUpdate);\n },\n onError: (err) => {\n console.error('Error fetching accounting settings:', err);\n }\n });\n }, [selectedCompany, selectedLocation, selectedDepartment, initialState, callApi, setValue, isDirtyCompany, isDirtyLocation, isDirtyDepartment, isUpdateAccount]);\n\n useEffect(() => {\n fetchAndUpdate();\n }, [fetchAndUpdate]);\n\n return {\n selectedCompany,\n selectedLocation,\n selectedDepartment\n };\n};\n\nexport const useAccountingSetting = ({\n fieldToUpdate,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n formMethods,\n customDependencies = [],\n ...rest\n}: {\n fieldToUpdate: any;\n fieldArrayName?: string;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n setValue?: any;\n control?: any;\n formMethods?: any;\n customDependencies?: any[];\n}) => {\n const { setValue, control, watch, getFieldState } = formMethods || {};\n\n return useFormFieldUpdater({\n control,\n setValue,\n watch,\n companyField,\n locationField,\n departmentField,\n fieldToUpdate,\n fieldArrayName,\n customDependencies,\n getFieldState,\n ...rest\n });\n};","import { CheckboxProps, Checkbox as MUICheckbox, styled } from '@mui/material';\nimport { CheckBoxIcon, RecgtangleIcon } from '../icons';\nimport { memo } from 'react';\n\nconst StyledCheckbox = styled(MUICheckbox)(({ theme: { palette } }) => ({\n\tpadding: '0rem',\n\tcolor: palette.theme?.secondary[300],\n\tborderRadius: '.625rem',\n\t'&.Mui-checked': {\n\t\tcolor: palette.theme?.primary[600],\n\t\t'&:hover': {\n\t\t\tcolor: palette.theme?.primary[500]\n\t\t}\n\t},\n\t'&.Mui-disabled': {\n\t\tcolor: palette.theme?.secondary[400]\n\t}\n}));\n\nconst Checkbox = memo((props: CheckboxProps) => {\n\treturn (\n\t\t<StyledCheckbox\n\t\t\ticon={<RecgtangleIcon fontSize={props?.size || 'small'} />}\n\t\t\tcheckedIcon={<CheckBoxIcon fontSize={props?.size || 'small'} />}\n\t\t\tdisableRipple\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nexport { Checkbox };\nexport default Checkbox;\n"],"names":["useRef","useContext","PermissionsContext","PageContext","useLocation","routeToResourceMap","useEffect","useMemo","_a","useSnackbar","useState","useCallback","isApiConfigInitialized","getApiConfig","setBaseUrl","onApiConfigReady","data","getV1SettingsConfigurations","getToken","styled","MUICheckbox","memo","jsx","RecgtangleIcon","CheckBoxIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkbox-DCDNuj0h.js","sources":["../../src/hooks/use-deep-memo.ts","../../src/hooks/use-permissions.ts","../../src/hooks/use-pages.ts","../../src/hooks/useLocationFilter.tsx","../../src/hooks/useApi.tsx","../../src/hooks/useAccountSetting.tsx","../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { useRef } from 'react';\n\nfunction useDeepMemo<T>(value: T): T {\n const ref = useRef<T>();\n\n if (!_.isEqual(ref.current, value)) {\n ref.current = value;\n }\n\n return ref.current as T;\n}\n\nexport default useDeepMemo;\n","import { useContext } from \"react\";\nimport { PermissionsContext, PermissionsContextType } from \"../contexts/permission-context\";\n\n\nexport const usePermissions = (): PermissionsContextType => {\n const context = useContext(PermissionsContext) as PermissionsContextType | null;\n\n if (!context) {\n throw new Error(\"usePermissions must be used within a PermissionsProvider\");\n }\n\n return context;\n};","import { useContext } from \"react\";\nimport { useLocation } from \"react-router-dom\";\nimport { PageContext } from \"../contexts/page-context\";\nimport { routeToResourceMap } from \"../constants/route-page-map\";\nimport { usePermissions } from \"./use-permissions\";\nimport { MaterialTableColumnProps } from \"../components/material-table/material-table\";\n\nfunction getByDotKey(obj: any, key: string) {\n return key.split('.').reduce((acc: any, part: string) => acc?.[part], obj);\n}\n\nexport const usePages = (defaultColumns:MaterialTableColumnProps[] = []) => {\n const context = useContext(PageContext);\n\n if (!context) {\n throw new Error(\"usePages must be used within a PageProvider\");\n }\n\n if (context.initializeColumns) {\n context.initializeColumns(defaultColumns);\n }\n\n const location = useLocation();\n const permissions = usePermissions();\n const mergedRouteToResourceMap = { ...routeToResourceMap, ...context.customRouteToResourceMap };\n const permissionKey = mergedRouteToResourceMap[location.pathname]?.permissionKey;\n const permObj = permissionKey ? getByDotKey(permissions, permissionKey) : null;\n const notAllowedFilters: string[] = permObj?.notAllowedFilters ?? [];\n\n const schemaFields = notAllowedFilters.length > 0\n ? context.schemaFields.filter((f) => !notAllowedFilters.includes(f.key))\n : context.schemaFields;\n\n return { ...context, schemaFields };\n};\n","import { useEffect, useMemo } from 'react';\n\n\nexport const useLocationFilter = ({\n selectedCompany,\n setValue,\n fieldArrayName,\n locationFieldName,\n resetValue = null,\n filterKey = '&company_id.in',\n isDirty = false\n}) => {\n\n // Reset location value when company changes\n useEffect(() => {\n if (setValue && fieldArrayName && locationFieldName && isDirty) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n }, [isDirty, setValue, fieldArrayName, locationFieldName, resetValue]);\n\n const locationFilter = useMemo(() => {\n const companyId = Array.isArray(selectedCompany) ? (selectedCompany?.length ? selectedCompany : null) : (selectedCompany || null);\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n if (companyId === null) {\n return {};\n }\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, filterKey]);\n\n return locationFilter;\n};\n\n\n\nexport const useMultipleLocationFilters = ({\n selectedCompany,\n setValue,\n fieldConfigs,\n resetValue = undefined,\n filterKey = '&company_id.in'\n}) => {\n return useMemo(() => {\n const companyId = selectedCompany?.length > 0 ? selectedCompany : 0;\n console.log(\"🚀 ~ useLocationFilter ~ companyId:\", companyId)\n\n // Reset all location fields\n fieldConfigs.forEach(({ fieldArrayName, locationFieldName }) => {\n if (setValue && fieldArrayName && locationFieldName) {\n setValue(`${fieldArrayName}.${locationFieldName}`, resetValue);\n }\n });\n\n return {\n [filterKey]: companyId\n };\n }, [selectedCompany, setValue, fieldConfigs, resetValue, filterKey]);\n};\n\nexport default {\n useLocationFilter,\n useMultipleLocationFilters\n}","import { useSnackbar } from 'notistack';\nimport { useCallback, useState } from 'react';\n\ninterface UseApiProps {\n apiFunc: any;\n onSuccess?: any;\n onError?: any;\n enableLoading?: any;\n successMessage?: string;\n errorMessage?: string | null;\n loadingState?: any;\n showError?: boolean;\n}\n\ntype ApiResponse = {\n meta?: {\n requestStatus?: string;\n };\n error?: {\n message?: string;\n };\n payload?: any\n};\n\ntype Callback = () => void;\n\nfunction apiHelper({\n res,\n callBack,\n showError = true,\n errorCallback,\n successMessage = null,\n enqueueSnackbar,\n}: {\n res: ApiResponse;\n callBack?: Callback;\n showError?: boolean;\n errorCallback?: (error: any) => void;\n successMessage?: string | null;\n enqueueSnackbar: any;\n}): void {\n if (res?.meta?.requestStatus === \"rejected\") {\n const errorMessage = (() => {\n try {\n const msg = res.error?.message || res?.payload?.message;\n return msg ? JSON.parse(msg) : null;\n } catch {\n return { message: res.error?.message || res?.payload?.message || \"Something went wrong\" };\n }\n })();\n\n const rawError = errorMessage?.message;\n let message = \"Something went wrong\";\n\n if (typeof rawError === \"string\") {\n message = rawError.replace(\"Error:\", \"\").trim();\n } else if (rawError && typeof rawError === \"object\") {\n message = (rawError as any).message || JSON.stringify(rawError);\n } else if (rawError) {\n message = String(rawError);\n }\n console.log(\"🚀 ~ apiHelper ~ rawError:\", rawError)\n\n console.log(\"🚀 ~ apiHelper ~ showError:\", showError)\n if (showError && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(message, { variant: \"error\" });\n }\n\n if (errorCallback && typeof errorCallback === \"function\") {\n errorCallback(message);\n }\n return;\n }\n\n if (successMessage && typeof enqueueSnackbar === 'function') {\n enqueueSnackbar(successMessage);\n }\n\n if (callBack && typeof callBack === \"function\") {\n callBack();\n }\n}\n\nexport default function useApi() {\n const { enqueueSnackbar } = useSnackbar();\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState(null);\n\n const callApi = useCallback(async ({\n apiFunc,\n onSuccess,\n onError,\n successMessage,\n errorMessage,\n loadingState,\n enableLoading = true,\n showError = true,\n }: UseApiProps) => {\n if (enableLoading) setLoading(true);\n loadingState?.(true);\n let response;\n try {\n response = await apiFunc();\n } catch (err: any) {\n response = {\n meta: { requestStatus: \"rejected\" },\n error: { message: err?.message || \"Something went wrong\" }\n };\n }\n if (enableLoading) setLoading(false);\n\n loadingState?.(false);\n apiHelper(\n {\n res: response,\n callBack: () => {\n onSuccess?.(response);\n },\n errorCallback: (err) => {\n onError?.(response);\n setError(errorMessage || err);\n },\n successMessage: successMessage,\n showError,\n enqueueSnackbar,\n }\n )\n\n return { response, error }\n\n }, [enqueueSnackbar])\n\n return { callApi, loading, error };\n}\n","import { useCallback, useEffect, useState } from \"react\";\nimport { Control, FieldValues, Path, PathValue, UseFormSetValue, useWatch } from \"react-hook-form\";\nimport { getApiConfig, getToken, isApiConfigInitialized, onApiConfigReady } from \"../utils\";\nimport { getV1SettingsConfigurations, setBaseUrl } from \"../api-client/api.accounting/api\";\nimport useApi from \"./useApi\";\n\ninterface UpdateMapping {\n [key: string]: string; // Form field name -> API config key\n}\n\ninterface UseFormFieldUpdaterConfig<T extends FieldValues = any> {\n control?: Control<T>;\n setValue?: UseFormSetValue<T>;\n watch?: any;\n fieldToUpdate: UpdateMapping;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n fieldArrayName?: string;\n transformResponse?: (data: any) => any;\n customDependencies?: any[];\n getFieldState?: any;\n isUpdateAccount?: boolean;\n}\nexport function initializeApiBaseUrls(): void {\n if (!isApiConfigInitialized()) {\n console.warn('API configuration not initialized yet. Base URLs will be set when configuration is available.');\n return;\n }\n\n const config = getApiConfig();\n const baseUrl = config.backendBaseUrl;\n\n setBaseUrl(`${baseUrl}/accounting`);\n}\n\nonApiConfigReady((config) => {\n const baseUrl = config.backendBaseUrl;\n setBaseUrl(`${baseUrl}/accounting`);\n});\n\n\nexport const useFormFieldUpdater = <T extends FieldValues = any>({\n control,\n setValue,\n fieldToUpdate,\n transformResponse,\n watch,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n customDependencies = [],\n getFieldState,\n isUpdateAccount = false\n}: UseFormFieldUpdaterConfig<T>) => {\n const { callApi } = useApi();\n\n\n const [initialState, setInitialState] = useState<{\n filters: { [companyField]: any;[locationField]: any;[departmentField]: any };\n values: Record<string, any>;\n } | null>(null);\n const companyPath = fieldArrayName ? `${fieldArrayName}.${companyField}` : companyField;\n const locationPath = fieldArrayName ? `${fieldArrayName}.${locationField}` : locationField;\n const departmentPath = fieldArrayName ? `${fieldArrayName}.${departmentField}` : departmentField;\n const data = watch?.(`${fieldArrayName}`) || {};\n const isDirtyCompany = getFieldState?.(companyPath)?.isDirty;\n const isDirtyLocation = getFieldState?.(locationPath)?.isDirty;\n const isDirtyDepartment = getFieldState?.(departmentPath)?.isDirty;\n const selectedCompany = data?.[companyField] || null;\n const selectedLocation = data?.[locationField] || null;\n const selectedDepartment = data?.[departmentField] || null;\n useEffect(() => {\n if (watch && !initialState) {\n const filters = {\n [companyField]: selectedCompany,\n [locationField]: selectedLocation,\n [departmentField]: selectedDepartment,\n };\n const values: Record<string, any> = {};\n Object.keys(fieldToUpdate).forEach((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n values[key] = watch(path as any);\n });\n\n setInitialState({ filters, values });\n }\n }, [watch, selectedCompany, selectedLocation, selectedDepartment, initialState, companyPath, locationPath, departmentPath, isDirtyCompany, isDirtyLocation, isDirtyDepartment]);\n\n const updateFields = useCallback((data: any, forceUpdate: boolean = false) => {\n if (!setValue || !data) return;\n\n const transformed = transformResponse ? transformResponse(data) : data;\n if (!transformed) return;\n\n Object.entries(fieldToUpdate).forEach(([sourceField, targetField]: any) => {\n const updateValue = transformed?.find((i: any) => i?.config_key == (typeof targetField == 'object' ? targetField.key : targetField));\n if (updateValue !== undefined && updateValue !== null) {\n const path = fieldArrayName ? `${fieldArrayName}.${sourceField}` : sourceField;\n\n // Check if field already has a value - skip update only if NOT force updating (edit mode protection)\n if (!forceUpdate) {\n const existingValue = watch?.(path as any);\n if (existingValue !== undefined && existingValue !== null && existingValue !== '') {\n return; // Skip updating fields that already have values\n }\n }\n\n if (typeof targetField == 'object') {\n targetField.value(updateValue?.reference_id || updateValue?.reference_text);\n } else {\n setValue(path as any, updateValue?.reference_id || updateValue?.reference_text);\n }\n }\n });\n }, [setValue, fieldToUpdate, transformResponse, fieldArrayName, watch, ...customDependencies]);\n\n\n\n const fetchAndUpdate = useCallback(async () => {\n if (!selectedCompany || !initialState) return;\n // Helper to extract ID from array/object values\n const getFilterValue = (val: any) => {\n if (Array.isArray(val)) {\n if (val.length === 0) return null;\n const firstVal = val[0];\n if (firstVal && typeof firstVal === 'object') return firstVal.id || firstVal.value || null;\n return firstVal || null;\n }\n if (val && typeof val === 'object') return val.id || val.value || null;\n return val || null;\n };\n\n const companyId = getFilterValue(selectedCompany);\n const locationId = getFilterValue(selectedLocation);\n const departmentId = getFilterValue(selectedDepartment);\n\n if (!companyId || !initialState) return;\n\n const initialFilters = {\n companyId: getFilterValue(initialState.filters[companyField]),\n locationId: getFilterValue(initialState.filters[locationField]),\n departmentId: getFilterValue(initialState.filters[departmentField]),\n };\n\n const isFilterChanged =\n initialFilters.companyId !== companyId ||\n initialFilters.locationId !== locationId ||\n initialFilters.departmentId !== departmentId;\n\n const isTargetFieldsEmpty = Object.keys(fieldToUpdate).every((key) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n const val = watch?.(path as any);\n return val === undefined || val === null || val === \"\";\n });\n\n if (!isFilterChanged && !isUpdateAccount && !isTargetFieldsEmpty) {\n Object.entries(initialState.values).forEach(([key, value]) => {\n const path = fieldArrayName ? `${fieldArrayName}.${key}` : key;\n setValue?.(path as any, value as any);\n });\n return;\n }\n\n const filter = `(company_id.eq=${companyId || 1}&location_id.eq=${locationId || null}&department_id.eq=${departmentId || null})`;\n\n // In edit mode (isUpdateAccount=true): only force update if user manually changed filter (isDirty)\n // In add mode: force update when filter changes\n const isUserChangedFilter = isDirtyCompany || isDirtyLocation || isDirtyDepartment;\n const shouldForceUpdate = isUpdateAccount\n ? (isFilterChanged && isUserChangedFilter) // Edit mode: only when user changed\n : isFilterChanged; // Add mode: any filter change\n\n callApi({\n apiFunc: () => getV1SettingsConfigurations({\n ...getToken(),\n filters: filter\n }),\n onSuccess: (res: any) => {\n updateFields(res?.data?.configuration_list, shouldForceUpdate);\n },\n onError: (err) => {\n console.error('Error fetching accounting settings:', err);\n }\n });\n }, [selectedCompany, selectedLocation, selectedDepartment, initialState, callApi, setValue, isDirtyCompany, isDirtyLocation, isDirtyDepartment, isUpdateAccount]);\n\n useEffect(() => {\n fetchAndUpdate();\n }, [fetchAndUpdate]);\n\n return {\n selectedCompany,\n selectedLocation,\n selectedDepartment\n };\n};\n\nexport const useAccountingSetting = ({\n fieldToUpdate,\n fieldArrayName,\n companyField = 'company_id',\n locationField = 'location_id',\n departmentField = 'department_id',\n formMethods,\n customDependencies = [],\n ...rest\n}: {\n fieldToUpdate: any;\n fieldArrayName?: string;\n companyField?: string;\n locationField?: string;\n departmentField?: string;\n setValue?: any;\n control?: any;\n formMethods?: any;\n customDependencies?: any[];\n}) => {\n const { setValue, control, watch, getFieldState } = formMethods || {};\n\n return useFormFieldUpdater({\n control,\n setValue,\n watch,\n companyField,\n locationField,\n departmentField,\n fieldToUpdate,\n fieldArrayName,\n customDependencies,\n getFieldState,\n ...rest\n });\n};","import { CheckboxProps, Checkbox as MUICheckbox, styled } from '@mui/material';\nimport { CheckBoxIcon, RecgtangleIcon } from '../icons';\nimport { memo } from 'react';\n\nconst StyledCheckbox = styled(MUICheckbox)(({ theme: { palette } }) => ({\n\tpadding: '0rem',\n\tcolor: palette.theme?.secondary[300],\n\tborderRadius: '.625rem',\n\t'&.Mui-checked': {\n\t\tcolor: palette.theme?.primary[600],\n\t\t'&:hover': {\n\t\t\tcolor: palette.theme?.primary[500]\n\t\t}\n\t},\n\t'&.Mui-disabled': {\n\t\tcolor: palette.theme?.secondary[400]\n\t}\n}));\n\nconst Checkbox = memo((props: CheckboxProps) => {\n\treturn (\n\t\t<StyledCheckbox\n\t\t\ticon={<RecgtangleIcon fontSize={props?.size || 'small'} />}\n\t\t\tcheckedIcon={<CheckBoxIcon fontSize={props?.size || 'small'} />}\n\t\t\tdisableRipple\n\t\t\t{...props}\n\t\t/>\n\t);\n});\n\nexport { Checkbox };\nexport default Checkbox;\n"],"names":["useRef","useContext","PermissionsContext","PageContext","useLocation","routeToResourceMap","useEffect","useMemo","_a","useSnackbar","useState","useCallback","isApiConfigInitialized","getApiConfig","setBaseUrl","onApiConfigReady","data","getV1SettingsConfigurations","getToken","styled","MUICheckbox","memo","jsx","RecgtangleIcon","CheckBoxIcon"],"mappings":"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"}
|
|
@@ -4,12 +4,12 @@ const React = require("react");
|
|
|
4
4
|
const reactRouterDom = require("react-router-dom");
|
|
5
5
|
const pathname_rental = require("./pathname.rental-C0Yjyyx7.js");
|
|
6
6
|
const useAuth = require("./useAuth-B3lJDoed.js");
|
|
7
|
-
const android12Switch = require("./android-12-switch-
|
|
7
|
+
const android12Switch = require("./android-12-switch-CN34IUv6.js");
|
|
8
8
|
const hooks = require("./hooks-DsdahmnZ.js");
|
|
9
9
|
const toolkit = require("@reduxjs/toolkit");
|
|
10
10
|
const formBuilderDeconversion = require("./form-builder-deconversion-Cvk9TQ1b.js");
|
|
11
11
|
const material = require("@mui/material");
|
|
12
|
-
const appbar = require("./appbar-
|
|
12
|
+
const appbar = require("./appbar-DmQnXpjh.js");
|
|
13
13
|
const images = require("./images-CY-_BlWh.js");
|
|
14
14
|
const reactHookForm = require("react-hook-form");
|
|
15
15
|
const tick = require("./tick-EnM_XLSR.js");
|
|
@@ -25,13 +25,13 @@ const reactI18next = require("react-i18next");
|
|
|
25
25
|
const notistack = require("notistack");
|
|
26
26
|
const formBuilderConversion = require("./form-builder-conversion-5iG4fWLb.js");
|
|
27
27
|
const common = require("./common-JwQWCeAL.js");
|
|
28
|
-
const pageContext = require("./page-context-
|
|
28
|
+
const pageContext = require("./page-context-Bl5SEL1G.js");
|
|
29
29
|
const reducer$1 = require("./reducer-BLwotO3x.js");
|
|
30
|
-
const checkbox$1 = require("./checkbox-
|
|
30
|
+
const checkbox$1 = require("./checkbox-DCDNuj0h.js");
|
|
31
31
|
const radioButton$1 = require("./radio-button-Z203yCd7.js");
|
|
32
32
|
const toggleSwitch = require("./toggle-switch-DxtcAFXc.js");
|
|
33
33
|
const trash = require("./trash-C63VDmtW.js");
|
|
34
|
-
const routePageMap = require("./route-page-map-
|
|
34
|
+
const routePageMap = require("./route-page-map-C_stv0lM.js");
|
|
35
35
|
const identifier = require("./identifier-CaTy7Osd.js");
|
|
36
36
|
const core = require("@dnd-kit/core");
|
|
37
37
|
const _ = require("lodash");
|
|
@@ -12937,4 +12937,4 @@ exports.useCKEditorStyleExtractor = useCKEditorStyleExtractor;
|
|
|
12937
12937
|
exports.useFormDataEffect = useFormDataEffect;
|
|
12938
12938
|
exports.useFormDataProcessor = useFormDataProcessor;
|
|
12939
12939
|
exports.userData = userData;
|
|
12940
|
-
//# sourceMappingURL=default-data-
|
|
12940
|
+
//# sourceMappingURL=default-data-Av7VuzZ7.js.map
|