mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-10 02:54:15 +00:00
improve emitEvent & ctx
This commit is contained in:
parent
9d29fa0c10
commit
1c430df980
@ -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,
|
||||
}
|
||||
})}
|
||||
</div>
|
||||
@ -378,7 +381,12 @@ export default class SettingsMenu extends React.PureComponent {
|
||||
}</Translation>
|
||||
</h1>
|
||||
<div className="content">
|
||||
{group.map((item) => <SettingItem item={item} />)}
|
||||
{group.map((item) => <SettingItem
|
||||
item={item}
|
||||
ctx={{
|
||||
close: this.props.close
|
||||
}}
|
||||
/>)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user