mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 10:31:15 +00:00
refactor(editor): Migrate part of the vuex store to pinia (#4484)
* ✨ Added pinia support. Migrated community nodes module. * ✨ Added ui pinia store, moved some data from root store to it, updated modals to work with pinia stores * ✨ Added ui pinia store and migrated a part of the root store * ✨ Migrated `settings` store to pinia * ✨ Removing vuex store refs from router * ✨ Migrated `users` module to pinia store * ⚡ Fixing errors after sync with master * ⚡ One more error after merge * ⚡ Created `workflows` pinia store. Moved large part of root store to it. Started updating references. * ✨ Finished migrating workflows store to pinia * ⚡ Renaming some getters and actions to make more sense * ✨ Finished migrating the root store to pinia * ✨ Migrated ndv store to pinia * ⚡ Renaming main panel dimensions getter so it doesn't clash with data prop name * ✔️ Fixing lint errors * ✨ Migrated `templates` store to pinia * ✨ Migrated the `nodeTypes`store * ⚡ Removed unused pieces of code and oold vuex modules * ✨ Adding vuex calls to pinia store, fi xing wrong references * 💄 Removing leftover $store refs * ⚡ Added legacy getters and mutations to store to support webhooks * ⚡ Added missing front-end hooks, updated vuex state subscriptions to pinia * ✔️ Fixing linting errors * ⚡ Removing vue composition api plugin * ⚡ Fixing main sidebar state when loading node view * 🐛 Fixing an error when activating workflows * 🐛 Fixing isses with workflow settings and executions auto-refresh * 🐛 Removing duplicate listeners which cause import error * 🐛 Fixing route authentication * ⚡ Updating freshly pulled $store refs * Adding deleted const * ⚡ Updating store references in ee features. Reseting NodeView credentials update flag when resetting workspace * ⚡ Adding return type to email submission modal * ⚡ Making NodeView only react to paste event when active * 🐛 Fixing signup view errors * 👌 Addressing PR review comments * 👌 Addressing new PR comments * 👌 Updating invite id logic in signup view
This commit is contained in:
committed by
GitHub
parent
c2c7927414
commit
40e413d958
@@ -24,12 +24,12 @@ import TemplatesWorkflowView from '@/views/TemplatesWorkflowView.vue';
|
||||
import TemplatesSearchView from '@/views/TemplatesSearchView.vue';
|
||||
import CredentialsView from '@/views/CredentialsView.vue';
|
||||
import WorkflowsView from '@/views/WorkflowsView.vue';
|
||||
import { Store } from 'vuex';
|
||||
import { IPermissions, IRootState } from './Interface';
|
||||
import { IPermissions } from './Interface';
|
||||
import { LOGIN_STATUS, ROLE } from './modules/userHelpers';
|
||||
import { RouteConfigSingleView } from 'vue-router/types/router';
|
||||
import { VIEWS } from './constants';
|
||||
import { store } from './store';
|
||||
import { useSettingsStore } from './stores/settings';
|
||||
import { useTemplatesStore } from './stores/templates';
|
||||
|
||||
Vue.use(Router);
|
||||
|
||||
@@ -37,18 +37,19 @@ interface IRouteConfig extends RouteConfigSingleView {
|
||||
meta: {
|
||||
nodeView?: boolean;
|
||||
templatesEnabled?: boolean;
|
||||
getRedirect?: (store: Store<IRootState>) => {name: string} | false;
|
||||
getRedirect?: () => {name: string} | false;
|
||||
permissions: IPermissions;
|
||||
telemetry?: {
|
||||
disabled?: true;
|
||||
getProperties: (route: Route, store: Store<IRootState>) => object;
|
||||
getProperties: (route: Route) => object;
|
||||
};
|
||||
scrollOffset?: number;
|
||||
};
|
||||
}
|
||||
|
||||
function getTemplatesRedirect(store: Store<IRootState>) {
|
||||
const isTemplatesEnabled: boolean = store.getters['settings/isTemplatesEnabled'];
|
||||
function getTemplatesRedirect() {
|
||||
const settingsStore = useSettingsStore();
|
||||
const isTemplatesEnabled: boolean = settingsStore.isTemplatesEnabled;
|
||||
if (!isTemplatesEnabled) {
|
||||
return {name: VIEWS.NOT_FOUND};
|
||||
}
|
||||
@@ -71,9 +72,8 @@ const router = new Router({
|
||||
path: '/',
|
||||
name: VIEWS.HOMEPAGE,
|
||||
meta: {
|
||||
getRedirect(store: Store<IRootState>) {
|
||||
getRedirect() {
|
||||
const startOnNewWorkflowRouteFlag = window.posthog?.isFeatureEnabled?.('start-at-wf-empty-state');
|
||||
|
||||
return { name: startOnNewWorkflowRouteFlag ? VIEWS.NEW_WORKFLOW : VIEWS.WORKFLOWS };
|
||||
},
|
||||
permissions: {
|
||||
@@ -93,10 +93,11 @@ const router = new Router({
|
||||
meta: {
|
||||
templatesEnabled: true,
|
||||
telemetry: {
|
||||
getProperties(route: Route, store: Store<IRootState>) {
|
||||
getProperties(route: Route) {
|
||||
const templatesStore = useTemplatesStore();
|
||||
return {
|
||||
collection_id: route.params.id,
|
||||
wf_template_repo_session_id: store.getters['templates/currentSessionId'],
|
||||
wf_template_repo_session_id: templatesStore.currentSessionId,
|
||||
};
|
||||
},
|
||||
},
|
||||
@@ -136,10 +137,11 @@ const router = new Router({
|
||||
templatesEnabled: true,
|
||||
getRedirect: getTemplatesRedirect,
|
||||
telemetry: {
|
||||
getProperties(route: Route, store: Store<IRootState>) {
|
||||
getProperties(route: Route) {
|
||||
const templatesStore = useTemplatesStore();
|
||||
return {
|
||||
template_id: route.params.id,
|
||||
wf_template_repo_session_id: store.getters['templates/currentSessionId'],
|
||||
wf_template_repo_session_id: templatesStore.currentSessionId,
|
||||
};
|
||||
},
|
||||
},
|
||||
@@ -163,9 +165,10 @@ const router = new Router({
|
||||
// Templates view remembers it's scroll position on back
|
||||
scrollOffset: 0,
|
||||
telemetry: {
|
||||
getProperties(route: Route, store: Store<IRootState>) {
|
||||
getProperties(route: Route) {
|
||||
const templatesStore = useTemplatesStore();
|
||||
return {
|
||||
wf_template_repo_session_id: store.getters['templates/currentSessionId'],
|
||||
wf_template_repo_session_id: templatesStore.currentSessionId,
|
||||
};
|
||||
},
|
||||
},
|
||||
@@ -378,7 +381,8 @@ const router = new Router({
|
||||
},
|
||||
deny: {
|
||||
shouldDeny: () => {
|
||||
return store.getters['settings/isUserManagementEnabled'] === false;
|
||||
const settingsStore = useSettingsStore();
|
||||
return settingsStore.isUserManagementEnabled === false;
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -431,7 +435,7 @@ const router = new Router({
|
||||
meta: {
|
||||
telemetry: {
|
||||
pageCategory: 'settings',
|
||||
getProperties(route: Route, store: Store<IRootState>) {
|
||||
getProperties(route: Route) {
|
||||
return {
|
||||
feature: 'users',
|
||||
};
|
||||
@@ -443,7 +447,8 @@ const router = new Router({
|
||||
},
|
||||
deny: {
|
||||
shouldDeny: () => {
|
||||
return store.getters['settings/isUserManagementEnabled'] === false;
|
||||
const settingsStore = useSettingsStore();
|
||||
return settingsStore.isUserManagementEnabled === false;
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -458,7 +463,7 @@ const router = new Router({
|
||||
meta: {
|
||||
telemetry: {
|
||||
pageCategory: 'settings',
|
||||
getProperties(route: Route, store: Store<IRootState>) {
|
||||
getProperties(route: Route) {
|
||||
return {
|
||||
feature: 'personal',
|
||||
};
|
||||
@@ -483,7 +488,7 @@ const router = new Router({
|
||||
meta: {
|
||||
telemetry: {
|
||||
pageCategory: 'settings',
|
||||
getProperties(route: Route, store: Store<IRootState>) {
|
||||
getProperties(route: Route) {
|
||||
return {
|
||||
feature: 'api',
|
||||
};
|
||||
@@ -495,7 +500,8 @@ const router = new Router({
|
||||
},
|
||||
deny: {
|
||||
shouldDeny: () => {
|
||||
return store.getters['settings/isPublicApiEnabled'] === false;
|
||||
const settingsStore = useSettingsStore();
|
||||
return settingsStore.isPublicApiEnabled === false;
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -517,7 +523,8 @@ const router = new Router({
|
||||
},
|
||||
deny: {
|
||||
shouldDeny: () => {
|
||||
return store.getters['settings/isCommunityNodesFeatureEnabled'] === false;
|
||||
const settingsStore = useSettingsStore();
|
||||
return settingsStore.isCommunityNodesFeatureEnabled === false;
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -531,7 +538,7 @@ const router = new Router({
|
||||
meta: {
|
||||
telemetry: {
|
||||
pageCategory: 'settings',
|
||||
getProperties(route: Route, store: Store<IRootState>) {
|
||||
getProperties(route: Route) {
|
||||
return {
|
||||
feature: route.params['featureId'],
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user