Skip to content

Commit 2c39a21

Browse files
committed
feat(ionic): prefix all directives with ion-
BREAKING CHANGE: All directives are now prefixed with `ion-`. For any directive you use, add the ionic prefix. For example, change this HTML: ```html <tabs> <tab title="home" href="/tab/home"> <content>Hello!</content> </tab> </tabs> ``` To this HTML: ``` <ion-tabs> <ion-tab title="home" href="/tab/home"> <ion-content>Hello!</ion-content> </ion-tab> </ion-tabs> ```
1 parent ec8862a commit 2c39a21

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+550
-552
lines changed

Diff for: js/ext/angular/src/directive/ionicActionSheet.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
angular.module('ionic.ui.actionSheet', [])
55

6-
.directive('actionSheet', ['$document', function($document) {
6+
.directive('ionActionSheet', ['$document', function($document) {
77
return {
88
restrict: 'E',
99
scope: true,

Diff for: js/ext/angular/src/directive/ionicBar.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ angular.module('ionic.ui.header', ['ngAnimate'])
1313
};
1414
}])
1515

16-
.directive('headerBar', ['$ionicScrollDelegate', function($ionicScrollDelegate) {
16+
.directive('ionHeaderBar', ['$ionicScrollDelegate', function($ionicScrollDelegate) {
1717
return {
1818
restrict: 'E',
1919
replace: true,
2020
transclude: true,
2121
template: '<header class="bar bar-header">\
2222
<div class="buttons">\
23-
<button ng-repeat="button in leftButtons" class="button no-animation" ng-class="button.type" ng-click="button.tap($event, $index)" bind-html-unsafe="button.content">\
23+
<button ng-repeat="button in leftButtons" class="button no-animation" ng-class="button.type" ng-click="button.tap($event, $index)" ion-bind-html-unsafe="button.content">\
2424
</button>\
2525
</div>\
26-
<h1 class="title" bind-html-unsafe="title"></h1>\
26+
<h1 class="title" ion-bind-html-unsafe="title"></h1>\
2727
<div class="buttons">\
28-
<button ng-repeat="button in rightButtons" class="button no-animation" ng-class="button.type" ng-click="button.tap($event, $index)" bind-html-unsafe="button.content">\
28+
<button ng-repeat="button in rightButtons" class="button no-animation" ng-class="button.type" ng-click="button.tap($event, $index)" ion-bind-html-unsafe="button.content">\
2929
</button>\
3030
</div>\
3131
</header>',
@@ -66,7 +66,7 @@ angular.module('ionic.ui.header', ['ngAnimate'])
6666
};
6767
}])
6868

69-
.directive('footerBar', function() {
69+
.directive('ionFooterBar', function() {
7070
return {
7171
restrict: 'E',
7272
replace: true,

Diff for: js/ext/angular/src/directive/ionicBindHtml.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
angular.module('ionic.ui.bindHtml', [])
2-
.directive('bindHtmlUnsafe', function () {
2+
.directive('ionBindHtmlUnsafe', function () {
33
return function (scope, element, attr) {
4-
element.addClass('ng-binding').data('$binding', attr.bindHtmlUnsafe);
5-
scope.$watch(attr.bindHtmlUnsafe, function(value) {
4+
element.addClass('ng-binding').data('$binding', attr.ionBindHtmlUnsafe);
5+
scope.$watch(attr.ionBindHtmlUnsafe, function(value) {
66
element.html(value || '');
77
});
88
};

Diff for: js/ext/angular/src/directive/ionicCheckbox.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
angular.module('ionic.ui.checkbox', [])
55

66

7-
.directive('checkbox', function() {
7+
.directive('ionCheckbox', function() {
88
return {
99
restrict: 'E',
1010
replace: true,

Diff for: js/ext/angular/src/directive/ionicContent.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ angular.module('ionic.ui.content', ['ionic.ui.service', 'ionic.ui.scroll'])
77
* Panel is a simple 100% width and height, fixed panel. It's meant for content to be
88
* added to it, or animated around.
99
*/
10-
.directive('pane', function() {
10+
.directive('ionPane', function() {
1111
return {
1212
restrict: 'E',
1313
link: function(scope, element, attr) {
@@ -18,13 +18,13 @@ angular.module('ionic.ui.content', ['ionic.ui.service', 'ionic.ui.scroll'])
1818

1919
// The content directive is a core scrollable content area
2020
// that is part of many View hierarchies
21-
.directive('content', ['$parse', '$timeout', '$ionicScrollDelegate', '$controller', function($parse, $timeout, $ionicScrollDelegate, $controller) {
21+
.directive('ionContent', ['$parse', '$timeout', '$ionicScrollDelegate', '$controller', function($parse, $timeout, $ionicScrollDelegate, $controller) {
2222
return {
2323
restrict: 'E',
2424
replace: true,
2525
template: '<div class="scroll-content"><div class="scroll" ng-transclude></div></div>',
2626
transclude: true,
27-
require: '^?navView',
27+
require: '^?ionNavView',
2828
scope: {
2929
onRefresh: '&',
3030
onRefreshOpening: '&',
@@ -53,7 +53,7 @@ angular.module('ionic.ui.content', ['ionic.ui.service', 'ionic.ui.scroll'])
5353
if(attr.padding == "true") { element.find('div').addClass('padding'); }
5454

5555
return {
56-
//Prelink <content> so it can compile before other directives compile.
56+
//Prelink <ion-content> so it can compile before other directives compile.
5757
//Then other directives can require ionicScrollCtrl
5858
pre: prelink
5959
};
@@ -158,17 +158,17 @@ angular.module('ionic.ui.content', ['ionic.ui.service', 'ionic.ui.scroll'])
158158
};
159159
}])
160160

161-
.directive('refresher', function() {
161+
.directive('ionRefresher', function() {
162162
return {
163163
restrict: 'E',
164164
replace: true,
165-
require: ['^?content', '^?list'],
165+
require: ['^?ionContent', '^?ionList'],
166166
template: '<div class="scroll-refresher"><div class="ionic-refresher-content"><i class="icon ion-arrow-down-c icon-pulling"></i><i class="icon ion-loading-d icon-refreshing"></i></div></div>',
167167
scope: true
168168
};
169169
})
170170

171-
.directive('scrollRefresher', function() {
171+
.directive('ionScrollRefresher', function() {
172172
return {
173173
restrict: 'E',
174174
replace: true,
@@ -177,7 +177,7 @@ angular.module('ionic.ui.content', ['ionic.ui.service', 'ionic.ui.scroll'])
177177
};
178178
})
179179

180-
.directive('infiniteScroll', function() {
180+
.directive('ionInfiniteScroll', function() {
181181
return {
182182
restrict: 'E',
183183
replace: false,

Diff for: js/ext/angular/src/directive/ionicList.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33

44
angular.module('ionic.ui.list', ['ngAnimate'])
55

6-
.directive('item', ['$timeout', '$parse', function($timeout, $parse) {
6+
.directive('ionItem', ['$timeout', '$parse', function($timeout, $parse) {
77
return {
88
restrict: 'E',
9-
require: '?^list',
9+
require: '?^ionList',
1010
replace: true,
1111
transclude: true,
1212

@@ -24,14 +24,14 @@ angular.module('ionic.ui.list', ['ngAnimate'])
2424

2525
template: '<div class="item item-complex">\
2626
<div class="item-edit" ng-if="deleteClick !== undefined">\
27-
<button class="button button-icon icon" ng-class="deleteIconClass" ng-click="deleteClick()" stop-event="click"></button>\
27+
<button class="button button-icon icon" ng-class="deleteIconClass" ng-click="deleteClick()" ion-stop-event="click"></button>\
2828
</div>\
2929
<a class="item-content" ng-href="{{ href }}" ng-transclude></a>\
3030
<div class="item-drag" ng-if="reorderIconClass !== undefined">\
3131
<button data-ionic-action="reorder" class="button button-icon icon" ng-class="reorderIconClass"></button>\
3232
</div>\
3333
<div class="item-options" ng-if="itemOptionButtons">\
34-
<button ng-click="b.onTap(item, b)" stop-event="click" class="button" ng-class="b.type" ng-repeat="b in itemOptionButtons" ng-bind="b.text"></button>\
34+
<button ng-click="b.onTap(item, b)" ion-stop-event="click" class="button" ng-class="b.type" ng-repeat="b in itemOptionButtons" ng-bind="b.text"></button>\
3535
</div>\
3636
</div>',
3737

@@ -95,7 +95,7 @@ angular.module('ionic.ui.list', ['ngAnimate'])
9595
};
9696
}])
9797

98-
.directive('list', ['$timeout', function($timeout) {
98+
.directive('ionList', ['$timeout', function($timeout) {
9999
return {
100100
restrict: 'E',
101101
replace: true,

Diff for: js/ext/angular/src/directive/ionicLoading.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
angular.module('ionic.ui.loading', [])
55

6-
.directive('loading', function() {
6+
.directive('ionLoading', function() {
77
return {
88
restrict: 'E',
99
replace: true,

Diff for: js/ext/angular/src/directive/ionicRadio.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ angular.module('ionic.ui.radio', [])
55

66
// The radio button is a radio powered element with only
77
// one possible selection in a set of options.
8-
.directive('radio', function() {
8+
.directive('ionRadio', function() {
99
return {
1010
restrict: 'E',
1111
replace: true,
@@ -33,7 +33,7 @@ angular.module('ionic.ui.radio', [])
3333

3434
// The radio button is a radio powered element with only
3535
// one possible selection in a set of options.
36-
.directive('radioButtons', function() {
36+
.directive('ionRadioButtons', function() {
3737
return {
3838
restrict: 'E',
3939
replace: true,
@@ -76,10 +76,10 @@ angular.module('ionic.ui.radio', [])
7676
};
7777
})
7878

79-
.directive('buttonRadio', function() {
79+
.directive('ionButtonRadio', function() {
8080
return {
8181
restrict: 'CA',
82-
require: ['?^ngModel', '?^radioButtons'],
82+
require: ['?^ngModel', '?^ionRadioButtons'],
8383
link: function($scope, $element, $attr, ctrls) {
8484
var ngModel = ctrls[0];
8585
var radioButtons = ctrls[1];

Diff for: js/ext/angular/src/directive/ionicScroll.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
angular.module('ionic.ui.scroll', [])
55

6-
.directive('scroll', ['$parse', '$timeout', '$controller', function($parse, $timeout, $controller) {
6+
.directive('ionScroll', ['$parse', '$timeout', '$controller', function($parse, $timeout, $controller) {
77
return {
88
restrict: 'E',
99
replace: true,
@@ -25,7 +25,7 @@ angular.module('ionic.ui.scroll', [])
2525
compile: function(element, attr, transclude) {
2626

2727
return {
28-
//Prelink <scroll> so it can compile before other directives compile.
28+
//Prelink <ion-scroll> so it can compile before other directives compile.
2929
//Then other directives can require ionicScrollCtrl
3030
pre: prelink
3131
};

Diff for: js/ext/angular/src/directive/ionicSideMenu.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ angular.module('ionic.ui.sideMenu', ['ionic.service.gesture', 'ionic.service.vie
2020
$ionicViewService.disableRegisterByTagName('side-menus');
2121
}])
2222

23-
.directive('sideMenus', function() {
23+
.directive('ionSideMenus', function() {
2424
return {
2525
restrict: 'ECA',
2626
controller: ['$scope', '$attrs', function($scope, $attrs) {
@@ -43,10 +43,10 @@ angular.module('ionic.ui.sideMenu', ['ionic.service.gesture', 'ionic.service.vie
4343
};
4444
})
4545

46-
.directive('sideMenuContent', ['$timeout', '$ionicGesture', function($timeout, $ionicGesture) {
46+
.directive('ionSideMenuContent', ['$timeout', '$ionicGesture', function($timeout, $ionicGesture) {
4747
return {
4848
restrict: 'AC',
49-
require: '^sideMenus',
49+
require: '^ionSideMenus',
5050
scope: true,
5151
compile: function(element, attr, transclude) {
5252
return function($scope, $element, $attr, sideMenuCtrl) {
@@ -142,10 +142,10 @@ angular.module('ionic.ui.sideMenu', ['ionic.service.gesture', 'ionic.service.vie
142142
}])
143143

144144

145-
.directive('sideMenu', function() {
145+
.directive('ionSideMenu', function() {
146146
return {
147147
restrict: 'E',
148-
require: '^sideMenus',
148+
require: '^ionSideMenus',
149149
replace: true,
150150
transclude: true,
151151
scope: true,

Diff for: js/ext/angular/src/directive/ionicSlideBox.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ angular.module('ionic.ui.slideBox', [])
1313
* The internal controller for the slide box controller.
1414
*/
1515

16-
.directive('slideBox', ['$timeout', '$compile', '$ionicSlideBoxDelegate', function($timeout, $compile, $ionicSlideBoxDelegate) {
16+
.directive('ionSlideBox', ['$timeout', '$compile', '$ionicSlideBoxDelegate', function($timeout, $compile, $ionicSlideBoxDelegate) {
1717
return {
1818
restrict: 'E',
1919
replace: true,
@@ -93,30 +93,30 @@ angular.module('ionic.ui.slideBox', [])
9393
// If the pager should show, append it to the slide box
9494
if($scope.$eval($scope.showPager) !== false) {
9595
var childScope = $scope.$new();
96-
var pager = angular.element('<pager></pager>');
96+
var pager = angular.element('<ion-pager></ion-pager>');
9797
$element.append(pager);
9898
$compile(pager)(childScope);
9999
}
100100
}
101101
};
102102
}])
103103

104-
.directive('slide', function() {
104+
.directive('ionSlide', function() {
105105
return {
106106
restrict: 'E',
107-
require: '^slideBox',
107+
require: '^ionSlideBox',
108108
compile: function(element, attr) {
109109
element.addClass('slider-slide');
110110
return function($scope, $element, $attr) {};
111111
},
112112
};
113113
})
114114

115-
.directive('pager', function() {
115+
.directive('ionPager', function() {
116116
return {
117117
restrict: 'E',
118118
replace: true,
119-
require: '^slideBox',
119+
require: '^ionSlideBox',
120120
template: '<div class="slider-pager"><span class="slider-pager-page" ng-repeat="slide in numSlides() track by $index" ng-class="{active: $index == currentSlide}"><i class="icon ion-record"></i></span></div>',
121121
link: function($scope, $element, $attr, slideBox) {
122122
var selectPage = function(index) {

Diff for: js/ext/angular/src/directive/ionicTabBar.js

+12-12
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ angular.module('ionic.ui.tabs', ['ionic.service.view', 'ionic.ui.bindHtml'])
99

1010
.run(['$ionicViewService', function($ionicViewService) {
1111
// set that the tabs directive should not animate when transitioning
12-
// to it. Instead, the children <tab> directives would animate
12+
// to it. Instead, the children <ion-tab> directives would animate
1313
$ionicViewService.disableRegisterByTagName('tabs');
1414
}])
1515

@@ -94,14 +94,14 @@ angular.module('ionic.ui.tabs', ['ionic.service.view', 'ionic.ui.bindHtml'])
9494

9595
}])
9696

97-
.directive('tabs', ['$ionicViewService', function($ionicViewService) {
97+
.directive('ionTabs', ['$ionicViewService', function($ionicViewService) {
9898
return {
9999
restrict: 'E',
100100
replace: true,
101101
scope: true,
102102
transclude: true,
103103
controller: '$ionicTabs',
104-
template: '<div class="view"><tab-controller-bar></tab-controller-bar></div>',
104+
template: '<div class="view"><ion-tab-controller-bar></ion-tab-controller-bar></div>',
105105
compile: function(element, attr, transclude, tabsCtrl) {
106106
return function link($scope, $element, $attr) {
107107

@@ -141,10 +141,10 @@ angular.module('ionic.ui.tabs', ['ionic.service.view', 'ionic.ui.bindHtml'])
141141
}])
142142

143143
// Generic controller directive
144-
.directive('tab', ['$ionicViewService', '$rootScope', '$parse', '$interpolate', function($ionicViewService, $rootScope, $parse, $interpolate) {
144+
.directive('ionTab', ['$ionicViewService', '$rootScope', '$parse', '$interpolate', function($ionicViewService, $rootScope, $parse, $interpolate) {
145145
return {
146146
restrict: 'E',
147-
require: '^tabs',
147+
require: '^ionTabs',
148148
scope: true,
149149
transclude: 'element',
150150
compile: function(element, attr, transclude) {
@@ -229,7 +229,7 @@ angular.module('ionic.ui.tabs', ['ionic.service.view', 'ionic.ui.bindHtml'])
229229

230230
// on link, check if it has a nav-view in it
231231
transclude($scope.$new(), function(clone) {
232-
var navViewEle = clone[0].getElementsByTagName("nav-view");
232+
var navViewEle = clone[0].getElementsByTagName("ion-nav-view");
233233
$scope.hasNavView = (navViewEle.length > 0);
234234
if($scope.hasNavView) {
235235
// this tab has a ui-view
@@ -256,15 +256,15 @@ angular.module('ionic.ui.tabs', ['ionic.service.view', 'ionic.ui.bindHtml'])
256256
}])
257257

258258

259-
.directive('tabControllerBar', function() {
259+
.directive('ionTabControllerBar', function() {
260260
return {
261261
restrict: 'E',
262-
require: '^tabs',
262+
require: '^ionTabs',
263263
transclude: true,
264264
replace: true,
265265
scope: true,
266266
template: '<div class="tabs">' +
267-
'<tab-controller-item icon-title="{{c.title}}" icon="{{c.icon}}" icon-on="{{c.iconOn}}" icon-off="{{c.iconOff}}" badge="c.badge" badge-style="c.badgeStyle" active="c.isVisible" index="$index" ng-repeat="c in controllers"></tab-controller-item>' +
267+
'<ion-tab-controller-item icon-title="{{c.title}}" icon="{{c.icon}}" icon-on="{{c.iconOn}}" icon-off="{{c.iconOff}}" badge="c.badge" badge-style="c.badgeStyle" active="c.isVisible" index="$index" ng-repeat="c in controllers"></ion-tab-controller-item>' +
268268
'</div>',
269269
link: function($scope, $element, $attr, tabsCtrl) {
270270
$element.addClass($scope.tabsType);
@@ -273,11 +273,11 @@ angular.module('ionic.ui.tabs', ['ionic.service.view', 'ionic.ui.bindHtml'])
273273
};
274274
})
275275

276-
.directive('tabControllerItem', ['$window', function($window) {
276+
.directive('ionTabControllerItem', ['$window', function($window) {
277277
return {
278278
restrict: 'E',
279279
replace: true,
280-
require: '^tabs',
280+
require: '^ionTabs',
281281
scope: {
282282
iconTitle: '@',
283283
icon: '@',
@@ -304,7 +304,7 @@ angular.module('ionic.ui.tabs', ['ionic.service.view', 'ionic.ui.bindHtml'])
304304
'<i class="icon {{icon}}" ng-if="icon"></i>' +
305305
'<i class="{{iconOn}}" ng-if="active"></i>' +
306306
'<i class="{{iconOff}}" ng-if="!active"></i>' +
307-
'<span bind-html-unsafe="iconTitle"></span>' +
307+
'<span ion-bind-html-unsafe="iconTitle"></span>' +
308308
'</a>'
309309
};
310310
}]);

0 commit comments

Comments
 (0)