mirror of https://github.com/gogits/gogs.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.1 KiB
53 lines
1.1 KiB
/** |
|
* preview plugin |
|
* @param selector |
|
* @param target_selector |
|
*/ |
|
function Preview(selector, target_selector) { |
|
|
|
// get input element |
|
function get_input($e) { |
|
return $e.find(".js-preview-input").eq(0); |
|
} |
|
|
|
// get result html container element |
|
function get_container($t) { |
|
if ($t.hasClass("js-preview-container")) { |
|
return $t |
|
} |
|
return $t.find(".js-preview-container").eq(0); |
|
} |
|
|
|
var $e = $(selector); |
|
var $t = $(target_selector); |
|
|
|
var $ipt = get_input($t); |
|
if (!$ipt.length) { |
|
console.log("[preview]: no preview input"); |
|
return |
|
} |
|
var $cnt = get_container($t); |
|
if (!$cnt.length) { |
|
console.log("[preview]: no preview container"); |
|
return |
|
} |
|
|
|
|
|
// call api via ajax |
|
$e.on("click", function () { |
|
$.post("/api/v1/markdown", { |
|
text: $ipt.val() |
|
}, function (html) { |
|
$cnt.html(html); |
|
}) |
|
}); |
|
|
|
console.log("[preview]: init preview @", selector, "&", target_selector); |
|
} |
|
|
|
|
|
$.fn.extend({ |
|
markdown_preview: function (target) { |
|
Preview(this, target); |
|
} |
|
});
|
|
|