1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /**
- * 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);
- }
- });
|