| 1 |
- tinymce.PluginManager.add("autosave",function(e){var t=e.settings,a=tinymce.util.LocalStorage,n,r;n=t.autosave_prefix||"tinymce-autosave-{path}{query}-{id}-";n=n.replace(/\{path\}/g,document.location.pathname);n=n.replace(/\{query\}/g,document.location.search);n=n.replace(/\{id\}/g,e.id);function o(e,t){var a={s:1e3,m:6e4};e=/^(\d+)([ms]?)$/.exec(""+(e||t));return(e[2]?a[e[2]]:1)*parseInt(e,10)}function i(){var e=parseInt(a.getItem(n+"time"),10)||0;if((new Date).getTime()-e>t.autosave_retention){s(false);return false}return true}function s(t){a.removeItem(n+"draft");a.removeItem(n+"time");if(t!==false){e.fire("RemoveDraft")}}function f(){if(!l()&&e.isDirty()){a.setItem(n+"draft",e.getContent({format:"raw",no_events:true}));a.setItem(n+"time",(new Date).getTime());e.fire("StoreDraft")}}function u(){if(i()){e.setContent(a.getItem(n+"draft"),{format:"raw"});e.fire("RestoreDraft")}}function c(){if(!r){setInterval(function(){if(!e.removed){f()}},t.autosave_interval);r=true}}t.autosave_interval=o(t.autosave_interval,"30s");t.autosave_retention=o(t.autosave_retention,"20m");function d(){var t=this;t.disabled(!i());e.on("StoreDraft RestoreDraft RemoveDraft",function(){t.disabled(!i())});c()}function m(){e.undoManager.beforeChange();u();s();e.undoManager.add()}e.addButton("restoredraft",{title:"Restore last draft",onclick:m,onPostRender:d});e.addMenuItem("restoredraft",{text:"Restore last draft",onclick:m,onPostRender:d,context:"file"});function v(){var e;tinymce.each(tinymce.editors,function(t){if(t.plugins.autosave){t.plugins.autosave.storeDraft()}if(!e&&t.isDirty()&&t.getParam("autosave_ask_before_unload",true)){e=t.translate("You have unsaved changes are you sure you want to navigate away?")}});return e}function l(t){var a=e.settings.forced_root_block;t=tinymce.trim(typeof t=="undefined"?e.getBody().innerHTML:t);return t===""||new RegExp("^<"+a+"[^>]*>(( | |[ \t]|<br[^>]*>)+?|)</"+a+">|<br>$","i").test(t)}if(e.settings.autosave_restore_when_empty!==false){e.on("init",function(){if(i()&&l()){u()}});e.on("saveContent",function(){s()})}window.onbeforeunload=v;this.hasDraft=i;this.storeDraft=f;this.restoreDraft=u;this.removeDraft=s;this.isEmpty=l});
|