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>&nbsp;</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>&nbsp;</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


Reply via email to