# Pull Request Template ## Description This PR introduces a new Companies section in the Chatwoot dashboard. It lists all companies associated with the account and includes features such as **search**, **sorting**, and **pagination** to enable easier navigation and efficient management. Fixes https://linear.app/chatwoot/issue/CW-5928/add-companies-tab-to-dashboard ## Type of change - [x] New feature (non-breaking change which adds functionality) ## How Has This Been Tested? ### Screenshot <img width="1619" height="1200" alt="image" src="https://github.com/user-attachments/assets/21f0a666-c3d6-4dec-bd02-1e38e0cd9542" /> ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my code - [x] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules --------- Co-authored-by: Vinay Keerthi <11478411+stonecharioteer@users.noreply.github.com> Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
30 lines
865 B
JavaScript
30 lines
865 B
JavaScript
import CompanyAPI from 'dashboard/api/companies';
|
|
import { createStore } from 'dashboard/store/captain/storeFactory';
|
|
import camelcaseKeys from 'camelcase-keys';
|
|
|
|
export default createStore({
|
|
name: 'Company',
|
|
API: CompanyAPI,
|
|
getters: {
|
|
getCompaniesList: state => {
|
|
return camelcaseKeys(state.records, { deep: true });
|
|
},
|
|
},
|
|
actions: mutationTypes => ({
|
|
search: async ({ commit }, { search, page, sort }) => {
|
|
commit(mutationTypes.SET_UI_FLAG, { fetchingList: true });
|
|
try {
|
|
const {
|
|
data: { payload, meta },
|
|
} = await CompanyAPI.search(search, page, sort);
|
|
commit(mutationTypes.SET, payload);
|
|
commit(mutationTypes.SET_META, meta);
|
|
} catch (error) {
|
|
// Error
|
|
} finally {
|
|
commit(mutationTypes.SET_UI_FLAG, { fetchingList: false });
|
|
}
|
|
},
|
|
}),
|
|
});
|