mirror of
https://github.com/rio-labs/rio.git
synced 2026-02-11 08:10:29 -06:00
31 lines
913 B
TypeScript
31 lines
913 B
TypeScript
import { devToolsConnector } from "../app";
|
|
import { applyIcon } from "../designApplication";
|
|
import { ComponentBase, ComponentState, DeltaState } from "./componentBase";
|
|
|
|
export type ComponentPickerState = ComponentState & {
|
|
_type_: "ComponentPicker-builtin";
|
|
};
|
|
|
|
export class ComponentPickerComponent extends ComponentBase<ComponentPickerState> {
|
|
protected createElement(
|
|
context: ComponentStatesUpdateContext
|
|
): HTMLElement {
|
|
let element = document.createElement("div");
|
|
element.classList.add("rio-component-picker");
|
|
|
|
applyIcon(element, "material/arrow_selector_tool:fill");
|
|
|
|
element.addEventListener("click", this.pickComponent.bind(this));
|
|
|
|
return element;
|
|
}
|
|
|
|
async pickComponent() {
|
|
this.element.classList.add("active");
|
|
|
|
await devToolsConnector!.pickComponent();
|
|
|
|
this.element.classList.remove("active");
|
|
}
|
|
}
|