/[drupal]/contributions/modules/autosave/autosave.js
ViewVC logotype

Contents of /contributions/modules/autosave/autosave.js

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.10 - (show annotations) (download) (as text)
Fri Nov 6 00:41:16 2009 UTC (3 weeks, 2 days ago) by ptalindstrom
Branch: MAIN
CVS Tags: DRUPAL-6--2-5, HEAD
Changes since 1.9: +1 -1 lines
File MIME type: text/javascript
- add stealth mode
1 var autosaved_form;
2
3 if (Drupal.jsEnabled) {
4 $(document).ready(function() {
5 $('body').append('<div id="autosave-status"><span id="status"></span><span id="operations"> \
6 <span id="view"><a href="#">View</a></span> \
7 <span id="ignore"><a href="#" title="Ignore/Delete Saved Form">Ignore</a></span> \
8 <span id="keep"><a href="#" title="Keep Saved Form - Revert to Saved">Keep</a></span></span></div>');
9 autosaved = Drupal.settings.autosave;
10 autosaved_form_id = 'node-form';
11
12 if (autosaved.serialized) {
13 $('#autosave-status #keep').css('display', 'none').css('visibility', 'hidden');
14 $('#autosave-status #view a').click(function() {
15 if ($(this).html() == 'View') {
16 $('#' + autosaved_form_id).formHash(autosaved.serialized);
17
18 if (Drupal.settings.autosave.wysiwyg) {
19 // need to loop through any WYSIWYG editor fields and update the visible iframe fields with hidden field content
20 for (var instance in Drupal.wysiwyg.instances) {
21 Drupal.wysiwyg.instances[instance].setContent($('#' + instance).val());
22 }
23 }
24 $('#' + autosaved_form_id).focus();
25 $(this).html('Reset');
26 $('#autosave-status #keep').css('display', 'inline').css('visibility', 'visible');
27 $('#autosave-status #keep a').html('Keep');
28 }
29 else if ($(this).html() == 'Reset') {
30 form = document.getElementById(autosaved_form_id);
31 form.reset();
32 $('#autosave-status #keep').css('display', 'none').css('visibility', 'hidden');
33 $(this).html('View');
34 }
35 return false;
36 });
37 $('#autosave-status #ignore a').click(function() {
38 $('#autosave-status').fadeOut('slow');
39 form = document.getElementById(autosaved_form_id);
40 form.reset();
41 $('#autosave-status #operations').css('display', 'none').css('visibility', 'hidden');
42 Drupal.attachAutosave();
43 return false;
44 });
45 $('#autosave-status #keep a').click(function() {
46 $('#autosave-status').fadeOut('slow');
47 form = document.getElementById(autosaved_form_id);
48 $('#autosave-status #operations').css('display', 'none').css('visibility', 'hidden');
49 Drupal.attachAutosave();
50 return false;
51 });
52 $('#autosave-status #status').html('This form was autosaved on ' + autosaved.saved_date);
53 $('#autosave-status').slideDown();
54 }
55 // There are no autosaved forms, continue with autosave.
56 else {
57 Drupal.attachAutosave();
58 }
59 });
60 }
61
62 Drupal.saveForm = function() {
63 if (Drupal.settings.autosave.wysiwyg) {
64 // need to loop through any WYSIWYG editor fields and update the real (hidden) text fields before saving
65 for (var instance in Drupal.wysiwyg.instances) {
66 if (Drupal.wysiwyg.instances[instance].editor != 'none') {
67 var content = Drupal.wysiwyg.instances[instance].getContent();
68 $('#' + instance).val(content);
69 }
70 }
71 }
72
73 var serialized = $('#node-form').formHash();
74 serialized['q'] = Drupal.settings.autosave.q;
75 $.ajax({
76 url: Drupal.settings.basePath + "autosave/handler",
77 type: "POST",
78 dataType: "xml/html/script/json",
79 data: serialized,
80 complete: function(XMLHttpRequest, textStatus) {
81 if (!Drupal.settings.autosave.hidden) Drupal.displaySaved();
82 Drupal.attachAutosave();
83 }
84 });
85 }
86
87 Drupal.attachAutosave = function() {
88 setTimeout('Drupal.saveForm()', Drupal.settings.autosave.period * 1000);
89 }
90
91 Drupal.displaySaved = function() {
92 $('#autosave-status #status').html('Form autosaved.');
93 $('#autosave-status #operations').css('display', 'none').css('visibility', 'hidden');
94 $('#autosave-status').slideDown();
95 setTimeout("$('#autosave-status').fadeOut('slow')", 3000);
96 }
97

  ViewVC Help
Powered by ViewVC 1.1.2