Skip to content

Commit 56c9278

Browse files
0.2.12
0 parents  commit 56c9278

20 files changed

+9068
-0
lines changed

.bower.json

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"name": "angular-ui-router",
3+
"version": "0.2.12",
4+
"main": "./release/angular-ui-router.js",
5+
"dependencies": {
6+
"angular": ">= 1.0.8"
7+
},
8+
"ignore": [
9+
"**/.*",
10+
"node_modules",
11+
"bower_components",
12+
"component.json",
13+
"package.json",
14+
"lib",
15+
"config",
16+
"sample",
17+
"test",
18+
"tests",
19+
"ngdoc_assets",
20+
"Gruntfile.js",
21+
"files.js"
22+
],
23+
"homepage": "https://github.com/angular-ui/ui-router",
24+
"_release": "0.2.12",
25+
"_resolution": {
26+
"type": "version",
27+
"tag": "0.2.12",
28+
"commit": "3d0b121a664dec9cb74c9615195347a94be328dc"
29+
},
30+
"_source": "git://github.com/angular-ui/ui-router.git",
31+
"_target": "=0.2.12",
32+
"_originalSource": "angular-ui-router"
33+
}

CHANGELOG.md

Lines changed: 168 additions & 0 deletions
Large diffs are not rendered by default.

