Skip to content

Commit c82b44e

Browse files
authored
Merge pull request #69 from benmarch/ng-bootstrap-2
#65 and #67 only supporting angular bootstrap 2.x.x
2 parents ae4e649 + 4d5e1c2 commit c82b44e

File tree

7 files changed

+47
-53
lines changed

7 files changed

+47
-53
lines changed

app/templates/tour-step-popup.html

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
1-
<div class="popover tour-step"
2-
tooltip-animation-class="fade"
3-
uib-tooltip-classes
4-
ng-class="{ in: isOpen() }">
5-
<div class="arrow"></div>
1+
<div class="arrow"></div>
62

7-
<div class="popover-inner tour-step-inner">
8-
<h3 class="popover-title tour-step-title" ng-bind="title" ng-if="title"></h3>
9-
<div class="popover-content tour-step-content"
10-
uib-tooltip-template-transclude="originScope().tourStep.config('templateUrl') || 'tour-step-template.html'"
11-
tooltip-template-transclude-scope="originScope()"></div>
12-
</div>
3+
<div class="popover-inner tour-step-inner">
4+
<h3 class="popover-title tour-step-title" ng-bind="uibTitle" ng-if="uibTitle"></h3>
5+
<div class="popover-content tour-step-content"
6+
uib-tooltip-template-transclude="originScope().tourStep.config('templateUrl') || 'tour-step-template.html'"
7+
tooltip-template-transclude-scope="originScope()"></div>
138
</div>

app/tour-controller.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,7 @@
443443
self.pause = function () {
444444
return handleEvent(options.onPause).then(function () {
445445
tourStatus = statuses.PAUSED;
446+
uiTourBackdrop.hide();
446447
return self.hideStep(getCurrentStep());
447448
}).then(function () {
448449
self.emit('paused', getCurrentStep());

app/tour-step-directive.js

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -135,21 +135,16 @@
135135

136136
}]);
137137

138-
app.directive('tourStepPopup', ['TourConfig', 'smoothScroll', 'ezComponentHelpers', function (TourConfig, smoothScroll, ezComponentHelpers) {
138+
app.directive('tourStepPopup', ['TourConfig', 'smoothScroll', 'ezComponentHelpers', '$uibPosition', function (TourConfig, smoothScroll, ezComponentHelpers, $uibPostion) {
139139
return {
140-
restrict: 'EA',
141-
replace: true,
142-
scope: { title: '@', uibTitle: '@uibTitle', content: '@', placement: '@', animation: '&', isOpen: '&', originScope: '&'},
140+
restrict: 'A',
141+
scope: { uibTitle: '@', contentExp: '&', originScope: '&' },
143142
templateUrl: 'tour-step-popup.html',
144143
link: function (scope, element, attrs) {
145144
var step = scope.originScope().tourStep,
146145
ch = ezComponentHelpers.apply(null, arguments),
147-
scrollOffset = step.config('scrollOffset');
148-
149-
//UI Bootstrap name changed in 1.3.0
150-
if (!scope.title && scope.uibTitle) {
151-
scope.title = scope.uibTitle;
152-
}
146+
scrollOffset = step.config('scrollOffset'),
147+
isScrolling = false;
153148

154149
//for arrow styles, unfortunately UI Bootstrap uses attributes for styling
155150
attrs.$set('uib-popover-popup', 'uib-popover-popup');
@@ -159,7 +154,7 @@
159154
display: 'block'
160155
});
161156

162-
element.addClass(step.config('popupClass'));
157+
element.addClass([step.config('popupClass'), 'popover'].join(' '));
163158

164159
if (step.config('fixed')) {
165160
element.css('position', 'fixed');
@@ -184,10 +179,16 @@
184179
);
185180
}
186181

187-
scope.$watch('isOpen', function (isOpen) {
188-
if (isOpen() && !step.config('orphan') && step.config('scrollIntoView')) {
182+
scope.$watch(function () {
183+
var offset = $uibPostion.offset(element),
184+
isOpen = offset.width && offset.height;
185+
if (isOpen && !step.config('orphan') && step.config('scrollIntoView') && !isScrolling) {
186+
isScrolling = true;
189187
smoothScroll(element[0], {
190-
offset: scrollOffset
188+
offset: scrollOffset,
189+
callbackAfter: function () {
190+
isScrolling = false;
191+
}
191192
});
192193
}
193194
});

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"test/"
2020
],
2121
"dependencies": {
22-
"angular-bootstrap": ">=0.14.3 <2.0.0",
22+
"angular-bootstrap": ">=2.0.0",
2323
"ngSmoothScroll": "2.0.0",
2424
"angular-sanitize": ">=1.3",
2525
"ez-ng": "0.1.8",

dist/angular-ui-tour.js

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -657,6 +657,7 @@
657657
self.pause = function () {
658658
return handleEvent(options.onPause).then(function () {
659659
tourStatus = statuses.PAUSED;
660+
uiTourBackdrop.hide();
660661
return self.hideStep(getCurrentStep());
661662
}).then(function () {
662663
self.emit('paused', getCurrentStep());
@@ -1239,21 +1240,16 @@
12391240

12401241
}]);
12411242

1242-
app.directive('tourStepPopup', ['TourConfig', 'smoothScroll', 'ezComponentHelpers', function (TourConfig, smoothScroll, ezComponentHelpers) {
1243+
app.directive('tourStepPopup', ['TourConfig', 'smoothScroll', 'ezComponentHelpers', '$uibPosition', function (TourConfig, smoothScroll, ezComponentHelpers, $uibPostion) {
12431244
return {
1244-
restrict: 'EA',
1245-
replace: true,
1246-
scope: { title: '@', uibTitle: '@uibTitle', content: '@', placement: '@', animation: '&', isOpen: '&', originScope: '&'},
1245+
restrict: 'A',
1246+
scope: { uibTitle: '@', contentExp: '&', originScope: '&' },
12471247
templateUrl: 'tour-step-popup.html',
12481248
link: function (scope, element, attrs) {
12491249
var step = scope.originScope().tourStep,
12501250
ch = ezComponentHelpers.apply(null, arguments),
1251-
scrollOffset = step.config('scrollOffset');
1252-
1253-
//UI Bootstrap name changed in 1.3.0
1254-
if (!scope.title && scope.uibTitle) {
1255-
scope.title = scope.uibTitle;
1256-
}
1251+
scrollOffset = step.config('scrollOffset'),
1252+
isScrolling = false;
12571253

12581254
//for arrow styles, unfortunately UI Bootstrap uses attributes for styling
12591255
attrs.$set('uib-popover-popup', 'uib-popover-popup');
@@ -1263,7 +1259,7 @@
12631259
display: 'block'
12641260
});
12651261

1266-
element.addClass(step.config('popupClass'));
1262+
element.addClass([step.config('popupClass'), 'popover'].join(' '));
12671263

12681264
if (step.config('fixed')) {
12691265
element.css('position', 'fixed');
@@ -1288,10 +1284,16 @@
12881284
);
12891285
}
12901286

1291-
scope.$watch('isOpen', function (isOpen) {
1292-
if (isOpen() && !step.config('orphan') && step.config('scrollIntoView')) {
1287+
scope.$watch(function () {
1288+
var offset = $uibPostion.offset(element),
1289+
isOpen = offset.width && offset.height;
1290+
if (isOpen && !step.config('orphan') && step.config('scrollIntoView') && !isScrolling) {
1291+
isScrolling = true;
12931292
smoothScroll(element[0], {
1294-
offset: scrollOffset
1293+
offset: scrollOffset,
1294+
callbackAfter: function () {
1295+
isScrolling = false;
1296+
}
12951297
});
12961298
}
12971299
});
@@ -1303,18 +1305,13 @@
13031305

13041306
angular.module('bm.uiTour').run(['$templateCache', function($templateCache) {
13051307
$templateCache.put("tour-step-popup.html",
1306-
"<div class=\"popover tour-step\"\n" +
1307-
" tooltip-animation-class=\"fade\"\n" +
1308-
" uib-tooltip-classes\n" +
1309-
" ng-class=\"{ in: isOpen() }\">\n" +
1310-
" <div class=\"arrow\"></div>\n" +
1308+
"<div class=\"arrow\"></div>\n" +
13111309
"\n" +
1312-
" <div class=\"popover-inner tour-step-inner\">\n" +
1313-
" <h3 class=\"popover-title tour-step-title\" ng-bind=\"title\" ng-if=\"title\"></h3>\n" +
1314-
" <div class=\"popover-content tour-step-content\"\n" +
1315-
" uib-tooltip-template-transclude=\"originScope().tourStep.config('templateUrl') || 'tour-step-template.html'\"\n" +
1316-
" tooltip-template-transclude-scope=\"originScope()\"></div>\n" +
1317-
" </div>\n" +
1310+
"<div class=\"popover-inner tour-step-inner\">\n" +
1311+
" <h3 class=\"popover-title tour-step-title\" ng-bind=\"uibTitle\" ng-if=\"uibTitle\"></h3>\n" +
1312+
" <div class=\"popover-content tour-step-content\"\n" +
1313+
" uib-tooltip-template-transclude=\"originScope().tourStep.config('templateUrl') || 'tour-step-template.html'\"\n" +
1314+
" tooltip-template-transclude-scope=\"originScope()\"></div>\n" +
13181315
"</div>\n" +
13191316
"");
13201317
$templateCache.put("tour-step-template.html",

0 commit comments

Comments
 (0)