Giter Site home page Giter Site logo

oui's People

Contributors

despawnerer avatar marklundin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

oui's Issues

folder is no longer working

  let foo = {a: 0.5}
  let gui = oui.datoui()
  let fooFolder = gui.addFolder({label: 'foo'})
  fooFolder.add(foo, 'a', {min: 0, max: 1})

Simplify Combobox api

The Combobox api, specifically the options is confusing and unintuitive. It's not clear what data is accepted

Every call to `Oui` replaces the previous ui

Oui is essentially stateless meaning each call to Oui redraws the UI and any replaces whatever controllers were currently there.

let a = { num : 5 }
let b = { str : 'string' }

oui( a )
// some time later...
oui( b )

The render tree now display a text input field. The sliders one has been overridden

Hex code input support for Color Picker

It will be great if Color Picker can provide a Hex code input field. GUI sometimes serve as a way to allow the designer to adjust the color and feedback to the developer. Using Hex code input field makes it way easier to read/write.

Add Chrome Devtools Extension

Oui lends itself well to a chrome extension. Same api, but with a hook that renders the UI into a dev tools panel

Several controls are not exposed in dist

Currently the only exposed controls are: ColorPicker, ComboBox, Graph, XYPad.

NumericStepper, Dial or Button (and possibly several others, e.g. TextInput) are still missing and can therefore not be set via datoui.

Support ENV flags

Oui is generally used for development and not production. This should be totally optional, but it would be useful to return a noop if production flags are set.

Delete a panel

Hi,

Is it possible to delete a panel ? Because I can't find anything about it...

Thanks,
Etienne.

Open folder by default

It would be nice to be able to open the folder by default like in dat.GUI:

var gui = oui.datoui();
var fooFolder = gui.addFolder('foo');
fooFolder.open();

or

var gui = oui.datoui();
var fooFolder = gui.addFolder({label: 'foo', isOpen: true});

Maintain folder state when parent folder is collapsed

Currently folders lose their open state when the parent folder is collapsed. I believe it would be desirable for them to maintain and restore their state when the parent folder is opened again.

Use case: A user may for example close the topmost folder to quickly hide the UI and reveal the underlying screen. When uncollapsing he wants to see the UI in the state it was earlier, without having to reopen each single nested folder.

For control property, if it is a string, treat it as the mapping id

For example:
gui.add( settings, 'color', {control: oui.controls.ColorPicker});

It seems more user friendly to accept string like:
gui.add( settings, 'color', {control: 'ColorPicker'});

If it is a string, it will look for the reference of oui.controls['ColorPicker']

dat.GUI style constraint shorthand

At the moment, adding constraints to the dat.GUI style item is pretty redundant

var gui = oui.datoui();
oui.annotate({min: 0, max: 5})(gui.add( settings, 'speed'), 'speed');

I would recommend using an optional third argument which is closer to the dat.GUI api like this:

var gui = oui.datoui();
gui.add( settings, 'speed', {min: 0, max: 5} );

Examples, more documentation

Just from a quick look through the repository I was not able to see how I would start with Oui…

Could you add some example code (e.g. for the 4 panels shown in the pictures) and some more documentation? Especially about the structure of the object that is referred to like “UI declared in obj”…

Deprecate the default Oui panel

The default oui.oui() Master panel is being deprecated. It adds unnecessary cruft and confuses the api.

Use the panel interface instead;

const panel = oui.panel()
panel({})

example of using color?

I'm having trouble figuring out how to annotate with a color picker. The link in the additional-controls documentation is a 404, and the documentation for annotations is unfinished. I really like the look of this library though, and am happy to help improve it however I can!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.