MDL-66481 mod_forum: Move "Mark as read" into the discussion menu
authorJun Pataleta <jun@moodle.com>
Wed, 28 Aug 2019 08:06:58 +0000 (16:06 +0800)
committerJun Pataleta <jun@moodle.com>
Thu, 26 Sep 2019 02:47:05 +0000 (10:47 +0800)
mod/forum/lang/en/forum.php
mod/forum/templates/discussion_list.mustache
mod/forum/templates/forum_action_menu.mustache
mod/forum/templates/mark_as_read.mustache [new file with mode: 0644]

index 6069f6d..bc2db8d 100644 (file)
@@ -353,6 +353,7 @@ $string['mailnow'] = 'Send forum post notifications with no editing-time delay';
 $string['manydiscussions'] = 'Discussions per page';
 $string['managesubscriptionsoff'] = 'Finish managing subscriptions';
 $string['managesubscriptionson'] = 'Manage subscribers';
+$string['markasread'] = 'Mark as read';
 $string['markalldread'] = 'Mark all posts in this discussion read.';
 $string['markallread'] = 'Mark all posts in this forum read.';
 $string['markasreadonnotification'] = 'When sending forum post notifications';
index 24bd365..7de2478 100644 (file)
                                         {{#unread}}
                                         {{! TODO Rewrite as AJAX}}
                                             <span class="p-1">
-                                                <a href="{{{discussion.urls.viewfirstunread}}}" class="badge badge-primary rounded-circle" aria-label="{{#str}}unreadpostsnumber, mod_forum, {{unread}}{{/str}}">{{unread}}</a>
-                                            </span>
-                                            <span class="p-1">
-                                                <a href="{{{discussion.urls.markasread}}}">{{#pix}}t/markasread, core, {{#str}}markalldread, mod_forum{{/str}}{{/pix}}</a>
+                                                <a href="{{{discussion.urls.viewfirstunread}}}" class="badge badge-primary rounded-circle"
+                                                   title="{{#str}}unreadpostsnumber, mod_forum, {{unread}}{{/str}}" aria-label="{{#str}}unreadpostsnumber, mod_forum, {{unread}}{{/str}}">
+                                                    {{unread}}
+                                                </a>
                                             </span>
                                         {{/unread}}
                                     {{/forum.userstate.tracked}}
index 01d328b..8a00523 100644 (file)
@@ -84,5 +84,8 @@
             {{/istimelocked}}
         {{/capabilities.manage}}
         {{> forum/discussion_subscription_toggle }}
+        {{#unread}}
+            {{> forum/mark_as_read }}
+        {{/unread}}
     </div>
 </div>
diff --git a/mod/forum/templates/mark_as_read.mustache b/mod/forum/templates/mark_as_read.mustache
new file mode 100644 (file)
index 0000000..a529667
--- /dev/null
@@ -0,0 +1,40 @@
+{{!
+    This file is part of Moodle - http://moodle.org/
+
+    Moodle is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    Moodle is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+}}
+{{!
+    @template mod_forum/mark_as_read
+
+    Template to mark as read menu item.
+
+    Classes required for JS:
+    * none
+
+    Data attributes required for JS:
+    * none
+
+    Context variables required for this template:
+    * urls Object - Uses the 'markasread' attribute for the URL.
+
+    Example context (json):
+    {
+        "urls": {
+            "markasread": "#"
+        }
+    }
+}}
+<a class="dropdown-item menu-action" role="menuitem" href="{{{urls.markasread}}}">
+    <span class="menu-action-text">{{#str}}markasread, mod_forum{{/str}}</span>
+</a>