feat: Adds the ability to create a new article (#5255)

This commit is contained in:
Muhsin Keloth
2022-08-18 11:45:08 +05:30
committed by GitHub
parent 45d0d101b1
commit 0cd08065d1
9 changed files with 117 additions and 36 deletions

View File

@@ -26,6 +26,7 @@ export const mutations = {
articles.forEach(article => {
allArticles[article.id] = article;
});
Vue.set($state.articles, 'byId', allArticles);
},
[types.ADD_MANY_ARTICLES_ID]($state, articleIds) {
@@ -39,10 +40,13 @@ export const mutations = {
},
[types.ADD_ARTICLE_ID]: ($state, articleId) => {
if ($state.articles.allIds.includes(articleId)) return;
$state.articles.allIds.push(articleId);
},
[types.ADD_ARTICLE_FLAG]: ($state, { articleId, uiFlags }) => {
const flags = $state.articles.uiFlags.byId[articleId];
[types.UPDATE_ARTICLE_FLAG]: ($state, { articleId, uiFlags }) => {
const flags =
Object.keys($state.articles.uiFlags.byId).includes(articleId) || {};
Vue.set($state.articles.uiFlags.byId, articleId, {
...{
isFetching: false,
@@ -53,6 +57,16 @@ export const mutations = {
...uiFlags,
});
},
[types.ADD_ARTICLE_FLAG]: ($state, { articleId, uiFlags }) => {
Vue.set($state.articles.uiFlags.byId, articleId, {
...{
isFetching: false,
isUpdating: false,
isDeleting: false,
},
...uiFlags,
});
},
[types.UPDATE_ARTICLE]($state, article) {
const articleId = article.id;
if (!$state.articles.allIds.includes(articleId)) return;