X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/eb789dbf757e760e8348e0aa75343eb53996b7e3..cc4f133e64a1f0d963f60fb40045145a530d5dbb:/app/assets/javascripts/site.js diff --git a/app/assets/javascripts/site.js b/app/assets/javascripts/site.js index 3d4130580..978e84e3d 100644 --- a/app/assets/javascripts/site.js +++ b/app/assets/javascripts/site.js @@ -2,6 +2,9 @@ //= require jquery_ujs //= require jquery.autogrowtextarea //= require jquery.timers +//= require i18n/translations +//= require globals +//= require export /* * Called as the user scrolls/zooms around to aniplate hrefs of the @@ -50,11 +53,11 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj $(link).off("click.minzoom"); if (zoom >= minzoom) { - $(link).attr("title", i18n("javascripts.site." + name + "_tooltip")); + $(link).attr("title", I18n.t("javascripts.site." + name + "_tooltip")); $(link).removeClass("disabled"); } else { - $(link).on("click.minzoom", function () { alert(i18n("javascripts.site." + name + "_zoom_alert")); return false; }); - $(link).attr("title", i18n("javascripts.site." + name + "_disabled_tooltip")); + $(link).on("click.minzoom", function () { alert(I18n.t("javascripts.site." + name + "_zoom_alert")); return false; }); + $(link).attr("title", I18n.t("javascripts.site." + name + "_disabled_tooltip")); $(link).addClass("disabled"); } } @@ -144,26 +147,6 @@ function setArgs(url, args) { return url.replace(/\?.*$/, "") + "?" + queryitems.join("&"); } -/* - * Called to interpolate JavaScript variables in strings using a - * similar syntax to rails I18n string interpolation - the only - * difference is that [[foo]] is the placeholder syntax instead - * of {{foo}} which allows the same string to be processed by both - * rails and then later by javascript. - */ -function i18n(string, keys) { - string = i18n_strings[string] || string; - - for (var key in keys) { - var re_key = '\\[\\[' + key + '\\]\\]'; - var re = new RegExp(re_key, "g"); - - string = string.replace(re, keys[key]); - } - - return string; -} - /* * Called to interlace the bits in x and y, making a Morton code. */ @@ -216,15 +199,18 @@ function previewRichtext(event) { var width = editor.outerWidth() - preview.outerWidth() + preview.innerWidth(); var minHeight = editor.outerHeight() - preview.outerHeight() + preview.innerHeight(); + if (preview.contents().length == 0) { + preview.oneTime(500, "loading", function () { + preview.addClass("loading"); + }); + + preview.load(editor.attr("data-preview-url"), { text: editor.val() }, function () { + preview.stopTime("loading"); + preview.removeClass("loading"); + }); + } + editor.hide(); - preview.html(""); - preview.oneTime(500, "loading", function () { - preview.addClass("loading"); - }); - preview.load(editor.attr("data-preview-url"), { text: editor.val() }, function () { - preview.stopTime("loading"); - preview.removeClass("loading"); - }); preview.width(width); preview.css("min-height", minHeight + "px"); preview.show(); @@ -256,6 +242,9 @@ function editRichtext(event) { */ $(document).ready(function () { $(".richtext_preview").hide(); + $(".richtext_content textarea").change(function () { + $(this).parents(".richtext_container").find(".richtext_preview").empty(); + }); $(".richtext_doedit").prop("disabled", true); $(".richtext_dopreview").prop("disabled", false); $(".richtext_doedit").click(editRichtext);