akserg/angular.dart.ui — pull request #32 by zoechi (2014-02-02 12:07:36+00:00)
Title: Integrate angular ui bootstrap

This pull request contains quite a few changes.
At first I tried to just integrate the components I had, but there was some overlapping...

### Timeout, Transition, Carousel
I didn't use a `Timeout` component and my `Transition` was implemented differently too.
While trying to resolve this issues and integrate my components properly I got errors with Carousel.

To figure out what's wrong I added the missing unit tests. (At this time I didn't realize that Sergey was still working on this component - I saw the `progress` tag on Carousel sometimes later).

Getting Carousel working resulted in quite an overhaul on Transition and Carousel but now it seems all is working quite well.

### Demo page / run as JavaScript
I tried to ensure that all is working as JavaScript too but I run into so many Dart/AngularDart bugs already while integrating my components to angular.dart.ui and yet again when I tried to transpile to JavaScript that I'm giving up for now to avoid to much merging issues (for you and for me) caused by the long delay between checki-ins,
I decided to just check it in now.
At least in Dartium all seems working fine so far.

### Added components

* Accordion (tests still missing)
* Rating (tests still missing)

### Misc

##### CSS
I added two CSS files.
We can organize them differently than I did id.
I'm open for a discussion. I don't have much experience with CSS yet.

* carousel.css
The deviations necessary to make Carousel work.
It contains a few things that aren't necessary currently (1:1 copy from bootstrap.css)
John Messerly anounced recently that `allowAuthorStyles` is deprecated, and I guess these additional styles have to be modified to make Carousel work without `allowAuthorStyles` but I didn't get to it yet.

* angular.css
I added this styles to make some unit tests work.

#### sort order
There are several places where all elements are listed (imports, register modules, ...)
I just sorted them alphabetically (looks like much add/remove in the diff but actually it's just minor change.

#### trailing spaces
I have configured DartEditor to remove trailing spaces.
There are a lot of changes just because of this.
~~In case you wonder what actually changed where differences are indicated.~~ I just saw that GitHub diff shows them quite obvious in contrast to `Meld` that I use locally.
I'm all in favor for everyone to activate this setting. If there are cons, please tell, I'm not aware of any.

#### helper
I added the `helper` directory with
* `extend` which is used in `Rating` but seems generally be common in AngularJS so I moved it from Rating to helper
* `InjectableService` is used for dart2js using static injector. I read some comments about this in the AngularDart tutorial and an in an issue in the AngularDart repo but I have to admit that I didn't yet fully understand it's purpose.

#### logging
I used logging for debugging purposes because I often had the problem, that I didn't know if directives/components/... were instantiated at all.
I would like to keep them in the code. Mostly it's just to log the name in the constructor. I use the level `fine` for this. For other debugging output I use 'fine**r**' - the intention is to remove these 'fine**r**' as soon as a component is stable.

### Push/Pull request
I created a new branch where I pushed to and created this pull request.
If there is another way you would prefer instead, please tell. I'm not yet too experienced with Git.

If you have any concerns about what I added/changed/removed please don't hesitate to tell.
I'm doing OS development mostly to improve my skills.
So feedback is highly appreciated.

Cheers
Günter