feat: optimize accounts performance.

feat: optimize alerts architecture.
feat: optimize datatable architecture.
feat: optimize datatable style.
This commit is contained in:
a.bouhuolia
2021-01-26 08:44:11 +02:00
parent 0655963607
commit b26f6c937c
70 changed files with 1607 additions and 1012 deletions

View File

@@ -13,5 +13,21 @@ export function closeDialog(name, payload) {
type: t.CLOSE_DIALOG,
name: name,
payload: payload,
}
};
}
export function openAlert(name, payload) {
return {
type: t.OPEN_ALERT,
name,
payload,
};
}
export function closeAlert(name, payload) {
return {
type: t.CLOSE_ALERT,
name,
payload,
};
}

View File

@@ -11,6 +11,7 @@ const initialState = {
sidebarExpended: true,
previousSidebarExpended: null,
dialogs: {},
alerts: {},
topbarEditViewId: null,
requestsLoading: 0,
backLink: false,
@@ -47,6 +48,20 @@ const reducerInstance = createReducer(initialState, {
};
},
[t.OPEN_ALERT]: (state, action) => {
state.alerts[action.name] = {
isOpen: true,
payload: action.payload || {},
};
},
[t.CLOSE_ALERT]: (state, action) => {
state.alerts[action.name] = {
...state.alerts[action.name],
isOpen: false,
};
},
[t.CLOSE_ALL_DIALOGS]: (state, action) => {
},

View File

@@ -14,4 +14,20 @@ export const getDialogPayloadFactory = () => createSelector(
(dialog) => {
return { ...dialog?.payload };
},
);
);
const alertByNameSelector = (state, props) => state.dashboard.alerts?.[props.name];
export const isAlertOpenFactory = () => createSelector(
alertByNameSelector,
(alert) => {
return alert && alert.isOpen;
},
);
export const getAlertPayloadFactory = () => createSelector(
alertByNameSelector,
(alert) => {
return { ...alert?.payload };
},
);

View File

@@ -1,10 +1,11 @@
export default {
OPEN_DIALOG: 'OPEN_DIALOG',
CLOSE_DIALOG: 'CLOSE_DIALOG',
OPEN_ALERT: 'OPEN_ALERT',
CLOSE_ALERT: 'CLOSE_ALERT',
CLOSE_ALL_DIALOGS: 'CLOSE_ALL_DIALOGS',
CLOSE_ALL_ALERTS: 'CLOSE_ALL_ALERTS',
CHANGE_DASHBOARD_PAGE_TITLE: 'CHANGE_DASHBOARD_PAGE_TITLE',
CHANGE_DASHBOARD_PAGE_HINT: 'CHANGE_DASHBOARD_PAGE_HINT',
CHANGE_PREFERENCES_PAGE_TITLE: 'CHANGE_PREFERENCES_PAGE_TITLE',