X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/b6163f0fc29740b4d9953a8c1fe47875ce2ecab0..561f2f694adc8ac57011eac1eec5929425276c59:/app/assets/javascripts/site.js diff --git a/app/assets/javascripts/site.js b/app/assets/javascripts/site.js index 95815d44e..5d727a069 100644 --- a/app/assets/javascripts/site.js +++ b/app/assets/javascripts/site.js @@ -205,3 +205,51 @@ function makeShortCode(lat, lon, zoom) { } return str; } + +/* + * Click handler to switch a rich text control to preview mode + */ +function previewRichtext(event) { + var editor = $(this).parents(".richtext_container").find("textarea"); + var preview = $(this).parents(".richtext_container").find(".richtext_preview"); + var width = editor.outerWidth() - preview.outerWidth() + preview.innerWidth(); + var minHeight = editor.outerHeight() - preview.outerHeight() + preview.innerHeight(); + + editor.hide(); + preview.load(editor.attr("data-preview-url"), { text: editor.val() }); + preview.width(width); + preview.css("min-height", minHeight + "px"); + preview.show(); + + $(this).siblings(".richtext_doedit").prop("disabled", false); + $(this).prop("disabled", true); + + event.preventDefault(); +} + +/* + * Click handler to switch a rich text control to edit mode + */ +function editRichtext(event) { + var editor = $(this).parents(".richtext_container").find("textarea"); + var preview = $(this).parents(".richtext_container").find(".richtext_preview"); + + preview.hide(); + editor.show(); + + $(this).siblings(".richtext_dopreview").prop("disabled", false); + $(this).prop("disabled", true); + + event.preventDefault(); +} + +/* + * Setup any rich text controls + */ +$(document).ready(function () { + $(".richtext_preview").hide(); + $(".richtext_doedit").prop("disabled", true); + $(".richtext_dopreview").prop("disabled", false); + $(".richtext_doedit").click(editRichtext); + $(".richtext_dopreview").click(previewRichtext); +});