Mark as read doesn't removed the badge in the mobile menu
authorMarcel Werk <burntime@woltlab.com>
Thu, 5 Aug 2021 15:48:20 +0000 (17:48 +0200)
committerMarcel Werk <burntime@woltlab.com>
Thu, 5 Aug 2021 15:48:20 +0000 (17:48 +0200)
ts/WoltLabSuite/Core/Ui/Article/MarkAllAsRead.ts
wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Article/MarkAllAsRead.js

index b5d47380c678767c9cf62af39d8dee4619209b2d..abef38f0bfdb1bb6c4fa2c5439cabf448e3b709a 100644 (file)
@@ -10,6 +10,7 @@
 
 import * as Ajax from "../../Ajax";
 import { AjaxCallbackObject, AjaxCallbackSetup } from "../../Ajax/Data";
+import * as EventHandler from "../../Event/Handler";
 
 class UiArticleMarkAllAsRead implements AjaxCallbackObject {
   constructor() {
@@ -29,9 +30,15 @@ class UiArticleMarkAllAsRead implements AjaxCallbackObject {
     // main menu
     const badge = document.querySelector(".mainMenu .active .badge");
     if (badge) badge.remove();
+    // mobile page menu badge
+    document.querySelectorAll(".pageMainMenuMobile .active").forEach((container) => {
+      container.closest(".menuOverlayItem")?.querySelector(".badge")?.remove();
+    });
 
     // article list
     document.querySelectorAll(".contentItemList .contentItemBadgeNew").forEach((el) => el.remove());
+
+    EventHandler.fire("com.woltlab.wcf.MainMenuMobile", "updateButtonState");
   }
 
   _ajaxSetup(): ReturnType<AjaxCallbackSetup> {
index e4066ccd3c18b4733ab852604fec4c9049c2b83b..947426a19e3d94d83b484993af9cb0208e633723 100644 (file)
@@ -7,11 +7,12 @@
  * @module  WoltLabSuite/Core/Ui/Article/MarkAllAsRead
  * @woltlabExcludeBundle tiny
  */
-define(["require", "exports", "tslib", "../../Ajax"], function (require, exports, tslib_1, Ajax) {
+define(["require", "exports", "tslib", "../../Ajax", "../../Event/Handler"], function (require, exports, tslib_1, Ajax, EventHandler) {
     "use strict";
     Object.defineProperty(exports, "__esModule", { value: true });
     exports.init = void 0;
     Ajax = tslib_1.__importStar(Ajax);
+    EventHandler = tslib_1.__importStar(EventHandler);
     class UiArticleMarkAllAsRead {
         constructor() {
             document.querySelectorAll(".markAllAsReadButton").forEach((button) => {
@@ -28,8 +29,14 @@ define(["require", "exports", "tslib", "../../Ajax"], function (require, exports
             const badge = document.querySelector(".mainMenu .active .badge");
             if (badge)
                 badge.remove();
+            // mobile page menu badge
+            document.querySelectorAll(".pageMainMenuMobile .active").forEach((container) => {
+                var _a, _b;
+                (_b = (_a = container.closest(".menuOverlayItem")) === null || _a === void 0 ? void 0 : _a.querySelector(".badge")) === null || _b === void 0 ? void 0 : _b.remove();
+            });
             // article list
             document.querySelectorAll(".contentItemList .contentItemBadgeNew").forEach((el) => el.remove());
+            EventHandler.fire("com.woltlab.wcf.MainMenuMobile", "updateButtonState");
         }
         _ajaxSetup() {
             return {