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">×</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">×</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