round-trip changes to server
authorDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 23 May 2010 15:54:15 +0000 (17:54 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Sun, 23 May 2010 15:54:15 +0000 (17:54 +0200)
This allows changes to collect edits which in turn make them persistant.

lib/MojoFacets/Data.pm
public/edit_table.js
public/mojo_facets.css
templates/data/edit.html.ep [new file with mode: 0644]

index 68a6b0c..cd8174a 100644 (file)
@@ -452,5 +452,13 @@ sub facet {
        );
 }
 
+sub edit {
+       my $self = shift;
+       my $content = $self->param('content');
+
+       $self->render(
+               content => $content
+       );
+}
 
 1;
index 73404fe..c230c7f 100644 (file)
@@ -14,16 +14,19 @@ var cell_blur = function() {
        var y = $(this).parent().parent().attr('rowIndex');
 
        var content = $(this).val();
-       if ( 0 ) { // leave delimiters in edited cells visible
-               var vals = content.split('¶');
-               content = vals.join('<span class=d>¶</span>');
-       }
-
-//     var cell = $('<td>'+content+'</td>');
-       $(this).replaceWith( content );
+//     $(this).replaceWith( content );
 
        var name = $('table tr th:nth('+x+') > a').text();
        console.info( x, y, pk, id, name, content );
+
+       var update = $(this);
+
+       $.post( '/data/edit', { pk: pk, id: id, name: name, content: content } , function(data) {
+               console.debug( data );
+               var vals = content.split('¶');
+               data = vals.join('<span class=d>¶</span>');
+               update.replaceWith( data );
+       });
 }
 
 var cell_click = function(event) {
index 81fb772..6a1a959 100644 (file)
@@ -136,3 +136,7 @@ a#excluded {
 span.d {
        color: #ccc;
 }
+
+.saved {
+       background: #ffe;
+}
diff --git a/templates/data/edit.html.ep b/templates/data/edit.html.ep
new file mode 100644 (file)
index 0000000..31309b5
--- /dev/null
@@ -0,0 +1 @@
+<div class=saved><%= $content %></div>