From 548453ecde6a962f1ebb96d758a640ea27bad829 Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Tue, 4 Nov 2014 15:45:38 +0800 Subject: [PATCH] MDL-48044 mod_forum: Preload icons for discussion subscription toggles --- mod/forum/discuss.php | 1 + mod/forum/lib.php | 17 ++++++++++++++++- mod/forum/styles.css | 8 ++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/mod/forum/discuss.php b/mod/forum/discuss.php index 000f445d63e..f28e0fad8a1 100644 --- a/mod/forum/discuss.php +++ b/mod/forum/discuss.php @@ -245,6 +245,7 @@ forum_get_discussion_subscription_icon($forum, $post->discussion, null, true), 'discussionsubscription' ); + echo forum_get_discussion_subscription_icon_preloaders(); } } diff --git a/mod/forum/lib.php b/mod/forum/lib.php index 3788ac5ce38..28cb70adc5b 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -3819,6 +3819,19 @@ function forum_get_discussion_subscription_icon($forum, $discussionid, $returnur return $o; } +/** + * Return a pair of spans containing classes to allow the subscribe and + * unsubscribe icons to be pre-loaded by a browser. + * + * @return string The generated markup + */ +function forum_get_discussion_subscription_icon_preloaders() { + $o = ''; + $o .= html_writer::span(' ', 'preload-subscribe'); + $o .= html_writer::span(' ', 'preload-unsubscribe'); + return $o; +} + /** * Print the drop down that allows the user to select how they want to have * the discussion displayed. @@ -5382,7 +5395,9 @@ function forum_print_latest_discussions($course, $forum, $maxdiscussions = -1, $ echo ''.get_string('lastpost', 'forum').''; if (has_capability('mod/forum:viewdiscussion', $context)) { if (\mod_forum\subscriptions::is_subscribable($forum)) { - echo ' '; + echo ''; + echo forum_get_discussion_subscription_icon_preloaders(); + echo ''; } } echo ''; diff --git a/mod/forum/styles.css b/mod/forum/styles.css index 4ef2c36a924..872f28b4b3c 100644 --- a/mod/forum/styles.css +++ b/mod/forum/styles.css @@ -148,6 +148,14 @@ span.unread { width: 12px; } +.path-mod-forum .preload-subscribe { + background: url([[pix:mod_forum|t/subscribed]]) no-repeat -9999px -9999px; +} + +.path-mod-forum .preload-unsubscribe { + background: url([[pix:mod_forum|t/unsubscribed]]) no-repeat -9999px -9999px; +} + .path-mod-forum .discussionsubscription { margin-top: -10px; text-align: right; -- 2.43.0