Skip to content

Instantly share code, notes, and snippets.

@ndugger
Last active March 29, 2019 08:12
Show Gist options
  • Save ndugger/93e2ab102d18ff0cf1b904ccb0d83d26 to your computer and use it in GitHub Desktop.
Save ndugger/93e2ab102d18ff0cf1b904ccb0d83d26 to your computer and use it in GitHub Desktop.
import * as Quark from 'quark';
interface TestState {
clicked: boolean;
}
const state = new Quark.Store<TestState>({
clicked: false
});
@Quark.subscribe(state)
class TestButton extends Quark.Widget {
private handleButtonClick(): void {
state.set('clicked', true);
}
public design(): string {
return `
.HTMLButtonElement {
background: blue;
color: white;
}
.HTMLButtonElement.xyz {
color: yellow;
}
`;
}
public render(): Quark.Node[] {
const clicked = state.get('clicked');
return [
new Quark.Node(HTMLButtonElement, { className: 'xyz', onclick: (e) => this.handleButtonClick() }, [
new Quark.Node(HTMLSlotElement),
new Quark.Node(HTMLSpanElement, { textContent: `(clicked: ${ clicked })` })
])
];
}
}
@Quark.subscribe(state)
class TestCanvas extends Quark.Widget {
...
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment