//= require qs/dist/qs
$(document).ready(function () {
- var loaderTimeout;
-
var map = new L.OSM.Map("map", {
zoomControl: false,
layerControl: false,
map.setSidebarOverlaid(false);
- clearTimeout(loaderTimeout);
-
- loaderTimeout = setTimeout(function () {
- $("#sidebar_loader").show();
- }, 200);
+ $("#sidebar_loader").show().addClass("delayed-fade-in");
// IE<10 doesn't respect Vary: X-Requested-With header, so
// prevent caching the XHR response as a full-page URL.
url: content_path,
dataType: "html",
complete: function (xhr) {
- clearTimeout(loaderTimeout);
$("#flash").empty();
- $("#sidebar_loader").hide();
+ $("#sidebar_loader").removeClass("delayed-fade-in").hide();
var content = $(xhr.responseText);
var container = $(this).closest(".richtext_container");
var preview = container.find(".tab-pane[id$='_preview']");
- preview.children(".richtext_placeholder").attr("hidden", true);
+ preview.children(".richtext_placeholder").attr("hidden", true).removeClass("delayed-fade-in");
preview.children(".richtext").empty();
});
var preview = container.find(".tab-pane[id$='_preview']");
if (preview.children(".richtext").contents().length === 0) {
- preview.oneTime(200, "loading", function () {
- preview.children(".richtext_placeholder").removeAttr("hidden");
- });
+ preview.children(".richtext_placeholder").removeAttr("hidden").addClass("delayed-fade-in");
preview.children(".richtext").load(editor.data("previewUrl"), { text: editor.val() }, function () {
- preview.stopTime("loading");
- preview.children(".richtext_placeholder").attr("hidden", true);
+ preview.children(".richtext_placeholder").attr("hidden", true).removeClass("delayed-fade-in");
});
}
});
}
}
+/* Utility for delayed loading spinner */
+
+.delayed-fade-in {
+ animation: 300ms linear forwards delayed-fade-in;
+}
+
+@keyframes delayed-fade-in {
+ 0% { opacity: 0 }
+ 66% { opacity: 0 }
+ 100% { opacity: 1 }
+}
+
/* Rules for the header */
#menu-icon {