forked from heapwolf/levelui
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
basic support for networked databases using leveldb
- Loading branch information
Showing
6 changed files
with
68 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
<html><head><link rel="stylesheet" href="../css/codemirror.css"/><link rel="stylesheet" href="../css/index.css"/><script src="../../client.js"></script></head><body><header><ul class="horizontal"><li><a href="#" class="ss-icon query">search</a></li><li><a href="#" class="ss-icon put">pencil</a></li><li><a h="h" ref="#" class="ss-icon connections">database</a></li><li><a href="#" class="ss-icon settings">cog</a></li></ul></header></body></html><section class="query"><div class="controls"><div class="control"><input type="text" placeholder="Upper Bound" class="upperbound"/></div><div class="control"><input type="text" placeholder="Lower Bound" class="lowerbound"/></div><div class="control"><input type="checkbox" id="reverse" name="reverse"/><label for="reverse" class="reverse custom-checkbox">Reverse</label></div><div class="control"><input name="limit" type="text" class="limit"/></div><div class="control"><input name="limit" type="button" value="Delete" class="delete"/></div></div><div class="results"><div class="keys"><select multiple="multiple"><option>key.namea</option><option>key.nameb</option><option>key.namec</option></select></div><div class="split"></div><div class="value"><textarea class="codemirror"></textarea></div></div></section><section class="put"><div class="controls"><div class="control"><input type="button" value="Save"/></div><div class="control"><input type="text" placeholder="Key Encoding"/></div><div class="control"><input type="text" placeholder="Value Encoding"/></div></div><div class="key"><textarea class="codemirror"></textarea></div><div class="value"><textarea class="codemirror"></textarea></div></section><section class="connections"><div class="connection-options"><div class="heading"><div class="large-icon ss-icon">folder</div><h2>Local Connection</h2></div><div class="option"><input type="text" placeholder="/path/to/database" class="path"/><input type="button" value="Open" class="openDirectory"/></div><div class="heading"><div class="large-icon ss-icon">cloud</div><h2>Network Connection</h2></div><div class="option"><input type="text" placeholder="tcp://127.0.0.1:8001" class="address"/><input type="button" value="Connect" class="openConnection"/></div></div></section><section class="settings"><p>Settings</p></section><div class="modal-overlay"></div> | ||
<html><head><link rel="stylesheet" href="../css/codemirror.css"/><link rel="stylesheet" href="../css/index.css"/><script src="../../client.js"></script></head><body><header><ul class="horizontal"><li><a href="#" class="ss-icon query">search</a></li><li><a href="#" class="ss-icon put">pencil</a></li><li><a h="h" ref="#" class="ss-icon connections">database</a></li><li><a href="#" class="ss-icon settings">cog</a></li></ul></header></body></html><section class="query"><div class="controls"><div class="control"><input type="text" placeholder="Upper Bound" class="upperbound"/></div><div class="control"><input type="text" placeholder="Lower Bound" class="lowerbound"/></div><div class="control"><input type="checkbox" id="reverse" name="reverse"/><label for="reverse" class="reverse custom-checkbox">Reverse</label></div><div class="control"><input name="limit" type="text" class="limit"/></div><div class="control"><input name="limit" type="button" value="Delete" class="delete"/></div></div><div class="results"><div class="keys"><select multiple="multiple"><option>key.namea</option><option>key.nameb</option><option>key.namec</option></select></div><div class="split"></div><div class="value"><textarea class="codemirror"></textarea></div></div></section><section class="put"><div class="controls"><div class="control"><input type="button" value="Save"/></div><div class="control"><input type="text" placeholder="Key Encoding"/></div><div class="control"><input type="text" placeholder="Value Encoding"/></div></div><div class="key"><textarea class="codemirror"></textarea></div><div class="value"><textarea class="codemirror"></textarea></div></section><section class="connections"><div class="connection-options"><div class="heading"><div class="large-icon ss-icon">folder</div><h2>Local Connection</h2></div><div class="option"><input type="text" placeholder="/path/to/database" class="path"/><input type="button" value="Open" class="openDirectory"/></div><div class="heading"><div class="large-icon ss-icon">cloud</div><h2>Network Connection</h2></div><div class="option"><input type="text" placeholder="tcp://127.0.0.1:8001" class="host"/><input type="button" value="Connect" class="openConnection"/></div></div></section><section class="settings"><p>Settings</p></section><div class="modal-overlay"></div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,46 @@ | ||
var level = require('levelup'); | ||
var net = require('net'); | ||
var multilevel = require('multilevel'); | ||
var remote = require('remote'); | ||
var dialog = remote.require('dialog'); | ||
|
||
module.exports = function(path, args) { | ||
return level(path, args); | ||
module.exports = function(path, config) { | ||
|
||
if (path && path.indexOf(':') > -1) { | ||
|
||
var opts = { | ||
title: 'Connected', | ||
message: 'Connection successful...', | ||
buttons: ['OK'] | ||
}; | ||
|
||
var win = remote.getCurrentWindow(); | ||
var db = multilevel.client(); | ||
var connection = path.split(':'); | ||
var port = connection[connection.length-1]; | ||
var host = connection[connection.length-2]; | ||
|
||
if (!port || !host) { | ||
opts.title = 'Error'; | ||
opts.message = 'A port and host are required'; | ||
return dialog.showMessageBox(win, opts); | ||
} | ||
|
||
var con = net.connect(parseInt(port)); | ||
|
||
con.on('connect', function(err) { | ||
if (err) { | ||
opts.title = 'Error'; | ||
opts.message = err; | ||
} | ||
dialog.showMessageBox(win, opts); | ||
}); | ||
|
||
con.pipe(db.createRpcStream()).pipe(con); | ||
|
||
return db; | ||
} | ||
|
||
return level(path, config); | ||
}; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -97,3 +97,4 @@ exports.init = function(db, config) { | |
|
||
exports.onShow = function() { | ||
}; | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters