Commit Graph

439 Commits

Author SHA1 Message Date
Andy Joslin
b6a73f0807 test(ionicScrollController): fix PhantomJS weirdness 2014-03-19 13:25:35 -06:00
Andy Joslin
6b07208cd5 test(ionicScrollController): remove ddescribe 2014-03-19 13:00:26 -06:00
Andy Joslin
245e2199c6 docs(ionicScrollController): write docs 2014-03-19 12:21:18 -06:00
Andy Joslin
dbe4e3901d feat(ionic): remove all delegates
BREAKING CHANGE: $ionicScrollDelegate, $ionicSlideBoxDelegate, and
$ionicSideMenuDelegate have been removed.

  - $ionicScrollDelegate has been changed to $ionicScrollController.
    Documentation:
    [ionContent](
    http://ajoslin.github.io/docs/nightly/api/directive/ionContent),
    [ionScroll](
    http://ajoslin.github.io/docs/nightly/api/directive/ionScroll)

    Change your code from this:

    ```html
    <ion-content ng-controller="MyCtrl">
      <button ng-click="scrollBottom()">Scroll to bottom!</button>
    </ion-content>
    ```
    ```js
    function MyCtrl($scope, $ionicScrollDelegate) {
      $scope.scrollBottom = function() {
        $ionicScrollDelegate.scrollBottom();
      };
    }
    ```

    To this:

    ```html
    <!-- optional attr controller-bind, see docs -->
    <ion-content ng-controller="MyCtrl">
      <button ng-click="scrollBottom()">Scroll to bottom!</button>
    </ion-content>
    ```
    ```js
    function MyCtrl($scope) {
      $scope.scrollBottom = function() {
        $scope.$ionicScrollController.scrollBottom();
      };
    }
    ```

  - $ionicSideMenuDelegate has been changed to
    $ionicSideMenusController. Documentation:
    [ionSideMenus](http://ajoslin.github.io/docs/nightly/api/directive/ionSideMenus)

    Change your code from this:

    ```html
    <ion-side-menus>
      <ion-side-menu side="left">Side Menu Left</ion-side-menu>
      <ion-pane ion-side-menu-content ng-controller="MyCtrl">
        <button ng-click="toggleLeftMenu()">
          Toggle Left Menu!
        </button>
      </ion-pane>
    </ion-side-menus>
    ```
    ```js
    function MyCtrl($scope, $ionicSideMenuDelegate) {
      $scope.toggleLeftMenu = function() {
        $ionicSideMenuDelegate.toggleLeft();
      };
    }
    ```

    To this:

    ```html
    <!-- optional attr controller-bind, see documentation -->
    <ion-side-menus>
      <ion-side-menu side="left">Side Menu Left</ion-side-menu>
      <ion-pane ion-side-menu-content ng-controller="MyCtrl">
        <button ng-click="toggleLeftMenu()">
          Toggle Left Menu!
        </button>
      </ion-pane>
    </ion-side-menus>
    ```
    ```js
    function MyCtrl($scope) {
      $scope.toggleLeftMenu = function() {
        $scope.$ionicSideMenuController.toggleLeft();
      };
    }
    ```

  - $ionicSlideBoxDelegate has been removed and upgraded to
    $ionicSlideBoxController. It had only one method that
    was unneeded.  [Documentation](
    http://ajoslin.github.io/docs/nightly/api/directive/ionSlideBox)
2014-03-19 11:51:07 -06:00
Adam Bradley
164187b4aa fix viewState.html test 2014-03-19 12:25:22 -05:00
Adam Bradley
6ebfe776bc fix(popup): Ensure popup is usable on top of a modal, closes #838 2014-03-19 10:55:54 -05:00
Adam Bradley
f744d9ebcf feat(navclear): Ability to disable the next view transition and back button 2014-03-18 21:51:32 -05:00
Adam Bradley
ad86651531 created menuClose and navClear directives 2014-03-18 21:44:59 -05:00
Max Lynch
306dd467fe Merge branch 'master' of https://github.com/driftyco/ionic
Conflicts:
	js/ext/angular/test/content.html
2014-03-18 17:53:22 -05:00
Max Lynch
a21c84a8a9 Fun test 2014-03-18 17:52:51 -05:00
Andy Joslin
cd5131c107 tests(): move has-* to classes for ion-content elements 2014-03-18 15:36:13 -06:00
Andy Joslin
532d473e35 feat(ion-content): watch padding attribute 2014-03-18 15:03:42 -06:00
Andy Joslin
ae57b2b81a test($ionicScrollDelegate): remove xdescribe 2014-03-18 14:58:13 -06:00
Max Lynch
9db69cfda4 Fix content demo 2014-03-18 15:57:13 -05:00
Andy Joslin
83f4776f53 chore: remove animation & type attributes, standard controller names 2014-03-18 14:54:21 -06:00
Andy Joslin
5117d5673a refactor(ionContent): remove has-* classes
BREAKING CHANGE: ion-content's has-header/footer/tabs attributes
no longer work.

Use the classes 'has-header', 'has-subheader', 'has-footer', and
'has-tabs' to modify the positioning of the ion-content relative
to surrounding elements.

Before: `<ion-content has-header="true">`

After: `<ion-content class="has-header">`
2014-03-18 14:49:12 -06:00
Adam Bradley
5d663a61cc remove modal max-width, closes #824 2014-03-18 14:47:38 -05:00
Andy Joslin
a40baff555 tests: update for new directive syntaxes 2014-03-18 08:13:05 -06:00
Adam Bradley
85b69fd2c4 sideMenu menuNav directive to stop next view animation and close side-menu 2014-03-17 23:06:46 -05:00
Andy Joslin
b630214fdf refactor(ionTabBar): remove tab.shown and tab.hidden events
Instead, use `on-select` and `on-deselect` attribute callbacks.

Alternatively, listen for $scope.$on('$destroy') in a controller inside
your tab.
2014-03-17 14:41:51 -06:00
Andy Joslin
cdcbea3860 refactor(ionNavButtons): remove elements from bar on scope destroy 2014-03-17 12:18:08 -06:00
Andy Joslin
6662f6effd docs: simplify apis where possible 2014-03-17 11:56:21 -06:00
Andy Joslin
5a0efecef6 feat($ionicScrollDelegate): rememberScrollPosition, scrollToRememberedPosition
/**
 * @ngdoc method
 * @name $ionicScrollDelegate#rememberScrollPosition
 * @description
 *
 * When this scroll area is destroyed, its last scroll position will be
 * saved using the given id.
 *
 * @param {string} id The identifier for this saved scroll position.
 */

/**
 * @ngdoc method
 * @name $ionicScrollDelegate#scrollToRememberedPosition
 * @description
 *
 * If a scroll position was remembered using the given id, loads the
 * remembered scroll position and scrolls there.
 *
 * @param {string} id The identifier for this saved scroll position.
 * @param {boolean=} shouldAnimate Whether to animate the scroll.
 */
2014-03-17 08:39:23 -06:00
Andy Joslin
cc0a4ef775 test(sideMenu2): update test to reflect changes 2014-03-17 07:48:56 -06:00
Andy Joslin
4715a118e0 refactor($ionicScrollDelegate): make it a factory from current scope
BREAKING CHANGE: $ionicScrollDelegate no longer works globally; you must
create a new instance of each time you use it.  The actual methods on
each instance of $ionicScrollDelegate are the same, however.

Change your code from this:

```js
function MyController($scope, $ionicScrollDelegate) {
  $scope.scrollTop = function() {
    $ionicScrollDelegate.scrollTop();
  };
}
```

To this:

```js
function MyController($scope, $ionicScrollDelegate) {
  var delegate = $ionicScrollDelegate($scope);
  $scope.scrollTop = function() {
    delegate.scrollTop();
  };
}
```
2014-03-17 07:21:20 -06:00
Adam Bradley
f8a7137744 fix(click): Click Events In SlideBox Fire Multiple Times, closes #808 2014-03-17 08:01:57 -05:00
Andy Joslin
aa30faf863 fix(ionTab): stop browser-tooltip from appearing due to title attr
Closes #804
2014-03-15 18:57:10 -06:00
Andy Joslin
215b1c1ea0 feat(ionicNavBar): add getTitle() and getPreviousTitle() methods 2014-03-15 13:41:02 -06:00
Andy Joslin
66d28c46b8 refactor(ionNavBackButton): make click handler use $ionicNgClick service
Closes #802
2014-03-15 11:51:16 -06:00
Andy Joslin
87a25a8bff feat(ionNavBar,ionHeaderBar): use declarative syntax
BREAKING CHANGE:

navBar is majorly different.  Manually write this when changelog is
released.  Add link to docs.
2014-03-15 11:49:49 -06:00
Andy Joslin
64b98beb4b chore(): prepare for 0.9.27 - last alpha release 2014-03-15 10:50:48 -06:00
Andy Joslin
4427e8778c feat(ionTab): allow custom ngClick expression that doesnt select tab
Closes #784
2014-03-15 09:45:32 -06:00
Andy Joslin
0ffb748fc7 refactor(ionNavBackButton): make click handler use $ionicNgClick service
Closes #802
2014-03-15 09:25:05 -06:00
Andy Joslin
bfcfae3747 feat(ionNavBar,ionHeaderBar): use declarative syntax
BREAKING CHANGE:

navBar is majorly different.  Manually write this when changelog is
released.  Add link to docs.
2014-03-14 13:06:10 -06:00
Max Lynch
91090b4849 Updated side menu example 2014-03-14 11:03:08 -05:00
Max Lynch
a30b0b7d4f feat(popup): Added popup support 2014-03-13 14:57:48 -05:00
Adam Bradley
cd1830898e ionic.views.Modal.prototype.show was not being called 2014-03-12 14:36:57 -05:00
Andy Joslin
4980d09fb3 refact(ionContent): make docs match src 2014-03-11 19:34:30 -06:00
Andy Joslin
9ff7a09af5 refact(ion-refresher-content): only make icon spin 2014-03-11 16:51:28 -06:00
Andy Joslin
573df56db4 feat(ionRefresher): allow custom text & icons
Closes #760

BREAKING CHANGE: on-refresh and on-refresh-opening are no longer on the
ion-content directive.  They are on the ion-refresher. In addition,
on-refresh-opening has been renamed to on-pulling.

Change your code from this:

```html
<ion-content on-refresh="onRefresh()"
  on-refresh-opening="onRefreshOpening()">
  <ion-refresher></ion-refresher>
</ion-content>
```

To this:

```html
<ion-content>
  <ion-refresher on-refresh="onRefresh()"
    on-pulling="onRefreshOpening()">
  </ion-refresher>
</ion-content>
```
2014-03-11 16:40:12 -06:00
Adam Bradley
98e7e1aa87 fix(tap): Do not trigger a click if the element was scrolled after touchstart/mousedown 2014-03-11 16:20:19 -05:00
Andy Joslin
5f2c32ea9b feat(ionInfiniteScroll): allow configuration of icon 2014-03-11 13:56:08 -06:00
Andy Joslin
703f68fb0b test(ionicView): update 2014-03-11 13:26:21 -06:00
Andy Joslin
68ddbdb439 docs(ionSlideView): add configurable model 2014-03-10 21:16:09 -06:00
Andy Joslin
1cf6355f7b docs(ionSideMenu): add configurable model 2014-03-10 21:16:09 -06:00
Andy Joslin
d7f3493079 docs(ionicBar): fix grammar 2014-03-10 21:16:08 -06:00
Andy Joslin
afdee2a47d test(ionicTabBar): update to reflect new controller api 2014-03-10 21:16:08 -06:00
Adam Bradley
7d076bd55b feat(modal): Create a modal backdrop wrapper w/ internal modal directive, closes #605 2014-03-10 22:14:55 -05:00
Adam Bradley
c4ca7a85e0 fix(modal): Fix removing modal from DOM on .remove(), closes #755 2014-03-10 14:42:50 -05:00
Adam Bradley
6f2d6e7c5a fix(tap): Do not detect taps for input[type=file], closes #652 2014-03-10 11:45:15 -05:00