Here's the relevant code-
CONFIG.theme.activeScheme ? react.createElement(SortBox, {
onChange: this.updateColourScheme.bind(this),
onnewschemes: this.setState({}),
// TODO: Make this compatible with the changes to the theme install process: need to create a method to update the scheme options without a full reload.
sortBoxOptions: generateSchemesOptions(CONFIG.theme.schemes),
// It doesn't work when I directly use CONFIG.theme.activeScheme in the sortBySelectedFn
// because it hardcodes the value into the fn
sortBySelectedFn: (a) => a.key === this.getActiveScheme(),
}) : null,
My preferred end result is to be able to reload JUST the sortbox component using an via the onnewschemes event(I pretty much need to refresh all of the options within a little drop down method from outside the render itself.) The event dispatcher i have looks like so:
const schemeSelector = document.querySelector("div.marketplace-header > div > div");
const newSchemeEvent = new CustomEvent("newschemes", {
bubbles: true,
detail: { schemes: () => parsedSchemes },
});
schemeSelector.dispatchEvent(newSchemeEvent);