From 564f1742b6c5dd6df7d4a5b8c73998ec90e27185 Mon Sep 17 00:00:00 2001 From: Alexander Ebert Date: Sun, 1 Nov 2020 00:39:44 +0100 Subject: [PATCH] Support the ES5 legacy inheritance for all exported classes --- .../js/WoltLabSuite/Core/Ajax/Request.js | 3 +- .../js/WoltLabSuite/Core/CallbackList.js | 4 +- .../files/js/WoltLabSuite/Core/Dictionary.js | 4 +- .../js/WoltLabSuite/Core/Image/Resizer.js | 4 +- .../files/js/WoltLabSuite/Core/List.js | 4 +- .../files/js/WoltLabSuite/Core/ObjectMap.js | 4 +- .../files/js/WoltLabSuite/Core/Template.js | 4 +- .../js/WoltLabSuite/Core/Timer/Repeating.js | 4 +- .../js/WoltLabSuite/Core/Ui/Acl/Simple.js | 4 +- .../js/WoltLabSuite/Core/Ui/File/Delete.js | 1 + .../Core/Ui/Page/Menu/Abstract.js | 34 +++++++++----- .../js/WoltLabSuite/Core/Ui/Page/Menu/Main.js | 4 +- .../js/WoltLabSuite/Core/Ui/Page/Menu/User.js | 4 +- .../WoltLabSuite/Core/Ui/Page/Search/Input.js | 1 + .../js/WoltLabSuite/Core/Ui/Pagination.js | 1 + .../js/WoltLabSuite/Core/Ui/Search/Input.js | 1 + .../js/WoltLabSuite/Core/Ui/Smiley/Insert.js | 4 +- .../js/WoltLabSuite/Core/Ui/Suggestion.js | 4 +- .../js/WoltLabSuite/Core/Ui/TabMenu/Simple.js | 4 +- .../js/WoltLabSuite/Core/Ui/Toggle/Input.js | 4 +- .../Core/Ui/User/Activity/Recent.js | 1 + .../Core/Ui/User/CoverPhoto/Upload.js | 4 +- .../js/WoltLabSuite/Core/Ui/User/List.js | 1 + .../Ui/User/Profile/Menu/Item/Abstract.js | 4 +- .../Core/Ui/User/Profile/Menu/Item/Follow.js | 4 +- .../Core/Ui/User/Profile/Menu/Item/Ignore.js | 4 +- .../WoltLabSuite/Core/Ui/User/Search/Input.js | 3 +- .../WoltLabSuite/Core/Ui/User/Trophy/List.js | 4 +- .../ts/WoltLabSuite/Core/Ajax/Request.ts | 8 ++-- .../ts/WoltLabSuite/Core/CallbackList.ts | 4 ++ .../files/ts/WoltLabSuite/Core/Core.ts | 1 + .../files/ts/WoltLabSuite/Core/Dictionary.ts | 4 ++ .../ts/WoltLabSuite/Core/Image/Resizer.ts | 3 ++ .../files/ts/WoltLabSuite/Core/List.ts | 4 ++ .../files/ts/WoltLabSuite/Core/ObjectMap.ts | 4 ++ .../files/ts/WoltLabSuite/Core/Template.ts | 9 ++-- .../ts/WoltLabSuite/Core/Timer/Repeating.ts | 4 ++ .../ts/WoltLabSuite/Core/Ui/Acl/Simple.ts | 3 ++ .../ts/WoltLabSuite/Core/Ui/File/Delete.ts | 2 + .../Core/Ui/Page/Menu/Abstract.ts | 44 ++++++++++++++----- .../ts/WoltLabSuite/Core/Ui/Page/Menu/Main.ts | 3 ++ .../ts/WoltLabSuite/Core/Ui/Page/Menu/User.ts | 3 ++ .../WoltLabSuite/Core/Ui/Page/Search/Input.ts | 4 +- .../ts/WoltLabSuite/Core/Ui/Pagination.ts | 2 + .../ts/WoltLabSuite/Core/Ui/Search/Input.ts | 2 + .../ts/WoltLabSuite/Core/Ui/Smiley/Insert.ts | 3 ++ .../ts/WoltLabSuite/Core/Ui/Suggestion.ts | 6 ++- .../ts/WoltLabSuite/Core/Ui/TabMenu/Simple.ts | 21 +++++---- .../ts/WoltLabSuite/Core/Ui/Toggle/Input.ts | 3 ++ .../Core/Ui/User/Activity/Recent.ts | 2 + .../Core/Ui/User/CoverPhoto/Upload.ts | 3 ++ .../ts/WoltLabSuite/Core/Ui/User/List.ts | 2 + .../Ui/User/Profile/Menu/Item/Abstract.ts | 3 ++ .../Core/Ui/User/Profile/Menu/Item/Follow.ts | 3 ++ .../Core/Ui/User/Profile/Menu/Item/Ignore.ts | 3 ++ .../WoltLabSuite/Core/Ui/User/Search/Input.ts | 4 +- .../WoltLabSuite/Core/Ui/User/Trophy/List.ts | 6 ++- 57 files changed, 223 insertions(+), 62 deletions(-) diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ajax/Request.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ajax/Request.js index 7a0462a915..f4000facd5 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ajax/Request.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ajax/Request.js @@ -293,7 +293,7 @@ define(["require", "exports", "tslib", "./Status", "../Core", "../Dom/Change/Lis this._previousXhr = undefined; Listener_1.default.trigger(); // fix anchor tags generated through WCF::getAnchor() - document.querySelectorAll('a[href*="#"]').forEach((link) => { + document.querySelectorAll("a[href*=\"#\"]").forEach((link) => { let href = link.href; if (href.indexOf("AJAXProxy") !== -1 || href.indexOf("ajax-proxy") !== -1) { href = href.substr(href.indexOf("#")); @@ -302,5 +302,6 @@ define(["require", "exports", "tslib", "./Status", "../Core", "../Dom/Change/Lis }); } } + Core.enableLegacyInheritance(AjaxRequest); return AjaxRequest; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/CallbackList.js b/wcfsetup/install/files/js/WoltLabSuite/Core/CallbackList.js index 0d7795c8bf..fd693b3f01 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/CallbackList.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/CallbackList.js @@ -7,8 +7,9 @@ * @module CallbackList (alias) * @module WoltLabSuite/Core/CallbackList */ -define(["require", "exports"], function (require, exports) { +define(["require", "exports", "tslib", "./Core"], function (require, exports, tslib_1, Core) { "use strict"; + Core = tslib_1.__importStar(Core); class CallbackList { constructor() { this._callbacks = new Map(); @@ -46,5 +47,6 @@ define(["require", "exports"], function (require, exports) { } } } + Core.enableLegacyInheritance(CallbackList); return CallbackList; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Dictionary.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Dictionary.js index 819ffb74ff..11d9713496 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Dictionary.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Dictionary.js @@ -12,8 +12,9 @@ * @module Dictionary (alias) * @module WoltLabSuite/Core/Dictionary */ -define(["require", "exports"], function (require, exports) { +define(["require", "exports", "tslib", "./Core"], function (require, exports, tslib_1, Core) { "use strict"; + Core = tslib_1.__importStar(Core); /** @deprecated 5.4 Use a `Map` instead. */ class Dictionary { constructor() { @@ -86,5 +87,6 @@ define(["require", "exports"], function (require, exports) { return this._dictionary.size; } } + Core.enableLegacyInheritance(Dictionary); return Dictionary; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Image/Resizer.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Image/Resizer.js index f55116ca96..106ed211b2 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Image/Resizer.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Image/Resizer.js @@ -6,8 +6,9 @@ * @license GNU Lesser General Public License * @module WoltLabSuite/Core/Image/Resizer */ -define(["require", "exports", "tslib", "../FileUtil", "./ExifUtil", "pica"], function (require, exports, tslib_1, FileUtil, ExifUtil, pica_1) { +define(["require", "exports", "tslib", "../Core", "../FileUtil", "./ExifUtil", "pica"], function (require, exports, tslib_1, Core, FileUtil, ExifUtil, pica_1) { "use strict"; + Core = tslib_1.__importStar(Core); FileUtil = tslib_1.__importStar(FileUtil); ExifUtil = tslib_1.__importStar(ExifUtil); pica_1 = tslib_1.__importDefault(pica_1); @@ -142,5 +143,6 @@ define(["require", "exports", "tslib", "../FileUtil", "./ExifUtil", "pica"], fun return pica.resize(image, canvas, options); } } + Core.enableLegacyInheritance(ImageResizer); return ImageResizer; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/List.js b/wcfsetup/install/files/js/WoltLabSuite/Core/List.js index cf0224b49e..8af26f5126 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/List.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/List.js @@ -7,8 +7,9 @@ * @module List (alias) * @module WoltLabSuite/Core/List */ -define(["require", "exports"], function (require, exports) { +define(["require", "exports", "tslib", "./Core"], function (require, exports, tslib_1, Core) { "use strict"; + Core = tslib_1.__importStar(Core); /** @deprecated 5.4 Use a `Set` instead. */ class List { constructor() { @@ -48,5 +49,6 @@ define(["require", "exports"], function (require, exports) { return this._set.size; } } + Core.enableLegacyInheritance(List); return List; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/ObjectMap.js b/wcfsetup/install/files/js/WoltLabSuite/Core/ObjectMap.js index 06e8e69564..761f01935a 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/ObjectMap.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/ObjectMap.js @@ -9,8 +9,9 @@ * @module ObjectMap (alias) * @module WoltLabSuite/Core/ObjectMap */ -define(["require", "exports"], function (require, exports) { +define(["require", "exports", "tslib", "./Core"], function (require, exports, tslib_1, Core) { "use strict"; + Core = tslib_1.__importStar(Core); /** @deprecated 5.4 Use a `WeakMap` instead. */ class ObjectMap { constructor() { @@ -47,5 +48,6 @@ define(["require", "exports"], function (require, exports) { return this._map.get(key); } } + Core.enableLegacyInheritance(ObjectMap); return ObjectMap; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Template.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Template.js index f48484edff..4498de44e0 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Template.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Template.js @@ -9,8 +9,9 @@ * @license GNU Lesser General Public License * @module WoltLabSuite/Core/Template */ -define(["require", "exports", "tslib", "./Template.grammar", "./StringUtil", "./Language", "./I18n/Plural"], function (require, exports, tslib_1, parser, StringUtil, Language, I18nPlural) { +define(["require", "exports", "tslib", "./Core", "./Template.grammar", "./StringUtil", "./Language", "./I18n/Plural"], function (require, exports, tslib_1, Core, parser, StringUtil, Language, I18nPlural) { "use strict"; + Core = tslib_1.__importStar(Core); parser = tslib_1.__importStar(parser); StringUtil = tslib_1.__importStar(StringUtil); Language = tslib_1.__importStar(Language); @@ -69,5 +70,6 @@ define(["require", "exports", "tslib", "./Template.grammar", "./StringUtil", "./ throw new Error("WCF.Template.callbacks is no longer supported"); }, }); + Core.enableLegacyInheritance(Template); return Template; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Timer/Repeating.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Timer/Repeating.js index f56acd9c95..7b29dbf327 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Timer/Repeating.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Timer/Repeating.js @@ -6,8 +6,9 @@ * @license GNU Lesser General Public License * @module WoltLabSuite/Core/Timer/Repeating */ -define(["require", "exports"], function (require, exports) { +define(["require", "exports", "tslib", "../Core"], function (require, exports, tslib_1, Core) { "use strict"; + Core = tslib_1.__importStar(Core); class RepeatingTimer { /** * Creates a new timer that executes the given `callback` every `delta` milliseconds. @@ -50,5 +51,6 @@ define(["require", "exports"], function (require, exports) { this.restart(); } } + Core.enableLegacyInheritance(RepeatingTimer); return RepeatingTimer; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Acl/Simple.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Acl/Simple.js index 36229807cc..4c518d10f7 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Acl/Simple.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Acl/Simple.js @@ -1,5 +1,6 @@ -define(["require", "exports", "tslib", "../../Language", "../../StringUtil", "../../Dom/Change/Listener", "../../Dom/Util", "../User/Search/Input"], function (require, exports, tslib_1, Language, StringUtil, Listener_1, Util_1, Input_1) { +define(["require", "exports", "tslib", "../../Core", "../../Language", "../../StringUtil", "../../Dom/Change/Listener", "../../Dom/Util", "../User/Search/Input"], function (require, exports, tslib_1, Core, Language, StringUtil, Listener_1, Util_1, Input_1) { "use strict"; + Core = tslib_1.__importStar(Core); Language = tslib_1.__importStar(Language); StringUtil = tslib_1.__importStar(StringUtil); Listener_1 = tslib_1.__importDefault(Listener_1); @@ -69,5 +70,6 @@ define(["require", "exports", "tslib", "../../Language", "../../StringUtil", ".. } } } + Core.enableLegacyInheritance(UiAclSimple); return UiAclSimple; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/File/Delete.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/File/Delete.js index e799b4c220..2fc93f647c 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/File/Delete.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/File/Delete.js @@ -127,5 +127,6 @@ define(["require", "exports", "tslib", "../../Ajax", "../../Core", "../../Dom/Ch }; } } + Core.enableLegacyInheritance(UiFileDelete); return UiFileDelete; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Menu/Abstract.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Menu/Abstract.js index 74254d5dde..c5baad1378 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Menu/Abstract.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Menu/Abstract.js @@ -183,10 +183,12 @@ define(["require", "exports", "tslib", "../../../Core", "../../../Environment", x: touches[0].clientX, y: touches[0].clientY, }; - if (isLeftEdge) + if (isLeftEdge) { _androidTouching = "left"; - if (isRightEdge) + } + if (isRightEdge) { _androidTouching = "right"; + } }); document.addEventListener("touchend", (event) => { // break if we did not start a touch @@ -217,16 +219,20 @@ define(["require", "exports", "tslib", "../../../Core", "../../../Environment", }, { once: true }); // check whether the user moved the finger far enough if (appearsAt === "left") { - if (_androidTouching === "left" && position < touchStart.x + 100) + if (_androidTouching === "left" && position < touchStart.x + 100) { this.close(); - if (_androidTouching === "right" && position < touchStart.x - 100) + } + if (_androidTouching === "right" && position < touchStart.x - 100) { this.close(); + } } else { - if (_androidTouching === "left" && position > touchStart.x + 100) + if (_androidTouching === "left" && position > touchStart.x + 100) { this.close(); - if (_androidTouching === "right" && position > touchStart.x - 100) + } + if (_androidTouching === "right" && position > touchStart.x - 100) { this.close(); + } } // reset touchStart = undefined; @@ -241,10 +247,12 @@ define(["require", "exports", "tslib", "../../../Core", "../../../Environment", // check whether the user started moving in the correct direction // this avoids false positives, in case the user just wanted to tap let movedFromEdge = false; - if (_androidTouching === "left") + if (_androidTouching === "left") { movedFromEdge = touches[0].clientX > touchStart.x + 5 /* MovedHorizontally */; - if (_androidTouching === "right") + } + if (_androidTouching === "right") { movedFromEdge = touches[0].clientX < touchStart.x - 5 /* MovedHorizontally */; + } const movedVertically = Math.abs(touches[0].clientY - touchStart.y) > 20 /* MovedVertically */; let isOpen = this.menu.classList.contains("open"); if (!isOpen && movedFromEdge && !movedVertically) { @@ -255,12 +263,15 @@ define(["require", "exports", "tslib", "../../../Core", "../../../Environment", if (isOpen) { // update CSS to the new finger position let position = touches[0].clientX; - if (appearsAt === "right") + if (appearsAt === "right") { position = document.body.clientWidth - position; - if (position > this.menu.offsetWidth) + } + if (position > this.menu.offsetWidth) { position = this.menu.offsetWidth; - if (position < 0) + } + if (position < 0) { position = 0; + } const offset = (appearsAt === "left" ? 1 : -1) * (position - this.menu.offsetWidth); this.menu.style.setProperty("transform", `translateX(${offset}px)`); backdrop.style.setProperty(appearsAt, Math.min(this.menu.offsetWidth, position).toString() + "px"); @@ -452,5 +463,6 @@ define(["require", "exports", "tslib", "../../../Core", "../../../Environment", this.button.classList[hasNewContent ? "add" : "remove"]("pageMenuMobileButtonHasContent"); } } + Core.enableLegacyInheritance(UiPageMenuAbstract); return UiPageMenuAbstract; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Menu/Main.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Menu/Main.js index 47101207ba..c9b6581b03 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Menu/Main.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Menu/Main.js @@ -6,8 +6,9 @@ * @license GNU Lesser General Public License * @module WoltLabSuite/Core/Ui/Page/Menu/Main */ -define(["require", "exports", "tslib", "../../../Dom/Util", "../../../Language", "./Abstract"], function (require, exports, tslib_1, Util_1, Language, Abstract_1) { +define(["require", "exports", "tslib", "../../../Core", "../../../Dom/Util", "../../../Language", "./Abstract"], function (require, exports, tslib_1, Core, Util_1, Language, Abstract_1) { "use strict"; + Core = tslib_1.__importStar(Core); Util_1 = tslib_1.__importDefault(Util_1); Language = tslib_1.__importStar(Language); Abstract_1 = tslib_1.__importDefault(Abstract_1); @@ -80,5 +81,6 @@ define(["require", "exports", "tslib", "../../../Dom/Util", "../../../Language", return true; } } + Core.enableLegacyInheritance(UiPageMenuMain); return UiPageMenuMain; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Menu/User.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Menu/User.js index 9b8260b951..d07e20c418 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Menu/User.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Menu/User.js @@ -6,8 +6,9 @@ * @license GNU Lesser General Public License * @module WoltLabSuite/Core/Ui/Page/Menu/User */ -define(["require", "exports", "tslib", "../../../Event/Handler", "../../../Language", "./Abstract"], function (require, exports, tslib_1, EventHandler, Language, Abstract_1) { +define(["require", "exports", "tslib", "../../../Core", "../../../Event/Handler", "../../../Language", "./Abstract"], function (require, exports, tslib_1, Core, EventHandler, Language, Abstract_1) { "use strict"; + Core = tslib_1.__importStar(Core); EventHandler = tslib_1.__importStar(EventHandler); Language = tslib_1.__importStar(Language); Abstract_1 = tslib_1.__importDefault(Abstract_1); @@ -64,5 +65,6 @@ define(["require", "exports", "tslib", "../../../Event/Handler", "../../../Langu }); } } + Core.enableLegacyInheritance(UiPageMenuUser); return UiPageMenuUser; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Search/Input.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Search/Input.js index 62dc9755d4..d246546be5 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Search/Input.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Page/Search/Input.js @@ -39,5 +39,6 @@ define(["require", "exports", "tslib", "../../../Core", "../../Search/Input"], f this.callbackSuccess(data); } } + Core.enableLegacyInheritance(UiPageSearchInput); return UiPageSearchInput; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Pagination.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Pagination.js index a6bd04b855..4a47083aba 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Pagination.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Pagination.js @@ -244,5 +244,6 @@ define(["require", "exports", "tslib", "../Core", "../Language", "../StringUtil" * maximum number of displayed page links, should match the PHP implementation */ UiPagination.showLinks = 11; + Core.enableLegacyInheritance(UiPagination); return UiPagination; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Search/Input.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Search/Input.js index 41189e02b6..6a9257fed3 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Search/Input.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Search/Input.js @@ -304,5 +304,6 @@ define(["require", "exports", "tslib", "../../Ajax", "../../Core", "../../Dom/Ut }; } } + Core.enableLegacyInheritance(UiSearchInput); return UiSearchInput; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Smiley/Insert.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Smiley/Insert.js index 1c41d1aca9..90b5de6c2f 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Smiley/Insert.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Smiley/Insert.js @@ -6,8 +6,9 @@ * @license GNU Lesser General Public License * @module WoltLabSuite/Core/Ui/Smiley/Insert */ -define(["require", "exports", "tslib", "../../Event/Handler"], function (require, exports, tslib_1, EventHandler) { +define(["require", "exports", "tslib", "../../Core", "../../Event/Handler"], function (require, exports, tslib_1, Core, EventHandler) { "use strict"; + Core = tslib_1.__importStar(Core); EventHandler = tslib_1.__importStar(EventHandler); class UiSmileyInsert { constructor(editorId) { @@ -75,5 +76,6 @@ define(["require", "exports", "tslib", "../../Event/Handler"], function (require }); } } + Core.enableLegacyInheritance(UiSmileyInsert); return UiSmileyInsert; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Suggestion.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Suggestion.js index a2444669eb..052f5f8bf3 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Suggestion.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Suggestion.js @@ -99,8 +99,9 @@ define(["require", "exports", "tslib", "../Ajax", "../Core", "./Dropdown/Simple" } else if (event.key === "ArrowDown") { index = i + 1; - if (index === length) + if (index === length) { index = 0; + } } if (index !== i) { active.classList.remove("active"); @@ -198,5 +199,6 @@ define(["require", "exports", "tslib", "../Ajax", "../Core", "./Dropdown/Simple" } } } + Core.enableLegacyInheritance(UiSuggestion); return UiSuggestion; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/TabMenu/Simple.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/TabMenu/Simple.js index b1eb8f2ac4..edcc672e1c 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/TabMenu/Simple.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/TabMenu/Simple.js @@ -6,8 +6,9 @@ * @license GNU Lesser General Public License * @module WoltLabSuite/Core/Ui/TabMenu/Simple */ -define(["require", "exports", "tslib", "../../Dom/Traverse", "../../Dom/Util", "../../Environment", "../../Event/Handler"], function (require, exports, tslib_1, DomTraverse, Util_1, Environment, EventHandler) { +define(["require", "exports", "tslib", "../../Core", "../../Dom/Traverse", "../../Dom/Util", "../../Environment", "../../Event/Handler"], function (require, exports, tslib_1, Core, DomTraverse, Util_1, Environment, EventHandler) { "use strict"; + Core = tslib_1.__importStar(Core); DomTraverse = tslib_1.__importStar(DomTraverse); Util_1 = tslib_1.__importDefault(Util_1); Environment = tslib_1.__importStar(Environment); @@ -366,5 +367,6 @@ define(["require", "exports", "tslib", "../../Dom/Traverse", "../../Dom/Util", " return ""; } } + Core.enableLegacyInheritance(TabMenuSimple); return TabMenuSimple; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Toggle/Input.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Toggle/Input.js index afc46912e3..4b1536f855 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Toggle/Input.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Toggle/Input.js @@ -20,8 +20,9 @@ * @license GNU Lesser General Public License * @module WoltLabSuite/Core/Ui/Toggle/Input */ -define(["require", "exports", "tslib", "../../Dom/Util"], function (require, exports, tslib_1, Util_1) { +define(["require", "exports", "tslib", "../../Core", "../../Dom/Util"], function (require, exports, tslib_1, Core, Util_1) { "use strict"; + Core = tslib_1.__importStar(Core); Util_1 = tslib_1.__importDefault(Util_1); class UiToggleInput { /** @@ -81,5 +82,6 @@ define(["require", "exports", "tslib", "../../Dom/Util"], function (require, exp }); } } + Core.enableLegacyInheritance(UiToggleInput); return UiToggleInput; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Activity/Recent.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Activity/Recent.js index 5587abfe40..5dd73d629b 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Activity/Recent.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Activity/Recent.js @@ -73,5 +73,6 @@ define(["require", "exports", "tslib", "../../../Ajax", "../../../Core", "../../ }; } } + Core.enableLegacyInheritance(UiUserActivityRecent); return UiUserActivityRecent; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/CoverPhoto/Upload.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/CoverPhoto/Upload.js index f45a3102a8..0727a2eb43 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/CoverPhoto/Upload.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/CoverPhoto/Upload.js @@ -6,8 +6,9 @@ * @license GNU Lesser General Public License * @module WoltLabSuite/Core/Ui/User/CoverPhoto/Upload */ -define(["require", "exports", "tslib", "../../../Dom/Util", "../../../Event/Handler", "../../Dialog", "../../Notification", "../../../Upload"], function (require, exports, tslib_1, Util_1, EventHandler, UiDialog, UiNotification, Upload_1) { +define(["require", "exports", "tslib", "../../../Core", "../../../Dom/Util", "../../../Event/Handler", "../../Dialog", "../../Notification", "../../../Upload"], function (require, exports, tslib_1, Core, Util_1, EventHandler, UiDialog, UiNotification, Upload_1) { "use strict"; + Core = tslib_1.__importStar(Core); Util_1 = tslib_1.__importDefault(Util_1); EventHandler = tslib_1.__importStar(EventHandler); UiDialog = tslib_1.__importStar(UiDialog); @@ -45,5 +46,6 @@ define(["require", "exports", "tslib", "../../../Dom/Util", "../../../Event/Hand } } } + Core.enableLegacyInheritance(UiUserCoverPhotoUpload); return UiUserCoverPhotoUpload; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/List.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/List.js index 4abecb74af..79389697d9 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/List.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/List.js @@ -100,5 +100,6 @@ define(["require", "exports", "tslib", "../../Ajax", "../../Core", "../../Dom/Ut }; } } + Core.enableLegacyInheritance(UiUserList); return UiUserList; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract.js index 5e3be39f4c..04b0f241ab 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract.js @@ -6,9 +6,10 @@ * @license GNU Lesser General Public License * @module WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract */ -define(["require", "exports", "tslib", "../../../../../Ajax"], function (require, exports, tslib_1, Ajax) { +define(["require", "exports", "tslib", "../../../../../Ajax", "../../../../../Core"], function (require, exports, tslib_1, Ajax, Core) { "use strict"; Ajax = tslib_1.__importStar(Ajax); + Core = tslib_1.__importStar(Core); class UiUserProfileMenuItemAbstract { /** * Creates a new user profile menu item. @@ -88,5 +89,6 @@ define(["require", "exports", "tslib", "../../../../../Ajax"], function (require throw new Error("Implement me!"); } } + Core.enableLegacyInheritance(UiUserProfileMenuItemAbstract); return UiUserProfileMenuItemAbstract; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow.js index 26d801855f..6608adc3ae 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow.js @@ -1,5 +1,6 @@ -define(["require", "exports", "tslib", "../../../../../Language", "../../../../Notification", "./Abstract"], function (require, exports, tslib_1, Language, UiNotification, Abstract_1) { +define(["require", "exports", "tslib", "../../../../../Core", "../../../../../Language", "../../../../Notification", "./Abstract"], function (require, exports, tslib_1, Core, Language, UiNotification, Abstract_1) { "use strict"; + Core = tslib_1.__importStar(Core); Language = tslib_1.__importStar(Language); UiNotification = tslib_1.__importStar(UiNotification); Abstract_1 = tslib_1.__importDefault(Abstract_1); @@ -26,5 +27,6 @@ define(["require", "exports", "tslib", "../../../../../Language", "../../../../N }; } } + Core.enableLegacyInheritance(UiUserProfileMenuItemFollow); return UiUserProfileMenuItemFollow; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore.js index 3f3a275361..63c5cfda39 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore.js @@ -1,5 +1,6 @@ -define(["require", "exports", "tslib", "../../../../../Language", "../../../../Notification", "./Abstract"], function (require, exports, tslib_1, Language, UiNotification, Abstract_1) { +define(["require", "exports", "tslib", "../../../../../Core", "../../../../../Language", "../../../../Notification", "./Abstract"], function (require, exports, tslib_1, Core, Language, UiNotification, Abstract_1) { "use strict"; + Core = tslib_1.__importStar(Core); Language = tslib_1.__importStar(Language); UiNotification = tslib_1.__importStar(UiNotification); Abstract_1 = tslib_1.__importDefault(Abstract_1); @@ -26,5 +27,6 @@ define(["require", "exports", "tslib", "../../../../../Language", "../../../../N }; } } + Core.enableLegacyInheritance(UiUserProfileMenuItemIgnore); return UiUserProfileMenuItemIgnore; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Search/Input.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Search/Input.js index e4856b17cf..cdeb0dc7c5 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Search/Input.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Search/Input.js @@ -31,11 +31,12 @@ define(["require", "exports", "tslib", "../../../Core", "../../Search/Input"], f listItem.dataset.type = item.type; const box = document.createElement("div"); box.className = "box16"; - box.innerHTML = item.type === "group" ? '' : item.icon; + box.innerHTML = item.type === "group" ? `` : item.icon; box.appendChild(listItem.children[0]); listItem.appendChild(box); return listItem; } } + Core.enableLegacyInheritance(UiUserSearchInput); return UiUserSearchInput; }); diff --git a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Trophy/List.js b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Trophy/List.js index f1a32f61ee..c8fd24ee92 100644 --- a/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Trophy/List.js +++ b/wcfsetup/install/files/js/WoltLabSuite/Core/Ui/User/Trophy/List.js @@ -6,9 +6,10 @@ * @license GNU Lesser General Public License * @module WoltLabSuite/Core/Ui/User/Trophy/List */ -define(["require", "exports", "tslib", "../../../Ajax", "../../../Dom/Change/Listener", "../../Dialog", "../../Pagination"], function (require, exports, tslib_1, Ajax, Listener_1, Dialog_1, Pagination_1) { +define(["require", "exports", "tslib", "../../../Ajax", "../../../Core", "../../../Dom/Change/Listener", "../../Dialog", "../../Pagination"], function (require, exports, tslib_1, Ajax, Core, Listener_1, Dialog_1, Pagination_1) { "use strict"; Ajax = tslib_1.__importStar(Ajax); + Core = tslib_1.__importStar(Core); Listener_1 = tslib_1.__importDefault(Listener_1); Dialog_1 = tslib_1.__importDefault(Dialog_1); Pagination_1 = tslib_1.__importDefault(Pagination_1); @@ -127,5 +128,6 @@ define(["require", "exports", "tslib", "../../../Ajax", "../../../Dom/Change/Lis }; } } + Core.enableLegacyInheritance(UiUserTrophyList); return UiUserTrophyList; }); diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ajax/Request.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ajax/Request.ts index 5c800daa9c..cef45d0f49 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ajax/Request.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ajax/Request.ts @@ -72,7 +72,7 @@ class AjaxRequest { callbackObject: null, }, - options + options, ); if (typeof options.callbackObject === "object") { @@ -109,7 +109,7 @@ class AjaxRequest { } if (typeof this._options.callbackObject._ajaxUploadProgress === "function") { this._options.uploadProgress = this._options.callbackObject._ajaxUploadProgress.bind( - this._options.callbackObject + this._options.callbackObject, ); } } @@ -368,7 +368,7 @@ class AjaxRequest { DomChangeListener.trigger(); // fix anchor tags generated through WCF::getAnchor() - document.querySelectorAll('a[href*="#"]').forEach((link: HTMLAnchorElement) => { + document.querySelectorAll("a[href*=\"#\"]").forEach((link: HTMLAnchorElement) => { let href = link.href; if (href.indexOf("AJAXProxy") !== -1 || href.indexOf("ajax-proxy") !== -1) { href = href.substr(href.indexOf("#")); @@ -378,4 +378,6 @@ class AjaxRequest { } } +Core.enableLegacyInheritance(AjaxRequest); + export = AjaxRequest; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/CallbackList.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/CallbackList.ts index 99e93e558d..7cebbb5534 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/CallbackList.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/CallbackList.ts @@ -8,6 +8,8 @@ * @module WoltLabSuite/Core/CallbackList */ +import * as Core from "./Core"; + class CallbackList { private readonly _callbacks = new Map(); @@ -49,4 +51,6 @@ class CallbackList { type Callback = (...args: any[]) => void; +Core.enableLegacyInheritance(CallbackList); + export = CallbackList; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Core.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Core.ts index 60cfa07914..76e492f90f 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Core.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Core.ts @@ -115,6 +115,7 @@ export function extend(out: object, ...args: object[]): object { * }); * * @see https://github.com/nodejs/node/blob/7d14dd9b5e78faabb95d454a79faa513d0bbc2a5/lib/util.js#L697-L735 + * @deprecated 5.4 Use the native `class` and `extends` keywords instead. */ export function inherit(constructor: new () => any, superConstructor: new () => any, propertiesObject: object): void { if (constructor === undefined || constructor === null) { diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Dictionary.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Dictionary.ts index 1d4806c759..861b5f5b26 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Dictionary.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Dictionary.ts @@ -13,6 +13,8 @@ * @module WoltLabSuite/Core/Dictionary */ +import * as Core from "./Core"; + /** @deprecated 5.4 Use a `Map` instead. */ class Dictionary { private readonly _dictionary = new Map(); @@ -98,4 +100,6 @@ class Dictionary { } } +Core.enableLegacyInheritance(Dictionary); + export = Dictionary; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Image/Resizer.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Image/Resizer.ts index 121b24fcdd..2326668f60 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Image/Resizer.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Image/Resizer.ts @@ -7,6 +7,7 @@ * @module WoltLabSuite/Core/Image/Resizer */ +import * as Core from "../Core"; import * as FileUtil from "../FileUtil"; import * as ExifUtil from "./ExifUtil"; import Pica from "pica"; @@ -197,4 +198,6 @@ interface CanvasPlusExif { exif?: ExifUtil.Exif; } +Core.enableLegacyInheritance(ImageResizer); + export = ImageResizer; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/List.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/List.ts index 3089ade938..d09d715dbf 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/List.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/List.ts @@ -8,6 +8,8 @@ * @module WoltLabSuite/Core/List */ +import * as Core from "./Core"; + /** @deprecated 5.4 Use a `Set` instead. */ class List { private _set = new Set(); @@ -52,4 +54,6 @@ class List { } } +Core.enableLegacyInheritance(List); + export = List; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/ObjectMap.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/ObjectMap.ts index 79a42be90d..cbfd2592de 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/ObjectMap.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/ObjectMap.ts @@ -10,6 +10,8 @@ * @module WoltLabSuite/Core/ObjectMap */ +import * as Core from "./Core"; + /** @deprecated 5.4 Use a `WeakMap` instead. */ class ObjectMap { private _map = new WeakMap(); @@ -51,4 +53,6 @@ class ObjectMap { } } +Core.enableLegacyInheritance(ObjectMap); + export = ObjectMap; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Template.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Template.ts index 36d776a01a..d90ddc6fac 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Template.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Template.ts @@ -10,6 +10,7 @@ * @module WoltLabSuite/Core/Template */ +import * as Core from "./Core"; import * as parser from "./Template.grammar"; import * as StringUtil from "./StringUtil"; import * as Language from "./Language"; @@ -51,7 +52,7 @@ class Template { undefined, StringUtil, Language, - I18nPlural + I18nPlural, ); } catch (e) { console.debug(e.message); @@ -71,12 +72,14 @@ class Template { Object.defineProperty(Template, "callbacks", { enumerable: false, configurable: false, - get: function () { + get: function() { throw new Error("WCF.Template.callbacks is no longer supported"); }, - set: function (_value) { + set: function(_value) { throw new Error("WCF.Template.callbacks is no longer supported"); }, }); +Core.enableLegacyInheritance(Template); + export = Template; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Timer/Repeating.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Timer/Repeating.ts index 17d6727fd0..82fde695f6 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Timer/Repeating.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Timer/Repeating.ts @@ -7,6 +7,8 @@ * @module WoltLabSuite/Core/Timer/Repeating */ +import * as Core from "../Core"; + class RepeatingTimer { private readonly _callback: (timer: RepeatingTimer) => void; private _delta: number; @@ -62,4 +64,6 @@ class RepeatingTimer { } } +Core.enableLegacyInheritance(RepeatingTimer); + export = RepeatingTimer; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Acl/Simple.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Acl/Simple.ts index ece28082bd..350856c05f 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Acl/Simple.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Acl/Simple.ts @@ -1,3 +1,4 @@ +import * as Core from "../../Core"; import * as Language from "../../Language"; import * as StringUtil from "../../StringUtil"; import DomChangeListener from "../../Dom/Change/Listener"; @@ -96,4 +97,6 @@ class UiAclSimple { } } +Core.enableLegacyInheritance(UiAclSimple); + export = UiAclSimple; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/File/Delete.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/File/Delete.ts index f24d8def20..c1a96cd3eb 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/File/Delete.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/File/Delete.ts @@ -170,4 +170,6 @@ class UiFileDelete implements AjaxCallbackObject { } } +Core.enableLegacyInheritance(UiFileDelete); + export = UiFileDelete; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Menu/Abstract.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Menu/Abstract.ts index 6428c97e1f..fbea8a19b0 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Menu/Abstract.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Menu/Abstract.ts @@ -241,8 +241,12 @@ abstract class UiPageMenuAbstract { y: touches[0].clientY, }; - if (isLeftEdge) _androidTouching = "left"; - if (isRightEdge) _androidTouching = "right"; + if (isLeftEdge) { + _androidTouching = "left"; + } + if (isRightEdge) { + _androidTouching = "right"; + } }); document.addEventListener("touchend", (event) => { @@ -281,11 +285,19 @@ abstract class UiPageMenuAbstract { // check whether the user moved the finger far enough if (appearsAt === "left") { - if (_androidTouching === "left" && position < touchStart.x + 100) this.close(); - if (_androidTouching === "right" && position < touchStart.x - 100) this.close(); + if (_androidTouching === "left" && position < touchStart.x + 100) { + this.close(); + } + if (_androidTouching === "right" && position < touchStart.x - 100) { + this.close(); + } } else { - if (_androidTouching === "left" && position > touchStart.x + 100) this.close(); - if (_androidTouching === "right" && position > touchStart.x - 100) this.close(); + if (_androidTouching === "left" && position > touchStart.x + 100) { + this.close(); + } + if (_androidTouching === "right" && position > touchStart.x - 100) { + this.close(); + } } // reset @@ -304,10 +316,12 @@ abstract class UiPageMenuAbstract { // check whether the user started moving in the correct direction // this avoids false positives, in case the user just wanted to tap let movedFromEdge = false; - if (_androidTouching === "left") + if (_androidTouching === "left") { movedFromEdge = touches[0].clientX > touchStart.x + TouchPosition.MovedHorizontally; - if (_androidTouching === "right") + } + if (_androidTouching === "right") { movedFromEdge = touches[0].clientX < touchStart.x - TouchPosition.MovedHorizontally; + } const movedVertically = Math.abs(touches[0].clientY - touchStart.y) > TouchPosition.MovedVertically; @@ -321,9 +335,15 @@ abstract class UiPageMenuAbstract { if (isOpen) { // update CSS to the new finger position let position = touches[0].clientX; - if (appearsAt === "right") position = document.body.clientWidth - position; - if (position > this.menu.offsetWidth) position = this.menu.offsetWidth; - if (position < 0) position = 0; + if (appearsAt === "right") { + position = document.body.clientWidth - position; + } + if (position > this.menu.offsetWidth) { + position = this.menu.offsetWidth; + } + if (position < 0) { + position = 0; + } const offset = (appearsAt === "left" ? 1 : -1) * (position - this.menu.offsetWidth); this.menu.style.setProperty("transform", `translateX(${offset}px)`); @@ -561,4 +581,6 @@ abstract class UiPageMenuAbstract { } } +Core.enableLegacyInheritance(UiPageMenuAbstract); + export = UiPageMenuAbstract; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Menu/Main.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Menu/Main.ts index ff8e6b616e..68194d366c 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Menu/Main.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Menu/Main.ts @@ -7,6 +7,7 @@ * @module WoltLabSuite/Core/Ui/Page/Menu/Main */ +import * as Core from "../../../Core"; import DomUtil from "../../../Dom/Util"; import * as Language from "../../../Language"; import UiPageMenuAbstract from "./Abstract"; @@ -105,4 +106,6 @@ class UiPageMenuMain extends UiPageMenuAbstract { } } +Core.enableLegacyInheritance(UiPageMenuMain); + export = UiPageMenuMain; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Menu/User.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Menu/User.ts index 396ec4abc0..dd26e3bb7f 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Menu/User.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Menu/User.ts @@ -7,6 +7,7 @@ * @module WoltLabSuite/Core/Ui/Page/Menu/User */ +import * as Core from "../../../Core"; import * as EventHandler from "../../../Event/Handler"; import * as Language from "../../../Language"; import UiPageMenuAbstract from "./Abstract"; @@ -80,4 +81,6 @@ class UiPageMenuUser extends UiPageMenuAbstract { } } +Core.enableLegacyInheritance(UiPageMenuUser); + export = UiPageMenuUser; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Search/Input.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Search/Input.ts index baefcd8f53..4d00dcfb6c 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Search/Input.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Page/Search/Input.ts @@ -33,7 +33,7 @@ class UiPageSearchInput extends UiSearchInput { className: "wcf\\data\\page\\PageAction", }, }, - options + options, ) as any; super(element, options); @@ -63,4 +63,6 @@ class UiPageSearchInput extends UiSearchInput { } } +Core.enableLegacyInheritance(UiPageSearchInput); + export = UiPageSearchInput; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Pagination.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Pagination.ts index 1f5a47e396..7aee1afa72 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Pagination.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Pagination.ts @@ -273,6 +273,8 @@ class UiPagination { } } +Core.enableLegacyInheritance(UiPagination); + export = UiPagination; type CallbackSwitch = (pageNo: number) => void; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Search/Input.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Search/Input.ts index c9ab493a9f..fe00f71988 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Search/Input.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Search/Input.ts @@ -366,6 +366,8 @@ class UiSearchInput { } } +Core.enableLegacyInheritance(UiSearchInput); + export = UiSearchInput; interface ListItemData { diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Smiley/Insert.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Smiley/Insert.ts index c92b578b2c..d088bd23d0 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Smiley/Insert.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Smiley/Insert.ts @@ -7,6 +7,7 @@ * @module WoltLabSuite/Core/Ui/Smiley/Insert */ +import * as Core from "../../Core"; import * as EventHandler from "../../Event/Handler"; class UiSmileyInsert { @@ -89,4 +90,6 @@ class UiSmileyInsert { } } +Core.enableLegacyInheritance(UiSmileyInsert); + export = UiSmileyInsert; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Suggestion.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Suggestion.ts index ea120b3ada..67d7e5a629 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Suggestion.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Suggestion.ts @@ -135,7 +135,9 @@ class UiSuggestion implements AjaxCallbackObject { index = (i === 0 ? length : i) - 1; } else if (event.key === "ArrowDown") { index = i + 1; - if (index === length) index = 0; + if (index === length) { + index = 0; + } } if (index !== i) { active.classList.remove("active"); @@ -248,6 +250,8 @@ class UiSuggestion implements AjaxCallbackObject { } } +Core.enableLegacyInheritance(UiSuggestion); + export = UiSuggestion; interface CallbackSelectData { diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/TabMenu/Simple.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/TabMenu/Simple.ts index 389abb169d..de2050810b 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/TabMenu/Simple.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/TabMenu/Simple.ts @@ -7,6 +7,7 @@ * @module WoltLabSuite/Core/Ui/TabMenu/Simple */ +import * as Core from "../../Core"; import * as DomTraverse from "../../Dom/Traverse"; import DomUtil from "../../Dom/Util"; import * as Environment from "../../Environment"; @@ -73,28 +74,28 @@ class TabMenuSimple { if (this.tabs.has(name)) { throw new Error( "Tab names must be unique, li[data-name='" + - name + - "'] (tab menu id: '" + - containerId + - "') exists more than once." + name + + "'] (tab menu id: '" + + containerId + + "') exists more than once.", ); } const container = this.containers.get(name); if (container === undefined) { throw new Error( - "Expected content element for li[data-name='" + name + "'] (tab menu id: '" + containerId + "')." + "Expected content element for li[data-name='" + name + "'] (tab menu id: '" + containerId + "').", ); } else if (container.parentNode !== this.container) { throw new Error( - "Expected content element '" + name + "' (tab menu id: '" + containerId + "') to be a direct children." + "Expected content element '" + name + "' (tab menu id: '" + containerId + "') to be a direct children.", ); } // check if tab holds exactly one children which is an anchor element if (tab.childElementCount !== 1 || tab.children[0].nodeName !== "A") { throw new Error( - "Expected exactly one as children for li[data-name='" + name + "'] (tab menu id: '" + containerId + "')." + "Expected exactly one as children for li[data-name='" + name + "'] (tab menu id: '" + containerId + "').", ); } @@ -108,7 +109,7 @@ class TabMenuSimple { if (this.isLegacy) { this.container.dataset.isLegacy = "true"; - this.tabs.forEach(function (tab, name) { + this.tabs.forEach(function(tab, name) { tab.setAttribute("aria-controls", name); }); } @@ -182,7 +183,7 @@ class TabMenuSimple { } if (preselect === true) { - this.tabs.forEach(function (tab) { + this.tabs.forEach(function(tab) { if ( !selectTab && !DomUtil.isHidden(tab) && @@ -438,4 +439,6 @@ class TabMenuSimple { } } +Core.enableLegacyInheritance(TabMenuSimple); + export = TabMenuSimple; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Toggle/Input.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Toggle/Input.ts index d1802c7032..b203f104de 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Toggle/Input.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Toggle/Input.ts @@ -21,6 +21,7 @@ * @module WoltLabSuite/Core/Ui/Toggle/Input */ +import * as Core from "../../Core"; import DomUtil from "../../Dom/Util"; class UiToggleInput { @@ -95,6 +96,8 @@ class UiToggleInput { } } +Core.enableLegacyInheritance(UiToggleInput); + export = UiToggleInput; type ElementOrSelector = Element | string; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Activity/Recent.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Activity/Recent.ts index 01ac03263f..fbdd53a82f 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Activity/Recent.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Activity/Recent.ts @@ -101,4 +101,6 @@ class UiUserActivityRecent implements AjaxCallbackObject { } } +Core.enableLegacyInheritance(UiUserActivityRecent); + export = UiUserActivityRecent; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/CoverPhoto/Upload.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/CoverPhoto/Upload.ts index 0ded73835b..fec98afd92 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/CoverPhoto/Upload.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/CoverPhoto/Upload.ts @@ -7,6 +7,7 @@ * @module WoltLabSuite/Core/Ui/User/CoverPhoto/Upload */ +import * as Core from "../../../Core"; import DomUtil from "../../../Dom/Util"; import * as EventHandler from "../../../Event/Handler"; import { ResponseData } from "../../../Ajax/Data"; @@ -63,4 +64,6 @@ class UiUserCoverPhotoUpload extends Upload { } } +Core.enableLegacyInheritance(UiUserCoverPhotoUpload); + export = UiUserCoverPhotoUpload; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/List.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/List.ts index 359a62aac3..1b0fda6c03 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/List.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/List.ts @@ -119,6 +119,8 @@ class UiUserList implements AjaxCallbackObject, DialogCallbackObject { } } +Core.enableLegacyInheritance(UiUserList); + export = UiUserList; interface AjaxRequestOptions { diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract.ts index a2d7213f1f..21fa444ac5 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Abstract.ts @@ -9,6 +9,7 @@ import * as Ajax from "../../../../../Ajax"; import { AjaxCallbackObject, AjaxCallbackSetup, ResponseData } from "../../../../../Ajax/Data"; +import * as Core from "../../../../../Core"; abstract class UiUserProfileMenuItemAbstract implements AjaxCallbackObject { protected readonly _button = document.createElement("a"); @@ -106,4 +107,6 @@ abstract class UiUserProfileMenuItemAbstract implements AjaxCallbackObject { } } +Core.enableLegacyInheritance(UiUserProfileMenuItemAbstract); + export = UiUserProfileMenuItemAbstract; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow.ts index 633deaf9ab..e41aeb2e8d 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Follow.ts @@ -1,3 +1,4 @@ +import * as Core from "../../../../../Core"; import * as Language from "../../../../../Language"; import { AjaxCallbackSetup, ResponseData } from "../../../../../Ajax/Data"; import * as UiNotification from "../../../../Notification"; @@ -38,4 +39,6 @@ class UiUserProfileMenuItemFollow extends UiUserProfileMenuItemAbstract { } } +Core.enableLegacyInheritance(UiUserProfileMenuItemFollow); + export = UiUserProfileMenuItemFollow; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore.ts index c36e91ff42..debe11bb59 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Profile/Menu/Item/Ignore.ts @@ -1,3 +1,4 @@ +import * as Core from "../../../../../Core"; import * as Language from "../../../../../Language"; import { AjaxCallbackSetup, ResponseData } from "../../../../../Ajax/Data"; import * as UiNotification from "../../../../Notification"; @@ -38,4 +39,6 @@ class UiUserProfileMenuItemIgnore extends UiUserProfileMenuItemAbstract { } } +Core.enableLegacyInheritance(UiUserProfileMenuItemIgnore); + export = UiUserProfileMenuItemIgnore; diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Search/Input.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Search/Input.ts index 8385d1dbe4..1147034887 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Search/Input.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Search/Input.ts @@ -39,7 +39,7 @@ class UiUserSearchInput extends UiSearchInput { const box = document.createElement("div"); box.className = "box16"; - box.innerHTML = item.type === "group" ? '' : item.icon; + box.innerHTML = item.type === "group" ? `` : item.icon; box.appendChild(listItem.children[0]); listItem.appendChild(box); @@ -47,6 +47,8 @@ class UiUserSearchInput extends UiSearchInput { } } +Core.enableLegacyInheritance(UiUserSearchInput); + export = UiUserSearchInput; // https://stackoverflow.com/a/50677584/782822 diff --git a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Trophy/List.ts b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Trophy/List.ts index 9f407eaef1..d5c47eb4d0 100644 --- a/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Trophy/List.ts +++ b/wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/User/Trophy/List.ts @@ -9,6 +9,7 @@ import * as Ajax from "../../../Ajax"; import { AjaxCallbackObject, AjaxCallbackSetup, DatabaseObjectActionResponse } from "../../../Ajax/Data"; +import * as Core from "../../../Core"; import { DialogCallbackObject, DialogData, DialogCallbackSetup } from "../../Dialog/Data"; import DomChangeListener from "../../../Dom/Change/Listener"; import UiDialog from "../../Dialog"; @@ -17,7 +18,8 @@ import UiPagination from "../../Pagination"; class CacheData { private readonly cache = new Map(); - constructor(readonly pageCount: number, readonly title: string) {} + constructor(readonly pageCount: number, readonly title: string) { + } has(pageNo: number): boolean { return this.cache.has(pageNo); @@ -144,6 +146,8 @@ class UiUserTrophyList implements AjaxCallbackObject, DialogCallbackObject { } } +Core.enableLegacyInheritance(UiUserTrophyList); + export = UiUserTrophyList; interface AjaxResponse extends DatabaseObjectActionResponse { -- 2.20.1