diff options
| author | Misko Hevery | 2010-01-25 20:02:24 -0800 |
|---|---|---|
| committer | Misko Hevery | 2010-01-25 20:02:24 -0800 |
| commit | 0b630972b15676b1c1b6c59edd564e4ee331ec70 (patch) | |
| tree | bd31ca5b69b6ea03d906a3107dfe38a8c1adcb8e /example/tweeter/tweeter_addressbook.html | |
| parent | 19bbee030ba012b8fc4835c1d17e039804b2b94b (diff) | |
| parent | 473e57e22532f9b85fc9dcc1bcc53e12a10154c2 (diff) | |
| download | angular.js-0b630972b15676b1c1b6c59edd564e4ee331ec70.tar.bz2 | |
merge
Diffstat (limited to 'example/tweeter/tweeter_addressbook.html')
| -rw-r--r-- | example/tweeter/tweeter_addressbook.html | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/example/tweeter/tweeter_addressbook.html b/example/tweeter/tweeter_addressbook.html new file mode 100644 index 00000000..64a3f95e --- /dev/null +++ b/example/tweeter/tweeter_addressbook.html @@ -0,0 +1,80 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <link rel="stylesheet" type="text/css" href="style.css"> + <link rel="stylesheet" type="text/css" href="../../css/angular.css"> + <script type="text/javascript" src="../../lib/underscore/underscore.js"></script> + <script type="text/javascript" src="../../lib/jquery/jquery-1.4.js"></script> + <script type="text/javascript" src="../../angular.js"></script> + <script type="text/javascript" src="tweeterclient.js"></script> + </head> + <body ng-class="status" ng-init="mute={}" ng-watch="$anchor.user: tweets = fetchTweets($anchor.user)"> + <div class="addressbook box"> + <h1>Address Book</h1> + [ Filter: <input type="text" name="userFilter"/>] + <ul> + <li ng-repeat="user in users.$filter(userFilter).$orderBy('screen_name')" ng-class-even="'even'" ng-class-odd="'odd'"> + <a href="" ng-action="$anchor.user=user.screen_name"><img src="{{user.profile_image_url}}"/></a> + <a href="" ng-action="$anchor.user=user.screen_name">{{user.screen_name}}</a> + as <span class="nickname">{{user.name}}</span> + [ <a href="#" ng-action="$anchor.edituser=user.screen_name">edit</a> + | <a href="#" ng-action="users.$remove(user)">X</a> + | <a href="#" ng-action="mute[user.screen_name] = ! mute[user.screen_name]">mute</a> + ] + <div class="notes">{{user.notes|linky}}</div> + <div class="clrleft"></div> + </li> + </ul> + <hr/> + <div ng-show="$anchor.edituser" ng-eval="user = users.$find({:$.screen_name == $anchor.edituser})"> + <div class="editor"> + <label>Username:</label> + <input type="text" name="user.screen_name" disabled="disabled"/> + <label>Name:</label> + <input type="text" name="user.name"/> + <label>Image:</label> + <input type="text" name="user.profile_image_url"/> + <label>Notes:</label> + <textarea type="text" name="user.notes"></textarea> + + <input type="button" ng-action="$anchor.edituser=undefined" value="Close"/> + </div> + </div> + <hr/> + <div class="debug"> +mute={{mute|json}} + +userFilter={{userFilter|json}} + +tweetFilter={{tweetFilter|json}} + +$anchor={{$anchor}} + +users={{users}} + +tweets={{tweets}} + </div> + </div> + <div class="tweeter box"> + <h1>Tweets: {{$anchor.user}}</h1> + [ Filter: <input type="text" name="tweetFilter"/> + <span ng-show="$anchor.user">| <a href="#user="><< All</a></span> + ] + <div class="loading">Loading...</div> + <ul> + <li ng-repeat="tweet in tweets.$filter(tweetFilter).$filter({:!mute[$.user.screen_name]})" + ng-class-even="'even'" ng-class-odd="'odd'" + ng-eval="user = users.$find({: $.screen_name == tweet.user.screen_name}) || tweet.user"> + <img src="{{user.profile_image_url}}"/> + [ <a href="" ng-action="$anchor.user=user.screen_name">{{user.nickname || user.name || user.screen_name }}</a> + | <a href="" ng-action="users.$includeIf(user, true)">+</a> + ]: + {{tweet.text | linky}} + <span class="notes">{{tweet.created_at}}</span> + <span class="notes">{{user.notes}}</span> + <div class="clrleft"></div> + </li> + </ul> + </div> + </body> +</html> |
