|
|
|
@ -5,7 +5,7 @@ import { Toaster } from '@remix-ui/toaster' |
|
|
|
|
import { IframePlugin, WebsocketPlugin } from '@remixproject/engine-web' |
|
|
|
|
|
|
|
|
|
import { localPluginReducerActionType, localPluginToastReducer } from '../reducers/pluginManagerReducer' |
|
|
|
|
import { FormStateProps, PluginManagerComponent } from '../../types' |
|
|
|
|
import { canActivate, FormStateProps, PluginManagerComponent } from '../../types' |
|
|
|
|
|
|
|
|
|
interface LocalPluginFormProps { |
|
|
|
|
closeModal: () => void |
|
|
|
@ -51,6 +51,7 @@ function LocalPluginForm ({ closeModal, visible, pluginManager }: LocalPluginFor |
|
|
|
|
setMethods(storagePlugin.methods) |
|
|
|
|
setType(storagePlugin.type) |
|
|
|
|
setDisplayName(storagePlugin.displayName) |
|
|
|
|
setCanactivate(storagePlugin.canActivate) |
|
|
|
|
}, []) |
|
|
|
|
|
|
|
|
|
const handleModalOkClick = async () => { |
|
|
|
@ -61,7 +62,7 @@ function LocalPluginForm ({ closeModal, visible, pluginManager }: LocalPluginFor |
|
|
|
|
} |
|
|
|
|
if (!location) throw new Error('Plugin should have a location') |
|
|
|
|
if (!url) throw new Error('Plugin should have an URL') |
|
|
|
|
const newMethods = typeof methods === 'string' ? methods.split(',').filter(val => val) : [] |
|
|
|
|
const newMethods = typeof methods === 'string' ? methods.split(',').filter(val => val).map(val => { return val.trim() }) : [] |
|
|
|
|
const targetPlugin = { |
|
|
|
|
name: name, |
|
|
|
|
displayName: displayName, |
|
|
|
@ -75,7 +76,7 @@ function LocalPluginForm ({ closeModal, visible, pluginManager }: LocalPluginFor |
|
|
|
|
type: type, |
|
|
|
|
location: location, |
|
|
|
|
icon: 'assets/img/localPlugin.webp', |
|
|
|
|
canActivate: typeof canactivate === 'string' ? canactivate.split(',').filter(val => val) : [] |
|
|
|
|
canActivate: typeof canactivate === 'string' ? canactivate.split(',').filter(val => val).map(val => { return val.trim() }) : [] |
|
|
|
|
} |
|
|
|
|
const localPlugin = type === 'iframe' ? new IframePlugin(initialState) : new WebsocketPlugin(initialState) |
|
|
|
|
localPlugin.profile.hash = `local-${name}` |
|
|
|
|