chore: Moves portal slug as ID to query resources in vue store (#5359)
This commit is contained in:
@@ -9,7 +9,6 @@ export const types = {
|
||||
ADD_PORTAL_ID: 'addPortalId',
|
||||
CLEAR_PORTALS: 'clearPortals',
|
||||
ADD_MANY_PORTALS_IDS: 'addManyPortalsIds',
|
||||
SET_SELECTED_PORTAL_ID: 'setSelectedPortalId',
|
||||
UPDATE_PORTAL_ENTRY: 'updatePortalEntry',
|
||||
REMOVE_PORTAL_ENTRY: 'removePortalEntry',
|
||||
REMOVE_PORTAL_ID: 'removePortalId',
|
||||
@@ -25,7 +24,7 @@ export const mutations = {
|
||||
},
|
||||
|
||||
[types.ADD_PORTAL_ENTRY]($state, portal) {
|
||||
Vue.set($state.portals.byId, portal.id, {
|
||||
Vue.set($state.portals.byId, portal.slug, {
|
||||
...portal,
|
||||
});
|
||||
},
|
||||
@@ -33,7 +32,7 @@ export const mutations = {
|
||||
[types.ADD_MANY_PORTALS_ENTRY]($state, portals) {
|
||||
const allPortals = { ...$state.portals.byId };
|
||||
portals.forEach(portal => {
|
||||
allPortals[portal.id] = portal;
|
||||
allPortals[portal.slug] = portal;
|
||||
});
|
||||
Vue.set($state.portals, 'byId', allPortals);
|
||||
},
|
||||
@@ -41,7 +40,7 @@ export const mutations = {
|
||||
[types.CLEAR_PORTALS]: $state => {
|
||||
Vue.set($state.portals, 'byId', {});
|
||||
Vue.set($state.portals, 'allIds', []);
|
||||
Vue.set($state.portals, 'uiFlags.byId', {});
|
||||
Vue.set($state.portals.uiFlags, 'byId', {});
|
||||
},
|
||||
|
||||
[types.SET_PORTALS_META]: ($state, data) => {
|
||||
@@ -50,41 +49,39 @@ export const mutations = {
|
||||
Vue.set($state.meta, 'currentPage', currentPage);
|
||||
},
|
||||
|
||||
[types.SET_SELECTED_PORTAL_ID]: ($state, portalId) => {
|
||||
Vue.set($state.portals, 'selectedPortalId', portalId);
|
||||
[types.ADD_PORTAL_ID]($state, portalSlug) {
|
||||
$state.portals.allIds.push(portalSlug);
|
||||
},
|
||||
|
||||
[types.ADD_PORTAL_ID]($state, portalId) {
|
||||
$state.portals.allIds.push(portalId);
|
||||
},
|
||||
|
||||
[types.ADD_MANY_PORTALS_IDS]($state, portalIds) {
|
||||
$state.portals.allIds.push(...portalIds);
|
||||
[types.ADD_MANY_PORTALS_IDS]($state, portalSlugs) {
|
||||
$state.portals.allIds.push(...portalSlugs);
|
||||
},
|
||||
|
||||
[types.UPDATE_PORTAL_ENTRY]($state, portal) {
|
||||
const portalId = portal.id;
|
||||
if (!$state.portals.allIds.includes(portalId)) return;
|
||||
const portalSlug = portal.slug;
|
||||
if (!$state.portals.allIds.includes(portalSlug)) return;
|
||||
|
||||
Vue.set($state.portals.byId, portalId, {
|
||||
Vue.set($state.portals.byId, portalSlug, {
|
||||
...portal,
|
||||
});
|
||||
},
|
||||
|
||||
[types.REMOVE_PORTAL_ENTRY]($state, portalId) {
|
||||
if (!portalId) return;
|
||||
[types.REMOVE_PORTAL_ENTRY]($state, portalSlug) {
|
||||
if (!portalSlug) return;
|
||||
|
||||
const { [portalId]: toBeRemoved, ...newById } = $state.portals.byId;
|
||||
const { [portalSlug]: toBeRemoved, ...newById } = $state.portals.byId;
|
||||
Vue.set($state.portals, 'byId', newById);
|
||||
},
|
||||
|
||||
[types.REMOVE_PORTAL_ID]($state, portalId) {
|
||||
$state.portals.allIds = $state.portals.allIds.filter(id => id !== portalId);
|
||||
[types.REMOVE_PORTAL_ID]($state, portalSlug) {
|
||||
$state.portals.allIds = $state.portals.allIds.filter(
|
||||
slug => slug !== portalSlug
|
||||
);
|
||||
},
|
||||
|
||||
[types.SET_HELP_PORTAL_UI_FLAG]($state, { portalId, uiFlags }) {
|
||||
const flags = $state.portals.uiFlags.byId[portalId];
|
||||
Vue.set($state.portals.uiFlags.byId, portalId, {
|
||||
[types.SET_HELP_PORTAL_UI_FLAG]($state, { portalSlug, uiFlags }) {
|
||||
const flags = $state.portals.uiFlags.byId[portalSlug];
|
||||
Vue.set($state.portals.uiFlags.byId, portalSlug, {
|
||||
...defaultPortalFlags,
|
||||
...flags,
|
||||
...uiFlags,
|
||||
|
||||
Reference in New Issue
Block a user