summaryrefslogtreecommitdiff
path: root/public/js/index.js
diff options
context:
space:
mode:
authorCheng-Han, Wu2016-04-20 18:06:36 +0800
committerCheng-Han, Wu2016-04-20 18:06:36 +0800
commit692903f1a10606b0e14d50623663a4c591c42674 (patch)
treec628bd025daec4ba04287b5f0088d0bf92a8ed28 /public/js/index.js
parent49b51e478fa75b8d5254662de3265edcf8906004 (diff)
Support import from gist, fix some minor typo and issues
Diffstat (limited to 'public/js/index.js')
-rw-r--r--public/js/index.js57
1 files changed, 54 insertions, 3 deletions
diff --git a/public/js/index.js b/public/js/index.js
index 0e4fd21a..695d9d22 100644
--- a/public/js/index.js
+++ b/public/js/index.js
@@ -504,6 +504,7 @@ var ui = {
import: {
dropbox: $(".ui-import-dropbox"),
googleDrive: $(".ui-import-google-drive"),
+ gist: $(".ui-import-gist"),
clipboard: $(".ui-import-clipboard")
},
beta: {
@@ -1181,6 +1182,10 @@ function buildImportFromGoogleDrive() {
}
});
}
+//import from gist
+ui.toolbar.import.gist.click(function () {
+ //na
+});
//import from clipboard
ui.toolbar.import.clipboard.click(function () {
//na
@@ -1283,6 +1288,7 @@ function applyScrollspyActive(top, headerMap, headers, target, offset) {
active.closest('li').addClass('active').parent().closest('li').addClass('active').parent().closest('li').addClass('active');
}
+// clipboard modal
//fix for wrong autofocus
$('#clipboardModal').on('shown.bs.modal', function () {
$('#clipboardModal').blur();
@@ -1298,10 +1304,55 @@ $("#clipboardModalConfirm").click(function () {
$("#clipboardModalContent").html('');
}
});
+
+// refresh modal
$('#refreshModalRefresh').click(function () {
location.reload(true);
});
+// gist import modal
+$("#gistImportModalClear").click(function () {
+ $("#gistImportModalContent").val('');
+});
+$("#gistImportModalConfirm").click(function () {
+ var gisturl = $("#gistImportModalContent").val();
+ if (!gisturl) return;
+ $('#gistImportModal').modal('hide');
+ $("#gistImportModalContent").val('');
+ if (!isValidURL(gisturl)) {
+ showMessageModal('<i class="fa fa-github"></i> Import from Gist', 'Not a valid URL :(', '', '', false);
+ return;
+ } else {
+ var hostname = url('hostname', gisturl)
+ if (hostname !== 'gist.github.com') {
+ showMessageModal('<i class="fa fa-github"></i> Import from Gist', 'Not a valid Gist URL :(', '', '', false);
+ } else {
+ ui.spinner.show();
+ $.get('https://api.github.com/gists/' + url('-1', gisturl))
+ .success(function (data) {
+ if (data.files) {
+ var contents = "";
+ Object.keys(data.files).forEach(function (key) {
+ contents += key;
+ contents += '\n---\n';
+ contents += data.files[key].content;
+ contents += '\n\n';
+ });
+ replaceAll(contents);
+ } else {
+ showMessageModal('<i class="fa fa-github"></i> Import from Gist', 'Unable to fetch gist files :(', '', '', false);
+ }
+ })
+ .error(function (data) {
+ showMessageModal('<i class="fa fa-github"></i> Import from Gist', 'Not a valid Gist URL :(', '', JSON.stringify(data), false);
+ })
+ .complete(function () {
+ ui.spinner.hide();
+ });
+ }
+ }
+});
+
function parseToEditor(data) {
var parsed = toMarkdown(data);
if (parsed)
@@ -1320,9 +1371,9 @@ function replaceAll(data) {
function importFromUrl(url) {
//console.log(url);
- if (url == null) return;
+ if (!url) return;
if (!isValidURL(url)) {
- showMessageModal('<i class="fa fa-cloud-download"></i> Import from URL', 'Not valid URL :(', '', '', false);
+ showMessageModal('<i class="fa fa-cloud-download"></i> Import from URL', 'Not a valid URL :(', '', '', false);
return;
}
$.ajax({
@@ -1336,7 +1387,7 @@ function importFromUrl(url) {
replaceAll(data);
},
error: function (data) {
- showMessageModal('<i class="fa fa-cloud-download"></i> Import from URL', 'Import failed :(', '', data, false);
+ showMessageModal('<i class="fa fa-cloud-download"></i> Import from URL', 'Import failed :(', '', JSON.stringify(data), false);
},
complete: function () {
ui.spinner.hide();