Git Product home page Git Product logo

keel's People

Contributors

bobholt avatar nareshbhatia avatar squaretone 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

keel's Issues

grunt throwing error

While trying to install as instructed in readme.md, grunt throwing following error

Running "clean:clean" task
Warning: Cannot read property 'src' of undefined Use --force to continue.

Aborting due to warnings.

Any help appreciated...

Look into long-running widget possibilities

In theory, certain widgets (e.g. header/footer) could be long-running, living across multiple pages. The current buildout does not allow this.

Look into whether a long-running widget is a memory leak or a good thing. Best practices? Tradeoff?

Multiple applications on same install

I'd like this framework to work as well with multiple applications as it does with one. This will certainly involve some thinking and tradeoffs around Router, especially.

Update README

Update README.md for latest version of framework architecture.

Document the pattern on placing element in DOM

BaseView.addChild() has a parameter called parentElement. It's usage needs to be properly documented. One cannot blindly put parentElement: this.$el when calling addChild(). It is required only if we are creating a new DOM node and “placing” it under the parent. In situations where we are simply hanging a view off of existing markup, then parentElement should be left undefined, instead options.el should be defined.

So we have two patterns:

Creating new DOM nodes

postRender: function() {
    this.addChildren([
        {
            id: 'OutputPanel',
            viewClass: OutputPanel,
            parentElement: this.$el
        }
    ]);
}

Attaching views to existing DOM nodes

postRender: function() {
    this.addChildren([
        {
            id: 'Dashboard',
            viewClass: Dashboard,
            options: {
                el: this.dashboardElement
            }
        }
    ]);
}

Add Ruby and Compass to requirements

Add Ruby and Compass to requirements - without this the build instructions will not work.

We could almost use Trader Desktop build instructions for this project - they are quite comprehensive. In fact, if we instruct people to run the app with Node, then many of the complications of setting appRoot can be avoided for the beginner.

Avoid the need for creating blank templates

On several occasions I find myself creating blank templates just to avoid Keel’s default of <div></div> - see Bullsfirst code for several examples. In fact, I don’t think there is a single instance where I have taken advantage of the default.

My suggestion is to test for the case of the template being undefined and in such a case, not ti do template substitutions. It will avoid creation of a whole slew of blank templates. Also I am finding that the views that do D3 visualizations are not template based – they are totally rendered in JavaScript. There is also the case where markup is completely defined in a parent template and I simply want to hang a view somewhere inside it.

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.