UNPKG

@tsparticles/editor

Version:

tsParticles Configuration Editor

72 lines (71 loc) 2.79 kB
(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; });