GithubHelp home page GithubHelp logo

yellowtugboat / monte Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 1.0 2.01 MB

A visualization framework for D3.js and SVG. Ships with prebuilt charts and components.

Home Page: http://montejs.com

License: MIT License

JavaScript 100.00%
visualization d3 monte montejs

monte's People

Contributors

kbuhrer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

markrocks

monte's Issues

Clean up TODOs

There are a variety of TODOs in the codebase and they generally relate to enhancements and/or refactoring.

Unit Tests

Implement unit tests to cover basic chart construction and all support functions.

Blocks moving to a beta release.

Deploy to CDN

Ensure Monte is served by jsdelivr (and evaluate others: cdnjs). Monte is already available through Unpkg, but providing some choice is generally a good idea.

Change License

Evaluate and migrate to a more permissive license MIT, Apache, or other.

Create gists for all demos

Create gists of all demos on the main page from the gh-pages branch. Make the gists accessible through bl.ocks.org and another form (jsFiddle, plunkr, etc...)

Base Theme

Create a base theme that serves as a common base for other themes using SCSS.

The base should ensure:

  • that items that should not have fills (i.e. .monte-ext-polar-grid-arc) are transparent;
  • classes such as .no-domain and .no-ticks have transparent strokes;
  • label placement classes have the correct text-anchor rules;
  • pointer events are disabled for non directly interactive components (i.e. crosshairs, labels, etc...);
  • and other similar needs.

Migrate repository to Monte orgnization

A new Monte organization has been formed on GitHub and this repository should be migrated. For clarity of users this should be done as part of preparing a beta release.

Revise input data format

The majority of input data is in the form of an array, but there are cases (such as Gauges) where the input is an object. Using objects has the advantage of allowing metadata and additional configuration information. This allows for greater flexibility in the future without having to rework the scheme.

In most charts most datums can contain a css field, but that isn't possible for the base data. Other information such as "label", "source", "collection date", etc... could also be useful in the data object.

The data object should be capable of being serialized as a JSON object to avoid having code perform transformations. The only required actions by a user should be using *Prop options to map the fields for chart consumption.

Tasks

  • Update all charts to accept an object as the data. For data that is currently an array nest the current data under a consistent (and customizable via a *Prop option) field, for example "items". Note: "values" is the default prop in most cases for objects with nested items (line charts, grouped bar charts, ...) so use of valuesProp would create conflicts and should not be used.
  • Add a data accessor to allow deep (i.e. use Lodash's get() like option() uses) so that users can access their own data elements for easy use in lifecycle event callbacks.

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.