# exdat

> A lightweight graphical user interface for changing variables in JavaScript.

Latest version **0.6.2** (published 2015-04-18) · Apache 2.0 license · 0 weekly downloads

## Install

```sh
npm install exdat
pnpm add exdat
yarn add exdat
bun add exdat
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.6.2 |
| Published | 2015-04-18 |
| First published | 2015-04-17 |
| Weekly downloads | 0 |
| License | Apache 2.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 6 |
| Maintainers | anvaka |

## Links

- npm: https://www.npmjs.com/package/exdat
- Repository: https://github.com/anvaka/dat.gui
- Issues: https://github.com/anvaka/dat.gui/issues
- npm.io page: https://npm.io/package/exdat

## Dependencies (1)

- [brfs](https://npm.io/package/brfs.md) ^1.4.0

## Recent versions

- 0.6.2 (latest) — 2015-04-18
- 0.6.1 — 2015-04-18
- 0.6.0 — 2015-04-17

## README

# UI Controller (dat.gui ported to commonjs)

A lightweight graphical user interface for changing variables in JavaScript.

Get started with dat.GUI by reading the tutorial at http://workshop.chromeexperiments.com/examples/gui.

# Main differences compared to upstream repository

* This build is commonjs compatible.
* It is temporary published under `exdat` name on npm. I don't want to take
`dat.gui` name, but I have very little believe that upstream repository will ever
be migrated to npm. That said, I've also submitted [PR upstream](https://github.com/dataarts/dat.gui/pull/71)
* Added method to remove folder: `gui.removeFolder(folderName);`
* Added method to update all controllers and folders in the hierarchy: `gui.update()`

## Packaged Builds

The easiest way to use dat.GUI in your code is by using the built source at `build/dat.gui.min.js`. These built JavaScript files bundle all the necessary dependencies to run dat.GUI.

In your `head` tag, include the following code:

``` html
<script type="text/javascript" src="dat.gui.min.js"></script>
```

## As commonjs module

Install the module:

```
npm install anvaka/dat.gui
```

Use it:

``` js
var dat = require('dat.gui');
var obj = { x: 5 };
var gui = new dat.GUI();

gui.add(obj, 'x').onChange(function() {
  // obj.x will now have updated value
});
```

## Directory Contents

 * build: Concatenated source code for browsers.
 * src: source code in commonjs format.
 * tests: [QUnit](https://github.com/jquery/qunit) test suite.

## Building your own dat.GUI

In the terminal, enter the following:

```
npm start
```

This will create a browserified build of dat.GUI at `build/dat.gui.js` and its
minified version at `build/dat.gui.min.js`.

## Change log

### Pending version number
 * Moved to commonjs, made it browserify friendly.
 * Back to GitHub.

### 0.5
 * Moved to requirejs for dependency management.
 * Changed global namespace from *DAT* to *dat* (lowercase).
 * Added support for color controllers. See [Color Controllers](http://workshop.chromeexperiments.com/examples/gui/#4--Color-Controllers).
 * Added support for folders. See [Folders](http://workshop.chromeexperiments.com/examples/gui/#3--Folders).
 * Added support for saving named presets.  See [Presets](http://workshop.chromeexperiments.com/examples/gui/examples/gui/#6--Presets).
 * Removed `height` parameter from GUI constructor. Scrollbar automatically induced when window is too short.
 * `dat.GUI.autoPlace` parameter removed. Use `new dat.GUI( { autoPlace: false } )`. See [Custom Placement](http://workshop.chromeexperiments.com/examples/gui/#9--Custom-Placement).
 * `gui.autoListen` and `gui.listenAll()` removed. See [Updating The Display Manually](http://workshop.chromeexperiments.com/examples/gui/#11--Updating-the-Display-Manually).
 * `dat.GUI.load` removed. See [Saving Values](http://workshop.chromeexperiments.com/examples/gui/#5--Saving-Values).
 * Made Controller code completely agnostic of GUI. Controllers can easily be created independent of a GUI panel.


#0.4

 * Migrated from GitHub to Google Code.

----

## Thanks
The following libraries / open-source projects were used in the development of dat.GUI:

 * [browserify](http://browserify.org/)
 * [Sass](http://sass-lang.com/)
 * [node.js](http://nodejs.org/)
 * [QUnit](https://github.com/jquery/qunit) / [jquery](http://jquery.com/)

---
_Source: https://npm.io/package/exdat · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
