diff --git a/packages/app/src/components/Settings/index.jsx b/packages/app/src/components/Settings/index.jsx index 684d3413..6a4477da 100755 --- a/packages/app/src/components/Settings/index.jsx +++ b/packages/app/src/components/Settings/index.jsx @@ -95,14 +95,18 @@ const SettingItem = (props) => { await window.app.settings.set(item.id, updateValue) } - if (typeof item.emitEvent === "string") { + if (typeof item.emitEvent !== "undefined") { let emissionPayload = updateValue if (typeof item.emissionValueUpdate === "function") { emissionPayload = item.emissionValueUpdate(emissionPayload) } - window.app.eventBus.emit(item.emitEvent, emissionPayload) + if (Array.isArray(item.emitEvent)) { + window.app.eventBus.emit(...item.emitEvent, emissionPayload) + } else if (typeof item.emitEvent === "string") { + window.app.eventBus.emit(item.emitEvent, emissionPayload) + } } if (item.noUpdate) { @@ -201,8 +205,6 @@ const SettingItem = (props) => { return null } - // fix props - switch (SettingComponent.toLowerCase()) { case "slidercolorpicker": { item.props.onChange = (color) => { @@ -305,6 +307,7 @@ const SettingItem = (props) => { currentValue: value, dispatchUpdate, onUpdateItem, + ...props.ctx, } })} @@ -378,7 +381,12 @@ export default class SettingsMenu extends React.PureComponent { }
- {group.map((item) => )} + {group.map((item) => )}