hyperdrive-ui
Advanced tools
Comparing version 1.2.3 to 2.0.0
55
index.js
var path = require('path') | ||
var yo = require('yo-yo') | ||
var data = require('render-data') | ||
var yofs = require('yo-fs') | ||
@@ -11,48 +10,24 @@ | ||
var root = opts.root || '/' | ||
var dirs = {} | ||
var entries = [] | ||
var dirs = {} | ||
var fs = yofs(null, root, entries, clickEntry) | ||
var display_id = 'display' | ||
var display = yo`<div id="${display_id}"></div>` | ||
var widget = yo`<div id="hyperdrive-ui"> | ||
${fs} | ||
${display} | ||
</div>` | ||
function page (newRoot) { | ||
root = newRoot | ||
yofs(fs, newRoot, entries, clickEntry) | ||
} | ||
function breadcrumbs (root) { | ||
var parts = root.split('/') | ||
while (parts[parts.length - 1] === '') { parts.pop() } | ||
function back () { page(path.dirname(root)) } | ||
var crumbs | ||
if (parts.length) crumbs = yo`<button class="link" onclick=${back}>back</button>` | ||
return yo`<div id="breadcrumbs" class="breadcrumbs"> ${crumbs} </div>` | ||
} | ||
function clickEntry (ev, entry) { | ||
root = entry.name | ||
function clicky (ev, entry) { | ||
if (entry.type === 'directory') { | ||
document.getElementById(display_id).innerHTML = '' | ||
root = entry.name | ||
} | ||
if (entry.type === 'file') { | ||
data.render({ | ||
name: entry.name, | ||
createReadStream: function () { | ||
return archive.createFileReadStream(entry) | ||
} | ||
}, display, function (err) { | ||
console.log('hello', err) | ||
}) | ||
} | ||
onclick(ev, entry) | ||
} | ||
var tree = yofs(root, entries, clicky) | ||
function update () { | ||
var fresh = tree.render(root, entries, clicky) | ||
yo.update(tree.widget, fresh) | ||
} | ||
var stream = archive.list({live: true}) | ||
stream.on('data', function (entry) { | ||
entry.createReadStream = function () { | ||
return archive.createFileReadStream(entry) | ||
} | ||
entries.push(entry) | ||
@@ -68,5 +43,5 @@ var dir = path.dirname(entry.name) | ||
} | ||
yofs(fs, root, entries, clickEntry) | ||
update() | ||
}) | ||
return widget | ||
return tree.widget | ||
} |
{ | ||
"name": "hyperdrive-ui", | ||
"version": "1.2.3", | ||
"version": "2.0.0", | ||
"description": "Render a hyperdrive in the browser.", | ||
"main": "index.js", | ||
"scripts": { | ||
"build": "browserify app.js > bundle.js", | ||
"watch": "watchify app.js -o bundle.js", | ||
"start": "npm run watch & http-server .", | ||
"deploy": "gh-pages-deploy" | ||
"test": "standard", | ||
"lint": "standard" | ||
}, | ||
"author": "Karissa McKelvey <karissa@karissamck.com> (http://karissamck.com/)", | ||
"license": "MIT", | ||
"devDependencies": { | ||
"brfs": "^1.4.3", | ||
"browserify": "^12.0.0", | ||
"choppa": "^1.0.2", | ||
"drag-drop": "^2.11.0", | ||
"filereader-stream": "^1.0.0", | ||
"gh-pages-deploy": "^0.4.2", | ||
"http-server": "^0.9.0", | ||
"hyperdrive": "^6.2.1", | ||
"level-browserify": "^1.1.0", | ||
"memdb": "^1.3.1", | ||
"standard": "^3.0.0", | ||
"watchify": "~3.6.0", | ||
"wzrd": "^1.3.1" | ||
}, | ||
"dependencies": { | ||
"concat-stream": "^1.5.1", | ||
"hyperdrive-archive-swarm": "^1.0.1", | ||
"render-data": "^1.0.0", | ||
"signalhub": "^4.4.0", | ||
"webrtc-swarm": "^2.4.0", | ||
"yo-fs": "^1.0.3", | ||
"yo-fs": "^2.0.0", | ||
"yo-yo": "^1.2.1" | ||
}, | ||
"gh-pages-deploy": { | ||
"prep": [ | ||
"build" | ||
], | ||
"noprompt": false | ||
}, | ||
"repository": { | ||
@@ -45,0 +17,0 @@ "type": "git", |
@@ -7,3 +7,3 @@ # hyperdrive-ui | ||
Live demo: [http://karissa.github.io/hyperdrive-ui/](http://karissa.github.io/hyperdrive-ui/) | ||
Live demo: [http://dat.land/](http://dat.land/) | ||
@@ -15,8 +15,16 @@ | ||
## `hyperdriveUI(element, archive, opts, onclick)` | ||
## `hyperdriveUI(archive, opts, onclick)` | ||
Renders the explorer. | ||
See `app.js` for an example. | ||
```js | ||
var explorer = require('hyperdrive-ui') | ||
function onclick (ev, entry) { | ||
console.log('clicked', entry.name, entry.type) | ||
} | ||
var tree = explorer(archive, onclick) | ||
document.querySelector('#hyperdrive').appendChild(tree) | ||
``` | ||
## get started | ||
@@ -23,0 +31,0 @@ |
Sorry, the diff of this file is too big to display
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
2
0
34
8316
10
40
+ AddedJSONStream@0.7.41.3.5(transitive)
+ Addedduplexer@0.1.2(transitive)
+ Addedforeach@2.0.6(transitive)
+ Addedgeojson-stream@0.0.00.0.1(transitive)
+ Addedhyperquest@0.1.8(transitive)
+ Addedindexof@0.0.1(transitive)
+ Addedis@0.2.7(transitive)
+ Addedis-object@0.1.2(transitive)
+ Addedjsonparse@0.0.51.3.1(transitive)
+ Addedleaflet@0.7.7(transitive)
+ Addedleaflet-default@1.0.0(transitive)
+ Addedleaflet-geojson-stream@0.0.0(transitive)
+ Addedleaflet-map@0.2.1(transitive)
+ Addedleaflet-stream@1.1.0(transitive)
+ Addedobject-keys@0.2.0(transitive)
+ Addedprettier-bytes@1.0.4(transitive)
+ Addedrender-data@2.3.0(transitive)
+ Addedstream-wrapper@0.1.2(transitive)
+ Addedstring_decoder@1.3.0(transitive)
+ Addedthrough@2.2.72.3.8(transitive)
+ Addedxtend@2.0.6(transitive)
+ Addedyo-fs@2.0.6(transitive)
- Removedconcat-stream@^1.5.1
- Removedhyperdrive-archive-swarm@^1.0.1
- Removedrender-data@^1.0.0
- Removedsignalhub@^4.4.0
- Removedwebrtc-swarm@^2.4.0
- Removed@leichtgewicht/ip-codec@2.0.5(transitive)
- Removedajv@6.12.6(transitive)
- Removedap@0.1.0(transitive)
- Removedasn1@0.2.6(transitive)
- Removedassert-plus@1.0.0(transitive)
- Removedasynckit@0.4.0(transitive)
- Removedaws-sign2@0.7.0(transitive)
- Removedaws4@1.13.0(transitive)
- Removedbcrypt-pbkdf@1.0.2(transitive)
- Removedbencode@1.0.02.0.3(transitive)
- Removedbittorrent-dht@7.10.0(transitive)
- Removedbody@0.1.0(transitive)
- Removedbrowser-fingerprint@0.0.1(transitive)
- Removedbuffer-equals@1.0.4(transitive)
- Removedcaseless@0.12.0(transitive)
- Removedchrome-dgram@3.0.6(transitive)
- Removedchrome-dns@1.0.1(transitive)
- Removedchrome-net@3.3.4(transitive)
- Removedcircular-append-file@1.0.1(transitive)
- Removedcombined-stream@1.0.8(transitive)
- Removedconcat-stream@1.6.2(transitive)
- Removedconnections@1.4.2(transitive)
- Removedcontent-types@0.1.0(transitive)
- Removedcore-js@1.2.7(transitive)
- Removedcore-util-is@1.0.2(transitive)
- Removedcorsify@2.1.0(transitive)
- Removedcuid@1.3.8(transitive)
- Removeddashdash@1.14.1(transitive)
- Removeddatland-swarm-defaults@1.0.2(transitive)
- Removeddebug@2.6.9(transitive)
- Removeddelayed-stream@1.0.0(transitive)
- Removeddiscovery-channel@5.5.1(transitive)
- Removeddiscovery-swarm@3.4.1(transitive)
- Removeddns-discovery@6.2.3(transitive)
- Removeddns-packet@4.2.05.6.1(transitive)
- Removeddns-socket@3.0.0(transitive)
- Removedecc-jsbn@0.1.2(transitive)
- Removedevent-source-stream@1.6.0(transitive)
- Removedextend@3.0.2(transitive)
- Removedextsprintf@1.3.0(transitive)
- Removedfast-deep-equal@3.1.3(transitive)
- Removedfast-json-stable-stringify@2.1.0(transitive)
- Removedforever-agent@0.6.1(transitive)
- Removedform-data@2.3.3(transitive)
- Removedget-browser-rtc@1.1.0(transitive)
- Removedgetpass@0.1.7(transitive)
- Removedhar-schema@2.0.0(transitive)
- Removedhar-validator@5.1.5(transitive)
- Removedhttp-methods@0.1.0(transitive)
- Removedhttp-signature@1.2.0(transitive)
- Removedhyperdrive-archive-swarm@1.1.2(transitive)
- Removedip@1.1.9(transitive)
- Removedis-function@1.0.2(transitive)
- Removedis-typedarray@1.0.0(transitive)
- Removedisstream@0.1.2(transitive)
- Removediterators@0.1.0(transitive)
- Removedjsbn@0.1.1(transitive)
- Removedjson-schema@0.4.0(transitive)
- Removedjson-schema-traverse@0.4.1(transitive)
- Removedjsprim@1.4.2(transitive)
- Removedk-bucket@3.3.14.0.1(transitive)
- Removedk-rpc@4.3.1(transitive)
- Removedk-rpc-socket@1.11.1(transitive)
- Removedlength-prefixed-message@3.0.4(transitive)
- Removedlru@2.0.13.1.0(transitive)
- Removedmime-db@1.52.0(transitive)
- Removedmime-types@2.1.35(transitive)
- Removedms@2.0.0(transitive)
- Removedmulticast-dns@7.2.5(transitive)
- Removednan@2.19.0(transitive)
- Removednets@3.2.0(transitive)
- Removednetwork-address@1.1.2(transitive)
- Removednode-fingerprint@0.0.2(transitive)
- Removednode-gyp-build@3.9.0(transitive)
- Removednumber-is-nan@1.0.1(transitive)
- Removedoauth-sign@0.9.0(transitive)
- Removedobject-keys@0.4.0(transitive)
- Removedparse-headers@2.0.5(transitive)
- Removedperformance-now@2.1.0(transitive)
- Removedpretty-bytes@3.0.1(transitive)
- Removedpretty-hash@1.0.1(transitive)
- Removedpsl@1.9.0(transitive)
- Removedpunycode@2.3.1(transitive)
- Removedqs@6.5.3(transitive)
- Removedrandom-iterate@1.0.1(transitive)
- Removedrandombytes@2.1.0(transitive)
- Removedrender-data@1.1.2(transitive)
- Removedrequest@2.88.2(transitive)
- Removedrun-series@1.1.9(transitive)
- Removedrusha@0.8.14(transitive)
- Removedsafer-buffer@2.1.2(transitive)
- Removedsignalhub@4.9.0(transitive)
- Removedsimple-peer@6.4.4(transitive)
- Removedsimple-sha1@2.1.2(transitive)
- Removedsize-limit-stream@1.0.0(transitive)
- Removedspeedometer@1.1.0(transitive)
- Removedsplit2@0.1.2(transitive)
- Removedsshpk@1.18.0(transitive)
- Removedstream-collector@1.0.1(transitive)
- Removedthrough2@0.4.20.6.5(transitive)
- Removedthunky@0.1.01.1.0(transitive)
- Removedto-buffer@1.1.1(transitive)
- Removedtough-cookie@2.5.0(transitive)
- Removedtunnel-agent@0.6.0(transitive)
- Removedtweetnacl@0.14.5(transitive)
- Removedtypedarray@0.0.6(transitive)
- Removedunordered-set@1.1.0(transitive)
- Removeduri-js@4.4.1(transitive)
- Removedutp-native@1.7.3(transitive)
- Removeduuid@3.4.0(transitive)
- Removedvarint@3.0.1(transitive)
- Removedverror@1.10.0(transitive)
- Removedwebrtc-swarm@2.9.0(transitive)
- Removedxhr@2.6.0(transitive)
- Removedxtend@2.1.2(transitive)
- Removedyo-fs@1.0.5(transitive)
Updatedyo-fs@^2.0.0