#57165 add periodic autosave feature to RT-Extension-Drafts
[manu/RT-Extension-Drafts.git] / html / Callbacks / Drafts / Ticket / Update.html / AfterMessageBox
index 2a92f3c..fb9e389 100644 (file)
@@ -2,6 +2,21 @@
 <input type="submit" class="button" name="LoadDraft" value="<&|/l&>Load draft</&>" />
 % }
 <input type="submit" class="button" name="SaveDraft" value="<% ($Draft && $Draft->id) ? loc('Update draft') : loc('Save draft')%>" />
+
+<script type="text/javascript">
+jQuery(function() {
+    timeout_save_draft = window.setTimeout(save_draft, <% RT->Config->Get('AutoSaveDraftPeriod', $session{'CurrentUser'}) || 300 %> * 1000);
+});
+
+function save_draft() {
+    jQuery.post("/Helpers/SaveDraft", {UserId: "<% $session{'CurrentUser'}->id %>", TicketId: "<% $Ticket->id %>", Content: jQuery('#UpdateContent').val(), ContentType: jQuery('#UpdateContent').hasClass('richtext') ? 'text/html' : 'text/plain'},
+        function(res) {
+            console.log(res);
+        }
+    );
+    timeout_save_draft = window.setTimeout(save_draft, <% RT->Config->Get('AutoSaveDraftPeriod', $session{'CurrentUser'}) || 300 %> * 1000);
+}
+</script>
 <%init>
 my $Ticket = LoadTicket($ARGS{'id'});