Lightweight controller library for JavaScript.
Go to file
George Michael Brower 1bc50ffe31 console log
2011-11-07 22:19:20 -08:00
build console log 2011-11-07 22:19:20 -08:00
src/dat console log 2011-11-07 22:19:20 -08:00
tests boolean fix 2011-11-07 22:17:40 -08:00
utils 0.5 2011-11-07 13:29:37 -08:00
.gitignore deleting the project 2011-11-07 13:29:03 -08:00
example.html closing 2011-11-07 19:31:28 -08:00
readme.wiki closing 2011-11-07 19:31:28 -08:00

=dat.GUI=
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].

----

==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:
{{{
<script type="text/javascript" src="dat.gui.min.js"></script>
}}}

----

==Using dat.GUI with require.js==
Internally, dat.GUI uses [http://requirejs.org/ require.js] to handle dependency management. If you're making changes to the source and want to see the effects of your changes without building, use require js.

In your {{{head}}} tag, include the following code:
{{{
<script data-main="path/to/main" src="path/to/requirejs/require.js"></script>
}}}

Then, in {{{path/to/main.js}}}:
{{{
require([
  'path/to/gui/module/GUI'
], function(GUI) {

  // No namespace necessary 
  var gui = new GUI();

});
}}}

----

==Directory Contents==
 * build: Concatenated source code.
 * src: Modular code in [http://requirejs.org/ require.js] format. Also includes css, [http://sass-lang.com/ scss], and html, some of which is included during build.
 * tests: [https://github.com/jquery/qunit QUnit] test suite.
 * utils: [http://nodejs.org/ node.js] utility scripts for compiling source.

----

==Building your own dat.GUI==

In the terminal, enter the following:

{{{
$ cd utils
$ node build_gui.js
}}}

This will create a namespaced, unminified build of dat.GUI at {{{build/dat.gui.js}}}

_To export minified source using Closure Compiler, open {{{utils/build_gui.js}}} and set the {{{minify}}} parameter to {{{true}}}._

----

==Change log==

===0.5===
 * Moved to requirejs for dependency management.
 * Changed global namespace from *DAT* to *dat* (lowercase).
 * Added support for color controllers. See [http://workshop.chromeexperiments.com/examples/gui/#4--Color-Controllers Color Controllers].
 * Added support for folders. See [http://workshop.chromeexperiments.com/examples/gui/#3--Folders Folders].
 * Added support for saving named presets.  See [http://workshop.chromeexperiments.com/examples/gui/examples/gui/#6--Presets 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 [http://workshop.chromeexperiments.com/examples/gui/#9--Custom-Placement Custom Placement].
 * `gui.autoListen` and `gui.listenAll()` removed. See [http://workshop.chromeexperiments.com/examples/gui/#11--Updating-the-Display-Manually Updating The Display Manually].
 * `dat.GUI.load` removed. See [http://workshop.chromeexperiments.com/examples/gui/#5--Saving-Values 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:
 * [http://requirejs.org/ require.js]
 * [http://sass-lang.com/ Sass]
 * [http://nodejs.org/ node.js]
 * [https://github.com/jquery/qunit QUnit] / [http://jquery.com/ jquery]