<a name"1.0.1">
1.0.1 "vanadium-vaquita" (2015-07-01)
Bug Fixes
- fix _tabs.scss (4463bffb)
- initialize $scope.$tabSelected when nested tabs selected. (ec7bf202)
- $ionNavView: prevent read property 'name' of null (4831f489, closes #1587)
- $ionicActionSheet:
- $ionicHistory: pop duplicate view registers (4833467d)
- $ionicLoading:
- $ionicModal:
- $ionicNavBarDelegate: update method names (04cf629f)
- $ionicPopup:
- $ionicTabsDelegate: find active tab instance (0fd6e915)
- .pane:
- .slide-in-right: fix leave animation being same as enter (024f51d3, closes #1610)
- .slide-left-right-ios7: do not give borders to header/footer bars (30a9da19, closes #1232)
- .tab-item: make it work with activator (1b1c234f, closes #1317)
- .tabs-icon-*: only work on directly descendant tabs (77f26831, closes #1261)
- CustomEvent: fix IE CustomEvent polyfill (191464c9)
- actionSheet: run $apply when closing actionSheet with back button (d3ed66e0)
- actionsheet:
- activator:
- active:
- anchorScroll: find offset of nested elements correctly (17cc0408, closes #618)
- android: when keyboard comes up, ensure input is in view (9327ac71, closes #314)
- android-2.2: use dot notation for reserved 'class' keyword (3bcf06f2, closes #1228)
- angular:
.finally
syntax error in Android 2.3 (1f2d900e) - back button: do not animate back button transition if the title doesn't change. (d3c8a1b2, closes #1858)
- back-button: Fade in/out back button instead of animating left/right, (7deefe1d, closes #624)
- backButton:
- backbutton: Allow only one back button listener to run per click, (a491f22c, closes #693)
- backdrop:
- badge:
- bar:
- barSubheader: fix border-bottom on android (b2841190)
- browser: on first hash-set, dont set scrollTop (1c4d4a8b)
- button:
- buttonIcon:
- buttonSmall: fix line-height for button-small (753fcde5, closes #2023)
- buttons:
- cache:
- cancelAnimationFrame: polyfill in ionic.DomUtil (a0577346)
- card: less intense box shadow (95d3f2e3)
- cards: No more double margin if inside padding container (03903239)
- checkbox:
- classList: error on svg elements (98629d42, closes #1795)
- clearCache: ensure async transition completed (c4364377, closes #2939)
- click:
- remove native click prevent 400ms later (20d567f8, closes #2204)
- fix mouseup click for ion-option-button (29ee6407)
- Increase the ghost click prevent delay for grade C devices (001bcca4)
- enter key submission blocked. (72ee799c, closes #819)
- Click Events In SlideBox Fire Multiple Times, (f8a71377, closes #808)
- event.preventDefault() when setting focus() on an input, closes 583 (fc8ab4b8)
- Clicks firing twice, (2132d292, closes #573)
- clickBlock: cancel pending show if already hidden (09678498)
- collectionRepeat:
- when array is empty, dont use heightGetter/widthGetter (bd4723c9, closes #3440)
- compute width when height is not given (1e36afc6, closes #3357)
- properly resize when aside is exposed (6c08b780, closes #3352)
- properly delete items when setting size to 0 (3dc6ab6a, closes #3299)
- fix a dom problem with margins and position:relative (83a20c61, closes #3277)
- fix problem with option & delete buttons (2c2662fe, closes #3280)
- make it work performantly with exposeAsideWhen (4f35d8e6, closes #3244)
- fix data change while page disconnected, computed dimensions while no data (4325025d, closes #3240, #3238)
- restore scrollView's normal behavior when repeater is destroyed (864b46aa, closes #2078)
- resize scrollView when data changes (88aebad3, closes #2523)
- properly resize, but only when scrollView size actually changes (b7a09689, closes #2935, #3054)
- don't rerender on window resize when view is cached (4f0598dd, closes #2677)
- properly display sibling elements after a collection-repeat (7913ee0f)
- Properly calcuate list height and show ion-infinite-scroll. (83899681, closes #2376)
- parse collection-item-height/width to int (a49e577d, closes #2633)
- rerender after resize/enter (3ddaf347)
- fix error when switching back to collection-repeat after resizing (c1f4cbd7)
- always render data correctly with before/after isblings (120f99ee, closes #2025)
- simplify item reusing process to fix rare reuse error (8c6d5f2c, closes #1777)
- with ngHref, make href attr erase if falsy (977f6818, closes #1674)
- rerender when $ionicScrollDelegate resizes (5e025fbb, closes #1777)
- ignore spacing of hidden elements (ion-refresher) (9bfa3bd1, closes #1970)
- properly display collection repeat inside a modal (1fbd3c56)
- patch ngSrc/ngHref to fix a bug with falsy values (208ef13d, closes #1674)
- fix scroll when item bigger than viewport (b2585f19, closes #1621)
- remove elements at correct time when leaving page (30a3c8e0)
- use $rootScope when checking if digest is needed (74a46122, closes #1518)
- fix rare NPE error on android 4.1 (94f0b5b7, closes #1292)
- correctly save user scroll position on back (0a640758)
- allow angular expressions properly (94bcbf75)
- colors: Update all #4A87EE colors to use $positive color, (d113ddfa, closes #731)
- config: add support for blob image protocol. (d684d62a, closes #3645)
- content:
- css:
- delegate:
- delegates: find active instance (0951b97f)
- demos: fix HTML validation issue (c47fcccc)
- disconnect: move scope disconnect before enter (fb81f970)
- domready: Fixed if firing off callbacks when DOM was already ready (a637fb4d)
- e2e-tests: disable ionic-tap during e2e tests (636ca943, closes #1310)
- exposeAsideWhen:
- firefox: Add FF 19+ style vendor prefixing (bit.ly/1tLz8Qp) (5286a0c4, closes #1574)
- fonts: missing comma (4f8bbc18)
- footer:
- footerBar: fixed top border position on retina displays. (f4043e67, closes #1661)
- forms:
- gesture:
- gestureDirectives: fix problem with event being passed in (b4b94073)
- gestures: improve drag/swipe response (a5881eae, closes #1729, #2674)
- grid: Correct responsive grid breaks for col-XX, (8fae85e9, closes #803)
- header:
- remove bottom border when footer has tabs-top (11e1bab0)
- update title align after rAF (e53581b8)
- buttons do not align in Android 4.4 (06086ee9, closes #1614)
- add iOS 8 support to iOS header fix. assumes all iOS will have 7 style headers. (4a2296dc, closes #1625)
- Set a height for
.bar .title
(0c960b54) - Header input too long on Android 4.2, (b654e02e, closes #1081)
- Header icon button css fix for Safari, (801d2d7b, closes #576)
- headerBar:
- headerBarView: check for null in getTextBounds (be351ce1, closes #1377)
- hideNavBar: send data in $ionicView.beforeEnter (1395513a)
- history:
- maintain nextViewOptions with resolves. An updated fix for https://github.com/dr (cef67086, closes #3027, #3892)
- index check before forwardViewId = null (2885258d)
- tabs lose history after switching tabs (68de8ed9, closes #1978)
- Separate histories and views, clear other views in clearHistory(), (c99427aa, closes #724)
- iframe: add .iframe-wrapper for scrollable iframe (b7cd6cb1, closes #1151)
- infinite-scroll: reduce memory used by innactive spinner. (32da5cdc, closes #3583)
- infiniteScroll:
- input:
- prevent input labels from being pushed left on focus (a6d9d4c8, closes #1778)
- Fix inline input flexbox model to prevent input from being cut off (d68ecc16)
- long input text adjusts left on focus (e6b5ff22, closes #1390)
- vertically align date input text (e5af75fa, closes #1147)
- transparent bg for .item-input-inset input (08f0adb1)
- Fix to hide input overlays on old Android (0e9072e4)
- Fix input label from shifting when text is too long on iOS, (b8d4c51f, closes #801)
- Correct vertical alignment of inputs and their labels, (6547ca60, closes #799)
- ion-header-bar: when hidden, correctly offset the ion-content (efa61844, closes #1351)
- ion-scroll:
- ionCheckbox: make ng-checked and ng-change work (a006d896, closes #1349, #1361)
- ionContent:
- fix rare positioning bug when overflow-scroll is enabled (84b5e919, closes #1281)
- make scrollable content work as child of non-scrollable (488bd5c0, closes #1421)
- fix scoping with ngController (6abce8f7, closes #1155)
- do not let child scopes inherit has-* classes (a5eb48b9, closes #924)
- Update scss for ion-infinite-scroll element (788df524)
- Use new name to find ion-infinite-scroll element (1702f5c9)
- ionDeleteButton: stop clicks from bubbling up to main item (0421596b)
- ionFooterBar: properly offset content for bar-subfooter (46e33664)
- ionHeaderBar:
- ionInfiniteScroll:
- ionItem:
- do not auto add target attr (8e47266d, closes #3497)
- vertically center select in an item (6df89d78, closes #3517)
- properly hide option buttons on scroll in collection-repeat (7fec8480, closes #1811, #2804)
- make target attribute work properly (f5f5851b, closes #1521)
- Pass target attributes on tags on to the actual tag. (4136db00, closes #1492)
- transform to
<a>
tag for ui-sref (c6c1300b) - fix error when repeating (f370db45)
- ionList:
- allow scrolling while reorder or delete is active (2e9d0965, closes #1703)
- make reorder follow an offset list as it scrolls (3a68a2c9)
- 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)
- only stop side menu drag if canSwipe (c653e83c, closes #709)
- ionLoadingConfig: fix default loading template (9749bb97)
- ionModal: fix header bar in modals with top tabs. (40604681, closes #3347, #3346)
- ionNavBackButton: stop flicker when pressing back on ios (cec3a422)
- ionNavBar: adjust has-header if ionNavBar is hidden (41b73abf, closes #927)
- ionNavButtons:
- ionOptionButton: vertically align content (456c2ec7, closes #2348)
- ionPopover: fix header-bar margin (7615fccc, closes #3356)
- ionPrefix: disableRegisterByTagName updated w/
ion-
prefix for correct view history (2494b5f9) - ionRadio:
- ionRefresher:
- ionReorder: stop icon from hiding on reorder (c5b35eee)
- ionReorderButton:
- ionScroll: let zoom work on android devices (e88659c6, closes #1440)
- ionSideMenu: use manual transclude instead of ngTransclude (991d3cfd, closes #666)
- ionSlideBox:
- ionTab:
- ionTabBar: fix iconOn and iconOff being wrong (bcca397c)
- ionTabs:
- ionToggle: stop error in edge case of drag ending before raf (d108a29e)
- ionView:
- observe for attr changes (9e5caf59)
- make it set navbar if title changes back to old value (919d4f8d, closes #1121)
- make sure title is set correctly in edge cases (4814a63b)
- initialize hideBack/hideNav to false if undefined (5e56c2d6)
- only $watch attributes if defined (12e5f6c1, closes #1216)
- do not set navbar title if no title attr set (d53eab81, closes #915)
- ionicConfig:
- add content scheme to whitelist When using the camera plugin, it will use a cont (8572f381, closes #3719)
- remove tel from images (d256870d)
- allow using tel for hrefs (db730f16, closes #3647)
- fix WP scrolling regression. (08c37f9a, closes #3634)
- Chrome regression no longer allows integer transition duration times (34ed2d0f)
- ionicLoading: make showDelay default to 0 (was 2000) (0d3718cc)
- ionicPopup: if input exists, focus it. else, focus first button (93aa16a7, closes #1176)
- ionicScrollDelegate:
- ionicTabBar: detect if matches state in all cases (ee2b7686)
- ionicTouch: use ionic.tapElement (ed848dde)
- ionicView: erase saved scroll for a view on back (40fcd01e)
- ionicons:
- isActiveScope: find active scope (7b39bc44)
- item:
- option button enables swiping (35173c8d)
- clicks climb 5 levels looking for an item to activate, but not 6. (840c014b, closes #1921)
- Vertically align nav icon w/out flexbox to prevent android crashes, ionic-team#928 (5b0f5d02)
- Fix css overflow overrides for .item-text-wrap (04b4d771)
- Fix delete icon alignment in .item-icon.left, (044211de, closes #946)
- Restructure item editing css for added reusability and organization (07c824db)
- fix avatar/thumbnail in .item-complex, and avatar misspelling (947b8d69)
- Fix badge moving to new line when text is too long, (4d366710, closes #551)
- Fix item-icon-left / right animating Ionicon not centered, (11a4338d, closes #670)
- degrade .item right arrows by grade for low end devices (3a69bb34)
- keyboard:
- check if input is in scroll view (a86ec11f, closes #3586)
- overflow: visible on scroll view when keyboard is open (edb62c2c)
- use keyboardGetHeight not ionic.keyboard.height (04da0fc7)
- reset modal scroll view on show (c64a10b1)
- enable keyboard accessory bar more quickly after focus (7bf1207a, closes #3113)
- shrink scrollView on date and select focus on iOS (4636cb0e)
- android scroll stuck (74de015c)
- screen.height fallback for window.innerHeight (77847f49, closes #2168)
- add link to plugin repo (cb0d17c0)
- labels: Fix .input-label's width for androids w/out full flex box support, ionic-team#998 (096a01c1)
- list:
- listButtons: Update list button sizes, (91652112, closes #478)
- listItem: apply color styles to complex list items (9ff1b965)
- listView:
- do not scroll freeze when no scrollView (811cc272, closes #3174)
- ionic.extend not extend (7557c58e)
- unchecked null pointer (3c4f15c7)
- avoiding potential memory leak from assigning properties directly to an element (d7793463)
- position dragged list item properly when list view's parent is offset. (afdf0ad7, closes #1583)
- reordering up is more responsive, fix scrolling error (df9c0747, closes #1202)
- fixed active state on scroll (040af824)
- send index on delete. (75107771, closes #849)
- only allow one swipeable item open. (73b750fb, closes #763)
- No slide drag if no hidden buttons. (4e605979, closes #847)
- loading:
- reduce memory usage by innactive loading spinner (f6228176, closes #3454)
- options.hideOnStateChange: also hide on stateChangeError (3d128535, closes #3051)
- prevent loading service from disabling all future back button behavior. (34934f63, closes #2214)
- subsequent calls use config defaults and not last call's options., ionic-team#2088 (cffe6318, closes #2066)
- prevent spinners in loading view from causing reflows when hidden. (767ce6a3, closes #2013)
- potential race condition with showing and hiding loading in same watch cycle (65aece2a)
- stop resize flicker when showing & changing text (cb368698)
- Prevent clicks on modal views when loading is active. (7630bd41, closes #1720)
- backdrop higher z-index (bfce8e27)
- fix not hiding after two shows, always cancel delay (4216266f, closes #1130)
- make showDelay option work correctly (7281e2ab, closes #562)
- menu: safari z-index fix for
.menu .scroll-content
(754ef461, closes #1408) - menuClose:
- menuContent: gestures do not stop_browser_behavior (df578585, closes #421)
- modal:
- Prevent scroll=false content from overlapping modal content. (4e74ead5, closes #3648)
- prevent ghost clicks on open (83a4e2d8, closes #3569)
- clean up event listeners when hiding modal (218605f0)
- fix race conditions and memory leaks (008df7b9)
- remove overflow: visible on modal content (1a4e36bc)
- prevent ghost clicks on close (a416c66d)
- focus on inputs under keyboard (12bb8de5)
- align header title after viewable (3bcda3f2)
- remove iOS style header padding from inset headers in modal popups on iPad in po (e6dda6a5, closes #1605)
- error message for modal show after remove (003659b6)
- Remove modal flicker, (d2ebed84, closes #1150)
- Increase delay of removing .modal-open to prevent focus under modals (83fd11c5)
- Do not apply the same modal animation to all of its children, (9cff5d03, closes #683)
- Fix removing modal from DOM on .remove(), (c4ca7a85, closes #755)
- Improve slide-up/down animations, remove flickers (b593cf1b)
- Fix modal animation for firefox, (0033c880, closes #671)
- do not click buttons underneath modal (9bc928f0)
- nav:
- back btn and bar hide/show (0936f78c)
- correct element structure for nav-vew (2b239575)
- prevent nav-bar flicker w/ no animation (4366bd57)
- prevent flickers between views (03086ed2)
- Removed border on animation (a9a52f64)
- remove disabled-pointer-events (5b50e120, closes #1383)
- make fewer z-index assumptions while animating in ios7 animation (02f5fcb7)
- navBar:
- check existence of leaving controller (8c105ad2, closes #2868)
- use $attrs['class'], not $attrs.class (892516d4, closes #3062)
- calc correct button width before enter (74cc9803)
- only add default animation if there is no custom animation (cdba48f1, closes #1671)
- animations, hide back button, no flicker (465ea769, closes #653)
- animations work properly (749cd382)
- Remove duplicate back button arrows, (4808e80d, closes #547)
- Back button w/ text to use inner (738ace89)
- navButtons:
- navClear:
- navDirection: use correct direction value (4ba4b44f)
- navView:
- navViewController: create navBarCtrl.title (ed8bd94f)
- navbar: re-align title after show (0e1689d5, closes #3064)
- navigation: Whitelist Cordova Windows Phone style protocols (19296c85)
- ngShow: WP fix for ngShow. (c64e0bae, closes #3498)
- platform:
- pointer: Add pointer styling to .item[ng-click], (aa280910, closes #858)
- popover:
- fix popover position on Internet Explorer (893fcbec, closes #2861)
- only pop upwards if there's room above (56171a26, closes #3047, #3074)
- fix border radius styling on header bar (dcac56ae, closes #3179)
- extend options to modal service (71cb2023, closes #2724)
- default values overwrites options (916b276b)
- reposition popover on window resize. (1224902e, closes #2189)
- popup:
- close highest overlay (bcfe210a, closes #2157)
- synchronously add/remove popups from stack, no matter the animation state (9baf219e, closes #3131)
- make sure backdrop is always released (31de853f, closes #3524)
- fix race conditions and memory leaks (e86b331d, closes #2815)
- prevent scrollbars from showing on desktop unecessarily. (b8df44d4, closes #3204)
- release backdrop when multiple popups (dd71524e)
- add animation keyframes (083ae7b5)
- hide buttons div if there's no buttons to show. (d3026edf, closes #2344)
- prevent back to back popups from dismissing background. (5658a4df, closes #2071)
- set popup head padding equal to popup body padding (b873190b)
- fill popup width of Android 4.1-4.3 buttons (581656fd, closes #2209)
- fix alignment, backdrop not fading out (6d859f48)
- only override prompt input if template includes HTML (044fac4d)
- backdrop release fires with every close (ae87c66b)
- if popup is taller than the window, shrink the popup body and make it scrollable (3e6ce183, closes #1679)
- focus on first input (71efd51b, closes #822)
- Backwards compatible remove popup from DOM, (441a21c4, closes #851)
- Ensure popup is usable on top of a modal, (6ebfe776, closes #838)
- focus popup. (dddc34d8, closes #820)
- pull to refresh: minor optimization to prevent flicker on deactivate (8787760a)
- pullToRefresh: fix animated icon sometimes not showing (eb265c58)
- radio: suport ng-disabled. (704fe402, closes #1684)
- radioButtons: Correcting a bug introduced by 521164d. (ead5e026, closes #1599)
- range:
- refresher:
- fix pull to refresh with native scrolling on kitkat (71e89715)
- Fix refreshing icon in Android 4.3 and lower (5a28bbb1)
- finish animating before changing icon, hide when not in use (c336e8ed)
- make arrow spin correctly (2ec01733, closes #1319)
- get rid of flickers except on droid-4.4 (ad671848, closes #1014)
- make refresher css not create gap at end of list (79387a4e)
- reorder:
- requirejs: fix bug with loading order of angular & taps (36181091)
- scroll:
- keyboard support for native scroll views. Closes #ionic-team#3956 (a293a23e, closes #3727)
- set ms-viewport to prevent IE "squish" effect (26361d65)
- rename 'scroll.resize' to 'scroll-resize' for jQuery's sake (e19863c3, closes #3384)
- hide the scrollbar on desktop so it matches content size of mobile (0e04f391)
- cleanup native scroll listeners only if activated (df6dcb96)
- fix IE mousewheel scroll (be094336)
- show scrollbars during native scrolling (ecfd0e07)
- do not click when scroll decelerating (e8a70f37, closes #1438, #2223, #2665)
- ion-scroll swallows scroll events by default. (9f437a8c, closes #2695)
- prevent 'cannot read' exception (7faed0a0)
- prevent 'cannot read' exception (417c3d4e)
- $historyId should default to root (00aa24fc)
- find delegate by historyId (46cbaf95, closes #2572)
- calling ionic scroll methods blur any selected input elements. (8ee83777, closes #2244)
- ensure scrollView objects exist (8883c6cc)
- calculate padding-bottom (ba3600df, closes #2174)
- remove isContentEditable from ignoreScrollStart (caf12721, closes #2091)
- prevent native webkit scrollbars from showing (951a9d35)
- anchor scroll should scroll to IDs that are multiple levels beneath the scroll v (3d0a46ef, closes #1804)
- safari scroll content height (96b2243f)
- input text selecting w/ mouse events (86e1fe9a, closes #1475)
- larger release tolerance for buttons (fab4a41d, closes #1378)
- scroll inputs correctly with footer (373c0cd4)
- Scrolling using pointer events (ed3ee1d0)
- Allow scrolling when touchstart target is an input, ionic-team#1078 (8af018b1)
- Fix input focus when tapped, do not scroll when target is an input, (66ecec70, closes #1020)
- Do not ignore taps if the target was an input, ionic-team#997 (e6f56237)
- Fix scroll for devices w/out dataset support, (bfcf2650, closes #976)
<scroll>
is now registered with $ionicScrollDelegate (2c7ce763)
- scroll-view: make it take up only 100% height (d2f9e94b)
- scrollController: allow tab $historyId to remember scroll (9b601b55, closes #1654)
- scrollDelegate: revert change that made all scroll* methods blur inputs (0145dc37, closes #2745)
- scrollView:
- fix memory leak in JS scrolling cleanup (d6431a7b)
- only refocus clonedInput if keyboard is still up (b8522390)
- remove bottom margin on scroll content. (4f9d6fe7, closes #2910)
- higher velocity threshold for sliding (93643c41)
- make mousewheel events firefox-compatible (0a8eb391, closes #2616)
- fix null pointer exception on scrollbar (037d2c36)
- check that element has not yet been GC'd before removing event listeners in $des (5e8250b1)
- resolve memory leaks with holding element references (c5966bba)
- cloned input for keyboard-scroll now matches original (5da1ecd0, closes #1721)
- always stay exactly within boundaries after bounce (1c789f8a, closes #1736)
- clonedInputs get placeholder text if any (f2f55199)
- make xy scrolling work on ionScroll and ionContent (49f06f9c, closes #1462)
- fix clonedInputs not being removed for large textareas on keyboardshow (88e41e1a, closes #1420)
- on desktop, mousewheel only scrolls the right scrollView (3250d10d, closes #1376)
- stop memory-leak when destroying scrollView (4a210130, closes #1096)
- recalculate size on mousewheel scroll (89a9ed15)
- stop polluting global.core (8992e7c9)
- browserify issue: undefined core (cd27e1b7, closes #825)
- pull to refresh spin back. (049aabc7, closes #774)
- show bar with mouse wheel. (d5a69575, closes #809)
- don't show bars if not scrolling. (cb686636, closes #805)
- allow contenteditable element to be pressed normally (39ad3e0b, closes #421)
- fix error from checking device before ready (a5d96473)
- cancel scrollTop every time hash is set (e1b6fd4f)
- do not stop scrolling if stopped beyond boundaries (1aef593f)
- start scroll again if it stops beyond boundaries (eed6b19b)
- nested scrollViews now work independently (4cc4a18c, closes #278)
- if bouncing past boundaries, do not stick. (59c10d4f, closes #482)
- scrolling:
- scss: make tabs,header,footer aligned right with statusbar (c2a38a6d)
- select:
- sideMenu:
- check whether drag is enabled before dragging (acd0ff8f)
- enable menu w/ different historyId back view (6a1c5330)
- allow expose-aside-when on the right side. (29d6dc81, closes #2207)
- Prevent is-enabled="false" from blocking current view interaction. (cedee574, closes #1973)
- allow
edge-drag-threshold
for right side menus. (cb066434, closes #2081) - close menu w/ drag on Android 4.4 (a49f3747, closes #2102)
- fix stopping content scrolling (944d2595)
- remove .menu-open on destroy (f246c5aa)
- when a drag on content is disallowed, do not prevent default (ab500f2e, closes #1725)
- when drag-content=false, allow drag-to-close (e3db0856, closes #1419)
- do not let it be scrolled as part of the body (6e149eef)
- fix disabled menu links (fa8aa6a8, closes #1388)
- Disable content interaction when menu open (76d4c083, closes #1339)
- Not snapping on close on certain conditions ionic-team#795 (a5899918)
- Fix flashing when closing right side menu, (a0d60d52, closes #556)
- Close side-menu if open and content tapped, (0c5c6751, closes #648)
- remove translate3d when not needed, close ionic-team#636 (07092f00)
- sideMenuContent: make dragContent default to true (61a280bd)
- sideMenuController: sticking issue ionic-team#738 (ea04e393)
- sidemen: scroll false causes sidemenu content to disappear. (6b218042, closes #1485)
- sidemenu:
- slideBox:
- slidebox:
- prevent read only property error on assigning of length. (08956b29, closes #3589)
- prevent resize when hidden (040dabf2, closes #2817)
- properly cleanup window resize listener (51f8f3cd)
- prevent scrolling while sliding (db7f0eee, closes #2814)
show-pager
defaults to true (95688d6a)- add delegate filter (9f4faa4a)
- refactor for performance and stability (7ef9ad74, closes #2336, #2317, #2290, #2228, #2067, #1890, #1865, #1850, #1755, #1688, #1578, #1501, #1353, #1342, #782, #416, #2288)
- default to not autoplay (81a7342f)
- sliderView:
- spinners:
- splitView: disable menu toggles on exposed aside (ed3e9e30, closes #2182)
- styles: fix to tables in _variable.scss ionic-team#2949 (9d676b0d)
- subHeader: removes borders on android subheaders (ebe32265, closes #3265)
- tabs:
- correct tab leaving lifecycle events (082f30e6, closes #2869)
- fire leaving life cycle events (9cc61ecd, closes #2869)
- reload tab after previous clearHistory() (3628ebac, closes #2664)
- corectly size ion-content when used with inline tabs. (65ab5f35, closes #2781)
- correct border visibility with android style tabs (bf40b222)
- fix non-retina border color when tabs color and bg color are used together (3a92fe46)
- fix scss compile error on some versions of sass (5304c963, closes #2719)
- removed active color inherit for tabs striped (81e22f50)
- don't show color for active android tabs (3ddf1954)
- properly style ios tabs-top (ae4a3bbd)
- corrected default tabs-striped colors (b75708ad)
- slide box within modal within tabs (c86962fb)
- Fixed font sizes (05e3ab30)
- remove cache=false tab view element (ab99b13b)
- remove unselected tabs on clearCache (767362be)
- wrap inline tab content (3e31614f, closes #2637)
- fix goToHistoryRoot (d1a80d49)
- android tabs stay under 2nd view (e3f51ca8)
- fix android untyled android tab (aa7e9dd7)
- vertically center text and icons on tabs-icon-left/right (93d586de, closes #1827)
- remove important flag from `.tabs{border-bottom:none;} Fixes: 1652 (bf1c1bc9)
- Tab icon align within nested tabs, (2a6f7029, closes #1093)
- Renamed .tab-item active state from .active to .tab-item-active, (24160aa0, closes #866)
- Double tapping a tab would set the wrong view history, (f0faae16, closes #656)
- broadcast tab.shown/tab.hidden to only child scopes (69fda4e5)
- tabs-item-hide: only hide tab nav items (a7eb521c)
- tap:
- stop cloning date inputs (d3c3e8c7, closes #3944)
- prevent possible click error in specifc android devices. (8fae4742, closes #2235)
- only check classList on tap target if it has classList (5bf75321, closes #1677)
- fire input behavior when tap/clicking file input label. (889482e0, closes #1699)
- get containing label of deeply nested element (2e3b8546, closes #1643)
- error when releasing outside of browser (8da9f34b, closes #1612)
- ignoreScrollStart w/ data-tap-disabled (772459df, closes #1505)
- cancel simulated click w/ hold events (f5bb023e)
- select tag not working in IE (7059b818, closes #1435)
- Normalize taps w/ pointer events also (1a2e501f)
- Prevent different input focus after 300ms delay (8730e62e, closes #1370)
- input[file] clicks within ion-content, (05a6d7cc, closes #1237)
- Do not preventDefault after input focus, ionic-team#1068 (a977332f)
- Remove 300ms delay when tapping select elements (cf686548)
- Prevent clicks from firing after scrolling, ionic-team#579 (cb602b58)
- Deactivate elements during scroll at the same time click is ignored, ionic-team#997 (3ee5ea77)
- Do not simulate a click if it was from a touchcanel event, (78510099, closes #1015)
- Prevent multiple clicks when overriding cordova object, (5f3a1d21, closes #1022)
- Prevent "clicking" when scrolling (f3bd258c)
- Increate isScrolledSinceStart from 2px radius to 15px, ionic-team#970 (9a49129a)
- Trigger clicks if touch/click held for more than 250ms, (60e45333, closes #791)
- Reset startCoordinates on touchend/mouseup, (76a53134, closes #874)
- Remove select element from tap checking, (3d917c83, closes #836)
- Do not trigger a click if the element was scrolled after touchstart/mousedown (98e7e1aa)
- Do not detect taps for input[type=file], (6f2d6e7c, closes #652)
- templateCache: make sure $state is passed config options before checking what they are (cb9b81d5)
- test: Use HTML5 doctype on all tests., ionic-team#1524 (18391589, closes #1539)
- text-rendering: Disable text-rendering:optimizeLegibility for low end devices (10289466)
- textarea: Allow scroll in textarea when focused (5f2fdfdd, closes #1280)
- thumbnail: Correctly apply thumbnail style to item directive, (977c1cc6, closes #509)
- title: use defined viewTitle attrs (72167b2a)
- titles: error during quick transition changes (fe9f43d1)
- toggle:
- fix toggle-class attribute (6fbd1a43, closes #1851)
- fix ngChange being reported before model changes (537b29d0, closes #1349, #1741)
- Right side padding for item-complex, (45106a6a, closes #1091)
- Changed tap listener to use "release", ionic-team#881 (b1a7c199, closes #882)
- Fix toggle handle on Android 2.3 (72f2e840)
- transform: Polyfill
style.transform
to work w/ non-webkit (52671c18) - transitions: Disable transitions on Android 2, (9c58d47b, closes #780)
- video: prevent styles from bleeding into html video tag (7e762b9c)
- view:
- viewController: use $watch instead of $observe (b75bd9d8)
- viewService: No error on clearHistory for empty history (64641b1b)
- viewSwitcher:
- viewport:
Features
- $ionicActionSheet:
- $ionicBackdrop: add backdrop show/hide service (730a33b9, closes #1084)
- $ionicBody: service to simplify body ele interaction (2c3f1c9f)
- $ionicConfig: chaining config properties (786c6d97)
- $ionicConfigProvider: add $ionicConfigProvider (2643cffc)
- $ionicLoading:
- $ionicModal:
- add
hardwareBackButtonClose
as option, default true (9ffca1e4, closes #1397) - allow configuration of backdropClickToClose (291d723a)
- close on backdrop click on desktop/tablet (554c4398, closes #1087)
- pass modal instance to modal.shown/modal.hidden events (a19e3b62, closes #1065)
- show/hide/remove return promises for animating (39385008)
- add
- $ionicNavBarDelegate:
- $ionicPopup: on android, make back button close popup (b87bcb30, closes #1222)
- $ionicScrollDelegate:
- expose zoomBy and zoomTo methods (029f8f33, closes #1977)
- add getScrollView(), getScrollPosition() (b5ef9313, closes #1117)
- add scrollBy(left,top,animate) to delegate (f847c208, closes #987)
- rememberScrollPosition, scrollToRememberedPosition (5a0efece)
- add scrollTo(left,top,animate) to delegate (c119498d)
- allow anchorScroll to animate with param (36691bba)
- add .anchorScroll() function (c2bbd9e9)
- $ionicSideMenuDelegate:
- $ionicSlideBoxDelegate:
- $ionicView.unloaded: emit when view unloaded (d6bff564)
- actionsheet:
- active: Removing use of :active in favor of .active for more control of active state (baa04cde)
- angular:
- animation:
- avatar:
- button: Increase hit area size of a button (c168b489)
- card: box-shadow update (a571c7ab)
- checkbox:
- clearCache: create $ionicHistory.clearCache() (2683ffd0)
- collection-repeat: add repeat lsdirective for huge lists (f0a1c037)
- collectionRepeat:
- in grid, use height of tallest item in row (40bedd7d, closes #3387)
- resize on $ionicScrollDelegate.resize() (a3014830, closes #3292)
- if item-width/item-height not given, compute dimensions (432c7dca)
- add collection-buffer-size, collection-refresh-images attrs (b49444c3, closes #1742)
- automatically set width/height style to match collection-item-{width,height} (34e350b0, closes #3034, #1806)
- other children of ion-content element fit in (7ddb57e6, closes #1920, #1866, #1380)
- huge optimization upgrades (6af5d68d, closes #1597)
- content:
- cordovaEvents: $ionicPlatform.on method (046ad53b, closes #2219)
- delegateService: create filterFn to find active (6276506d)
- divider: platform specific dividers (d257c736)
- domUtil: add getPositionInParent function (a970f0bd)
- doubletap: add onDoubleTap directive (42569cca, closes #2292)
- event: Created stopEvent directive to use for certain ng-click cases, (8b308a17, closes #550)
- fonts: platform specific fonts (dfcbef1a)
- footer: keyboard-attach attribute directive to position footer above keyboard (09d1197a)
- gestures:
- goBack:
- grade: Set grade in body class depending on platform performance (b69b40c8)
- grid:
- header: remove bottom border when tabs top (f6566726)
- icons: svg loaders and ionicons v2.0.1 (6f50c87e)
- infiniteScroll: upgrade infinite scrolling spinner to use new ion-spinner directive (65aa2af9)
- ion-content: watch padding attribute (532d473e)
- ionCheckbox: allow ng-disabled attribute (d2e54a82, closes #939)
- ionContent:
- ionInfiniteScroll:
- ionModalView: ion-modal-view to wrap template instead of
<div class="modal">
(ed4f2288, closes #1668) - ionNavAnimation:
<a href="#/page" ion-nav-animation="slide-in-up">
(8354d42b) - ionNavBackButton: make pressed state work (8d34ab28)
- ionNavBar:
- ionNavTitle: HTML nav-bar titles (55b35b54)
- ionRefresher: allow custom text & icons (573df56d, closes #760)
- ionReorder: better animations (cbe5c71c)
- ionScroll:
- ionSideMenu: add
edge-drag-threshold
, delegateedgeDragThreshold()
(ba56bb98, closes #1570) - ionSlideBox:
- ionTab:
- ionTabs: add available tabs-item-hide class (5966dbf4, closes #395)
- ionic:
- ionic.Platform: add ionic.Platform.setGrade() function (05dd7b18, closes #1104)
- ionicNavBar: add getTitle() and getPreviousTitle() methods (215b1c1e)
- ionicToggle: allow ngDisabled binding (0fe44867)
- ionicons:
- item:
- itemFloatingLabel: add floating labels: 'item-floating-label' class (050b4f25, closes #1611)
- items: better item remove animations (9ddce8f1)
- keyboard: easily disable/re-enable keyboard (f7db8c3f, closes #2285)
- list: reordering scrolls page, reordering performance better (7f4b28d9, closes #521)
- loading: Moved loading scss to its own file and added variables, (e3491864, closes #984)
- loadingView:
- menuClose: do not show next back button (ba3eefdf)
- modal:
- bg only for inset modals (5de1c126)
- On larger displays modals will be inset and centered, not full width/height, (ba2a40c8, closes #783)
- Create a modal backdrop wrapper w/ internal modal directive, (7d076bd5, closes #605)
- add .isShown() method to modal instances (e106457e, closes #320)
- $broadcast 'modal.shown/hidden/removed' from parent scope (110ff9f4, closes #243)
- navBar: allow expression in
type
.<nav-bar type="{{myType}}">
(5470d77a, closes #599) - navclear: Ability to disable the next view transition and back button (f744d9eb)
- platform: added isWindowsPhone() method (08e4b3d9)
- platforms:
- popover:
- popup:
- progress: Set progress element's default width to 100%, (b9cde47d, closes #872)
- pullToRefresh: add on-pull-progress (955f4411)
- range: default css update (03e634a3)
- ready: Add 'platform-ready' css class to the body when the platform is ready (681a6a2e)
- refresher:
- routing: Helpful logging message on unmatched routes (ea36d71b)
- sass: All variables now have !default assigned, (53af2c7a, closes #631)
- scroll: freeze scroll on ion-option-button swipe (9a88c417, closes #2950)
- scroll-content: add 1px padding-top (e5b5906c)
- scrollView: better deceleration for scroll view on iOS (9c77089a)
- scrollbar: Do not use rgba background for scrollbar on grade-b and c devices (805c35c1)
- scrolling:
- select: Styled select elements, both inline and as a list item (8a12f2d1)
- sideMenu:
- sideMenuContent: watch
drag-content
attribute (7f9bfb5a) - slideBox:
- spinner: Allow ionSpinner default to be set by ionicConfigProvider (cf338cf2, closes #3877)
- spinners: add ionic color convention (2b88b4fe, closes #3077)
- splitView: expose side menu on large viewport (b69aa548)
- swipe: iOS swipe to go back (8ebde73d)
- swipeBack: disable swipe back per view (c602cde8, closes #3470)
- tab:
- options 'hidden' attribute for tabs., ionic-team#1673 (bb6976ad, closes #1666)
- allow html in tab
title
attribute (0facb120, closes #528)
- tabs:
- Allow disabled tab items (bffbee40)
- add active color state (6edebbb6)
- Expand striped android style tab functionality. Closes 1694 (ddda809b)
- allow tab
badge-style
attribute to set badge class (b11e0f51) - allow badges on tabbar via bound
badge
attr (bc927e57) - clicking tab item again navigates to tab's home (24c382bd)
- tap: Make TAP_RELEASE_TOLERANCE configurable (27369930)
- templateCache: automatically cache template files to prevent flicker on page navigation and imp (944a92b0)
- thumbnail: adjust item padding/weight (0315fc3a)
- toggle:
- touch-action: add touch-action: manipulation (40cd6f72)
- ui-router: upgrade to angular-ui-router v0.2.10 (b9353e71, closes #941)
Breaking Changes
-
The slideBox's API has undergone many changes.
-
<ion-slide-box>
attributes have changed (see
documentation):-
active-slide
has changed toselected
. Change your code from
this:<ion-slide-box active-slide="activeSlideIndex"></ion-slide-box>
To this:
<ion-slide-box selected="activeSlideIndex"></ion-slide-box>
-
does-continue
has changed toloop
. Change your code from this:<ion-slide-box does-continue="shouldLoop"></ion-slide-box>
To this:
<ion-slide-box loop="shouldLoop"></ion-slide-box>
-
auto-play
andslide-interval
have been merged intoauto-play
.
Change your code from this:<!-- 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:
<!-- 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
andpager-click
have been removed. Use
a child<ion-slide-pager>
element. See theion-slide-pager
documentation.
Change your code from this:
<!-- 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:
<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):-
update()
has been removed. slideBox updates on its own now. -
stop()
has been removed. SeeautoPlay()
below. -
start()
hass been removed. SeeautoPlay()
below. -
slide(newIndex[, speed])
has been renamed to `select(newIndex[,
speed]); -
currentIndex()
has been renamed toselected()
. -
slidesCount()
has been renamed tocount()
. -
New method
$ionicSlideBoxDelegate.autoPlay()
. Change your code
from this:// stop auto sliding $ionicSlideBoxDelegate.stop(); // later... start auto sliding $ionicSlideBoxDelegate.start();
To this:
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:// select previous slide $ionicSlideBoxDelegate.previous();
To this:
// 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:// select next slide $ionicSlideBoxDelegate.next();
To this:
// select next slide $ionicSlideBoxDelegate.select( $ionicSlideBoxDelegate.next() );
(7ef9ad74)
-
-
ion-radio no longer has an isolate scope.
This will break your radio only if you were relying upon the radio having an isolate scope: if you were referencing$parent.value
as
the ng-disabled attribute, for example.
Change your code from this:
To this:
(53c437e2)
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:
To this:
(537b29d0)
- Reordering with ion-reorder-button no longer changes the order of the items in the DOM.
This change will only break your list if you were not using the
onReorder callback as described in the documentation.
Before, while reordering an element in a list Ionic would swap the
elements underneath as the reordering happened. This sometimes caused
errors with angular's ngRepeat directive.
Now, reordering an element in a list does not change the order of
elements in the DOM. It is expected that the end developer will use the
index changes given in the onReorder
callback to reorder the items
in the list. This is simple to do, see the examples in the
ionReorderButton
documentation.
(ba1859b3)
-
$ionicActionSheet's default behavior is now to cancel
when the app's state changes. To disable this behavior, pass
cancelOnStateChange: false
into $ionicActionSheet.show().(087e55f3)
-
$ionicActionSheet now returns a method to hide the
action sheet.
Previously, it returned an object that had a show
and hide
method.
This was undocumented, but if you used it, here is how to migrate your
code:
Change your code from this:
var sheet = $ionicActionSheet.show({...});
sheet.hide();
To this:
var hideSheet = $ionicActionSheet.show({...});
hideSheet();
(b7646a56)
- 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:
<i...