@tsparticles/editor
Version:
tsParticles Configuration Editor
72 lines (71 loc) • 2.79 kB
JavaScript
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "object-gui", "../../../../EditorBase", "@tsparticles/plugin-absorbers", "@tsparticles/plugin-emitters"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ClickEventsOptionsEditor = void 0;
const object_gui_1 = require("object-gui");
const EditorBase_1 = require("../../../../EditorBase");
const plugin_absorbers_1 = require("@tsparticles/plugin-absorbers");
const plugin_emitters_1 = require("@tsparticles/plugin-emitters");
class ClickEventsOptionsEditor extends EditorBase_1.EditorBase {
constructor(particles) {
super(particles);
}
addToGroup(parent) {
this.group = parent.addGroup("onClick", "Click Events");
this.options = this.group.data;
this.addProperties();
}
addProperties() {
this.group.addProperty("enable", "Enable", object_gui_1.EditorType.boolean).change(() => {
void this.particles().refresh();
});
const modeSelectInput = this.group
.addProperty("mode", "Mode", object_gui_1.EditorType.select)
.change(() => {
void this.particles().refresh();
})
.addItems([
{
value: "attract",
},
{
value: "bubble",
},
{
value: "pause",
},
{
value: "push",
},
{
value: "remove",
},
{
value: "repulse",
},
{
value: "trail",
},
]);
if (typeof plugin_absorbers_1.loadAbsorbersPlugin !== "undefined") {
const absorbersGroup = "Absorbers";
modeSelectInput.addItemGroup(absorbersGroup);
modeSelectInput.addItem("absorber", undefined, absorbersGroup);
}
if (typeof plugin_emitters_1.loadEmittersPlugin !== "undefined") {
const emittersGroup = "Emitters";
modeSelectInput.addItemGroup(emittersGroup);
modeSelectInput.addItem("emitter", undefined, emittersGroup);
}
}
}
exports.ClickEventsOptionsEditor = ClickEventsOptionsEditor;
});