mirror of
https://github.com/n8n-io/n8n.git
synced 2024-11-13 16:14:07 -08:00
98ec23544b
* add menu item
* implement versions modal
* fix up modal
* clean up badges
* implement key features
* fix up spacing
* add error message
* add notification icon
* fix notification
* fix bug when no updates
* address lint issues
* address multi line nodes
* add closing animation
* keep drawer open
* address design feedback
* address badge styling
* use grid for icons
* update cli to return version information
* set env variables
* add scss color variables
* address comments
* fix lint issue
* handle edge cases
* update scss variables, spacing
* update spacing
* build
* override top value for theme
* bolden version
* update config
* check endpoint exists
* handle long names
* set dates
* set title
* fix bug
* update warning
* remove unused component
* refactor components
* add fragments
* inherit styles
* fix icon size
* fix lint issues
* add cli dep
* address comments
* handle network error
* address empty case
* Revert "address comments"
480f969e07
* remove dependency
* build
* update variable names
* update variable names
* refactor verion card
* split out variables
* clean up impl
* clean up scss
* move from nodeview
* refactor out gift notification icon
* fix lint issues
* clean up variables
* update scss variables
* update info url
* Add instanceId to frontendSettings
* Use createHash from crypto module
* Add instanceId to store & send it as http header
* Fix lintings
* Fix interfaces & apply review changes
* Apply review changes
* add console message
* update text info
* update endpoint
* clean up interface
* address comments
* cleanup todo
* Update packages/cli/config/index.ts
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
* update console message
* ⚡ Display node-name on hover
* ⚡ Formatting fix
Co-authored-by: MedAliMarz <servfrdali@yahoo.fr>
Co-authored-by: Ben Hesseldieck <1849459+BHesseldieck@users.noreply.github.com>
Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
62 lines
1.8 KiB
TypeScript
62 lines
1.8 KiB
TypeScript
import { getNextVersions } from '@/api/versions';
|
|
import { ActionContext, Module } from 'vuex';
|
|
import {
|
|
IRootState,
|
|
IVersion,
|
|
IVersionsState,
|
|
} from '../Interface';
|
|
|
|
const module: Module<IVersionsState, IRootState> = {
|
|
namespaced: true,
|
|
state: {
|
|
versionNotificationSettings: {
|
|
enabled: false,
|
|
endpoint: '',
|
|
infoUrl: '',
|
|
},
|
|
nextVersions: [],
|
|
currentVersion: undefined,
|
|
},
|
|
getters: {
|
|
hasVersionUpdates(state: IVersionsState) {
|
|
return state.nextVersions.length > 0;
|
|
},
|
|
nextVersions(state: IVersionsState) {
|
|
return state.nextVersions;
|
|
},
|
|
currentVersion(state: IVersionsState) {
|
|
return state.currentVersion;
|
|
},
|
|
areNotificationsEnabled(state: IVersionsState) {
|
|
return state.versionNotificationSettings.enabled;
|
|
},
|
|
infoUrl(state: IVersionsState) {
|
|
return state.versionNotificationSettings.infoUrl;
|
|
},
|
|
},
|
|
mutations: {
|
|
setVersions(state: IVersionsState, {versions, currentVersion}: {versions: IVersion[], currentVersion: string}) {
|
|
state.nextVersions = versions.filter((version) => version.name !== currentVersion);
|
|
state.currentVersion = versions.find((version) => version.name === currentVersion);
|
|
},
|
|
setVersionNotificationSettings(state: IVersionsState, settings: {enabled: true, endpoint: string, infoUrl: string}) {
|
|
state.versionNotificationSettings = settings;
|
|
},
|
|
},
|
|
actions: {
|
|
async fetchVersions(context: ActionContext<IVersionsState, IRootState>) {
|
|
try {
|
|
const { enabled, endpoint } = context.state.versionNotificationSettings;
|
|
if (enabled && endpoint) {
|
|
const currentVersion = context.rootState.versionCli;
|
|
const instanceId = context.rootState.instanceId;
|
|
const versions = await getNextVersions(endpoint, currentVersion, instanceId);
|
|
context.commit('setVersions', {versions, currentVersion});
|
|
}
|
|
} catch (e) {
|
|
}
|
|
},
|
|
},
|
|
};
|
|
|
|
export default module; |