@tsparticles/editor
Version:
tsParticles Configuration Editor
44 lines (43 loc) • 1.36 kB
JavaScript
import { InteractivityDetect } from "@tsparticles/engine";
import { EditorType } from "object-gui";
import { EditorBase } from "../../../EditorBase";
import { EventsOptionsEditor } from "./Events/EventsOptionsEditor";
import { ModesOptionsEditor } from "./Modes/ModesOptionsEditor";
export class InteractivityOptionsEditor extends EditorBase {
constructor(particles) {
super(particles);
}
addToGroup(parent) {
this.group = parent.addGroup("interactivity", "Interactivity");
this.options = this.group.data;
this.addEvents();
this.addModes();
this.addProperties();
}
addEvents() {
const options = new EventsOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addModes() {
const options = new ModesOptionsEditor(this.particles);
options.addToGroup(this.group);
}
addProperties() {
this.group
.addProperty("detectsOn", "Detects On", EditorType.select)
.change(() => {
void this.particles().refresh();
})
.addItems([
{
value: InteractivityDetect.canvas,
},
{
value: InteractivityDetect.parent,
},
{
value: InteractivityDetect.window,
},
]);
}
}