jenkins-bot has submitted this change and it was merged.
Change subject: Add loading state to flyout.
......................................................................
Add loading state to flyout.
Upon clicking the recommendations link the flyout immediately opens
and displays a spinner until completion of api request.
Change-Id: Idf091a98e108e577cbc57563c8f8540964b2bfef
---
A resources/lightbulb/images/ajax-loader-2x.gif
A resources/lightbulb/images/ajax-loader.gif
M resources/lightbulb/lightbulb.flyout.js
M resources/lightbulb/lightbulb.flyout.less
4 files changed, 37 insertions(+), 2 deletions(-)
Approvals:
Phuedx: Looks good to me, approved
jenkins-bot: Verified
diff --git a/resources/lightbulb/images/ajax-loader-2x.gif
b/resources/lightbulb/images/ajax-loader-2x.gif
new file mode 100644
index 0000000..c519155
--- /dev/null
+++ b/resources/lightbulb/images/ajax-loader-2x.gif
Binary files differ
diff --git a/resources/lightbulb/images/ajax-loader.gif
b/resources/lightbulb/images/ajax-loader.gif
new file mode 100644
index 0000000..3288d10
--- /dev/null
+++ b/resources/lightbulb/images/ajax-loader.gif
Binary files differ
diff --git a/resources/lightbulb/lightbulb.flyout.js
b/resources/lightbulb/lightbulb.flyout.js
index 2d9d0e8..413e539 100644
--- a/resources/lightbulb/lightbulb.flyout.js
+++ b/resources/lightbulb/lightbulb.flyout.js
@@ -26,6 +26,9 @@
<span
class="mw-gettingstarted-lightbulb-flyout-error-state-button-text"></span>\
</a>\
</div>\
+ <div
class="mw-gettingstarted-lightbulb-flyout-loader">\
+ <div
class="mw-gettingstarted-lightbulb-flyout-loader-spinner"></div>\
+ </div>\
<div class="guider_arrow guider_arrow_up
guider_arrow_center">\
<div
class="guider_arrow_inner_container">\
<div
class="guider_arrow_inner"></div>\
@@ -336,6 +339,9 @@
function requestSuggestions() {
var api = new mw.gettingStarted.Api();
+ $flyout.addClass( 'mw-gettingstarted-lightbulb-flyout-loading'
);
+ showFlyout();
+
requestingSuggestions = true;
api.getLastArticleUserEdited( mw.user.getName() )
.done( function ( title ) {
@@ -354,15 +360,15 @@
addErrorStateToFlyout(
'no-recommendations' );
} )
.always( function () {
- showFlyout();
+ $flyout.removeClass(
'mw-gettingstarted-lightbulb-flyout-loading' );
requestingSuggestions = false;
} );
} )
.fail( function () {
// no article edits state
+ $flyout.removeClass(
'mw-gettingstarted-lightbulb-flyout-loading' );
addErrorStateToFlyout( 'no-article-edits' );
requestingSuggestions = false;
- showFlyout();
} );
}
diff --git a/resources/lightbulb/lightbulb.flyout.less
b/resources/lightbulb/lightbulb.flyout.less
index 99d55cb..700b5d6 100644
--- a/resources/lightbulb/lightbulb.flyout.less
+++ b/resources/lightbulb/lightbulb.flyout.less
@@ -133,6 +133,15 @@
}
}
+.mw-gettingstarted-lightbulb-flyout-loading {
+ .mw-gettingstarted-lightbulb-flyout-head,
+ .mw-gettingstarted-lightbulb-flyout-text,
+ .mw-gettingstarted-lightbulb-flyout-pagination,
+ .mw-gettingstarted-lightbulb-flyout-error-state {
+ display: none;
+ }
+}
+
.mw-gettingstarted-lightbulb-flyout-error-state {
text-align: center;
white-space: normal;
@@ -189,6 +198,26 @@
}
}
+.mw-gettingstarted-lightbulb-flyout-loading
.mw-gettingstarted-lightbulb-flyout-loader {
+ display: block;
+}
+
+.mw-gettingstarted-lightbulb-flyout-loader {
+ margin: auto;
+ padding: 45px 71px;
+ display: none;
+
+ .mw-gettingstarted-lightbulb-flyout-loader-spinner {
+ margin: auto;
+ width: 32px;
+ height: 32px;
+ background-position: center;
+ background-size: 32px;
+ // Graceful degradation for browsers that don't support
background-size
+ .background-image-svg('images/ajax-loader-2x.gif',
'images/ajax-loader.gif');
+ }
+}
+
// TODO (phuedx, 2014/07/30): Classes like this would simplify the
// GuidedTour library. Create the entire set of classes upstream.
--
To view, visit https://gerrit.wikimedia.org/r/159077
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Idf091a98e108e577cbc57563c8f8540964b2bfef
Gerrit-PatchSet: 7
Gerrit-Project: mediawiki/extensions/GettingStarted
Gerrit-Branch: master
Gerrit-Owner: Robmoen <[email protected]>
Gerrit-Reviewer: Mattflaschen <[email protected]>
Gerrit-Reviewer: Phuedx <[email protected]>
Gerrit-Reviewer: Swalling <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits