fish-shell/fish-shell — pull request #990 by siteshwar (2013-09-07 19:56:36+00:00)
Title: AngularJS implementation of Fish's webconfig

Work in progress, don't merge until finished.

I am opening this pull request to get initial feedback for implementing web configurations in AngularJS. There is already a branch in official fish repository where ridiculous_fish is implementing webconfig in KnockoutJS (https://github.com/fish-shell/fish-shell/tree/fish_config_knockout), so I thought of implementing it in AngularJS. Here are the pros and cons of using AngularJS :

Pros:

* AngularJS Is declarative and supports 2 way bindings. UI gets updated as soon as the data changes in backend. A lot can be achieved with much less code. Right now webconfig.js file has less than 250 lines of code as compared to around 1000 lines of JavaScript code in current implementation of webconfig.
* It supports templating.

Cons:

* Slightly more heavyweight than other frameworks. There are some features which works slow. For e.g. filtering history items. But I believe these features can be optimized.
* jQuery plugins can not be directly embedded in an AngularJS application. To use third party jQuery plugins we will need to write directives.

While trying this implementation if webconfig page does not open properly please referesh browser's cache with Ctrl + F5 because your browser may pickup cached content for original implementation of webconfig.

In future if we decide to merge this pull request, it should be merged with a squashed merge.