Skip to content

Commit a6a3d58

Browse files
committed
release: v1.0.0-rc.5 "tungsten-turkey"
1 parent cf4b0b9 commit a6a3d58

14 files changed

+1932
-120
lines changed

CHANGELOG.md

Lines changed: 1479 additions & 0 deletions
Large diffs are not rendered by default.

bower.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "ionic",
3-
"version": "1.0.0-rc.4",
4-
"codename": "sulfur-suricate",
3+
"version": "1.0.0-rc.5",
4+
"codename": "tungsten-turkey",
55
"homepage": "https://github.com/driftyco/ionic",
66
"authors": [
77
"Max Lynch <[email protected]>",

component.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"repo": "driftyco/ionic",
33
"development": {},
4-
"version": "1.0.0-rc.4",
4+
"version": "1.0.0-rc.5",
55
"styles": [
66
"dist/css/ionic.css"
77
],

config/CODENAMES

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
tungsten-turkey
21
uranium-unicorn
32
vanadium-vaquita
43
xenon-xerus

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "ionic",
33
"private": false,
44
"version": "1.0.0-rc.5",
5-
"codename": "sulfur-suricate",
5+
"codename": "tungsten-turkey",
66
"repository": {
77
"url": "git://github.com/driftyco/ionic.git"
88
},

release/css/ionic.css

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Copyright 2014 Drifty Co.
33
* http://drifty.com/
44
*
5-
* Ionic, v1.0.0-rc.4
5+
* Ionic, v1.0.0-rc.5
66
* A powerful HTML5 mobile app framework.
77
* http://ionicframework.com/
88
*
@@ -2613,6 +2613,13 @@ body.grade-b, body.grade-c {
26132613
-webkit-transform-origin: left top;
26142614
transform-origin: left top; }
26152615

2616+
/**
2617+
* Set ms-viewport to prevent MS "page squish" and allow fluid scrolling
2618+
* https://msdn.microsoft.com/en-us/library/ie/hh869615(v=vs.85).aspx
2619+
*/
2620+
@-ms-viewport {
2621+
width: device-width; }
2622+
26162623
.scroll-bar {
26172624
position: absolute;
26182625
z-index: 9999; }
@@ -5702,6 +5709,9 @@ input, button, select, textarea {
57025709
.item-input .icon {
57035710
min-width: 14px; }
57045711

5712+
.platform-windowsphone .item-input input {
5713+
flex-shrink: 1; }
5714+
57055715
.item-input-inset {
57065716
display: -webkit-box;
57075717
display: -webkit-flex;
@@ -6300,6 +6310,28 @@ input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="rad
63006310
left: -15px;
63016311
padding: 30px;
63026312
content: ' '; }
6313+
.range input::-ms-track {
6314+
background: transparent;
6315+
border-color: transparent;
6316+
border-width: 11px 0 16px;
6317+
color: transparent;
6318+
margin-top: 20px; }
6319+
.range input::-ms-thumb {
6320+
width: 28px;
6321+
height: 28px;
6322+
border-radius: 50%;
6323+
background-color: #fff;
6324+
border-color: #fff;
6325+
box-shadow: 0 0 2px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2);
6326+
margin-left: 1px;
6327+
margin-right: 1px;
6328+
outline: none; }
6329+
.range input::-ms-fill-lower {
6330+
height: 2px;
6331+
background: #444; }
6332+
.range input::-ms-fill-upper {
6333+
height: 2px;
6334+
background: #ccc; }
63036335

63046336
.range {
63056337
display: -webkit-box;
@@ -6316,22 +6348,40 @@ input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="rad
63166348
padding: 2px 11px; }
63176349
.range.range-light input::-webkit-slider-thumb:before {
63186350
background: #ddd; }
6351+
.range.range-light input::-ms-fill-lower {
6352+
background: #ddd; }
63196353
.range.range-stable input::-webkit-slider-thumb:before {
63206354
background: #b2b2b2; }
6355+
.range.range-stable input::-ms-fill-lower {
6356+
background: #b2b2b2; }
63216357
.range.range-positive input::-webkit-slider-thumb:before {
63226358
background: #387ef5; }
6359+
.range.range-positive input::-ms-fill-lower {
6360+
background: #387ef5; }
63236361
.range.range-calm input::-webkit-slider-thumb:before {
63246362
background: #11c1f3; }
6363+
.range.range-calm input::-ms-fill-lower {
6364+
background: #11c1f3; }
63256365
.range.range-balanced input::-webkit-slider-thumb:before {
63266366
background: #33cd5f; }
6367+
.range.range-balanced input::-ms-fill-lower {
6368+
background: #33cd5f; }
63276369
.range.range-assertive input::-webkit-slider-thumb:before {
63286370
background: #ef473a; }
6371+
.range.range-assertive input::-ms-fill-lower {
6372+
background: #ef473a; }
63296373
.range.range-energized input::-webkit-slider-thumb:before {
63306374
background: #ffc900; }
6375+
.range.range-energized input::-ms-fill-lower {
6376+
background: #ffc900; }
63316377
.range.range-royal input::-webkit-slider-thumb:before {
63326378
background: #886aea; }
6379+
.range.range-royal input::-ms-fill-lower {
6380+
background: #886aea; }
63336381
.range.range-dark input::-webkit-slider-thumb:before {
63346382
background: #444; }
6383+
.range.range-dark input::-ms-fill-lower {
6384+
background: #444; }
63356385

63366386
.range .icon {
63376387
-webkit-box-flex: 0;
@@ -6373,6 +6423,9 @@ input[type="radio"][disabled], input[type="checkbox"][disabled], input[type="rad
63736423
padding-right: 5px;
63746424
padding-left: 0; }
63756425

6426+
.platform-windowsphone .range input {
6427+
height: auto; }
6428+
63766429
/**
63776430
* Select
63786431
* --------------------------------------------------
@@ -7447,6 +7500,9 @@ a.button {
74477500
.collection-repeat-after-container.horizontal {
74487501
display: inline-block; }
74497502

7503+
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak, .ng-hide:not(.ng-hide-animate) {
7504+
display: none !important; }
7505+
74507506
/**
74517507
* Platform
74527508
* --------------------------------------------------

release/css/ionic.min.css

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

release/js/ionic-angular.js

Lines changed: 92 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Copyright 2014 Drifty Co.
33
* http://drifty.com/
44
*
5-
* Ionic, v1.0.0-rc.4
5+
* Ionic, v1.0.0-rc.5
66
* A powerful HTML5 mobile app framework.
77
* http://ionicframework.com/
88
*
@@ -1160,9 +1160,45 @@ function($rootScope, $state, $location, $window, $timeout, $ionicViewSwitcher, $
11601160
/**
11611161
* @ngdoc method
11621162
* @name $ionicHistory#goBack
1163+
* @param {number=} backCount Optional negative integer setting how many views to go
1164+
* back. By default it'll go back one view by using the value `-1`. To go back two
1165+
* views you would use `-2`. If the number goes farther back than the number of views
1166+
* in the current history's stack then it'll go to the first view in the current history's
1167+
* stack. If the number is zero or greater then it'll do nothing. It also does not
1168+
* cross history stacks, meaning it can only go as far back as the current history.
11631169
* @description Navigates the app to the back view, if a back view exists.
11641170
*/
1165-
goBack: function() {
1171+
goBack: function(backCount) {
1172+
if (isDefined(backCount) && backCount !== -1) {
1173+
if (backCount > -1) return;
1174+
1175+
var currentHistory = viewHistory.histories[this.currentHistoryId()];
1176+
var newCursor = currentHistory.cursor + backCount + 1;
1177+
if (newCursor < 1) {
1178+
newCursor = 1;
1179+
}
1180+
1181+
currentHistory.cursor = newCursor;
1182+
setNavViews(currentHistory.stack[newCursor].viewId);
1183+
1184+
var cursor = newCursor - 1;
1185+
var clearStateIds = [];
1186+
var fwdView = getViewById(currentHistory.stack[cursor].forwardViewId);
1187+
while (fwdView) {
1188+
clearStateIds.push(fwdView.stateId || fwdView.viewId);
1189+
cursor++;
1190+
if (cursor >= currentHistory.stack.length) break;
1191+
fwdView = getViewById(currentHistory.stack[cursor].forwardViewId);
1192+
}
1193+
1194+
var self = this;
1195+
if (clearStateIds.length) {
1196+
$timeout(function() {
1197+
self.clearCache(clearStateIds);
1198+
}, 600);
1199+
}
1200+
}
1201+
11661202
viewHistory.backView && viewHistory.backView.go();
11671203
},
11681204

@@ -1217,10 +1253,10 @@ function($rootScope, $state, $location, $window, $timeout, $ionicViewSwitcher, $
12171253
* @description Removes all cached views within every {@link ionic.directive:ionNavView}.
12181254
* This both removes the view element from the DOM, and destroy it's scope.
12191255
*/
1220-
clearCache: function() {
1256+
clearCache: function(stateIds) {
12211257
$timeout(function() {
12221258
$ionicNavViewDelegate._instances.forEach(function(instance) {
1223-
instance.clearCache();
1259+
instance.clearCache(stateIds);
12241260
});
12251261
});
12261262
},
@@ -1379,8 +1415,8 @@ function($rootScope, $state, $location, $document, $ionicPlatform, $ionicHistory
13791415
}
13801416
});
13811417

1382-
$rootScope.$ionicGoBack = function() {
1383-
$ionicHistory.goBack();
1418+
$rootScope.$ionicGoBack = function(backCount) {
1419+
$ionicHistory.goBack(backCount);
13841420
};
13851421

13861422
// Set the document title when a new view is shown
@@ -1756,6 +1792,14 @@ IonicModule
17561792

17571793
});
17581794

1795+
// Windows Phone
1796+
// -------------------------
1797+
setPlatformConfig('windowsphone', {
1798+
scrolling: {
1799+
jsScrolling: false
1800+
}
1801+
});
1802+
17591803

17601804
provider.transitions = {
17611805
views: {},
@@ -1804,7 +1848,7 @@ IonicModule
18041848

18051849
function setStyles(ctrl, opacity, titleX, backTextX) {
18061850
var css = {};
1807-
css[ionic.CSS.TRANSITION_DURATION] = d.shouldAnimate ? '' : 0;
1851+
css[ionic.CSS.TRANSITION_DURATION] = d.shouldAnimate ? '' : '0ms';
18081852
css.opacity = opacity === 1 ? '' : opacity;
18091853

18101854
ctrl.setCss('buttons-left', css);
@@ -2019,7 +2063,14 @@ IonicModule
20192063
provider.$get = function() {
20202064
return provider;
20212065
};
2022-
});
2066+
})
2067+
// Fix for URLs in Cordova apps on Windows Phone
2068+
// http://blogs.msdn.com/b/msdn_answers/archive/2015/02/10/
2069+
// running-cordova-apps-on-windows-and-windows-phone-8-1-using-ionic-angularjs-and-other-frameworks.aspx
2070+
.config(['$compileProvider', function($compileProvider) {
2071+
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|file|ghttps?|ms-appx|x-wmapp0):/);
2072+
$compileProvider.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|ms-appx|x-wmapp0):|data:image\//);
2073+
}]);
20232074

20242075

20252076
var LOADING_TPL =
@@ -2364,7 +2415,9 @@ function($rootScope, $ionicBody, $compile, $timeout, $ionicPlatform, $ionicTempl
23642415
* - `{string=}` `animation` The animation to show & hide with.
23652416
* Default: 'slide-in-up'
23662417
* - `{boolean=}` `focusFirstInput` Whether to autofocus the first input of
2367-
* the modal when shown. Default: false.
2418+
* the modal when shown. Will only show the keyboard on iOS, to force the keyboard to show
2419+
* on Android, please use the [Ionic keyboard plugin](https://github.com/driftyco/ionic-plugin-keyboard#keyboardshow).
2420+
* Default: false.
23682421
* - `{boolean=}` `backdropClickToClose` Whether to close the modal on clicking the backdrop.
23692422
* Default: true.
23702423
* - `{boolean=}` `hardwareBackButtonClose` Whether the modal can be closed using the hardware
@@ -2389,6 +2442,10 @@ function($rootScope, $ionicBody, $compile, $timeout, $ionicPlatform, $ionicTempl
23892442
return $$q.when();
23902443
}
23912444

2445+
// on iOS, clicks will sometimes bleed through/ghost click on underlying
2446+
// elements
2447+
$ionicClickBlock.show(600);
2448+
23922449
var modalEl = jqLite(self.modalEl);
23932450

23942451
self.el.classList.remove('hide');
@@ -2417,7 +2474,6 @@ function($rootScope, $ionicBody, $compile, $timeout, $ionicPlatform, $ionicTempl
24172474
ionic.on('resize', self._onWindowResize, window);
24182475
}
24192476

2420-
24212477
modalEl.addClass('ng-enter active')
24222478
.removeClass('ng-leave ng-leave-active');
24232479

@@ -6229,18 +6285,32 @@ function($scope, $element, $attrs, $compile, $controller, $ionicNavBarDelegate,
62296285
};
62306286

62316287

6232-
self.clearCache = function() {
6288+
self.clearCache = function(stateIds) {
62336289
var viewElements = $element.children();
6234-
var viewElement, viewScope;
6290+
var viewElement, viewScope, x, l, y, eleIdentifier;
62356291

6236-
for (var x = 0, l = viewElements.length; x < l; x++) {
6292+
for (x = 0, l = viewElements.length; x < l; x++) {
62376293
viewElement = viewElements.eq(x);
6294+
6295+
if (stateIds) {
6296+
eleIdentifier = viewElement.data(DATA_ELE_IDENTIFIER);
6297+
6298+
for (y = 0; y < stateIds.length; y++) {
6299+
if (eleIdentifier === stateIds[y]) {
6300+
$ionicViewSwitcher.destroyViewEle(viewElement);
6301+
}
6302+
}
6303+
continue;
6304+
}
6305+
62386306
if (navViewAttr(viewElement) == VIEW_STATUS_CACHED) {
62396307
$ionicViewSwitcher.destroyViewEle(viewElement);
6308+
62406309
} else if (navViewAttr(viewElement) == VIEW_STATUS_ACTIVE) {
62416310
viewScope = viewElement.scope();
62426311
viewScope && viewScope.$broadcast('$ionicView.clearCache');
62436312
}
6313+
62446314
}
62456315
};
62466316

@@ -7852,7 +7922,11 @@ function($scope, $attrs, $ionicSideMenuDelegate, $ionicPlatform, $ionicBody, $io
78527922
var spinnerName, spinner;
78537923

78547924
this.init = function() {
7855-
spinnerName = $attrs.icon || ionic.Platform.platform();
7925+
var override = null;
7926+
if (ionic.Platform.platform() === 'windowsphone') {
7927+
override = 'android';
7928+
}
7929+
spinnerName = $attrs.icon || override || ionic.Platform.platform();
78567930
spinner = spinners[spinnerName];
78577931
if (!spinner) {
78587932
spinnerName = 'ios';
@@ -9275,6 +9349,9 @@ function RepeatManagerFactory($rootScope, $window, $$rAF) {
92759349
* directive, and infinite scrolling with the {@link ionic.directive:ionInfiniteScroll}
92769350
* directive.
92779351
*
9352+
* If there is any dynamic content inside the ion-content, be sure to call `.resize()` with {@link ionic.service:$ionicScrollDelegate}
9353+
* after the content as been added.
9354+
*
92789355
* Be aware that this directive gets its own child scope. If you do not understand why this
92799356
* is important, you can read [https://docs.angularjs.org/guide/scope](https://docs.angularjs.org/guide/scope).
92809357
*
@@ -10877,7 +10954,7 @@ IonicModule
1087710954
}
1087810955

1087910956
if (!tAttrs.ngClick) {
10880-
buttonEle.setAttribute('ng-click', '$ionicGoBack($event)');
10957+
buttonEle.setAttribute('ng-click', '$ionicGoBack()');
1088110958
}
1088210959

1088310960
buttonEle.className = 'button back-button hide buttons ' + (tElement.attr('class') || '');

release/js/ionic-angular.min.js

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)