mirror of
https://github.com/storytold/storyteller-bevy.git
synced 2026-10-14 23:53:14 +00:00
c9904a5293
This PR begins fleshing out the front-end UI for inspecting the selected entity's components. ### Implemented * Support for the `Name` component * Placeholder/WIP support for the `Transform` component ### To-do * Support for sending changes made in the inspector back to Bevy * A slider/field combo widget for numeric values (can be adapted from [this StackBlitz](https://stackblitz.com/edit/angular-wfikuy?file=src%2Ffloat-input%2Ffloat-input.component.ts)) * Quat -> Euler angles conversion ([example math here](https://github.com/dannymcgee/3DGameMath/blob/5cb7a8ff9310565329e57751cd8b9c33e9bd4cb7/libs/Math/include/math/quat.inl.hpp#L56-L78), or use a 3rd-party math library) ### Known issues * Selecting entities from the hierarchy doesn't always update the components list. I suspect this is the same issue as #39
38 lines
990 B
TypeScript
38 lines
990 B
TypeScript
import { LitElement } from "lit";
|
|
import { property } from "lit/decorators.js";
|
|
|
|
export abstract class FormFieldBaseElement extends LitElement {
|
|
static formAssociated = true;
|
|
|
|
@property({ type: Boolean }) disabled = false;
|
|
@property({ type: Boolean }) readonly = false;
|
|
@property({ type: Number }) override tabIndex = 0;
|
|
|
|
get form() { return this.internals.form; }
|
|
get name() { return this.getAttribute("name"); }
|
|
get type() { return this.localName; }
|
|
|
|
get validity() { return this.internals.validity; }
|
|
get validationMessage() { return this.internals.validationMessage; }
|
|
get willValidate() { return this.internals.willValidate; }
|
|
|
|
protected internals: ElementInternals;
|
|
|
|
constructor () {
|
|
super();
|
|
this.internals = this.attachInternals();
|
|
}
|
|
|
|
checkValidity(): boolean {
|
|
return this.internals.checkValidity();
|
|
}
|
|
|
|
reportValidity(): boolean {
|
|
return this.internals.reportValidity();
|
|
}
|
|
|
|
formDisabledCallback(disabled: boolean): void {
|
|
this.disabled = disabled;
|
|
}
|
|
}
|