Skip to content
This repository was archived by the owner on Nov 27, 2025. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: angular/angular-phonecat
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: diffley/angular-phonecat
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 15 commits
  • 23 files changed
  • 3 contributors

Commits on Nov 21, 2016

  1. step-0 Bootstrapping

    - Add the 'angular.js' script.
    - Add the `ngApp` directive to bootstrap the application.
    - Add a simple template with an expression.
    IgorMinar authored and gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    b160462 View commit details
    Browse the repository at this point in the history
  2. step-1 Static Template

    - Add a stylesheet file ('app/app.css').
    - Add a static list with two phones.
    petebacondarwin authored and gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    30fd06f View commit details
    Browse the repository at this point in the history
  3. step-2 Angular Templates

    - Convert the static phone list to dynamic by:
      - Creating a `PhoneListController` controller.
      - Extracting the data from HTML into the controller as an in-memory dataset.
      - Converting the static document into a template with the use of the `ngRepeat` directive.
    - Add a simple unit test for the `PhoneListController` controller to show how to write tests and
      run them using Karma (see README.md for instructions).
    petebacondarwin authored and gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    3867471 View commit details
    Browse the repository at this point in the history
  4. step-3 Components

    - Introduce components.
    - Combine the controller and the template into a reusable, isolated `phoneList` component.
    - Refactor the application and tests to use the `phoneList` component.
    gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    c1ca5d0 View commit details
    Browse the repository at this point in the history
  5. step-4 Directory and File Organization

    - Refactor the layout of files and directories, applying best practices and techniques that will
      make the application easier to maintain and expand in the future:
      - Put each entity in its own file.
      - Organize code by feature area (instead of by function).
      - Split code into modules that other modules can depend on.
      - Use external templates in `.html` files (instead of inline HTML strings).
    gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    dc86082 View commit details
    Browse the repository at this point in the history
  6. step-5 Filtering Repeaters

    - Add a search box to demonstrate:
      - How the data-binding works on input fields.
      - How to use the `filter` filter.
      - How `ngRepeat` automatically shrinks and grows the number of phones in the view.
    - Add an end-to-end test to:
      - Show how end-to-end tests are written and used.
      - Prove that the search box and the repeater are correctly wired together.
    gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    c2ca489 View commit details
    Browse the repository at this point in the history
  7. step-6 Two-way Data Binding

    - Add an `age` property to the phone model.
    - Add a drop-down menu to control the phone list order.
    - Override the default order value in controller.
    - Add unit and end-to-end tests for this feature.
    
    Closes #213
    petebacondarwin authored and gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    7e60b73 View commit details
    Browse the repository at this point in the history
  8. step-7 XHR & Dependency Injection

    - Replace the in-memory dataset with data loaded from the server (in the form of a static
      'phone.json' file to keep the tutorial backend agnostic):
      - The JSON data is loaded using the `$http` service.
    - Demonstrate the use of `services` and `dependency injection` (DI):
      - `$http` is injected into the controller through DI.
      - Introduce DI annotation methods: `.$inject` and inline array
    
    Closes #207
    petebacondarwin authored and gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    9b1ee8f View commit details
    Browse the repository at this point in the history
  9. step-8 Templating Links & Images

    - Add a phone image and links to phone pages.
    - Add an end-to-end test that verifies the phone links.
    - Tweak the CSS to style the page just a notch.
    petebacondarwin authored and gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    baf5a9b View commit details
    Browse the repository at this point in the history
  10. step-9 Routing & Multiple Views

    - Introduce the `$route` service, which allows binding URLs to views for routing and deep-linking:
      - Add the `ngRoute` module as a dependency.
      - Configure routes for the application.
      - Use the `ngView` directive in 'index.html'.
    - Create a phone list route (`/phones`):
      - Map `/phones` to the existing `phoneList` component.
    - Create a phone detail route (`/phones/:phoneId`):
      - Map `/phones/:phoneId` to a new `phoneDetail` component.
      - Create a dummy `phoneDetail` component, which displays the selected phone ID.
      - Pass the `phoneId` parameter to the component's controller via `$routeParams`.
    petebacondarwin authored and gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    53d9314 View commit details
    Browse the repository at this point in the history
  11. step-10 More Templating

    - Implement fetching data for the selected phone and rendering to the view:
      - Use `$http` in `PhoneDetailController` to fetch the phone details from a JSON file.
      - Create the template for the detail view.
    - Add CSS styles to make the phone detail page look "pretty-ish".
    petebacondarwin authored and gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    4b67b04 View commit details
    Browse the repository at this point in the history
  12. step-11 Custom Filters

    - Implement a custom `checkmark` filter.
    - Update the `phoneDetail` template to use the `checkmark` filter.
    - Add a unit test for the `checkmark` filter.
    IgorMinar authored and gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    aeefb7c View commit details
    Browse the repository at this point in the history
  13. step-12 Event Handlers

    - Make the thumbnail images in the phone detail view clickable:
      - Introduce a `mainImageUrl` property on `PhoneDetailController`.
      - Implement the `setImage()` method for changing the main image.
      - Use `ngClick` on the thumbnails to register a handler that changes the main image.
      - Add an end-to-end test for this feature.
    IgorMinar authored and gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    b535c42 View commit details
    Browse the repository at this point in the history
  14. step-13 REST and Custom Services

    - Replace `$http` with `$resource`.
    - Create a custom `Phone` service that represents the RESTful client.
    - Use a custom Jasmine equality tester in unit tests to ignore irrelevant properties.
    petebacondarwin authored and gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    7122fc7 View commit details
    Browse the repository at this point in the history
  15. step-14 Animations

    - Add animations to the application:
      - Animate changes to the phone list, adding, removing and reordering phones with `ngRepeat`.
      - Animate view transitions with `ngView`.
      - Animate changes to the main phone image in the phone detail view.
    - Showcase three different kinds of animations:
      - CSS transition animations.
      - CSS keyframe animations.
      - JavaScript-based animations.
    petebacondarwin authored and gkalpak committed Nov 21, 2016
    Configuration menu
    Copy the full SHA
    0970e05 View commit details
    Browse the repository at this point in the history
Loading