|
From: <tob...@us...> - 2014-02-26 19:59:53
|
Revision: 7891
http://sourceforge.net/p/bigdata/code/7891
Author: tobycraig
Date: 2014-02-26 19:59:50 +0000 (Wed, 26 Feb 2014)
Log Message:
-----------
Added namespace selection/deletion support.
Modified Paths:
--------------
branches/RDR/bigdata-war/src/html/new.html
branches/RDR/bigdata-war/src/html/workbench.js
Modified: branches/RDR/bigdata-war/src/html/new.html
===================================================================
--- branches/RDR/bigdata-war/src/html/new.html 2014-02-25 17:33:49 UTC (rev 7890)
+++ branches/RDR/bigdata-war/src/html/new.html 2014-02-26 19:59:50 UTC (rev 7891)
@@ -12,7 +12,7 @@
<div id="top">
<img src="logo.png" id="logo">
<p><label for="search-text">Search:</label> <input type="text" id="search-text"></p>
- <p>Current namespace: <span id="current-namespace">kb</span></p>
+ <p>Current namespace: <span id="current-namespace"></span></p>
</div>
<div id="tab-selector">
@@ -135,7 +135,15 @@
<div class="tab" id="status-tab">status
</div>
- <div class="tab" id="namespaces-tab">namespaces
+ <div class="tab" id="namespaces-tab">
+
+ <div class="box">
+ <ul id="namespaces-list">
+
+ </ul>
+ <button id="namespaces-refresh">Refresh</button>
+ </div>
+
</div>
</div>
Modified: branches/RDR/bigdata-war/src/html/workbench.js
===================================================================
--- branches/RDR/bigdata-war/src/html/workbench.js 2014-02-25 17:33:49 UTC (rev 7890)
+++ branches/RDR/bigdata-war/src/html/workbench.js 2014-02-26 19:59:50 UTC (rev 7891)
@@ -24,17 +24,56 @@
function getNamespaces() {
$.get('/namespace', function(data) {
- var namespaces = data.getElementsByTagName('Namespace');
+ $('#namespaces-list').empty();
+ var rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';
+ var namespaces = namespaces = data.getElementsByTagNameNS(rdf, 'Description')
for(var i=0; i<namespaces.length; i++) {
- var namespace = namespaces[i].textContent;
+ var title = namespaces[i].getElementsByTagName('title')[0].textContent;
+ var url = namespaces[i].getElementsByTagName('sparqlEndpoint')[0].getAttributeNS(rdf, 'resource');
+ $('#namespaces-list').append('<li data-name="' + title + '" data-url="' + url + '">' + title + ' - <a href="#" class="use-namespace">Use</a> - <a href="#" class="delete-namespace">Delete</a></li>');
}
+ $('.use-namespace').click(function(e) {
+ e.preventDefault();
+ useNamespace($(this).parent().data('name'), $(this).parent().data('url'));
+ });
+ $('.delete-namespace').click(function(e) {
+ e.preventDefault();
+ deleteNamespace($(this).parent().data('name'));
+ });
});
}
+function useNamespace(name, url) {
+ $('#current-namespace').html(name);
+ $('.namespace').val(name);
+ NAMESPACE = name;
+ NAMESPACE_URL = url;
+}
+
+function deleteNamespace(namespace) {
+ if(confirm('Are you sure you want to delete the namespace ' + namespace + '?')) {
+ // FIXME: should we check if the default namespace is the one being deleted?
+ if(namespace == NAMESPACE) {
+ // FIXME: what is the desired behaviour when deleting the current namespace?
+ }
+ var url = '/namespace/' + namespace;
+ var settings = {
+ type: 'DELETE',
+ success: getNamespaces,
+ error: function() { alert('Could not delete namespace ' + namespace); }
+ };
+ $.ajax(url, settings);
+ }
+}
+
+var NAMESPACE, NAMESPACE_URL;
// default namespace
-namespace = 'kb';
-$('.namespace').val(namespace);
+useNamespace('kb', '/namespace/kb/sparql');
+getNamespaces();
+$('#namespaces-refresh').click(getNamespaces);
+
+
/* Namespace shortcuts */
$('.namespace-shortcuts li').click(function() {
@@ -192,16 +231,17 @@
$('#load-type').change(handleTypeChange);
$('#load-load').click(function() {
- // determine action based on type
var settings = {
type: 'POST',
data: $(holder).val(),
success: updateResponseXML,
error: updateResponseError
}
+
+ // determine action based on type
switch($('#load-type').val()) {
case 'sparql':
- settings.data = 'update=' + encodeURI(settings.data);
+ settings.data = 'update=' + encodeURIComponent(settings.data);
settings.success = updateResponseHTML;
break;
case 'rdf':
@@ -213,11 +253,11 @@
settings.contentType = rdf_content_types[type];
break;
case 'path':
- settings.data = 'uri=file://' + encodeURI(settings.data);
+ settings.data = 'uri=file://' + encodeURIComponent(settings.data);
break;
}
- $.ajax('/sparql', settings);
+ $.ajax(NAMESPACE_URL, settings);
});
$('#load-clear').click(function() {
@@ -262,7 +302,7 @@
settings.accepts = {'json': 'application/sparql-results+json'};
}
- $.ajax('/sparql', settings);
+ $.ajax(NAMESPACE_URL, settings);
return false;
});
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|