mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 21:00:31 +00:00
re-structure to monorepo.
This commit is contained in:
17
packages/webapp/src/store/CreditNote/creditNote.actions.tsx
Normal file
17
packages/webapp/src/store/CreditNote/creditNote.actions.tsx
Normal file
@@ -0,0 +1,17 @@
|
||||
// @ts-nocheck
|
||||
import t from '@/store/types';
|
||||
|
||||
export const setCreditNoteTableState = (queries) => {
|
||||
return {
|
||||
type: t.CREDIT_NOTES_TABLE_STATE_SET,
|
||||
payload: { queries },
|
||||
};
|
||||
};
|
||||
|
||||
export const resetCreditNoteTableState = () => {
|
||||
return {
|
||||
type: t.CREDIT_NOTES_TABLE_STATE_RESET,
|
||||
};
|
||||
};
|
||||
|
||||
export const setSelectedRowsItems = () => {};
|
||||
35
packages/webapp/src/store/CreditNote/creditNote.reducer.tsx
Normal file
35
packages/webapp/src/store/CreditNote/creditNote.reducer.tsx
Normal file
@@ -0,0 +1,35 @@
|
||||
// @ts-nocheck
|
||||
import { createReducer } from '@reduxjs/toolkit';
|
||||
import { persistReducer, purgeStoredState } from 'redux-persist';
|
||||
import storage from 'redux-persist/lib/storage';
|
||||
import { createTableStateReducers } from '@/store/tableState.reducer';
|
||||
import t from '@/store/types';
|
||||
|
||||
export const defaultTableQuery = {
|
||||
pageSize: 20,
|
||||
pageIndex: 0,
|
||||
filterRoles: [],
|
||||
viewSlug: null,
|
||||
};
|
||||
|
||||
const initialState = {
|
||||
tableState: defaultTableQuery,
|
||||
};
|
||||
|
||||
const STORAGE_KEY = 'bigcapital:credit_notes';
|
||||
|
||||
const CONFIG = {
|
||||
key: STORAGE_KEY,
|
||||
whitelist: [],
|
||||
storage,
|
||||
};
|
||||
|
||||
const reducerInstance = createReducer(initialState, {
|
||||
...createTableStateReducers('CREDIT_NOTES', defaultTableQuery),
|
||||
|
||||
[t.RESET]: () => {
|
||||
purgeStoredState(CONFIG);
|
||||
},
|
||||
});
|
||||
|
||||
export default persistReducer(CONFIG, reducerInstance);
|
||||
30
packages/webapp/src/store/CreditNote/creditNote.selector.tsx
Normal file
30
packages/webapp/src/store/CreditNote/creditNote.selector.tsx
Normal file
@@ -0,0 +1,30 @@
|
||||
// @ts-nocheck
|
||||
import { isEqual } from 'lodash';
|
||||
import { paginationLocationQuery } from '@/store/selectors';
|
||||
import { createDeepEqualSelector } from '@/utils';
|
||||
import { defaultTableQuery } from './creditNote.reducer';
|
||||
|
||||
const creditsTableStateSelector = (state) => state.creditNotes.tableState;
|
||||
|
||||
/**
|
||||
* Retrieve credit notes table state.
|
||||
*/
|
||||
export const getCreditNotesTableStateFactory = () =>
|
||||
createDeepEqualSelector(
|
||||
paginationLocationQuery,
|
||||
creditsTableStateSelector,
|
||||
(locationQuery, tableState) => {
|
||||
return {
|
||||
...locationQuery,
|
||||
...tableState,
|
||||
};
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* Retrieve credit notes table state.
|
||||
*/
|
||||
export const isCreditNotesTableStateChangedFactory = () =>
|
||||
createDeepEqualSelector(creditsTableStateSelector, (tableState) => {
|
||||
return !isEqual(tableState, defaultTableQuery);
|
||||
});
|
||||
5
packages/webapp/src/store/CreditNote/creditNote.type.tsx
Normal file
5
packages/webapp/src/store/CreditNote/creditNote.type.tsx
Normal file
@@ -0,0 +1,5 @@
|
||||
// @ts-nocheck
|
||||
export default {
|
||||
CREDIT_NOTES_TABLE_STATE_SET: 'CREDIT_NOTES/TABLE_STATE_SET',
|
||||
CREDIT_NOTES_TABLE_STATE_RESET: 'CREDIT_NOTE/TABLE_STATE_RESET',
|
||||
};
|
||||
Reference in New Issue
Block a user