You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by ij...@apache.org on 2014/06/19 15:14:50 UTC

svn commit: r1603869 - in /jena/Experimental/jena-fuseki2/src/main/webapp: js/app/models/dataset.js js/app/templates/dataset-management.tpl js/app/views/dataset-management.js manage.html

Author: ijd
Date: Thu Jun 19 13:14:50 2014
New Revision: 1603869

URL: http://svn.apache.org/r1603869
Log:
Code for removing a dataset in place, but waiting for resolution of JENA-717 before progressing further

Modified:
    jena/Experimental/jena-fuseki2/src/main/webapp/js/app/models/dataset.js
    jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-management.tpl
    jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-management.js
    jena/Experimental/jena-fuseki2/src/main/webapp/manage.html

Modified: jena/Experimental/jena-fuseki2/src/main/webapp/js/app/models/dataset.js
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/webapp/js/app/models/dataset.js?rev=1603869&r1=1603868&r2=1603869&view=diff
==============================================================================
--- jena/Experimental/jena-fuseki2/src/main/webapp/js/app/models/dataset.js (original)
+++ jena/Experimental/jena-fuseki2/src/main/webapp/js/app/models/dataset.js Thu Jun 19 13:14:50 2014
@@ -29,6 +29,10 @@ define(
         return this.get( "mgmtURL" );
       },
 
+      mgmtActionURL: function() {
+        return this.get( "mgmtURL" ) + this.name();
+      },
+
       name: function() {
         return this.get( "ds.name" );
       },
@@ -78,6 +82,14 @@ define(
       /** Return the sparql upload URL for this dataset, if it has one, or null */
       uploadURL: function( graphName ) {
         return sprintf( "%s?graph=%s", this.graphStoreProtocolURL(), graphName );
+      },
+
+      /** Perform the action to delete the dataset. Returns the Ajax deferred object */
+      deleteDataset: function() {
+        return $.ajax( {
+          url: this.mgmtActionURL(),
+          type: 'DELETE'
+        } );
       }
 
     } );

Modified: jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-management.tpl
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-management.tpl?rev=1603869&r1=1603868&r2=1603869&view=diff
==============================================================================
--- jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-management.tpl (original)
+++ jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-management.tpl Thu Jun 19 13:14:50 2014
@@ -14,10 +14,13 @@
             </td>
             <td><input type='checkbox' class='checkbox' checked /></td>
             <td>
-              <a class="btn btn-sm action remove btn-primary" data-mgmt-uri='<%= ds.mgmtURL() %>' data-ds-id='<%= ds.name() %>'><i class='fa fa-times-circle'></i> remove</a>
-              <a class="btn btn-sm action backup btn-primary" data-uri='<%= ds.mgmtURL() %>'><i class='fa fa-download'></i> backup</a>
-              <a class="btn btn-sm action configure btn-primary" href="admin-dataset-details.html#<%= ds.name() %>"><i class='fa fa-wrench'></i> configure</a>
-              <a class="btn btn-sm action add-data btn-primary" href="upload.html?ds=<%= ds.name %>'><i class='fa fa-plus-circle'></i> add data</a>
+              <div>
+                <a class="btn btn-sm action remove btn-primary" data-mgmt-uri='<%= ds.mgmtURL() %>' data-ds-id='<%= ds.name() %>'><i class='fa fa-times-circle'></i> remove</a>
+                <a class="btn btn-sm action backup btn-primary" data-uri='<%= ds.mgmtURL() %>'><i class='fa fa-download'></i> backup</a>
+                <a class="btn btn-sm action configure btn-primary" href="admin-dataset-details.html#<%= ds.name() %>"><i class='fa fa-wrench'></i> configure</a>
+                <a class="btn btn-sm action add-data btn-primary" href="upload.html?ds=<%= ds.name %>'><i class='fa fa-plus-circle'></i> add data</a>
+              </div>
+              <div class="action feedback"></a>
             </td>
           </tr>
         <% }) %>
@@ -27,3 +30,22 @@
   </div>
 <% } %>
 
+<!-- Modal dialogs -->
+
+<div class="modal fade" id="deleteConfirmModal" tabindex="-1" role="dialog" aria-labelledby="deleteConfirmModalLabel" aria-hidden="true">
+  <div class="modal-dialog">
+    <div class="modal-content">
+      <div class="modal-header">
+        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+        <h4 class="modal-title" id="deleteConfirmModalLabel">Confirm delete</h4>
+      </div>
+      <div class="modal-body">
+        <p></p>
+      </div>
+      <div class="modal-footer">
+        <button type="button" class="btn btn-default" data-dismiss="modal"><i class="fa fa-icon-remove"></i> Cancel</button>
+        <button type="button" class="btn btn-primary action confirm"><i class="fa fa-icon-confirm"></i> Confirm delete</button>
+      </div>
+    </div><!-- /.modal-content -->
+  </div><!-- /.modal-dialog -->
+</div><!-- /.modal -->

