diff --git a/assets/cms/js/help/guide-manager.js b/assets/cms/js/help/guide-manager.js
index 36576ecf..d085897b 100644
--- a/assets/cms/js/help/guide-manager.js
+++ b/assets/cms/js/help/guide-manager.js
@@ -88,9 +88,24 @@
get: function() {
return ConcreteHelpGuideManager;
- }
-
+ },
+ // Temporary fix for https://github.com/IGreatlyDislikeJavascript/bootstrap-tourist/issues/50
+ POSITIONING_BUG_HACK_ID: 'ccm-help-tour-hack',
+
+ // Temporary fix for https://github.com/IGreatlyDislikeJavascript/bootstrap-tourist/issues/50
+ createPositioningBugHackElement: function($target) {
+ var $hack;
+ $hack = $('
').css({
+ position: 'absolute',
+ left: $target.offset().left,
+ top: $target.offset().top,
+ width: $target.width(),
+ height: $target.height(),
+ });
+ $(document.body).append($hack);
+ return $hack;
+ },
};
diff --git a/assets/cms/js/help/guides/add-content-edit-mode.js b/assets/cms/js/help/guides/add-content-edit-mode.js
index b3312cba..b675c2a7 100644
--- a/assets/cms/js/help/guides/add-content-edit-mode.js
+++ b/assets/cms/js/help/guides/add-content-edit-mode.js
@@ -3,7 +3,8 @@
;(function(global, $) {
- var $tmp;
+ var $hack;
+
ConcreteHelpGuideManager.register('add-content-edit-mode', function() {
var i18n = ccmi18n_helpGuides['add-content-edit-mode'];
var steps = [{
@@ -16,20 +17,38 @@
placement: 'right',
preventInteraction: true,
},{
- element: '#ccm-panel-add-block .ccm-panel-header-accordion',
+ element: '#' + ConcreteHelpGuideManager.POSITIONING_BUG_HACK_ID,
content: '' + i18n[2].title + '
' + i18n[2].text,
placement: 'right',
preventInteraction: true,
+ onShow: function(tour) {
+ $hack = ConcreteHelpGuideManager.createPositioningBugHackElement($('#ccm-panel-add-block .ccm-panel-header-accordion'));
+ },
+ onHidden: function(tour) {
+ $hack.remove();
+ },
},{
- element: '#ccm-panel-add-block input[data-input=search-blocks]',
+ element: '#' + ConcreteHelpGuideManager.POSITIONING_BUG_HACK_ID,
content: '' + i18n[3].title + '
' + i18n[3].text,
placement: 'right',
preventInteraction: true,
+ onShow: function(tour) {
+ $hack = ConcreteHelpGuideManager.createPositioningBugHackElement($('#ccm-panel-add-block input[data-input=search-blocks]'));
+ },
+ onHidden: function(tour) {
+ $hack.remove();
+ },
},{
- element: '#ccm-panel-add-block .ccm-panel-add-block-draggable-block-type:first>*:first',
+ element: '#' + ConcreteHelpGuideManager.POSITIONING_BUG_HACK_ID,
content: '' + i18n[4].title + '
' + i18n[4].text,
placement: 'right',
preventInteraction: true,
+ onShow: function(tour) {
+ $hack = ConcreteHelpGuideManager.createPositioningBugHackElement($('#ccm-panel-add-block .ccm-panel-add-block-draggable-block-type:first'));
+ },
+ onHidden: function(tour) {
+ $hack.remove();
+ },
}];
return new Tour({
diff --git a/assets/cms/js/help/guides/add-page.js b/assets/cms/js/help/guides/add-page.js
index a11e8025..d89de4e6 100644
--- a/assets/cms/js/help/guides/add-page.js
+++ b/assets/cms/js/help/guides/add-page.js
@@ -3,6 +3,8 @@
;(function(global, $) {
+ var $hack;
+
ConcreteHelpGuideManager.register('add-page', function() {
var i18n = ccmi18n_helpGuides['add-page'];
var hideOverlay = function() {
@@ -29,13 +31,25 @@
ConcreteEvent.unsubscribe('PanelOpen.concreteAddPageTour');
}
},{
- element: '#ccm-panel-sitemap header:nth-of-type(1)',
+ element: '#' + ConcreteHelpGuideManager.POSITIONING_BUG_HACK_ID,
content: '' + i18n[1].title + '
' + i18n[1].text,
placement: 'left',
+ onShow: function(tour) {
+ $hack = ConcreteHelpGuideManager.createPositioningBugHackElement($('#ccm-panel-sitemap header:nth-of-type(1)>*:first'));
+ },
+ onHidden: function(tour) {
+ $hack.remove();
+ },
},{
- element: '#ccm-panel-sitemap header:nth-of-type(2)',
+ element: '#' + ConcreteHelpGuideManager.POSITIONING_BUG_HACK_ID,
content: '' + i18n[2].title + '
' + i18n[2].text,
placement: 'left',
+ onShow: function(tour) {
+ $hack = ConcreteHelpGuideManager.createPositioningBugHackElement($('#ccm-panel-sitemap header:nth-of-type(2)>*:first'));
+ },
+ onHidden: function(tour) {
+ $hack.remove();
+ },
}];
return new Tour({
diff --git a/assets/cms/js/help/guides/dashboard.js b/assets/cms/js/help/guides/dashboard.js
index 102ad7db..a4e6ee91 100644
--- a/assets/cms/js/help/guides/dashboard.js
+++ b/assets/cms/js/help/guides/dashboard.js
@@ -3,6 +3,8 @@
;(function(global, $) {
+ var $hack;
+
ConcreteHelpGuideManager.register('dashboard', function() {
var i18n = ccmi18n_helpGuides.dashboard;
var hideOverlay = function() {
@@ -29,10 +31,16 @@
ConcreteEvent.unsubscribe('PanelOpen.concreteDashboardTour');
},
},{
- element: 'div#ccm-panel-dashboard ul.nav a[href$=sitemap]:first',
+ element: '#' + ConcreteHelpGuideManager.POSITIONING_BUG_HACK_ID,
content: '' + i18n[1].title + '
' + i18n[1].text,
placement: 'left',
preventInteraction: true,
+ onShow: function(tour) {
+ $hack = ConcreteHelpGuideManager.createPositioningBugHackElement($('div#ccm-panel-dashboard ul.nav a[href$=sitemap]:first').parent());
+ },
+ onHidden: function(tour) {
+ $hack.remove();
+ },
}];
return new Tour({
diff --git a/assets/cms/js/help/guides/personalize.js b/assets/cms/js/help/guides/personalize.js
index b155545e..fee4b63b 100644
--- a/assets/cms/js/help/guides/personalize.js
+++ b/assets/cms/js/help/guides/personalize.js
@@ -3,6 +3,8 @@
;(function(global, $) {
+ var $hack;
+
ConcreteHelpGuideManager.register('personalize', function() {
var i18n = ccmi18n_helpGuides.personalize;
var hideOverlay = function() {
@@ -29,12 +31,18 @@
ConcreteEvent.unsubscribe('PanelOpen.concretePersonalizeTour');
}
},{
- element: 'a[data-launch-panel-detail=page-design]:first',
+ element: '#' + ConcreteHelpGuideManager.POSITIONING_BUG_HACK_ID,
content: '' + i18n[1].title + '
' + i18n[1].text,
- onShown: ConcreteHelpGuideManager.updateStepFooter,
- onHide: function() {
- ConcreteEvent.unsubscribe('PanelOpenDetail.concretePersonalizeTour');
- }
+ onShow: function(tour) {
+ $hack = ConcreteHelpGuideManager.createPositioningBugHackElement($('a[data-launch-panel-detail=page-design]:first'));
+ },
+ onShown: ConcreteHelpGuideManager.updateStepFooter,
+ onHide: function() {
+ ConcreteEvent.unsubscribe('PanelOpenDetail.concretePersonalizeTour');
+ },
+ onHidden: function(tour) {
+ $hack.remove();
+ },
},{
element: 'span.ccm-page-design-theme-customize',
content: '' + i18n[2].title + '
' + i18n[2].text,