https://smartacephale.github.io/Jabroni-Outfit-GUI/
- Store vaiables are persistent by default.
- Store variable with <$> prefix are not persistent.
import { JabronioStore, JabronioGUI } from 'jabroni-outfit';<script src="https://unpkg.com/jabroni-outfit@latest/dist/jabroni-outfit.umd.js"></script>
...
const { JabronioStore, JabronioGUI } = window.jabronioutfit;const { JabronioGUI, JabronioStore, setupScheme, DefaultScheme } = window.jabronioutfit;
const example2 = () => {
const customState = {
uiEnabled: true,
hidden: false,
};
const store = new JabronioStore(customState);
const scheme = setupScheme([
{
title: 'Colors',
collapsed: true,
content: [
{
$color1: 'coral',
},
{
color2: 'crimson',
},
{
$color3: 'tomato',
},
{
size: 100,
type: 'range',
max: '500',
min: '0',
},
{
gradientEnabled: true,
label: 'gradient enabled',
},
{
reset: () => {
store.state.$color1 = 'darkslateblue';
store.state.color2 = 'maroon';
store.state.$color3 = 'darksalmon';
},
},
],
},
]);
new JabronioGUI(scheme, store);
function drawGradient() {
const { $color1, color2, $color3, gradientEnabled, size } = store.state;
if (!gradientEnabled) {
document.body.style.background = '#000';
return;
}
document.body.style.background = `repeating-radial-gradient(${$color1}, ${color2}, ${$color3} ${size}%)`;
}
drawGradient();
store.stateSubject.subscribe((a) => {
console.log('trigger', a);
drawGradient();
});
store.eventSubject.subscribe((e) => {
console.log('event', e);
});
};
example2();