Commit Graph

133 Commits

Author SHA1 Message Date
Adam Bradley
31a0911af9 docs(gestures): update header link 2015-02-17 15:06:14 -06:00
Adam Bradley
8249c9fa7b docs(gestures): update left menu links 2015-02-17 15:01:15 -06:00
Adam Bradley
1f2d900e3c fix(angular): .finally syntax error in Android 2.3 2015-02-12 22:05:27 -06:00
Adam Bradley
c0b0d78884 chore(angular): upgrade to angular v1.3.13 2015-02-11 15:45:59 -06:00
Adam Bradley
e513592904 chore(upgrade): upgrade to angular v1.3.11 2015-02-02 21:36:22 -06:00
Adam Bradley
6471995a0d refactor(spinners): rename loaders to spinners 2015-01-20 13:05:06 -06:00
Adam Bradley
add5de8d90 docs(ionLoader): ionLoader docs 2015-01-16 15:12:19 -06:00
Adam Bradley
6f50c87ec3 feat(icons): svg loaders and ionicons v2.0.1 2015-01-15 15:35:12 -06:00
Ionitron
fb1633e560 release: v1.0.0-beta.14 "magnesium-mongoose" 2014-12-15 20:15:47 +00:00
Adam Bradley
3baa66c313 refactor(delegateService): expose ionic.DelegateService
This change makes the DelegateService available on the ionic namespace.
It is useful so external directives can follow the delegate pattern set
by the framework itself.
2014-12-12 20:33:02 -06:00
Adam Bradley
fc670ebf2b chore(update): upgrade to UI-Router 0.2.13 2014-12-11 11:05:02 -06:00
Adam Bradley
57cafc6005 chore(update): upgrade to Angular v1.3.6 2014-12-11 08:07:58 -06:00
Andrew
2910f508a9 refactor(): put old sliderView back 2014-12-09 14:51:48 -07:00
Adam Bradley
b1c51ab712 refactor($compileProvider): always add $scope to element
Parts of Ionic requires that $scope data is attached to the element. We
do not want to disable adding $scope data to the $element when
$compileProvider.debugInfoEnabled(false) is used.
2014-12-04 12:14:48 -06:00
Adam Bradley
533dcabeb5 chore(update): angular v1.3.5 2014-12-02 23:56:48 -06:00
Adam Bradley
55b35b5409 feat(ionNavTitle): HTML nav-bar titles 2014-12-01 15:56:35 -06:00
Andrew
f745bf8cad chore(gulp): allow --browsers flag to work on all karma tasks 2014-11-26 10:11:28 -07:00
Adam Bradley
5bc7c023ab chore(update): angular v1.3.4 2014-11-25 16:25:22 -06:00
Adam Bradley
908cc6122c chore(update): angular v1.3.3 2014-11-18 21:31:25 -06:00
Adam Bradley
70e43ac7ad refactor(uiRouter): updates for Angular v1.3 2014-11-16 23:12:53 -06:00
Adam Bradley
6a09929949 docs(): add navDirection/navTransition to menu 2014-11-13 08:56:24 -06:00
Adam Bradley
39951ca99a refactor(): navigation improvements, Angular 1.3
#### Refactor:

* **Navigation:** Refactored navigation for improved performance,
reduce DOM manipulations, increase transition FPS, cached views,
smoother transitions, platform specific transitions with added
configurable controls for transition animation and direction.
* **Cached Views:** Previously as a user navigated an app, each leaving
view’s element and scope would be destroyed. If the same view was
accessed again then the app would have to recreate the element. Views
can now be cached to improve performance. When a view is navigated away
from, its element is left in the DOM, and its scope is disconnected
from the cycle. When navigating to a view which is already cached, its
scope is reconnected, and the existing element which was left in the
DOM becomes the active view. This also allows for scroll position of
previous views to be maintained (without skippy jumps). Config
variables can be used to disable view caching (set to 0), or change the
maximum number of views to cache.
* **Angular v1.3:** Upgraded Ionic’s to work with Angular v1.3. In
general Ionic just works with the upgrade, but the required change was
that animations in v1.3 uses promise, whereas in v1.2 animations used
callbacks.

#### Features:

* **Platform Specific Transitions:** Transitions between views now
default to the transition style appropriate for each platform. For
example, iOS will move forward by transitioning the entering view from
right to center, and the leaving view from center to left. However,
Android will transition with the entering view going from bottom to
center, covering the previous view, which remains stationary. Platform
transitions are automatically applied by default, but config variables
and custom CSS allows these defaults to be easily overridden.
* **Override Transition Type and Direction:** As a user navigates the
app, Ionic automatically applies the appropriate transition type for
the platform, and the direction the user is navigating. However, both
can be overridden in numerous ways: config variable, view attribute,
stateProvider property, or attribute on the button/link that initiated
the transition.
* **enable-menu-with-back-views:** The `enable-menu-with-back-views`
attribute determines if the side menu is enabled when the back button
is showing. When set to `false`, any buttons/links with the
`menuToggle` directive will be hidden, and the user cannot swipe to
open the menu. When going back to the root page of the side menu (the
page without a back button visible), then any menuToggle buttons will
show again, and menus will be enabled again.
* **menuClose:** Closes a side menu which is currently opened.
Additionally, the menuClose directive will now cause transitions to not
animate between views while the menu is being closed.
* **ionNavBackButton:** The back button icon and text will
automatically update to platform config defaults, such as adjusting to
the platform back icon. To take advantage of this, the
`ionNavBackButton` directive now should be empty, such as
`<ion-nav-back-button></ion-nav-back-button>`. The back button can
still be fully customized like it could before, but without any inner
content it knows to style using platform configs.
* **navBar button primary/secondary sides:** Primary and secondary
sides are now the recommended values for the `side` attribute, such as
`<ion-nav-buttons side="primary">`. Primary buttons generally map to
the left side of the header, and secondary buttons are generally on the
right side. However, their exact locations are platform specific. For
example, in iOS the primary buttons are on the far left of the header,
and secondary buttons are on the far right, with the header title
centered between them. For Android however, both groups of buttons are
on the far right of the header, with the header title aligned left.
Recommendation is to always use `primary` and `secondary` so buttons
correctly map to the side familiar to users of a platform. However, in
cases where buttons should always be on an exact side, both `left` and
`right` sides are still available.
* **navDirection:** An attribute directive that sets the direction
which the nav view transition should animate.
* **navTransition:** An attribute directive that sets the transition
type which the nav view transition should use when it animates. Using
`none` will disable an animation.

