Author: ijd
Date: Thu Jun 12 16:15:55 2014
New Revision: 1602219
URL: http://svn.apache.org/r1602219
Log:
Initial re-integration of previous dataset management code into new
navigation scheme. With this commit, the ability to 'quickly create'
a new dataset, as in-memory or TDB-backed, is restored.
Added:
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/controllers/manage-controller.js
- copied, changed from r1602218,
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/controllers/data-management-controller.js
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/main.manage.js
- copied, changed from r1602151,
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/main.data-management.js
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-management.tpl
- copied, changed from r1602151,
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/data-management.tpl
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-simple-create.tpl
- copied, changed from r1602151,
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-details.tpl
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-management.js
- copied, changed from r1602151,
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/data-management.js
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-simple-create.js
- copied, changed from r1602151,
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-details.js
Removed:
jena/Experimental/jena-fuseki2/src/main/webapp/admin-data-management.html
jena/Experimental/jena-fuseki2/src/main/webapp/admin-dataset-details.html
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/controllers/data-management-controller.js
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/controllers/dataset-details-controller.js
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/main.data-management.js
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/main.dataset-details.js
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/data-management.tpl
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-details.tpl
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/data-management.js
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-details.js
Modified:
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/models/fuseki-server.js
jena/Experimental/jena-fuseki2/src/main/webapp/manage.html
Copied:
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/controllers/manage-controller.js
(from r1602218,
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/controllers/data-management-controller.js)
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/webapp/js/app/controllers/manage-controller.js?p2=jena/Experimental/jena-fuseki2/src/main/webapp/js/app/controllers/manage-controller.js&p1=jena/Experimental/jena-fuseki2/src/main/webapp/js/app/controllers/data-management-controller.js&r1=1602218&r2=1602219&rev=1602219&view=diff
==============================================================================
---
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/controllers/data-management-controller.js
(original)
+++
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/controllers/manage-controller.js
Thu Jun 12 16:15:55 2014
@@ -5,14 +5,16 @@ define(
Backbone = require( "backbone" ),
_ = require( "underscore" ),
fui = require( "app/fui" ),
- DataManagementView = require( "app/views/data-management" );
+ TabbedViewManagerView = require( "app/views/tabbed-view-manager" ),
+ DatasetSimpleCreateView = require( "app/views/dataset-simple-create" ),
+ DatasetManagementView = require( "app/views/dataset-management" );
- var DataManagementController = function() {
+ var ManageController = function() {
this.initEvents();
};
- // add the behaviours defined on the controller
- _.extend( DataManagementController.prototype, {
+ _.extend( ManageController.prototype, {
+
initEvents: function() {
_.bindAll( this, "onServerModelReady" );
fui.vent.on( "models.fuseki-server.ready", this.onServerModelReady );
@@ -20,11 +22,18 @@ define(
/** When the fuseki server is ready, we can list the initial datasets */
onServerModelReady: function( event ) {
- new DataManagementView( {model: fui.models.fusekiServer} ).render();
+ fui.views.datasetManagement = new DatasetManagementView( {model:
fui.models.fusekiServer} );
+ fui.views.datasetManagement.render();
+
+ fui.views.tabbedViewManagerView = new TabbedViewManagerView();
+ fui.views.tabbedViewManagerView.render();
+
+ fui.views.datasetSimpleCreate = new DatasetSimpleCreateView();
+ fui.views.datasetSimpleCreate.render();
}
} );
- return DataManagementController;
+ return ManageController;
}
);
Copied: jena/Experimental/jena-fuseki2/src/main/webapp/js/app/main.manage.js
(from r1602151,
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/main.data-management.js)
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/webapp/js/app/main.manage.js?p2=jena/Experimental/jena-fuseki2/src/main/webapp/js/app/main.manage.js&p1=jena/Experimental/jena-fuseki2/src/main/webapp/js/app/main.data-management.js&r1=1602151&r2=1602219&rev=1602219&view=diff
==============================================================================
---
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/main.data-management.js
(original)
+++ jena/Experimental/jena-fuseki2/src/main/webapp/js/app/main.manage.js Thu
Jun 12 16:15:55 2014
@@ -3,20 +3,20 @@ define( ['require', '../common-config'],
function( require ) {
require(
['underscore', 'jquery', 'backbone', 'marionette',
- 'app/fui', 'app/controllers/data-management-controller',
+ 'app/fui', 'app/controllers/manage-controller',
'sprintf', 'bootstrap',
'app/models/fuseki-server',
'app/models/dataset',
- 'app/views/data-management',
+ 'app/views/dataset-management',
'app/services/ping-service',
'jquery.xdomainrequest'
],
- function( _, $, Backbone, Marionette, fui, DataManagementController ) {
+ function( _, $, Backbone, Marionette, fui, ManageController ) {
var options = { } ;
// initialise the backbone application
- fui.controllers.dataManagementController = new
DataManagementController();
+ fui.controllers.manageController = new ManageController();
fui.start( options );
// additional services
Modified:
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/models/fuseki-server.js
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/webapp/js/app/models/fuseki-server.js?rev=1602219&r1=1602218&r2=1602219&view=diff
==============================================================================
---
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/models/fuseki-server.js
(original)
+++
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/models/fuseki-server.js
Thu Jun 12 16:15:55 2014
@@ -87,6 +87,17 @@ define(
return new Dataset( d, bURL, mgmtURL );
} );
+ datasets.sort( function( ds0, ds1 ) {
+ if (ds0.name() > ds1.name()) {
+ return 1;
+ }
+ else if (ds0.name() < ds1.name()) {
+ return -1;
+ }
+ else
+ return 0;
+ } );
+
this.set( {server: serverDesc.server, datasets: datasets, ready: true}
);
},
Copied:
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-management.tpl
(from r1602151,
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/data-management.tpl)
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-management.tpl?p2=jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-management.tpl&p1=jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/data-management.tpl&r1=1602151&r2=1602219&rev=1602219&view=diff
==============================================================================
---
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/data-management.tpl
(original)
+++
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-management.tpl
Thu Jun 12 16:15:55 2014
@@ -1,28 +1,29 @@
-<div class="row">
- <div class="col-md-span-12">
- <table class='table'>
- <tr class="headings"><th>Active?</th><th>Name</th><th></th></tr>
- <% _.each( datasets, function( ds ) { %>
- <tr>
- <td><input type='checkbox' class='checkbox' checked /></td>
- <td>
- <%= ds.name() %>
- </td>
- <td>
- <a class="btn btn-sm action remove btn-primary" data-uri='<%=
ds.mgmtURL() %>'><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>
- </td>
- </tr>
- <% }) %>
+<% if (datasets.length === 0) { %>
+ <p>No datasets have been created yet.
+ <a class="btn btn-sm btn-primary" href="?tab=new-dataset">add one</a>
+ </p>
+<% } else { %>
+ <div class="row">
+ <div class="col-md-12">
+ <table class='table'>
+ <tr class="headings"><th>Name</th><th>Active?</th><th></th></tr>
+ <% _.each( datasets, function( ds ) { %>
+ <tr>
+ <td>
+ <%= ds.name() %>
+ </td>
+ <td><input type='checkbox' class='checkbox' checked /></td>
+ <td>
+ <a class="btn btn-sm action remove btn-primary" data-uri='<%=
ds.mgmtURL() %>'><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>
+ </td>
+ </tr>
+ <% }) %>
- </table>
- </div>
-</div>
-<div class="row">
- <div class="col-md-3 col-md-offset-9">
- <a href="admin-dataset-details.html" class="btn btn-sm btn-primary
pull-right"><i class="fa fa-plus-circle"></i> add new dataset</a>
+ </table>
+ </div>
</div>
+<% } %>
-</div>
\ No newline at end of file
Copied:
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-simple-create.tpl
(from r1602151,
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-details.tpl)
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-simple-create.tpl?p2=jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-simple-create.tpl&p1=jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-details.tpl&r1=1602151&r2=1602219&rev=1602219&view=diff
==============================================================================
---
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-details.tpl
(original)
+++
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/templates/dataset-simple-create.tpl
Thu Jun 12 16:15:55 2014
@@ -1,23 +1,12 @@
<div class="row">
- <div class="col-md-span-12">
- <ul class="nav nav-tabs">
- <li class="active"><a href="#simple-edit" data-toggle="tab">simple
configuration</a></li>
- <li><a href="#advanced-edit" data-toggle="tab">advanced configuration
editor</a></li>
- <li><a href="#upload" data-toggle="tab">upload Fuseki config
file</a></li>
- </ul>
-
- <!-- Tab panes -->
- <div class="tab-content">
- <div class="tab-pane active" id="simple-edit">
- <p> </p>
+ <div class="col-md-12">
+ <div class="" id="simple-edit">
<form class="form-horizontal" role="form">
<div class="form-group">
<label for="datasetName" class="col-sm-2 control-label">Dataset
name</label>
<div class="col-sm-10">
<div class="validation-warning dbNameValidation">A name for the
dataset is required</div>
- <input type="text" class="form-control" name="dbName"
placeholder="dataset name"
- <%= newDataset ? "" : ( "value='" + datasetId + "'") %>
- />
+ <input type="text" class="form-control" name="dbName"
placeholder="dataset name" />
</div>
</div>
<div class="form-group">
@@ -39,30 +28,20 @@
</div>
<div class="row">
- <div class="errorOutput"></div>
+ <div class="col-md-12">
+ <div class="errorOutput bg-warning"></div>
+ </div>
</div>
<div class="row controls">
- <div class="col-md-3">
- <a href="admin-data-management.html" class="btn btn-sm
btn-default"><i class="fa fa-mail-reply"></i> cancel</a>
- <a href="#" class="btn btn-sm btn-primary action commit
simple"><i class="fa fa-check"></i> <%= commitAction %></a>
+ <div class="col-md-3 col-md-offset-9">
+ <a href="#" class="btn btn-sm btn-primary action commit
simple"><i class="fa fa-check"></i> create dataset</a>
</div>
</div>
</form>
</div>
- <div class="tab-pane" id="advanced-edit">
- <div class="row">
- <p>Advanced editor - codemirror edit box to appear here</p>
- </div>
- <div class="row controls">
- <div class="col-md-3">
- <a href="admin-data-management.html" class="btn btn-sm
btn-default"><i class="fa fa-mail-reply"></i> cancel</a>
- <a href="#" class="btn btn-sm btn-primary action commit
advanced"><i class="fa fa-check"></i> <%= commitAction %></a>
- </div>
- </div>
- </div>
-
+ <!--
<div class="tab-pane" id="upload">
<p> </p>
<div class="row">
@@ -92,9 +71,9 @@
</div>
</div>
</div>
- </div>
+ -->
- </div><!-- /.col-md-span-12 -->
+ </div><!-- /.col-md-12 -->
</div><!-- /.row -->
Copied:
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-management.js
(from r1602151,
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/data-management.js)
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-management.js?p2=jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-management.js&p1=jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/data-management.js&r1=1602151&r2=1602219&rev=1602219&view=diff
==============================================================================
---
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/data-management.js
(original)
+++
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-management.js
Thu Jun 12 16:15:55 2014
@@ -3,19 +3,20 @@ define(
var Backbone = require( "backbone" ),
_ = require( "underscore" ),
fui = require( "app/fui" ),
- dataManagementViewTpl = require(
"plugins/text!app/templates/data-management.tpl" );
+ datasetManagementViewTpl = require(
"plugins/text!app/templates/dataset-management.tpl" );
var DataManagementView = Backbone.Marionette.ItemView.extend( {
+
initialize: function(){
this.listenTo( this.model, "change", this.onModelChange, this );
},
- template: _.template( dataManagementViewTpl ),
+ template: _.template( datasetManagementViewTpl ),
ui: {
},
- el: "#data-management",
+ el: "#dataset-management",
events: {
// "change #independent-variable-selection": "selectVariable",
Copied:
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-simple-create.js
(from r1602151,
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-details.js)
URL:
http://svn.apache.org/viewvc/jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-simple-create.js?p2=jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-simple-create.js&p1=jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-details.js&r1=1602151&r2=1602219&rev=1602219&view=diff
==============================================================================
---
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-details.js
(original)
+++
jena/Experimental/jena-fuseki2/src/main/webapp/js/app/views/dataset-simple-create.js
Thu Jun 12 16:15:55 2014
@@ -1,24 +1,29 @@
+/** Component for creating a new dataset with a few simple options */
+
define(
function( require ) {
var Backbone = require( "backbone" ),
_ = require( "underscore" ),
fui = require( "app/fui" ),
- datasetDetailsViewTpl = require(
"plugins/text!app/templates/dataset-details.tpl" );
+ DatasetSimpleCreateTpl = require(
"plugins/text!app/templates/dataset-simple-create.tpl" );
+
+ var DatasetSimpleCreate = Backbone.Marionette.ItemView.extend( {
- var DatasetDetailsView = Backbone.Marionette.ItemView.extend( {
- initialize: function(){
+ initialize: function() {
+ _.bindAll( this, "onCommitSimple", "clearWarnings" );
},
- template: _.template( datasetDetailsViewTpl ),
+ template: _.template( DatasetSimpleCreateTpl ),
ui: {
},
- el: "#dataset-details",
+ el: "#dataset-simple-create",
events: {
"click a.action.commit.simple": "onCommitSimple",
- "click a.action.upload": "onCommitUpload"
+ "submit form": "onCommitSimple",
+ "keydown input[name=dbName]": "clearWarnings"
},
templateHelpers: {
@@ -35,25 +40,25 @@ define(
if (this.validateSimpleForm()) {
var options = $("#simple-edit form").serializeArray();
- fui.models.fusekiServer.updateOrCreateDataset( this.model.name,
options )
+ fui.models.fusekiServer.updateOrCreateDataset( null, options )
.done( this.showDataManagementPage )
.fail( this.showFailureMessage );
}
},
- onCommitUpload: function( e ) {
- e.preventDefault();
-
- if (this.validateUploadForm()) {
- $("#uploadForm").ajaxSubmit( {
- success: this.showDataManagementPage,
- error: this.showFailureMessage
- });
- }
- },
-
+// onCommitUpload: function( e ) {
+// e.preventDefault();
+//
+// if (this.validateUploadForm()) {
+// $("#uploadForm").ajaxSubmit( {
+// success: this.showDataManagementPage,
+// error: this.showFailureMessage
+// });
+// }
+// },
+//
showDataManagementPage: function( e ) {
- location = "admin-data-management.html";
+ location = "?tab=datasets";
},
/** Todo: need to do a better job of responding to errors */
@@ -61,6 +66,11 @@ define(
$(".errorOutput").html( sprintf( "<p class='has-error'>Sorry, that
didn't work because:</p><pre>%s</pre>", errorThrown || textStatus ) );
},
+ /** Clear current warning states */
+ clearWarnings: function() {
+ this.clearValidation();
+ $(".errorOutput").empty();
+ },
// validation
@@ -77,19 +87,6 @@ define(
return true;
},
- validateUploadForm: function() {
- this.clearValidation();
-
- if (! $("input[name=assemblerFile]").val()) {
- $(".assemblerFileValidation").removeClass("hidden")
- .parents(".form-group" )
- .addClass( "has-error" );
- return false;
- }
-
- return true;
- },
-
clearValidation: function() {
$(".has-error").removeClass( "has-error" );
$(".has-warning").removeClass( "has-warning" );
@@ -98,6 +95,6 @@ define(
});
- return DatasetDetailsView;
+ return DatasetSimpleCreate;
}
);
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=1602219&r1=1602218&r2=1602219&view=diff
==============================================================================
--- jena/Experimental/jena-fuseki2/src/main/webapp/manage.html (original)
+++ jena/Experimental/jena-fuseki2/src/main/webapp/manage.html Thu Jun 12
16:15:55 2014
@@ -10,7 +10,7 @@
<link href="css/jquery.dataTables.css" rel="stylesheet" media="screen">
<link href="css/fui.css" rel="stylesheet" media="screen">
- <script data-main="js/app/main.index.js"
src="js/lib/require.min.js"></script>
+ <script data-main="js/app/main.manage.js"
src="js/lib/require.min.js"></script>
<!--[if lt IE 9]>
<script src="js/lib/html5shiv.js"></script>
@@ -64,12 +64,42 @@
<div class="row">
<div class="col-md-12">
<h2>
- Manage dataset
+ Manage datasets
</h2>
+ <p>Perform management actions on existing datasets, including backup,
+ or add a new dataset.
+ </p>
+ </div>
+ </div> <!-- /.row -->
+
+ <div class="row">
+ <div class="col-md-12">
+ <div class="dataset-selector-container"></div>
</div>
</div>
- </div>
+ <div class="row">
+ <div class="col-md-12">
+ <div class="content-frame">
+ <ul class="nav nav-tabs">
+ <li><a href="#datasets" data-toggle="tab">existing
datasets</a></li>
+ <li><a href="#new-dataset" data-toggle="tab">add new
dataset</a></li>
+ </ul>
+ <!-- Tab panes -->
+ <div class="tab-content">
+ <div class="tab-pane" id="datasets">
+ <div id="dataset-management"></div>
+ </div> <!-- /.tab-pane -->
+
+ <div class="tab-pane" id="new-dataset">
+ <div id="dataset-simple-create"></div>
+ </div> <!-- /.tab-pane -->
+ </div> <!-- /.tab-content -->
+ </div> <!-- /.content-frame -->
+
+ </div> <!-- /.col-md-12 -->
+ </div> <!-- /.row -->
+ </div> <!--/.container -->
</body>
</html>
\ No newline at end of file