Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/okdistribute/yo-fs

A filesystem browser built with yo
https://github.com/okdistribute/yo-fs

Last synced: about 2 months ago
JSON representation

A filesystem browser built with yo

Awesome Lists containing this project

README

        

# yo-fs

A client-side modular, stream-friendly ui browser widget for navigating directories, built with [yo-yo](https://www.npmjs.org/yo-yo).

[![NPM](https://nodei.co/npm/yo-fs.png)](https://nodei.co/npm/yo-fs/)

## api

#### `yofs(path, entries, onclick)`

* `path`: the directory or filename to display
* `entries`: a list of entries with `name`, `size`, `modified`, `createReadStream`
* `onclick`: fires when a folder, file, or back button is clicked.

## example

```js
var yofs = require('yo-fs')
var yo = require('yo-yo')

var entries = []

function onclick (event, entry) {
console.log('i clicked', entry)
}

// only create the top-level element once
var el = yofs('/', entries, onclick)
document.body.appendChild(el)

// update the tree's internal html widget using yo
function update () {
var fresh = tree.render('/', entries, onclick)
yo.update(tree.widget, fresh)
}

var stream = //stream that gives me some data...

stream.on('data', function (entry) {
entries.push(entry)
update()
}
```