Add results view JS implementation
authorjoshuaruesweg <ruesweg@woltlab.com>
Mon, 7 Feb 2022 10:39:15 +0000 (11:39 +0100)
committerjoshuaruesweg <ruesweg@woltlab.com>
Mon, 7 Feb 2022 10:42:22 +0000 (11:42 +0100)
ts/WoltLabSuite/Core/Ui/Poll/Manager/View/Results.ts [new file with mode: 0644]
wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Poll/Manager/Results.js [new file with mode: 0644]
wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Poll/Manager/View/Results.js [new file with mode: 0644]

diff --git a/ts/WoltLabSuite/Core/Ui/Poll/Manager/View/Results.ts b/ts/WoltLabSuite/Core/Ui/Poll/Manager/View/Results.ts
new file mode 100644 (file)
index 0000000..826fae4
--- /dev/null
@@ -0,0 +1,35 @@
+/**
+ * Implementation for poll result views.
+ *
+ * @author  Joshua Ruesweg
+ * @copyright  2001-2022 WoltLab GmbH
+ * @license  GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @module  WoltLabSuite/Core/Ui/Poll/Manager/View/Results
+ * @since   5.5
+ */
+
+import { ResponseData } from "../../../../Ajax/Data";
+import { PollViews } from "../Manager";
+import Abstract from "./Abstract";
+
+export class Results extends Abstract {
+  public checkVisibility(view: PollViews): void {
+    if (view !== PollViews.results) {
+      this.showButton();
+    } else {
+      this.hideButton();
+    }
+  }
+  protected getButtonSelector(): string {
+    return ".showResultsButton";
+  }
+  protected getActionName(): string {
+    return "getResult";
+  }
+
+  protected success(data: ResponseData): void {
+    this.pollManager.changeView(PollViews.results, data.template);
+  }
+}
+
+export default Results;
diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Poll/Manager/Results.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Poll/Manager/Results.js
new file mode 100644 (file)
index 0000000..0f49780
--- /dev/null
@@ -0,0 +1,19 @@
+define(["require", "exports", "tslib", "./Abstract"], function (require, exports, tslib_1, Abstract_1) {
+    "use strict";
+    Object.defineProperty(exports, "__esModule", { value: true });
+    exports.Results = void 0;
+    Abstract_1 = (0, tslib_1.__importDefault)(Abstract_1);
+    class Results extends Abstract_1.default {
+        getButtonSelector() {
+            return ".showResultsButton";
+        }
+        getActionName() {
+            return "getResult";
+        }
+        success(data) {
+            this.setInnerContainer(data.template);
+        }
+    }
+    exports.Results = Results;
+    exports.default = Results;
+});
diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Poll/Manager/View/Results.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Poll/Manager/View/Results.js
new file mode 100644 (file)
index 0000000..ff45444
--- /dev/null
@@ -0,0 +1,36 @@
+/**
+ * Implementation for poll result views.
+ *
+ * @author  Joshua Ruesweg
+ * @copyright  2001-2022 WoltLab GmbH
+ * @license  GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @module  WoltLabSuite/Core/Ui/Poll/Manager/View/Results
+ * @since   5.5
+ */
+define(["require", "exports", "tslib", "../Manager", "./Abstract"], function (require, exports, tslib_1, Manager_1, Abstract_1) {
+    "use strict";
+    Object.defineProperty(exports, "__esModule", { value: true });
+    exports.Results = void 0;
+    Abstract_1 = (0, tslib_1.__importDefault)(Abstract_1);
+    class Results extends Abstract_1.default {
+        checkVisibility(view) {
+            if (view !== Manager_1.PollViews.results) {
+                this.showButton();
+            }
+            else {
+                this.hideButton();
+            }
+        }
+        getButtonSelector() {
+            return ".showResultsButton";
+        }
+        getActionName() {
+            return "getResult";
+        }
+        success(data) {
+            this.pollManager.changeView(Manager_1.PollViews.results, data.template);
+        }
+    }
+    exports.Results = Results;
+    exports.default = Results;
+});