#### Breaking Changes:

* **Animation CSS:** The CSS for view transitions have changed. This is
a breaking change only if Ionic apps had customized Ionic’s animation
CSS.
* **$ionicPlatformDefaults:** Platform config variables are no longer
in the $ionicPlatformDefaults constant, but within `$ionicConfig`.
* **$ionicViewService:** In the navigation refactoring,
$ionicViewService was split up into two factories, `$ionicViewSwitcher`
and `$ionicHistory`. The `$ionicHistory` is largely what
`$ionicViewService`, but between the two factories there is a better
separation of concerns for improved testing.
* **navClear:** The navClear directive was created to do what the new
side menu `enable-menu-with-back-views` attribute accomplishes.
Additionally, the new `navTransition` and `navDirection` directives are
more useful and granular than the navClear directive.
* **scrollView.rememberScrollPosition:** This method has been removed
since it is no longer needed with cached views.

#### Deprecated:

* **ionView.title:** The `ionView` directive used the `title`
attribute, but this can cause the tooltip to show up on desktop
browsers. The `title` attribute will still work for backwards
compatibility, but we now recommend using `view-title`, such as
`<ion-view view-title=”My Title”>`.
* **ionNavView animation attribute removed:** The animation attribute
is no longer used for nav views. Instead use `$ionicConfig`.
* **ionNavBar animation attribute removed:** The animation attribute is
no longer used for nav bars. Instead use `$ionicConfig`.
2014-11-11 14:43:10 -06:00
Max Lynch
ea36d71b77 feat(routing): Helpful logging message on unmatched routes 2014-10-10 21:47:59 -07:00
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
Ionitron
bf25d05216 release: v1.0.0-beta.13 "lanthanum-leopard" 2014-09-24 20:17:44 +00:00
Perry Govier
7244fdaf0d chore(gulp): getting rid of watch on non-existing files 2014-09-24 15:13:09 -05:00
Perry Govier
7d000deb8b chore(gulp): update default demo task to match documentation. Fixes #2257, #1884, #2238 2014-09-22 18:27:54 -05:00
Adam Bradley
bcfecb4f58 feat(angular): upgrade to AngularJS v1.2.25 2014-09-17 12:56:49 -05:00
Adam Bradley
487e7a9796 feat(angular): upgrade to AngularJS v1.2.24 2014-09-16 12:46:07 -05:00
Ionitron
f5e986c922 release: v1.0.0-beta.12 "krypton-koala" 2014-09-10 20:36:00 +00: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
2643cffc19 feat($ionicConfigProvider): add $ionicConfigProvider 2014-08-13 11:44:45 -06:00
Adam Bradley
70c42e9e65 docs(): alphabetize left menu 2014-08-11 13:58:15 -05:00
Andrew Joslin
50c0202c0f Update CODENAMES 2014-08-06 16:00:43 -06:00
Andrew
50ee67763d chore(release): make discourse task work 2014-08-06 14:40:33 -06:00
Adam Bradley
c0b6426625 Merge pull request #1885 from jibidus/fixHtmlValidation
chore(): fix demos HTML validation
2014-08-06 08:42:31 -05:00
Andrew
d4b9ed44fa chore(): remove ionic animation, add collide dependency 2014-08-05 11:56:46 -06:00
Adam Bradley
42b0b63a28 docs(popover): $ionicPopover / ionicPopover 2014-07-31 16:09:42 -05:00
Jibidus
c47fcccc72 fix(demos): fix HTML validation issue 2014-07-29 20:03:54 +02:00
Adam Bradley
5554302a07 update codenamed 2014-07-28 10:46:47 -05:00
jfigueruela
a142260704 Update CODENAMES 2014-07-28 13:39:50 +02:00
Adam Bradley
fb9013eda5 remove used code names 2014-07-24 20:31:26 -05:00
Andrew
26ca840dfc feat($ionicLoading): add $ionicLoadingConfig constant for default options
Closes #1800
2014-07-21 08:22:43 -06:00
Adam Bradley
4e0548f151 test(snapshot): reduce sleep to 400ms 2014-06-17 10:12:11 -05:00
Andrew Joslin
128022bd92 chore(): remove new codename 2014-06-16 20:53:50 +00:00
Andrew Joslin
477135ca8f chore(): update CODENAMES 2014-06-16 20:52:14 +00:00
Adam Bradley
f76147e077 Update CODENAMES 2014-06-16 15:43:43 -05:00
Andrew Joslin
38820e36a7 chore(karma): switch back to chrome testing 2014-06-16 20:21:35 +00:00
Adam Bradley
17ee672fa3 feat(ionicons): v1.5.2 upgrade w/ :before pseudo 2014-06-16 14:57:08 -05:00
Andrew Joslin
191428a495 feat(ionicons): upgrade to Ionicons v1.5.1 2014-06-16 18:43:27 +00:00