Skip to content

Latest commit

 

History

History
242 lines (212 loc) · 18.2 KB

CHANGELOG.md

File metadata and controls

242 lines (212 loc) · 18.2 KB

1.0.0-beta.2 "aluminum" (2014-04-28)

Bug Fixes

  • $ionicActionSheet: provide default functions for options (ba39fb00, closes #1013)
  • $ionicLoading: stop race condition with show and hide (eb1dee93, closes #1100)
  • $ionicModal: make it use jqLite#remove() (104c6420, closes #1138)
  • $ionicPopup:
    • stop race condition with show then hide (698c93fc)
    • make it work if jquery is included (21ff7547, closes #1027)
  • active: Taps/clicks now use .activated instead of .active, closes #913 (870dcd6f)
  • bar: Increased button icon font size (8847774f)
  • checkbox:
    • Remove tap highlight and fix checkbox appearance in Firefox, closes #496 (b0b446d5)
    • stretch checkbox's clickable area to full width (5238f8f3)
    • Entire row of an .item w/ a checkbox is now tappable, closes #995 (ac94bb23)
  • header: Header input too long on Android 4.2, closes #1081 (b654e02e)
  • input: Fix to hide input overlays on old Android (0e9072e4)
  • ion-scroll:
  • ionContent:
    • fix scoping with ngController (6abce8f7, closes #1155)
    • do not let child scopes inherit has-* classes (a5eb48b9, closes #924)
  • ionHeaderBar:
    • do not tapScrollToTop for inputs (5722900a, closes #1199)
    • make it align after elements properly load (d00aaa59)
  • ionInfiniteScroll:
    • remove listener on $destroy (08da6f75)
    • work properly if past horizontal boundaries (d58fff72, closes #1073)
  • ionList:
    • disable swiping of items while option buttons are shown (81676e6e)
    • do not let option button click propagate to item (a845ff34)
    • disable tap on element being edited (634b3971)
    • make reorder position work if list is offset (90da2da6)
    • show reorder/delete on item creation if list is showing (09a77299, closes #1181)
  • ionNavBar: adjust has-header if ionNavBar is hidden (41b73abf, closes #927)
  • ionNavButtons:
    • fix side="left" flicker with back button on ios (b6266889)
    • multiple ionNavButtons elements align correctly (58de2671, closes #930)
  • ionRefresher: do not animate pulling-text (5c893ab8, closes #909)
  • ionTab: make sure all tab-nav attributes are re-interpolated on change (757f1819, closes #955, #1071)
  • ionView: do not set navbar title if no title attr set (d53eab81, closes #915)
  • ionicPopup: if input exists, focus it. else, focus first button (93aa16a7, closes #1176)
  • ionicTabBar: detect if matches state in all cases (ee2b7686)
  • item:
    • Vertically align nav icon w/out flexbox to prevent android crashes, #928 (5b0f5d02)
    • Fix css overflow overrides for .item-text-wrap (04b4d771)
    • Fix delete icon alignment in .item-icon.left, closes #946 (044211de)
  • labels: Fix .input-label's width for androids w/out full flex box support, #998 (096a01c1)
  • listView: fixed active state on scroll (040af824)
  • loading: fix not hiding after two shows, always cancel delay (4216266f, closes #1130)
  • modal: Increase delay of removing .modal-open to prevent focus under modals (83fd11c5)
  • navClear:
    • only set viewOptions if click leads to state change (4dffc5f6, closes #1043)
    • be sure it runs before ngClick (4f47bf24, closes #1047)
  • popup: Backwards compatible remove popup from DOM, closes #851 (441a21c4)
  • range: Fix range being able to slide when in a side menu, closes #318 (2fbdebcd)
  • refresher: get rid of flickers except on droid-4.4 (ad671848, closes #1014)
  • scroll:
    • Allow scrolling when touchstart target is an input, #1078 (8af018b1)
    • Fix input focus when tapped, do not scroll when target is an input, closes #1020 (66ecec70)
    • Do not ignore taps if the target was an input, #997 (e6f56237)
    • Fix scroll for devices w/out dataset support, closes #976 (bfcf2650)
  • scss: make tabs,header,footer aligned right with statusbar (c2a38a6d)
  • tabs: Tab icon align within nested tabs, closes #1093 (2a6f7029)
  • tabs-item-hide: only hide tab nav items (a7eb521c)
  • tap:
    • Do not preventDefault after input focus, #1068 (a977332f)
    • Remove 300ms delay when tapping select elements (cf686548)
    • Prevent clicks from firing after scrolling, #579 (cb602b58)
    • Deactivate elements during scroll at the same time click is ignored, #997 (3ee5ea77)
    • Do not simulate a click if it was from a touchcanel event, closes #1015 (78510099)
    • Prevent multiple clicks when overriding cordova object, closes #1022 (5f3a1d21)
    • Prevent "clicking" when scrolling (f3bd258c)
    • Increate isScrolledSinceStart from 2px radius to 15px, #970 (9a49129a)

Features

  • $ionicBackdrop: add backdrop show/hide service (730a33b9, closes #1084)
  • $ionicModal:
    • pass modal instance to modal.shown/modal.hidden events (a19e3b62, closes #1065)
    • show/hide/remove return promises for animating (39385008)
  • $ionicNavBarDelegate:
    • showBackButton returns whether bar is shown (933a555e, closes #1076)
    • showBar returns whether navbar is shown (24a415c3)
  • $ionicScrollDelegate:
    • add getScrollView(), getScrollPosition() (b5ef9313, closes #1117)
    • add scrollBy(left,top,animate) to delegate (f847c208, closes #987)
  • $ionicSideMenuDelegate:
  • avatar: Adding .item-avatar-left and deprecating .item-avatar (9bac6050)
  • collection-repeat: add repeat lsdirective for huge lists (f0a1c037)
  • grid: Added .row-baseline and .row-stretch (e0e7a83b)
  • ionCheckbox: allow ng-disabled attribute (d2e54a82, closes #939)
  • ionContent: don't wrap in a .scroll element if scroll="false" (73da93d4, closes #841)
  • ionNavBar: make back button animated (97257938, closes #1030)
  • ionSlideBox: add pager-click attribute (d6c960c2, closes #785)
  • loading: Moved loading scss to its own file and added variables, closes #984 (e3491864)
  • select: Styled select elements, both inline and as a list item (8a12f2d1)

Breaking Changes

  • $ionicPopup.show()'s button onTap function has changed.

When using $ionicPopup.show(), previously a button's onTap function would only result in closing the popup and resolving the promise if the onTap(event) function returned a truthy value.

Now, a button's onTap event will always close the popup and resolve the popup's promise, no matter the return value, by default. The only way to prevent the popup from closing is to call event.preventDefault().

Change your code from this:

$ionicPopup.show({
  buttons: [{
    onTap: function(event) {
      if (!shouldClosePopup) {
        return false;
      }
    }
  }]
});

To this:

$ionicPopup.show({
  buttons: [{
    onTap: function(event) {
      if (!shouldClosePopup) {
        event.preventDefault();
      }
    }
  }]
});

(cb1a5f62)

  • The developer should be stating exactly how an icon should show, but previously the right nav arrow icon violates this by automatically showing a right arrow when an item was an anchor or button. Instead of using the :after item selector, which was always applied by default, it uses the same markup as item-icon-right, which is easier to understand, customizable and not a hard coded default.

This change removes the :after nav icon styling, and creates a new class, icon-accessory, based off of similar CSS. The change makes a nav arrow highly customizable, allows RTL developers to easily control the arrow direction, and the accessory class is something that's reusable.

An example of right side arrow using ion-chevron-right as the icon:

<a class="item item-icon-right" href="#">
  Check mail
  <i class="icon ion-chevron-right icon-accessory"></i>
</a>

(c7e3defc)

  • ionic.Platform.isCordova() has been renamed to ionic.Platform.isWebView() (5c300dd3)
  • ion-list syntax has changed in favor of simplicity & flexibility.

Relevant documentation: ionList, ionItem, ionOptionButton, ionReorderButton, ionDeleteButton, $ionicListDelegate.

To migrate, change your code from this:

<ion-list option-buttons="[{text:'hello',type:'button-positive',onTap:tap()}]"
          on-delete="onDelete(el)"
          delete-icon="ion-minus-circled"
          can-delete="true"
          show-delete="shouldShowDelete"
          on-reorder="onReorder(el, startIndex, toIndex)"
          reorder-icon="ion-navicon"
          can-reorder="true"
          show-reorder="shouldShowReorder">
  <ion-item ng-repeat="item in items">
    {{item}}
  </ion-item>
</ion-list>

To this:

<ion-list show-delete="shouldShowDelete"
          show-reorder="shouldShowReorder">
  <ion-item ng-repeat="item in items">
    {{item}}
    <ion-delete-button class="ion-minus-circled"
                       ng-click="onDelete(item)">
    </ion-delete-button>
    <ion-reorder-button class="ion-navicon"
                       ng-click="onReorder(item, $fromIndex, $toIndex)">
    </ion-reorder-button>
    <ion-option-button class="button-positive" ng-click="tap()">
      Hello
    </ion-option-button>
  </ion-item>
</ion-list>

(986dbac8)

  • Before, if you did not have a title attribute set on your ion-view, it would transition into that view and erase the navbar's current title.

Now, if your ion-view does not have a title attribute set, the new view will be transitioned in, but there will be no title change.

If you wish to have a blank title on your new view, you must now explicitly set your ion-view's title attribute to an empty string.

To migrate your code, change from this:

<ion-view></ion-view>

To this:

<ion-view title=""></ion-view>

(d53eab81)