summaryrefslogtreecommitdiffstats
path: root/public/ng/js/utils/preview.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/ng/js/utils/preview.js')
-rw-r--r--public/ng/js/utils/preview.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/public/ng/js/utils/preview.js b/public/ng/js/utils/preview.js
new file mode 100644
index 0000000000..87ab39e586
--- /dev/null
+++ b/public/ng/js/utils/preview.js
@@ -0,0 +1,53 @@
+/**
+ * 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);
+ }
+});