From a73f952bfde33f61f720376a5488931fcb2aa463 Mon Sep 17 00:00:00 2001 From: Svornost <11434-svornost@users.noreply.gitgud.io> Date: Thu, 23 Apr 2020 13:44:49 -0700 Subject: [PATCH] Allow constructor inheritance to take care of event constructors. --- src/events/001-base/baseEvent.js | 2 +- src/events/RESS/lazyEvening.js | 4 ---- src/events/RESS/muscles.js | 4 ---- src/events/eventUtils.js | 11 ++++++----- src/events/reDevotees.js | 4 ---- 5 files changed, 7 insertions(+), 18 deletions(-) diff --git a/src/events/001-base/baseEvent.js b/src/events/001-base/baseEvent.js index 67bab1f667c..bd14a10f55d 100644 --- a/src/events/001-base/baseEvent.js +++ b/src/events/001-base/baseEvent.js @@ -2,7 +2,7 @@ App.Events.BaseEvent = class BaseEvent { /** build a new event * parameters are necessary for serialization (so that saving with the event active will work correctly) and should not normally be used directly - * child classes should forward to this implementation */ + * child classes will inherit this implementation automatically, and should not normally need their own constructor implementation */ constructor(actors, params) { /** @member {Array<number>} actors - a list of IDs for the actors participating in this event. */ this.actors = actors || []; diff --git a/src/events/RESS/lazyEvening.js b/src/events/RESS/lazyEvening.js index 2c9223306d5..f7197cbc038 100644 --- a/src/events/RESS/lazyEvening.js +++ b/src/events/RESS/lazyEvening.js @@ -1,8 +1,4 @@ App.Events.RESSLazyEvening = class RESSLazyEvening extends App.Events.BaseEvent { - constructor(actors, params) { - super(actors, params); - } - eventPrerequisites() { return []; } diff --git a/src/events/RESS/muscles.js b/src/events/RESS/muscles.js index 06dff12a6a2..2671d77a2ff 100644 --- a/src/events/RESS/muscles.js +++ b/src/events/RESS/muscles.js @@ -1,8 +1,4 @@ App.Events.RESSMuscles = class RESSMuscles extends App.Events.BaseEvent { - constructor(actors, params) { - super(actors, params); - } - eventPrerequisites() { return []; } diff --git a/src/events/eventUtils.js b/src/events/eventUtils.js index 9d3b23f75dc..8d67393b3c7 100644 --- a/src/events/eventUtils.js +++ b/src/events/eventUtils.js @@ -111,10 +111,10 @@ App.Events.Result = class { this.note = note; } - handle() { + handle(resultSpanID) { let frag = document.createDocumentFragment(); $(frag).append(App.Events.spaceSentences(this.handler())); - App.UI.DOM.replace("#result", frag); + App.UI.DOM.replace(`#${resultSpanID}`, frag); } /** build the response DOM (for use by addResponses) @@ -124,7 +124,7 @@ App.Events.Result = class { makeResponse(node) { let wrote = false; if (this.text && this.handler) { - node.appendChild(App.UI.DOM.link(this.text, () => this.handle())); + node.appendChild(App.UI.DOM.link(this.text, () => this.handle(node.id))); wrote = true; } if (this.note) { @@ -138,10 +138,11 @@ App.Events.Result = class { /** add a list of results for an event * @param {HTMLElement} node * @param {Array<App.Events.Result>} results + * @param {string} [elementID="result"] */ -App.Events.addResponses = function(node, results) { +App.Events.addResponses = function(node, results, elementID="result") { let resultSpan = document.createElement("span"); - resultSpan.id = "result"; + resultSpan.id = elementID; for (const result of results) { if (result.makeResponse(resultSpan)) { resultSpan.appendChild(document.createElement("br")); diff --git a/src/events/reDevotees.js b/src/events/reDevotees.js index 588cf915418..dd997e8f98e 100644 --- a/src/events/reDevotees.js +++ b/src/events/reDevotees.js @@ -1,8 +1,4 @@ App.Events.REDevotees = class REDevotees extends App.Events.BaseEvent { - constructor(actors, params) { - super(actors, params); - } - eventPrerequisites() { return []; // always valid if sufficient actors can be cast successfully } -- GitLab