From 6856613c1bebf778a843eaeb4527870c5f1f72e6 Mon Sep 17 00:00:00 2001 From: hukl Date: Fri, 8 May 2009 09:18:19 +0200 Subject: put the whole autosave stuff into admin_interface.js --- public/javascripts/admin_interface.js | 49 ++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) (limited to 'public/javascripts/admin_interface.js') diff --git a/public/javascripts/admin_interface.js b/public/javascripts/admin_interface.js index 2b8a0d2..a1d78c7 100644 --- a/public/javascripts/admin_interface.js +++ b/public/javascripts/admin_interface.js @@ -16,4 +16,51 @@ $(document).ready(function () { 'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")} }) -}); \ No newline at end of file +}); + + +cccms = { + setup_autosave : function() { + + var elements = { + "title" : $('#page_title'), + "abstract" : $('#page_abstract'), + "body" : $('#page_body_ifr').contents().find('#tinymce'), + } + + + var page = { + "cached_title_length" : elements.title.val().length, + "cached_abstract_length" : elements.abstract.val().length, + "cached_body_length" : elements.body.html().length, + + "title_has_changed" : function() { + return (elements.title.val().length != this.cached_title_length) + }, + + "abstract_has_changed" : function() { + return (elements.abstract.val().length != this.cached_abstract_length) + }, + + "body_has_changed" : function() { + return elements.body.html().length != this.cached_body_length + } + } + + + jQuery.fn.submitWithAjax = function(options) { + if (page.title_has_changed() || page.abstract_has_changed() || page.body_has_changed()) { + + page.cached_title_length = elements.title.val().length; + page.cached_abstract_length = elements.abstract.val().length; + page.cached_body_length = elements.body.html().length; + + $("#flash").append(""); + $.post(this.attr("action"), $(this).serialize(), null, "script"); + + } + }; + + setInterval('$("#page_editor > form").submitWithAjax()', 15000); + } +} \ No newline at end of file -- cgit v1.3