Modified: jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-management.js
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-management.js?rev=1603869&r1=1603868&r2=1603869&view=diff
==============================================================================
--- jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-management.js (original)
+++ jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-management.js Thu Jun 19 13:14:50 2014
@@ -8,7 +8,8 @@ define(
     var DataManagementView = Backbone.Marionette.ItemView.extend( {
 
       initialize: function(){
-        _.bindAll( this, "onRemoveDataset" );
+        _.bindAll( this, "onRemoveDataset", "onConfirmRemoveDataset",
+                         "onDatasetRemoveSuccess", "onDatasetRemoveFail" );
         this.listenTo( this.model, "change", this.onModelChange, this );
       },
 
@@ -20,7 +21,8 @@ define(
       el: "#dataset-management",
 
       events: {
-        "click .action.remove": "onRemoveDataset"
+        "click .action.remove": "onRemoveDataset",
+        "click .action.confirm": "onConfirmRemoveDataset"
 //        "change #independent-variable-selection": "selectVariable",
 //        "click a.action.filter": "onFilter"
       },
@@ -39,12 +41,13 @@ define(
         e.preventDefault();
         var elem = $(e.currentTarget);
         var dsId = elem.data( "ds-id" );
-        var mgmtURI = elem.data( "mgmt-uri" );
         var msg = sprintf( "Are you sure you want to delete dataset %s? This action cannot be reversed.", dsId );
         var deleteConfirmModal = $( "#deleteConfirmModal" );
 
         deleteConfirmModal.find( ".modal-body p" ).html( msg );
-        deleteConfirmModal.find( ".action.confirm" ).data( "uri", mgmtURI + dsId );
+        deleteConfirmModal.find( ".action.confirm" ).data( "ds-id", dsId );
+
+        this.clearFeedback();
 
         deleteConfirmModal.modal( 'show' );
       },
@@ -53,8 +56,34 @@ define(
       onConfirmRemoveDataset: function( e ) {
         e.preventDefault();
         var elem = $(e.currentTarget);
+        var dsId = elem.data( "ds-id" );
+        var self = this;
+
+        fui.models
+           .fusekiServer
+           .dataset( dsId )
+           .deleteDataset()
+           .done( function( data ) {self.onDatasetRemoveSuccess( data, dsId );} )
+           .error( function( jqxhr, msg, err ) {self.onDatasetRemoveFail( jqxhr, msg, err, dsId );} );
+
+        $( "#deleteConfirmModal" ).modal( 'hide' );
+      },
+
+      onDatasetRemoveSuccess: function( data, dsId ) {
+        console.log( "deleted dataset" );
+      },
 
+      /** Removing the dataset did not work: notify the user */
+      onDatasetRemoveFail: function( jqxhr, msg, err, dsId ) {
+        $(sprintf( ".action.remove[data-ds-id='%s']", dsId ) )
+          .parent()
+          .siblings(".action.feedback")
+          .html( sprintf( "<p class='text-warning'>Sorry, removing dataset %s did not work, because: '%s'</p>", dsId, err || msg ) );
+      },
 
+      /** Remove any current feedback content */
+      clearFeedback: function() {
+        $(".action.feedback").empty();
       }
 
     });

Modified: jena/Experimental/jena-fuseki2/src/main/webapp/manage.html
URL: http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/webapp/manage.html?rev=1603869&r1=1603868&r2=1603869&view=diff
==============================================================================
--- jena/Experimental/jena-fuseki2/src/main/webapp/manage.html (original)
+++ jena/Experimental/jena-fuseki2/src/main/webapp/manage.html Thu Jun 19 13:14:50 2014
@@ -102,25 +102,6 @@
       </div> <!-- /.row -->
     </div> <!--/.container -->
 
-    <!-- Modal dialogs -->
-
-    <div class="modal fade" id="deleteConfirmModal" tabindex="-1" role="dialog" aria-labelledby="deleteConfirmModalLabel" aria-hidden="true">
-      <div class="modal-dialog">
-        <div class="modal-content">
-          <div class="modal-header">
-            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-            <h4 class="modal-title" id="deleteConfirmModalLabel">Confirm delete</h4>
-          </div>
-          <div class="modal-body">
-            <p></p>
-          </div>
-          <div class="modal-footer">
-            <button type="button" class="btn btn-default" data-dismiss="modal"><i class="fa fa-icon-remove"></i> Cancel</button>
-            <button type="button" class="btn btn-primary action confirm"><i class="fa fa-icon-confirm"></i> Confirm delete</button>
-          </div>
-        </div><!-- /.modal-content -->
-      </div><!-- /.modal-dialog -->
-    </div><!-- /.modal -->
 
   </body>
 </html>
\ No newline at end of file