CONTRIBUTING.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
2+
# Report an Issue
3+
4+
Help us make UI-Router better! If you think you might have found a bug, or some other weirdness, start by making sure
5+
it hasn't already been reported. You can [search through existing issues](https://github.com/angular-ui/ui-router/search?q=wat%3F&type=Issues)
6+
to see if someone's reported one similar to yours.
7+
8+
If not, then [create a plunkr](http://bit.ly/UIR-Plunk) that demonstrates the problem (try to use as little code
9+
as possible: the more minimalist, the faster we can debug it).
10+
11+
Next, [create a new issue](https://github.com/angular-ui/ui-router/issues/new) that briefly explains the problem,
12+
and provides a bit of background as to the circumstances that triggered it. Don't forget to include the link to
13+
that plunkr you created!
14+
15+
**Note**: If you're unsure how a feature is used, or are encountering some unexpected behavior that you aren't sure
16+
is a bug, it's best to talk it out on
17+
[StackOverflow](http://stackoverflow.com/questions/ask?tags=angularjs,angular-ui-router) before reporting it. This
18+
keeps development streamlined, and helps us focus on building great software.
19+
20+
21+
Issues only! |
22+
-------------|
23+
Please keep in mind that the issue tracker is for *issues*. Please do *not* post an issue if you need help or support. Instead, see one of the above-mentioned forums or [IRC](irc://irc.freenode.net/#angularjs). |
24+
25+
####Purple Labels
26+
A purple label means that **you** need to take some further action.
27+
- ![Not Actionable - Need Info](http://angular-ui.github.io/ui-router/images/notactionable.png): Your issue is not specific enough, or there is no clear action that we can take. Please clarify and refine your issue.
28+
- ![Plunkr Please](http://angular-ui.github.io/ui-router/images/plunkrplease.png): Please [create a plunkr](http://bit.ly/UIR-Plunk)
29+
- ![StackOverflow](http://angular-ui.github.io/ui-router/images/stackoverflow.png): We suspect your issue is really a help request, or could be answered by the community. Please ask your question on [StackOverflow](http://stackoverflow.com/questions/ask?tags=angularjs,angular-ui-router). If you determine that is an actual issue, please explain why.
30+
31+
If your issue gets labeled with purple label, no further action will be taken until you respond to the label appropriately.
32+
33+
# Contribute
34+
35+
**(1)** See the **[Developing](#developing)** section below, to get the development version of UI-Router up and running on your local machine.
36+
37+
**(2)** Check out the [roadmap](https://github.com/angular-ui/ui-router/milestones) to see where the project is headed, and if your feature idea fits with where we're headed.
38+
39+
**(3)** If you're not sure, [open an RFC](https://github.com/angular-ui/ui-router/issues/new?title=RFC:%20My%20idea) to get some feedback on your idea.
40+
41+
**(4)** Finally, commit some code and open a pull request. Code & commits should abide by the following rules:
42+
43+
- *Always* have test coverage for new features (or regression tests for bug fixes), and *never* break existing tests
44+
- Commits should represent one logical change each; if a feature goes through multiple iterations, squash your commits down to one
45+
- Make sure to follow the [Angular commit message format](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit-message-format) so your change will appear in the changelog of the next release.
46+
- Changes should always respect the coding style of the project
47+
48+
49+
50+
# Developing
51+
52+
UI-Router uses <code>grunt >= 0.4.x</code>. Make sure to upgrade your environment and read the
53+
[Migration Guide](http://gruntjs.com/upgrading-from-0.3-to-0.4).
54+
55+
Dependencies for building from source and running tests:
56+
57+
* [grunt-cli](https://github.com/gruntjs/grunt-cli) - run: `$ npm install -g grunt-cli`
58+
* Then, install the development dependencies by running `$ npm install` from the project directory
59+
60+
There are a number of targets in the gruntfile that are used to generating different builds:
61+
62+
* `grunt`: Perform a normal build, runs jshint and karma tests
63+
* `grunt build`: Perform a normal build
64+
* `grunt dist`: Perform a clean build and generate documentation
65+
* `grunt dev`: Run dev server (sample app) and watch for changes, builds and runs karma tests on changes.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License
2+
3+
Copyright (c) 2014 The AngularUI Team, Karsten Sperling
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in
13+
all copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21+
THE SOFTWARE.

README.md

Lines changed: 243 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,243 @@
1+
# AngularUI Router &nbsp;[![Build Status](https://travis-ci.org/angular-ui/ui-router.svg?branch=master)](https://travis-ci.org/angular-ui/ui-router)
2+
3+
#### The de-facto solution to flexible routing with nested views
4+
---
5+
**[Download 0.2.11](http://angular-ui.github.io/ui-router/release/angular-ui-router.js)** (or **[Minified](http://angular-ui.github.io/ui-router/release/angular-ui-router.min.js)**) **|**
6+
**[Guide](https://github.com/angular-ui/ui-router/wiki) |**
7+
**[API](http://angular-ui.github.io/ui-router/site) |**
8+
**[Sample](http://angular-ui.github.com/ui-router/sample/) ([Src](https://github.com/angular-ui/ui-router/tree/gh-pages/sample)) |**
9+
**[FAQ](https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions) |**
10+
**[Resources](#resources) |**
11+
**[Report an Issue](https://github.com/angular-ui/ui-router/blob/master/CONTRIBUTING.md#report-an-issue) |**
12+
**[Contribute](https://github.com/angular-ui/ui-router/blob/master/CONTRIBUTING.md#contribute) |**
13+
**[Help!](http://stackoverflow.com/questions/ask?tags=angularjs,angular-ui-router) |**
14+
**[Discuss](https://groups.google.com/forum/#!categories/angular-ui/router)**
15+
16+
---
17+
18+
AngularUI Router is a routing framework for [AngularJS](http://angularjs.org), which allows you to organize the
19+
parts of your interface into a [*state machine*](https://en.wikipedia.org/wiki/Finite-state_machine). Unlike the
20+
[`$route` service](http://docs.angularjs.org/api/ngRoute.$route) in the Angular ngRoute module, which is organized around URL
21+
routes, UI-Router is organized around [*states*](https://github.com/angular-ui/ui-router/wiki),
22+
which may optionally have routes, as well as other behavior, attached.
23+
24+
States are bound to *named*, *nested* and *parallel views*, allowing you to powerfully manage your application's interface.
25+
26+
Check out the sample app: http://angular-ui.github.io/ui-router/sample/
27+
28+
-
29+
**Note:** *UI-Router is under active development. As such, while this library is well-tested, the API may change. Consider using it in production applications only if you're comfortable following a changelog and updating your usage accordingly.*
30+
31+
32+
## Get Started
33+
34+
**(1)** Get UI-Router in one of the following ways:
35+
- clone & [build](CONTRIBUTING.md#developing) this repository
36+
- [download the release](http://angular-ui.github.io/ui-router/release/angular-ui-router.js) (or [minified](http://angular-ui.github.io/ui-router/release/angular-ui-router.min.js))
37+
- via **[Bower](http://bower.io/)**: by running `$ bower install angular-ui-router` from your console
38+
- or via **[npm](https://www.npmjs.org/)**: by running `$ npm install angular-ui-router` from your console
39+
- or via **[Component](https://github.com/component/component)**: by running `$ component install angular-ui/ui-router` from your console
40+
41+
**(2)** Include `angular-ui-router.js` (or `angular-ui-router.min.js`) in your `index.html`, after including Angular itself (For Component users: ignore this step)
42+
43+
**(3)** Add `'ui.router'` to your main module's list of dependencies (For Component users: replace `'ui.router'` with `require('angular-ui-router')`)
44+
45+
When you're done, your setup should look similar to the following:
46+
47+
>
48+
```html
49+
<!doctype html>
50+
<html ng-app="myApp">
51+
<head>
52+
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"></script>
53+
<script src="js/angular-ui-router.min.js"></script>
54+
<script>
55+
var myApp = angular.module('myApp', ['ui.router']);
56+
// For Component users, it should look like this:
57+
// var myApp = angular.module('myApp', [require('angular-ui-router')]);
58+
</script>
59+
...
60+
</head>
61+
<body>
62+
...
63+
</body>
64+
</html>
65+
```
66+
67+
### [Nested States & Views](http://plnkr.co/edit/u18KQc?p=preview)
68+
69+
The majority of UI-Router's power is in its ability to nest states & views.
70+
71+
**(1)** First, follow the [setup](#get-started) instructions detailed above.
72+
73+
**(2)** Then, add a [`ui-view` directive](https://github.com/angular-ui/ui-router/wiki/Quick-Reference#ui-view) to the `<body />` of your app.
74+
75+
>
76+
```html
77+
<!-- index.html -->
78+
<body>
79+
<div ui-view></div>
80+
<!-- We'll also add some navigation: -->
81+
<a ui-sref="state1">State 1</a>
82+
<a ui-sref="state2">State 2</a>
83+
</body>
84+
```
85+
86+
**(3)** You'll notice we also added some links with [`ui-sref` directives](https://github.com/angular-ui/ui-router/wiki/Quick-Reference#ui-sref). In addition to managing state transitions, this directive auto-generates the `href` attribute of the `<a />` element it's attached to, if the corresponding state has a URL. Next we'll add some templates. These will plug into the `ui-view` within `index.html`. Notice that they have their own `ui-view` as well! That is the key to nesting states and views.
87+
88+
>
89+
```html
90+
<!-- partials/state1.html -->
91+
<h1>State 1</h1>
92+
<hr/>
93+
<a ui-sref="state1.list">Show List</a>
94+
<div ui-view></div>
95+
```
96+
```html
97+
<!-- partials/state2.html -->
98+
<h1>State 2</h1>
99+
<hr/>
100+
<a ui-sref="state2.list">Show List</a>
101+
<div ui-view></div>
102+
```
103+
104+
**(4)** Next, we'll add some child templates. *These* will get plugged into the `ui-view` of their parent state templates.
105+
106+
>
107+
```html
108+
<!-- partials/state1.list.html -->
109+
<h3>List of State 1 Items</h3>
110+
<ul>
111+
<li ng-repeat="item in items">{{ item }}</li>
112+
</ul>
113+
```
114+
115+
>
116+
```html
117+
<!-- partials/state2.list.html -->
118+
<h3>List of State 2 Things</h3>
119+
<ul>
120+
<li ng-repeat="thing in things">{{ thing }}</li>
121+
</ul>
122+
```
123+
124+
**(5)** Finally, we'll wire it all up with `$stateProvider`. Set up your states in the module config, as in the following:
125+
126+
127+
>
128+
```javascript
129+
myApp.config(function($stateProvider, $urlRouterProvider) {
130+
//
131+
// For any unmatched url, redirect to /state1
132+
$urlRouterProvider.otherwise("/state1");
133+
//
134+
// Now set up the states
135+
$stateProvider
136+
.state('state1', {
137+
url: "/state1",
138+
templateUrl: "partials/state1.html"
139+
})
140+
.state('state1.list', {
141+
url: "/list",
142+
templateUrl: "partials/state1.list.html",
143+
controller: function($scope) {
144+
$scope.items = ["A", "List", "Of", "Items"];
145+
}
146+
})
147+
.state('state2', {
148+
url: "/state2",
149+
templateUrl: "partials/state2.html"
150+
})
151+
.state('state2.list', {
152+
url: "/list",
153+
templateUrl: "partials/state2.list.html",
154+
controller: function($scope) {
155+
$scope.things = ["A", "Set", "Of", "Things"];
156+
}
157+
});
158+
});
159+
```
160+
161+
**(6)** See this quick start example in action.
162+
>**[Go to Quick Start Plunker for Nested States & Views](http://plnkr.co/edit/u18KQc?p=preview)**
163+
164+
**(7)** This only scratches the surface
165+
>**[Dive Deeper!](https://github.com/angular-ui/ui-router/wiki)**
166+
167+
168+
### [Multiple & Named Views](http://plnkr.co/edit/SDOcGS?p=preview)
169+
170+
Another great feature is the ability to have multiple `ui-view`s view per template.
171+
172+
**Pro Tip:** *While multiple parallel views are a powerful feature, you'll often be able to manage your
173+
interfaces more effectively by nesting your views, and pairing those views with nested states.*
174+
175+
**(1)** Follow the [setup](#get-started) instructions detailed above.
176+
177+
**(2)** Add one or more `ui-view` to your app, give them names.
178+
>
179+
```html
180+
<!-- index.html -->
181+
<body>
182+
<div ui-view="viewA"></div>
183+
<div ui-view="viewB"></div>
184+
<!-- Also a way to navigate -->
185+
<a ui-sref="route1">Route 1</a>
186+
<a ui-sref="route2">Route 2</a>
187+
</body>
188+
```
189+
190+
**(3)** Set up your states in the module config:
191+
>
192+
```javascript
193+
myApp.config(function($stateProvider) {
194+
$stateProvider
195+
.state('index', {
196+
url: "",
197+
views: {
198+
"viewA": { template: "index.viewA" },
199+
"viewB": { template: "index.viewB" }
200+
}
201+
})
202+
.state('route1', {
203+
url: "/route1",
204+
views: {
205+
"viewA": { template: "route1.viewA" },
206+
"viewB": { template: "route1.viewB" }
207+
}
208+
})
209+
.state('route2', {
210+
url: "/route2",
211+
views: {
212+
"viewA": { template: "route2.viewA" },
213+
"viewB": { template: "route2.viewB" }
214+
}
215+
})
216+
});
217+
```
218+
219+
**(4)** See this quick start example in action.
220+
>**[Go to Quick Start Plunker for Multiple & Named Views](http://plnkr.co/edit/SDOcGS?p=preview)**
221+
222+
223+
## Resources
224+
225+
* [In-Depth Guide](https://github.com/angular-ui/ui-router/wiki)
226+
* [API Reference](http://angular-ui.github.io/ui-router/site)
227+
* [Sample App](http://angular-ui.github.com/ui-router/sample/) ([Source](https://github.com/angular-ui/ui-router/tree/gh-pages/sample))
228+
* [FAQ](https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions)
229+
* [Slides comparing ngRoute to ui-router](http://slid.es/timkindberg/ui-router#/)
230+
* [UI-Router Extras / Addons](http://christopherthielen.github.io/ui-router-extras/#/home) (@christopherthielen)
231+
232+
### Videos
233+
234+
* [Introduction Video](https://egghead.io/lessons/angularjs-introduction-ui-router) (egghead.io)
235+
* [Tim Kindberg on Angular UI-Router](https://www.youtube.com/watch?v=lBqiZSemrqg)
236+
* [Activating States](https://egghead.io/lessons/angularjs-ui-router-activating-states) (egghead.io)
237+
* [Learn Angular.js using UI-Router](http://youtu.be/QETUuZ27N0w) (LearnCode.academy)
238+
239+
240+
241+
## Reporting issues and Contributing
242+
243+
Please read our [Contributor guidelines](CONTRIBUTING.md) before reporting an issue or creating a pull request.

0 commit comments

Comments
 (0)