{"shas":[["28432ffef93cfdce56e3e30f5fc7f0e7211776d7","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","add tutorial related scripts","Igor Minar"],["3b60e21083720270293e8bc954065657dba26caa","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","add phones.json\n\n- Added a json file with a list of all phones. This file fakes a\n  backend which would typically render this list dynamically from\n  a database.","Igor Minar"],["4677cd5e57f64e69abfb80d9ab7384d5dd5bceee","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","add phone detail json files\n\n- Added one json file with detailed information about each phone\n  listed in phones.json","Igor Minar"],["56754bce342b836423e340695ce007c9724d7a4a","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","add phone images\n\n- Added images for each phone listed in phones.json","Igor Minar"],["b8bc379c0baf8044d90310e1f77946a662fdcdaa","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","step-0 empty angular-seed project\n\n- Initial [angular-seed] project layout without default app and test\n  code","Igor Minar"],["f29cf67a762f5cc118626cb1c8c7166249cf928f","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","step-1 static phone list\n\n- Added static html list with two phones into index.html","Igor Minar"],["3d9845758f31363701635e9d3973f3cd988c7b24","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","step-2 angular template with repeater\n\n- Converted the static html list into dynamic one by:\n  - creating a root controller for the application\n  - extracting the data from HTML into a the controller as an in-memory\n    dataset\n  - converting the static document into a template with the use of\n    `[ng:repeat]` [directive] which iterates over the dataset with phones,\n    clones the ng:repeat template for each instance and renders it into the\n    view\n- Added a simple unit test to show off how to write tests and run them\n  with JsTD (see README.md for instructions)","Igor Minar"],["5e90ca105c6ec99c038590bca75a67768fea2588","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","step-3 interactive search\n\n- Added a search box to demonstrate how:\n  - the data-binding works on input fields\n  - to use [$filter] function\n  - [ng:repeat] automatically shrinks and grows the number of phones in the view\n- Added an end-to-end test to:\n  - show how end-to-end tests are written and used\n  - to prove that the search box and the repeater are correctly wired together","Igor Minar"],["13ed0788ac6b6e7a3dc70244d3d8f235deb45f1c","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","step-4 phone ordering\n\n- Add \"age\" property to the phone model\n- Add select box to control phone list order\n- Override the default order value in controller\n- Add unit and e2e test for this feature","Igor Minar"],["0addfdd7be260b2af8b37b4126e84f67f58ae085","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","step-5 $xhr and dependency injection\n\n- Replaced the in-memory dataset with data loaded from the server (in\n  the form of static phone.json file to make this tutorial backend\n  agnostic)\n  - The json file is loaded using the [$xhr] service\n- Demonstrate the use of [services][service] and [dependency injection][DI]\n  - The [$xhr] is injected into the controller through [dependency injection][DI]","Igor Minar"],["86e30620e6bd7bd57d81e81c2125b60190068179","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","step-6 phone images and links\n\n- adding phone image and links to phone pages\n- add end2end test that verifies our phone links\n- css to style the page just a notch","Igor Minar"],["1174eb0405e03f9555031bcde734ae615b996964","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","step-7 $route and app partitioning\n\n- Introduce the [$route] service which allows binding URLs for deep-linking with\n  views\n  - Create PhoneCatCtrl which governs the entire app and contains $route\n    configuration\n  - Map `/phones' to PhoneListCtrl and partails/phones-list.html\n  - Map `/phones/<phone-id>' to PhoneDetailCtrl and partails/phones-detail.html\n  - Copy deep linking parameters to root controller `params` property for access\n    in sub controllers\n  - Replace content of index.html with [ng:view] widget\n- Create phone list route\n  - Preserve existing PhoneListCtrl controller\n  - Move existing html from index.html to partials/phone-list.html\n- Create phone details route\n  - Empty placeholder PhoneDetailsCtrl controller\n  - Empty placeholder partials/phane-details.html template","Igor Minar"],["4fd64ba92e247999bca6680b1e736dd0b3ae279c","3b29c999c55facc317f2a7f0faadf9e6f5ef3fe2@hevery.com","step-8 phone details view\n\n- Fetch data for and render phone detail view\n  - PhoneDetailCtrl controller to fetch details json with [$xhr] for a specific\n    phone\n  - template for the phone detailed view\n- CSS to make the phone details page look \"pretty\"","Misko Hevery"],["bf80fef0d8d5cd3ebde62097305b22b9e835a44d","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","step-9 checkmark filter\n\n- Added custom checkmark filter\n- Update phone detail template to use checkmark filter\n- Added spec for the filter","Igor Minar"],["ed81aa9487ffaff4d4a6f3ff18a7c73cb3230d2a","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","step-10 image swapping with ng:click\n\nIn the phone detail view, clicking on a thumbnail image, changes the\nmain phone image to be the large version of the thumbnail image.\n\n- Define mainImageUrl model variable in the PhoneDetailCtrl and set its\n  default value\n- Create setImage controller method to change mainImageUrl\n- Register ng:click handler for thumb images to use setImage controller\n  method\n- Add e2e tests for this feature\n- Add css to change the mouse cursor when user points at thumnail images\n\npointer","Igor Minar"],["1a048d59af5cb97a35a09e0f98c30210a2511b29","15fe88b1a59774be3b597eb560ae7892969c782d@gmail.com","step-11 custom service and $resource\n\n- Replaced [$xhr] with [$resource]\n- Created a custom Phone service that represents the $resource client","Igor Minar"]],"repo":"angular/angular-phonecat","actor":"IgorMinar","ref":"refs/heads/master","size":16,"head":"1a048d59af5cb97a35a09e0f98c30210a2511b29","actor_gravatar":"fc5dc0d579fb554752763792a2d5f449","push_id":29826041}