Commit Graph

68 Commits

Author SHA1 Message Date
Andrew
7ef9ad74cf fix(slidebox): refactor for performance and stability
Closes #2336. Closes #2317. Closes #2290. Closes #2228. Closes #2067.
Closes #1890. Closes #1865. Closes #1850. Closes #1755. Closes #1688.
Closes #1578. Closes #1501. Closes #1353. Closes #1342. Closes #782.
Closes #416. Closes #2288.

BREAKING CHANGE: The slideBox's API has undergone many changes.

- **`<ion-slide-box>`** attributes have changed (see
  [documentation](http://ionicframework.com/docs/api/directive/ionSlideBox)):

  * `active-slide` has changed to `selected`. Change your code from
  this:

    ```html
    <ion-slide-box active-slide="activeSlideIndex"></ion-slide-box>
    ```

    To this:

    ```html
    <ion-slide-box selected="activeSlideIndex"></ion-slide-box>
    ```

  * `does-continue` has changed to `loop`.  Change your code from this:

    ```html
    <ion-slide-box does-continue="shouldLoop"></ion-slide-box>
    ```

    To this:

    ```html
    <ion-slide-box loop="shouldLoop"></ion-slide-box>
    ```

  * `auto-play` and `slide-interval` have been merged into `auto-play`.
  Change your code from this:

    ```html
    <!-- autoPlay is on -->
    <ion-slide-box auto-play="true" slide-interval="1000">
    </ion-slide-box>
    <!-- autoPlay is off -->
    <ion-slide-box auto-play="false" slide-interval="1000">
    </ion-slide-box>
    ```

    To this:

    ```html
    <!-- autoPlay is on -->
    <ion-slide-box auto-play="1000"></ion-slide-box>
    <!-- autoPlay is off -->
    <ion-slide-box auto-play="false"></ion-slide-box>
    ```

  * `show-pager` and `pager-click` have been removed. Use
  a child `<ion-slide-pager>` element. See the [`ion-slide-pager`
  documentation](http://ionicframework.com/docs/api/directive/ionSlidePager).
  Change your code from this:

  ```html
  <!-- pager using default click action -->
  <ion-slide-box show-pager="true">
  </ion-slide-box>
  <!-- pager with custom click action -->
  <ion-slide-box show-pager="true" pager-click="doSomething(index)">
  </ion-slide-box>
  ```

  To this:

  ```html
  <ion-slide-box>
    <!-- pager using default click action -->
    <ion-slide-pager></ion-slide-pager>
  </ion-slide-box>
  <ion-slide-box>
    <!-- pager with custom click action -->
    <ion-slide-pager ng-click="doSomething(index)"></ion-slide-pager>
  </ion-slide-box>
  ```

- **`$ionicSlideBoxDelegate`** methods have changed (see
  [documentation](http://ionicframework.com/docs/api/service/$ionicSlideBoxDelegate)):

  - `update()` has been removed. slideBox updates on its own now.

  - `stop()` has been removed. See `autoPlay()` below.

  - `start()` hass been removed. See `autoPlay()` below.

  - `slide(newIndex[, speed])` has been renamed to `select(newIndex[,
    speed]);

  - `currentIndex()` has been renamed to `selected()`.

  - `slidesCount()` has been renamed to `count()`.

  - New method `$ionicSlideBoxDelegate.autoPlay()`. Change your code
    from this:

    ```js
    // stop auto sliding
    $ionicSlideBoxDelegate.stop();
    // later... start auto sliding
    $ionicSlideBoxDelegate.start();
    ```

    To this:

    ```js
    var autoPlaySpeed = 3000; //wait 3000 seconds between changing slide
    // stop auto sliding
    $ionicSlideBoxDelegate.autoPlay(false);
    // later... start auto sliding
    $ionicSlideBoxDelegate.autoPlay(autoPlaySpeed);
    ```

  - `previous()` now returns the index of the previous slide and does
    not select. Change your code from this:

    ```js
    // select previous slide
    $ionicSlideBoxDelegate.previous();
    ```

    To this:

    ```js
    // select previous slide
    $ionicSlideBoxDelegate.select( $ionicSlideBoxDelegate.previous() );
    ```
  - `next()` now returns the index of the next slide and does
    not select. Change your code from this:

    ```js
    // select next slide
    $ionicSlideBoxDelegate.next();
    ```

    To this:

    ```js
    // select next slide
    $ionicSlideBoxDelegate.select( $ionicSlideBoxDelegate.next() );
    ```
2014-10-08 11:09:15 -06:00
Perry Govier
db27fb116c feat(refresher): Improve refresher animation. Allow pulling icon rotation to be disabled. 2014-09-16 16:22:02 -05:00
Adam Bradley
ea51612e60 test(titles): fix broken test 2014-09-16 10:35:15 -05:00
Pavel Strashkin
0bad6031ab test(navBackButton): remove redundant should word from test case description 2014-09-03 18:05:13 -07:00
Adam Bradley
caf1272186 fix(scroll): remove isContentEditable from ignoreScrollStart
If an element isContentEditable, do not ignoreScrollStart incase users
are using contenteditable elements to scroll. This may have originally
been put in because it disabled text selection, and moving the text
cursor on touch. But this doesn’t seem to be the case anymore, so it
may have been put in for platform versions we no longer support. Also
fix the data-prevent-scroll dataset attribute. Closes #2091
2014-08-29 23:35:07 -05:00
Adam Bradley
2c3f1c9f02 feat($ionicBody): service to simplify body ele interaction
Many services/directives have to interact with the body element, and
each one has to write the same long code. The $ionicBody service
provides some useful methods to clean up and reduce redundant code.
2014-08-26 22:23:07 -05:00
Adam Bradley
b69aa5485f feat(splitView): expose side menu on large viewport
Ability to keep a left menu exposed on larger viewports, such as a
landscape tablet. Added the `expose-aside-menu` attribute directive.
2014-08-26 15:00:42 -05:00
Andrew
4595fd3cc4 refactor($ionicTabsDelegate): for .select() take away second argument
Closes #1682
2014-08-20 10:03:45 -06:00
Perry Govier
cc18a64bf4 fix(reorder): item click handlers dont fire when tapping on reorder icon 2014-08-19 11:32:35 -05:00
Andrew
5e025fbb01 fix(collectionRepeat): rerender when $ionicScrollDelegate resizes
Fixes #1777
2014-08-11 10:23:49 -04:00
Perry Govier
c336e8ede8 fix(refresher): finish animating before changing icon, hide when not in use 2014-08-07 17:54:30 -05:00
Andrew
7ddb57e60b feat(collectionRepeat): other children of ion-content element fit in
Closes #1920. Closes #1866. Closes #1380.
2014-08-06 10:32:40 -06:00
Adam Bradley
6fbd1a4306 fix(toggle): fix toggle-class attribute
Closes #1851
2014-08-06 08:40:57 -05:00
Perry Govier
ddda809b57 feat(tabs): Expand striped android style tab functionality. Closes 1694 2014-07-30 15:52:53 -05:00
Perry Govier
4f6d02cfcb refactor(modal): trigger resize event on the window when modal opens
A better approach to resolving an issue with collection-repeat sizing itself properly. This keeps directives independent of eachother.
2014-07-24 14:45:40 -05:00
Perry Govier
1fbd3c5632 fix(collectionRepeat): properly display collection repeat inside a modal 2014-07-24 12:44:29 -05:00
Andrew
74711cbc36 test(): remove iit 2014-07-24 11:15:50 -06:00
Andrew
79bcfb149f test(gesture): fix gesture directive tests 2014-07-24 11:15:26 -06:00
Andrew
537b29d0bb fix(toggle): fix ngChange being reported before model changes
Closes #1349, #1741

BREAKING CHANGE:

ion-toggle no longer has an isolate scope.
This will break your toggle only if you were relying upon the toggle
having an isolate scope: if you were referencing `$parent.value` as
the ng-disabled attribute, for example.

Change your code from this:

<ion-toggle ng-disabled="{{$parent.isDisabled}}"></ion-toggle>

To this:

<ion-toggle ng-disabled="{{isDisabled}}"></ion-toggle>
2014-07-10 23:51:55 -06:00
Perry Govier
bb6976ad54 feat(tab): options 'hidden' attribute for tabs. Closes #1666, #1673 2014-07-09 17:10:43 -05:00
Andrew
4f10a72306 fix(list): make reorder/delete button animation work well on all devices 2014-07-08 11:32:43 -06:00
Andrew
b7f45e7ca5 fix(view): don't affect history when inside a modal
Closes #1667
2014-07-07 13:38:28 -06:00
Andrew
da8a24d174 test(ionList): remove tap-disabled from tests 2014-07-07 13:17:19 -06:00
Andrew
cdba48f196 fix(navBar): only add default animation if there is no custom animation
Closes #1671
2014-07-07 11:40:21 -06:00
Andrew
22a81fe82c test(list): use timeout.flush() 2014-07-06 14:29:33 -06:00
Perry Govier
704fe402e7 fix(radio): suport ng-disabled. Closes #1684 2014-06-27 15:58:17 -05:00
Andrew Joslin
b4b94073d5 fix(gestureDirectives): fix problem with event being passed in 2014-06-17 13:16:31 +00:00
Andrew Joslin
22053edb46 test(navBackButton): disable android platform test 2014-06-12 15:01:05 -06:00
Andrew Joslin
bea69fe46c amend(platform-backButton): do not set icon if icon child exists 2014-06-12 09:23:30 -06:00
Andrew Joslin
cec3a42236 fix(ionNavBackButton): stop flicker when pressing back on ios 2014-06-11 16:07:38 -06:00
Max Lynch
c30be67f65 feat(platforms): Android and iOS Specific Styles and Transitions 2014-06-11 16:48:53 -05:00
Andrew Joslin
a034561516 amend(ionTab): fix tests for class attribute 2014-06-11 08:49:17 -06:00
Julien Goux
e6f79cc0ff feat(ionTab): add class attribute to tab items 2014-06-11 08:36:36 -06:00
Andrew Joslin
9942045fb2 amend($ionicModal): if hardwareBackButtonClose false, back button is noop
Addresses #1397
2014-06-05 07:29:39 -06:00
Andrew Joslin
00c80e8557 feat(ionScroll): add has-bouncing=true/false attribute
Closes #1573. Closes #1367.
2014-06-04 14:14:31 -06:00
Andrew Joslin
f5f5851b2e fix(ionItem): make target attribute work properly
Closes #1521
2014-06-04 14:03:44 -06:00
Andrew Joslin
979f7b5275 fix(ionRefresher): be sure to run on-refresh with an angular digest
Closes #1465
2014-05-22 10:18:52 -06:00
Andrew Joslin
633821d9f7 chore(tapScrollToTop): make noTapScroll have to be 'true' 2014-05-22 08:28:45 -06:00
Andrew Joslin
2937040dc5 feat(ionHeaderBar, ionNavBar): no-tap-scroll attr disabling scroll to top
Closes #1454
2014-05-22 08:07:15 -06:00
Andrew Joslin
93e01915c2 chore(travis): make tests work with phantomjs 2014-05-21 09:31:57 -06:00
Andrew Joslin
94f0b5b705 fix(collectionRepeat): fix rare NPE error on android 4.1
Closes #1292
2014-05-21 07:44:21 -06:00
Tim Lancina
3192c77821 keyboard-attach test for Android not fullscreen 2014-05-20 14:08:54 -05:00
Andrew Joslin
cc46735c82 fix(ionReorderButton): fix onReorder not triggering angular digest 2014-05-20 08:59:34 -06:00
Andrew Joslin
8caa043a2d test(tabs): remove unnecessary comment 2014-05-19 06:54:50 -06:00
Andrew Joslin
488bd5c08c fix(ionContent): make scrollable content work as child of non-scrollable
Closes #1421
2014-05-19 06:51:07 -06:00
Tim Lancina
09d1197acd feat(footer): keyboard-attach attribute directive to position footer above keyboard 2014-05-14 19:26:31 -05:00
Andrew Joslin
efa6184486 fix(ion-header-bar): when hidden, correctly offset the ion-content
Fixes #1351
2014-05-14 10:16:15 -06:00
Andrew Joslin
569d7165aa test(ionCheckbox): add ngChange test 2014-05-13 07:24:32 -06:00
Andrew Joslin
a006d89612 fix(ionCheckbox): make ng-checked and ng-change work
Closes #1349. Closes #1361

BREAKING CHANGE: ion-checkbox no longer has an isolate scope.

This will break your checkbox only if you were relying upon the
checkbox having an isolate scope: if you were referencing
`$parent.value` as the ng-disabled attribute, for example.

Change your code from this:

```html
<ion-checkbox ng-disabled="{{$parent.isDisabled}}"></ion-checkbox>
```

To this:

```html
<ion-checkbox ng-disabled="{{isDisabled}}"></ion-checkbox>
```
2014-05-13 07:19:02 -06:00
Andrew Joslin
c6c1300b46 fix(ionItem): transform to <a> tag for ui-sref 2014-05-12 09:59:40 -06:00