50 lines
1.3 KiB
TypeScript
50 lines
1.3 KiB
TypeScript
import { createCrudHandler } from '~/handlers/_handler'
|
|
import { postDivision, patchDivision, removeDivision } from '~/services/division.service'
|
|
import {
|
|
postDivisionPosition,
|
|
patchDivisionPosition,
|
|
removeDivisionPosition,
|
|
} from '~/services/division-position.service'
|
|
|
|
function selectPost(payload: any) {
|
|
if (payload.division_id && Number(payload.division_id) > 0) {
|
|
return postDivisionPosition
|
|
}
|
|
delete payload.division_id;
|
|
return postDivision
|
|
}
|
|
|
|
function selectPatch(id: number | string, payload: any) {
|
|
if (payload.division_id && Number(payload.division_id) > 0) {
|
|
return patchDivisionPosition
|
|
}
|
|
delete payload.division_id;
|
|
return patchDivision
|
|
}
|
|
|
|
function selectRemove(payload: any) {
|
|
if (payload.division_id && Number(payload.division_id) > 0) {
|
|
return removeDivisionPosition
|
|
}
|
|
return removeDivision
|
|
}
|
|
|
|
export const {
|
|
recId,
|
|
recAction,
|
|
recItem,
|
|
isReadonly,
|
|
isProcessing,
|
|
isFormEntryDialogOpen,
|
|
isRecordConfirmationOpen,
|
|
onResetState,
|
|
handleActionSave,
|
|
handleActionEdit,
|
|
handleActionRemove,
|
|
handleCancelForm,
|
|
} = createCrudHandler({
|
|
post: (payload: any) => selectPost(payload)(payload),
|
|
patch: (id: number | string, payload: any) => selectPatch(id, payload)(id, payload),
|
|
remove: (payload: any) => selectRemove(payload)(payload),
|
|
})
|