diff options
Diffstat (limited to 'public/editor/editor.js')
-rw-r--r-- | public/editor/editor.js | 171 |
1 files changed, 0 insertions, 171 deletions
diff --git a/public/editor/editor.js b/public/editor/editor.js deleted file mode 100644 index a01f33a..0000000 --- a/public/editor/editor.js +++ /dev/null @@ -1,171 +0,0 @@ -var editor = new MediumEditor('.editable', { - toolbar: { - buttons: ['bold', 'italic', 'anchor', 'h1', 'h2', 'quote', 'pre', 'unorderedlist'] - }, - placeholder: {text: 'Write something nice...'}, - paste: { - // This example includes the default options for paste, if nothing is passed this is what it used - forcePlainText: false, - cleanPastedHTML: true, - cleanReplacements: [], - cleanAttrs: ['class', 'style', 'dir'], - cleanTags: ['meta'] - } -}); - -$(function() { - $('.editable').mediumInsert({ - editor: editor, - beginning: true, - addons: { - images: { - deleteScript: '/editor/delete-file', - fileUploadOptions: { - url: '/editor/upload' - } - }, - embeds: { - oembedProxy: '/editor/oembed' - } - } - }); - - $.post('/editor/test-login', {}, function(response) { - if(response.logged_in) { - $('.publish-dropdown .action-publish').removeClass('hidden'); - $('.publish-dropdown .action-signin').addClass('hidden'); - } else { - $('.publish-dropdown .action-publish').addClass('hidden'); - $('.publish-dropdown .action-signin').removeClass('hidden'); - } - }); - - $('#publish_btn').click(function(){ - if($('.publish-dropdown').hasClass('hidden')) { - $('.publish-dropdown').removeClass('hidden'); - $('#publish-confirm').show(); - $('#publish-success').addClass('hidden'); - $('#publish-error').addClass('hidden'); - $('#publish-help').removeClass('hidden'); - } else { - $('.publish-dropdown').addClass('hidden'); - } - }); - - $('#new_btn').click(function(){ - if(confirm('This will discard your current post. Are you sure?')) { - reset_page(); - } - }); - - $('#signin-domain').on('keydown', function(e){ - if(e.keyCode == 13) { - $('#signin-btn').click(); - } - }); - $('#signin-btn').click(function(){ - window.location = '/auth/start?me=' + encodeURIComponent($('#signin-domain').val()) + '&redirect=/editor'; - }); - $('#publish-confirm').click(function(){ - $('#publish-help').addClass('hidden'); - $('#publish-in-progress').removeClass('hidden'); - - $.post('/editor/publish', { - name: $("#post-name").val(), - body: editor.serialize().content.value - }, function(response) { - if(response.location) { - reset_page().then(function(){ - $('#publish-success-url').attr('href', response.location); - $('#publish-in-progress').addClass('hidden'); - $('#publish-error-debug').html('').addClass('hidden'); - $('#publish-error').addClass('hidden'); - $('#publish-success').removeClass('hidden'); - }); - } else { - $('#publish-in-progress').addClass('hidden'); - $('#publish-error-debug').html(response.response).removeClass('hidden'); - $('#publish-error').removeClass('hidden'); - $('#publish-success').addClass('hidden'); - } - }); - }); - - $("#micropub-html-btn").click(function(){ - $.post('/settings/html-content', { - html: 1 - }, function(data){ - $('.micropub-html-warning').hide(); - }); - }); - - $.getJSON('/settings/html-content', function(data){ - if(data.html == '0') { - $('.micropub-html-warning').show(); - } - }); -}); - -function reset_page() { - $("#post-name").val(''); - $("#content").html(''); - $("#draft-status").text("New"); - $("#publish-confirm").hide(); - return localforage.setItem('currentdraft', {}); -} - -function onUpdateReady() { - // Show the notice that says there is a new version of the app - $("#new_version_available").show(); -} - -window.applicationCache.addEventListener('updateready', onUpdateReady); -if(window.applicationCache.status === window.applicationCache.UPDATEREADY) { - onUpdateReady(); -} - -/* ************************************************ */ -/* autosave loop */ -var autosaveTimeout = false; -function contentChanged() { - clearTimeout(autosaveTimeout); - $("#draft-status").text("Draft"); - autosaveTimeout = setTimeout(doAutoSave, 1000); -} -function doAutoSave() { - autosaveTimeout = false; - var savedData = { - title: $("#post-name").val(), - body: editor.serialize().content.value - } - localforage.setItem('currentdraft', savedData).then(function(){ - $("#draft-status").text("Saved"); - }); -} -$(function(){ - // Restore draft if present - localforage.getItem('currentdraft', function(err,val){ - if(val && val.body) { - $("#post-name").val(val.title); - $("#content").html(val.body); - $("#draft-status").text("Restored"); - // drop the cursor into the editor which clears the placeholder text - $("#content").focus().click(); - } - }); -}); -/* ************************************************ */ - - -// Not sure why this isn't working -// editor.subscribe('editableInput', function(ev, editable) { -// console.log("stuff changed"); -// }); - -// This one works okay tho, but misses changes from the image uploader -editor.on(document.getElementById('content'), 'input', function(){ - contentChanged(); -}); -$(function(){ - $('#post-name').on('keyup', contentChanged); -}); |