From 67e388ae4be56dac957c5d268069ad4283877b45 Mon Sep 17 00:00:00 2001 From: vbarkasov Date: Sun, 1 Apr 2018 21:08:22 +0700 Subject: [PATCH] Styling and replace static help to guide tour --- src/apps/callflows/app.js | 103 +++++++++++++- src/apps/callflows/i18n/en-US.json | 9 ++ src/apps/callflows/style/app.css | 131 ++++++++++-------- .../style/static/images/callflow_help.gif | Bin 44043 -> 0 bytes .../static/images/callflows-drag-and-drop.gif | Bin 0 -> 11870 bytes .../callflows/views/callflow-manager.html | 11 +- src/apps/callflows/views/layout.html | 2 +- src/apps/callflows/views/rowNumber.html | 4 +- src/css/vendor/bootstrap-tour.css | 55 ++++++++ src/js/vendor/bootstrap-tour.min.js | 22 +++ 10 files changed, 268 insertions(+), 69 deletions(-) delete mode 100644 src/apps/callflows/style/static/images/callflow_help.gif create mode 100644 src/apps/callflows/style/static/images/callflows-drag-and-drop.gif create mode 100644 src/css/vendor/bootstrap-tour.css create mode 100644 src/js/vendor/bootstrap-tour.min.js diff --git a/src/apps/callflows/app.js b/src/apps/callflows/app.js index 0e18cac..eb0fb16 100644 --- a/src/apps/callflows/app.js +++ b/src/apps/callflows/app.js @@ -20,7 +20,8 @@ define(function(require){ './submodules/vmbox/vmbox', './submodules/featurecodes/featurecodes', './submodules/temporalset/temporalset', - './submodules/callcenter/callcenter' + './submodules/callcenter/callcenter', + 'bootstraptour' ]); var app = { @@ -147,12 +148,81 @@ define(function(require){ .append(callflowsTemplate); container.find('.search-query').focus(); - self.hackResize(callflowsTemplate); + + if($('.js-callflows-list .list-element').length === 0) { + self.initGuideTour(); + } } }); }, + initGuideTour: function() { + var self = this; + var i18n = self.i18n.active(); + + self.tour = new Tour({ + name: 'callflow-guide', + backdrop: true, + debug: true, + template: '' + + '
' + + '
' + + '

' + + '
' + + '
' + + '' + + '' + + '
' + + '
', + steps: [ + { + element: '.js-callflow-edition .js-list-add', + placement: 'right', + content: i18n.callflows.guide.addCallflow, + onShown: function (tour) { + $('.popover').find('[data-role="prev"]').remove(); + }, + onNext: function (tour) { + $('.js-callflow-edition .js-list-add').click(); + } + }, + { + element: '#ws_callflow .js-add-number', + placement: 'bottom', + content: i18n.callflows.guide.addNumber, + onShown: function (tour) { + $('.popover').find('[data-role="prev"]').remove(); + }, + onNext: function (tour) { + $('#ws_callflow .js-add-number').click(); + tour.end(); + } + }, + { + element: '#ws_cf_tools > div', + placement: 'left', + content: i18n.callflows.guide.dragAndDropAction, + onShown: function (tour) { + $('.popover').find('[data-role="next"],[data-role="prev"]').remove(); + } + } + ]}); + + self.tour.init(); + if(self.tour.ended()) { + self.tour.restart(); + } + + if(self.tour.getCurrentStep() !== 0) { + self.tour.goTo(0); + } + }, + bindCallflowsEvents: function(template, container) { var self = this, callflowList = template.find('.list-container .list'), @@ -173,6 +243,17 @@ define(function(require){ .addClass('edition-mode'); self.editCallflow(); + + if($('.js-callflows-list .list-element').length === 0) { + if(self.tour.ended()) { + self.tour.restart(); + } + if(self.tour.getCurrentStep() !== 1) { + self.tour.goTo(1); + } + } else { + delete self.tour; + } }); // Edit Callflow @@ -910,7 +991,7 @@ define(function(require){ delete self.original_flow; // clear original_flow - $('#callflow-view .callflow_help').hide(); + $('.js-callflow-intro').hide(); self.resetFlow(); @@ -1390,6 +1471,9 @@ define(function(require){ } $('.number_column.empty', node_html).click(function() { + if(self.tour) { + self.tour.end(); + } self.listNumbers(function(phoneNumbers) { var parsedNumbers = []; @@ -1479,6 +1563,16 @@ define(function(require){ popup.dialog('close'); self.repaintFlow(); + + if(self.tour + && $('#ws_callflow .number_column').not('.js-add-number').length === 1) { + if(self.tour.ended()) { + self.tour.restart(); + } + if(self.tour.getCurrentStep() !== 2) { + self.tour.goTo(2); + } + } } else { monster.ui.alert(self.i18n.active().oldCallflows.you_didnt_select); @@ -1772,6 +1866,9 @@ define(function(require){ $(this).addClass('inactive'); }, drag: function () { + if(self.tour) { + self.tour.end(); + } $('.callflow_helpbox_wrapper', '#callflow-view').hide(); }, stop: function () { diff --git a/src/apps/callflows/i18n/en-US.json b/src/apps/callflows/i18n/en-US.json index 9ee7419..5d97d99 100644 --- a/src/apps/callflows/i18n/en-US.json +++ b/src/apps/callflows/i18n/en-US.json @@ -1130,6 +1130,15 @@ "thereIsCurrentlyNoUser": "There is currently no user in this queue", "userLabel": "Users list", "selectQueue": "Select Queue" + }, + "introTitle": "What is Callflow?", + "introDescription": "A callflow defines what happens when someone dials an extension or phone number.", + "guide": { + "addCallflow": "Click this button to create new callflow", + "addNumber": "Click this button to add phone or extension number into callflow
When someone dials these number, they will behave according to the way you set up the callflow in the next step.", + "dragAndDropAction": "Drag actions from the actions panel to the callflow box. You can customize a callflow by adding more actions.
", + "nextBtnText": "Next ยป", + "endTourBtnText": "Close" } }, "oldCallflows": { diff --git a/src/apps/callflows/style/app.css b/src/apps/callflows/style/app.css index c610d91..e6bbef1 100644 --- a/src/apps/callflows/style/app.css +++ b/src/apps/callflows/style/app.css @@ -10,6 +10,7 @@ @import url('../submodules/featurecodes/featurecodes.css'); @import url('../submodules/temporalset/temporalset.css'); @import url('../submodules/callcenter/callcenter.css'); +@import url('../../../css/vendor/bootstrap-tour.css'); /* style.css */ #ws_callflow > .callflow { float: left; @@ -20,7 +21,7 @@ } #ws_callflow .callflow .root > .top_bar { - background: #22A5FF; + background: #0081D6; height: 25px; text-align: left; border-radius: 6px 6px 0 0; @@ -43,16 +44,12 @@ } #ws_callflow .callflow .root > .content .number_row { - background-image: url(static/images/nav_line_horizontal.jpg); - background-position: bottom; - background-repeat: repeat-x; - height: 32px; - background-color: #303039; + height: 30px; + background: #0081D6; + border-top: 1px solid white; } #ws_callflow .callflow .root > .content .number_row:last-child { - background: none; - background-color: #303039; height: 30px; border-radius: 0px 0px 2px 2px; } @@ -69,15 +66,13 @@ } #ws_callflow .callflow .root > .content .number_column.full { - width: 312px; + width: 100%; text-align: center; } #ws_callflow .callflow .root > .content .number_column.second { - width: 163px; - background-image: url(static/images/nav_line.jpg); - background-position: left; - background-repeat: repeat-y; + width: 162px; + border-left: 1px solid white; } #ws_callflow .callflow .root > .content .number_column.first { @@ -85,10 +80,15 @@ } #ws_callflow .callflow .root > .content .number_column.empty { - color: #A0A0A0; + color: white; cursor: default; } +#ws_callflow .callflow .root > .content .number_column.add-number { + cursor: pointer; + background: #22A5FF; +} + #ws_callflow .callflow .root > .content .number_column .delete { background-image: url(static/images/btn_delete.png); background-repeat: no-repeat; @@ -103,10 +103,6 @@ cursor: pointer; } -#ws_callflow .callflow .root > .content .number_column .delete:hover { - background-image: url(static/images/btn_delete_blue.png); -} - #ws_callflow .callflow .node { display: inline-block; cursor: -moz-grab; @@ -129,10 +125,7 @@ right: 0px; padding: 5px; cursor: pointer; -} - -#ws_callflow .callflow .node .node-options .delete:hover { - background-image: url(static/images/btn_delete_blue.png); + color: #555; } #ws_callflow .tool .fa { @@ -142,7 +135,7 @@ #ws_callflow .tools .category { text-align: center; - background: #22A5FF; + background: #0081D6; background-position: top center; cursor: default; border-bottom: 1px solid white; @@ -150,7 +143,7 @@ #ws_callflow .tools .category .content { background-color: white; - border: 1px solid #22A5FF; + border: 1px solid #0081D6; padding: 1px 0px 3px; } @@ -187,7 +180,7 @@ } #ws_callflow .tools .inactive .open:hover { - background: #0081D6; + background: #22A5FF; } #ws_callflow .tools .inactive .open::before { @@ -224,15 +217,16 @@ z-index: 19; height: 53px; border-radius: 6px; - background: #22A5FF; + background: #0081D6; color: white; - border: 1px solid #22A5FF; + border: 1px solid #0081D6; padding-top: 7px; + width: 76px; } #ws_callflow .tools .tool .action:hover { - background: #0081D6; - border: 1px solid #0081D6; + background: #22A5FF; + border: 1px solid #22A5FF; } #ws_callflow .tools .app_list_nav { @@ -240,9 +234,9 @@ } #ws_callflow .callflow .icons_black.node { - width: 143px; + width: 132px; height: 84px; - background: #303039; + background: #0081D6; border-radius: 6px; } @@ -319,19 +313,20 @@ } #ws_callflow .a_link_option { - color: #EEE; - font-size: 12px; + color: white; + font-size: 17px; + display: block; + padding: 2px 0; } #ws_callflow .div_option { display: inline-block; - height: 15px; - line-height: 15px; + line-height: 1; width: 131px; - background-color: #474747; - margin: 0; - padding: 0; - border: 1px solid #303030; + background-color: #22A5FF; + margin: 0 0 2px; + padding: 2px 0; + border: 1px solid #22A5FF; border-radius: 2px; } @@ -492,16 +487,13 @@ overflow: visible; } -#callflow_container .callflow-help, .popup_help .callflow-help { - background: url(static/images/callflow_help.gif) no-repeat center; - height: 644px; - width: 847px; - margin: 20px auto auto; - border-radius: 10px; +#callflow_container .callflow-intro { + padding: 0 0 0 40px; } -#callflow_container .callflow-content.edition-mode .callflow-help { - display: none; +#callflow_container .callflow-intro .callflow-intro-title { + font-weight: normal; + font-size: 23px; } #callflow_container .callflow-content.listing-mode #ws_callflow { @@ -598,8 +590,8 @@ } #ws_callflow .tools .search-box { - border-left: 1px solid #22A5FF; - border-right: 1px solid #22A5FF; + border-left: 1px solid #0081D6; + border-right: 1px solid #0081D6; position: relative; } @@ -636,7 +628,7 @@ } #ws_callflow .title { - background: #22A5FF; + background: #0081D6; font-size: 15px; height: 25px; line-height: 25px; @@ -648,7 +640,8 @@ #callflow_container .wrapper_callflow_buttons { display: block; - width: 322px; + width: 100%; + text-align: center; margin: auto; margin-bottom: 5px; } @@ -657,7 +650,7 @@ width: 114px; text-align: center; display: inline-block; - margin-left: 0px; + margin-left: 0; } #callflow_container .wrapper_callflow_buttons .monster-button:first-child { @@ -703,13 +696,13 @@ } @-webkit-keyframes pulse-box { - 0% { box-shadow: 0px 0px 0px #0081D6 inset, 0px 0px 0px #0081D6; } - 100% { box-shadow: 0px 0px 30px #0081D6 inset, 0px 0px 10px #0081D6; } + 0% { box-shadow: 0px 0px 0px #09DB4B inset, 0px 0px 0px #09DB4B; } + 100% { box-shadow: 0px 0px 30px #09DB4B inset, 0px 0px 10px #09DB4B; } } @keyframes pulse-box { - 0% { box-shadow: 0px 0px 0px #0081D6 inset, 0px 0px 0px #0081D6; } - 100% { box-shadow: 0px 0px 30px #0081D6 inset, 0px 0px 10px #0081D6; } + 0% { box-shadow: 0px 0px 0px #09DB4B inset, 0px 0px 0px #09DB4B; } + 100% { box-shadow: 0px 0px 30px #09DB4B inset, 0px 0px 10px #09DB4B; } } /* JR's customization */ @@ -1644,14 +1637,14 @@ .callflows-port .monster-button-success, #callflow_container .monster-button-success { color: white; - border-color: #22A5FF; - background: #22A5FF; + border-color: #09A74B; + background: #09A74B; } .callflows-port .monster-button-success:hover, #callflow_container .monster-button-success:hover { - border-color: #0081D6; - background: #0081D6; + border-color: #18B65A; + background: #18B65A; } .callflows-port .items-selector .box-selector .item-selector { @@ -1748,3 +1741,21 @@ background: transparent; color: #22A5FF; } + +.callflows-drag-and-drop { + width: 285px; + height: 148px; + background: url('static/images/callflows-drag-and-drop.gif') no-repeat; +} + + +/* + * Bootstrap guide tour - override styles + */ +.popover[class*="tour-"] { + min-width: 350px; +} + +.tour-backdrop { + opacity: 0.6; +} \ No newline at end of file diff --git a/src/apps/callflows/style/static/images/callflow_help.gif b/src/apps/callflows/style/static/images/callflow_help.gif deleted file mode 100644 index 760800029d1a0133eaf19d30def377abe7754bc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44043 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 WdKVK+TYwEG!y|f!#SaGu5d05Uw;u@r diff --git a/src/apps/callflows/style/static/images/callflows-drag-and-drop.gif b/src/apps/callflows/style/static/images/callflows-drag-and-drop.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e8344fad812849e2ed84d00b8ff7568807b99ba GIT binary patch literal 11870 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 a+1_sXa4nvO%#}Aa`)}&(3@-*a{yzW$vH{Hi literal 0 HcmV?d00001 diff --git a/src/apps/callflows/views/callflow-manager.html b/src/apps/callflows/views/callflow-manager.html index fc72a7d..327f9fb 100644 --- a/src/apps/callflows/views/callflow-manager.html +++ b/src/apps/callflows/views/callflow-manager.html @@ -4,11 +4,11 @@ -
+
{{ i18n.callflows.addCallflow }}
-
+
    @@ -32,7 +32,12 @@
    -
    +
    +

    + {{ i18n.callflows.introTitle }} +

    +

    {{ i18n.callflows.introDescription }}

    +
    diff --git a/src/apps/callflows/views/layout.html b/src/apps/callflows/views/layout.html index c353df5..49d42dd 100644 --- a/src/apps/callflows/views/layout.html +++ b/src/apps/callflows/views/layout.html @@ -38,5 +38,5 @@
    -
    +
    \ No newline at end of file diff --git a/src/apps/callflows/views/rowNumber.html b/src/apps/callflows/views/rowNumber.html index 240d4af..e19a37d 100644 --- a/src/apps/callflows/views/rowNumber.html +++ b/src/apps/callflows/views/rowNumber.html @@ -39,9 +39,9 @@ {{/compare}}
    -
    {{ i18n.oldCallflows.click_to_add_number }}
    +
    {{ i18n.oldCallflows.click_to_add_number }}
    {{else}} -
    {{ i18n.oldCallflows.click_to_add_number }}
    +
    {{ i18n.oldCallflows.click_to_add_number }}
    {{/if}} {{/if}}
    diff --git a/src/css/vendor/bootstrap-tour.css b/src/css/vendor/bootstrap-tour.css new file mode 100644 index 0000000..ce650de --- /dev/null +++ b/src/css/vendor/bootstrap-tour.css @@ -0,0 +1,55 @@ +/* ======================================================================== + * bootstrap-tour - v0.11.0 + * http://bootstraptour.com + * ======================================================================== + * Copyright 2012-2015 Ulrich Sossou + * + * ======================================================================== + * Licensed under the MIT License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://opensource.org/licenses/MIT + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== + */ + +.tour-backdrop { + position: absolute; + z-index: 1100; + background-color: #000; + opacity: 0.8; + filter: alpha(opacity=80); +} +.popover[class*="tour-"] { + z-index: 1102; +} +.popover[class*="tour-"] .popover-navigation { + padding: 9px 14px; + overflow: hidden; +} +.popover[class*="tour-"] .popover-navigation *[data-role="end"] { + float: right; +} +.popover[class*="tour-"] .popover-navigation *[data-role="prev"], +.popover[class*="tour-"] .popover-navigation *[data-role="next"], +.popover[class*="tour-"] .popover-navigation *[data-role="end"] { + cursor: pointer; +} +.popover[class*="tour-"] .popover-navigation *[data-role="prev"].disabled, +.popover[class*="tour-"] .popover-navigation *[data-role="next"].disabled, +.popover[class*="tour-"] .popover-navigation *[data-role="end"].disabled { + cursor: default; +} +.popover[class*="tour-"].orphan { + position: fixed; + margin-top: 0; +} +.popover[class*="tour-"].orphan .arrow { + display: none; +} diff --git a/src/js/vendor/bootstrap-tour.min.js b/src/js/vendor/bootstrap-tour.min.js new file mode 100644 index 0000000..7a18302 --- /dev/null +++ b/src/js/vendor/bootstrap-tour.min.js @@ -0,0 +1,22 @@ +/* ======================================================================== + * bootstrap-tour - v0.12.0 + * http://bootstraptour.com + * ======================================================================== + * Copyright 2012-2015 Ulrich Sossou + * + * ======================================================================== + * Licensed under the MIT License (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://opensource.org/licenses/MIT + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== + */ + +var bind=function(t,e){return function(){return t.apply(e,arguments)}};!function(t,e){"function"==typeof define&&define.amd?define(["jquery"],function(o){return t.Tour=e(o)}):"object"==typeof exports?module.exports=e(require("jquery")):t.Tour=e(t.jQuery)}(window,function(t){var e;return e=window.document,function(){function o(e){this._showPopoverAndOverlay=bind(this._showPopoverAndOverlay,this);var o;try{o=window.localStorage}catch(t){o=!1}this._options=t.extend({name:"tour",steps:[],container:"body",autoscroll:!0,keyboard:!0,storage:o,debug:!1,backdrop:!1,backdropContainer:"body",backdropPadding:0,redirect:!0,orphan:!1,duration:!1,delay:!1,basePath:"",template:'',afterSetState:function(t,e){},afterGetState:function(t,e){},afterRemoveState:function(t){},onStart:function(t){},onEnd:function(t){},onShow:function(t){},onShown:function(t){},onHide:function(t){},onHidden:function(t){},onNext:function(t){},onPrev:function(t){},onPause:function(t,e){},onResume:function(t,e){},onRedirectError:function(t){}},e),this._force=!1,this._inited=!1,this._current=null,this.backdrops=[]}return o.prototype.addSteps=function(t){var e,o,n;for(e=0,o=t.length;e

    ",next:e===this._options.steps.length-1?-1:e+1,prev:e-1,animation:!0,container:this._options.container,autoscroll:this._options.autoscroll,backdrop:this._options.backdrop,backdropContainer:this._options.backdropContainer,backdropPadding:this._options.backdropPadding,redirect:this._options.redirect,reflexElement:this._options.steps[e].element,backdropElement:this._options.steps[e].element,orphan:this._options.orphan,duration:this._options.duration,delay:this._options.delay,template:this._options.template,onShow:this._options.onShow,onShown:this._options.onShown,onHide:this._options.onHide,onHidden:this._options.onHidden,onNext:this._options.onNext,onPrev:this._options.onPrev,onPause:this._options.onPause,onResume:this._options.onResume,onRedirectError:this._options.onRedirectError},this._options.steps[e])},o.prototype.init=function(t){return this._force=t,this.ended()?(this._debug("Tour ended, init prevented."),this):(this.setCurrentStep(),this._initMouseNavigation(),this._initKeyboardNavigation(),this._onResize(function(t){return function(){return t.showStep(t._current)}}(this)),this._onScroll(function(t){return function(){return t._showPopoverAndOverlay(t._current)}}(this)),null!==this._current&&this.showStep(this._current),this._inited=!0,this)},o.prototype.start=function(t){var e;return null==t&&(t=!1),this._inited||this.init(t),null===this._current&&(e=this._makePromise(null!=this._options.onStart?this._options.onStart(this):void 0),this._callOnPromiseDone(e,this.showStep,0)),this},o.prototype.next=function(){var t;return t=this.hideStep(this._current,this._current+1),this._callOnPromiseDone(t,this._showNextStep)},o.prototype.prev=function(){var t;return t=this.hideStep(this._current,this._current-1),this._callOnPromiseDone(t,this._showPrevStep)},o.prototype.goTo=function(t){var e;return e=this.hideStep(this._current,t),this._callOnPromiseDone(e,this.showStep,t)},o.prototype.end=function(){var o,n;return o=function(o){return function(n){if(t(e).off("click.tour-"+o._options.name),t(e).off("keyup.tour-"+o._options.name),t(window).off("resize.tour-"+o._options.name),t(window).off("scroll.tour-"+o._options.name),o._setState("end","yes"),o._inited=!1,o._force=!1,o._clearTimer(),null!=o._options.onEnd)return o._options.onEnd(o)}}(this),n=this.hideStep(this._current),this._callOnPromiseDone(n,o)},o.prototype.ended=function(){return!this._force&&!!this._getState("end")},o.prototype.restart=function(){return this._removeState("current_step"),this._removeState("end"),this._removeState("redirect_to"),this.start()},o.prototype.pause=function(){var t;return(t=this.getStep(this._current))&&t.duration?(this._paused=!0,this._duration-=(new Date).getTime()-this._start,window.clearTimeout(this._timer),this._debug("Paused/Stopped step "+(this._current+1)+" timer ("+this._duration+" remaining)."),null!=t.onPause?t.onPause(this,this._duration):void 0):this},o.prototype.resume=function(){var t;return(t=this.getStep(this._current))&&t.duration?(this._paused=!1,this._start=(new Date).getTime(),this._duration=this._duration||t.duration,this._timer=window.setTimeout(function(t){return function(){return t._isLast()?t.next():t.end()}}(this),this._duration),this._debug("Started step "+(this._current+1)+" timer with duration "+this._duration),null!=t.onResume&&this._duration!==t.duration?t.onResume(this,this._duration):void 0):this},o.prototype.hideStep=function(e,o){var n,i,r,s;if(s=this.getStep(e))return this._clearTimer(),r=this._makePromise(null!=s.onHide?s.onHide(this,e):void 0),i=function(n){return function(i){var r,a;if((r=t(s.element)).data("bs.popover")||r.data("popover")||(r=t("body")),r.popover("destroy").removeClass("tour-"+n._options.name+"-element tour-"+n._options.name+"-"+e+"-element").removeData("bs.popover"),s.reflex&&t(s.reflexElement).removeClass("tour-step-element-reflex").off(n._reflexEvent(s.reflex)+".tour-"+n._options.name),s.backdrop&&((a=null!=o&&n.getStep(o))&&a.backdrop&&a.backdropElement===s.backdropElement||n._hideOverlayElement(s)),null!=s.onHidden)return s.onHidden(n)}}(this),n=s.delay.hide||s.delay,"[object Number]"==={}.toString.call(n)&&n>0?(this._debug("Wait "+n+" milliseconds to hide the step "+(this._current+1)),window.setTimeout(function(t){return function(){return t._callOnPromiseDone(r,i)}}(this),n)):this._callOnPromiseDone(r,i),r},o.prototype.showStep=function(t){var o,n,i,r,s,a;return this.ended()?(this._debug("Tour ended, showStep prevented."),this):(a=this.getStep(t))&&(s=t0?(this._debug("Wait "+i+" milliseconds to show the step "+(this._current+1)),window.setTimeout(function(t){return function(){return t._callOnPromiseDone(n,r)}}(this),i)):this._callOnPromiseDone(n,r),n):void 0},o.prototype.getCurrentStep=function(){return this._current},o.prototype.setCurrentStep=function(t){return null!=t?(this._current=t,this._setState("current_step",t)):(this._current=this._getState("current_step"),this._current=null===this._current?null:parseInt(this._current,10)),this},o.prototype.redraw=function(){return this._showOverlayElement(this.getStep(this.getCurrentStep()))},o.prototype._setState=function(t,e){var o;if(this._options.storage){o=this._options.name+"_"+t;try{this._options.storage.setItem(o,e)}catch(t){t.code===DOMException.QUOTA_EXCEEDED_ERR&&this._debug("LocalStorage quota exceeded. State storage failed.")}return this._options.afterSetState(o,e)}return null==this._state&&(this._state={}),this._state[t]=e},o.prototype._removeState=function(t){var e;return this._options.storage?(e=this._options.name+"_"+t,this._options.storage.removeItem(e),this._options.afterRemoveState(e)):null!=this._state?delete this._state[t]:void 0},o.prototype._getState=function(t){var e,o;return this._options.storage?(e=this._options.name+"_"+t,o=this._options.storage.getItem(e)):null!=this._state&&(o=this._state[t]),void 0!==o&&"null"!==o||(o=null),this._options.afterGetState(t,o),o},o.prototype._showNextStep=function(){var t,e,o;return o=this.getStep(this._current),e=function(t){return function(e){return t.showStep(o.next)}}(this),t=this._makePromise(null!=o.onNext?o.onNext(this):void 0),this._callOnPromiseDone(t,e)},o.prototype._showPrevStep=function(){var t,e,o;return o=this.getStep(this._current),e=function(t){return function(e){return t.showStep(o.prev)}}(this),t=this._makePromise(null!=o.onPrev?o.onPrev(this):void 0),this._callOnPromiseDone(t,e)},o.prototype._debug=function(t){if(this._options.debug)return window.console.log("Bootstrap Tour '"+this._options.name+"' | "+t)},o.prototype._isRedirect=function(t,e,o){var n;return!(null==t||""===t||!("[object RegExp]"==={}.toString.call(t)&&!t.test(o.origin)||"[object String]"==={}.toString.call(t)&&this._isHostDifferent(t,o)))||(n=[o.pathname,o.search,o.hash].join(""),null!=e&&""!==e&&("[object RegExp]"==={}.toString.call(e)&&!e.test(n)||"[object String]"==={}.toString.call(e)&&this._isPathDifferent(e,n)))},o.prototype._isHostDifferent=function(t,e){switch({}.toString.call(t)){case"[object RegExp]":return!t.test(e.origin);case"[object String]":return this._getProtocol(t)!==this._getProtocol(e.href)||this._getHost(t)!==this._getHost(e.href);default:return!0}},o.prototype._isPathDifferent=function(t,e){return this._getPath(t)!==this._getPath(e)||!this._equal(this._getQuery(t),this._getQuery(e))||!this._equal(this._getHash(t),this._getHash(e))},o.prototype._isJustPathHashDifferent=function(t,e,o){var n;return(null==t||""===t||!this._isHostDifferent(t,o))&&(n=[o.pathname,o.search,o.hash].join(""),"[object String]"==={}.toString.call(e)&&(this._getPath(e)===this._getPath(n)&&this._equal(this._getQuery(e),this._getQuery(n))&&!this._equal(this._getHash(e),this._getHash(n))))},o.prototype._redirect=function(o,n,i){var r;return t.isFunction(o.redirect)?o.redirect.call(this,i):(r="[object String]"==={}.toString.call(o.host)?""+o.host+i:i,this._debug("Redirect to "+r),this._getState("redirect_to")!==""+n?(this._setState("redirect_to",""+n),e.location.href=r):(this._debug("Error redirection loop to "+i),this._removeState("redirect_to"),null!=o.onRedirectError?o.onRedirectError(this):void 0))},o.prototype._isOrphan=function(e){return null==e.element||!t(e.element).length||t(e.element).is(":hidden")&&"http://www.w3.org/2000/svg"!==t(e.element)[0].namespaceURI},o.prototype._isLast=function(){return this._current").parent().html()},o.prototype._reflexEvent=function(t){return"[object Boolean]"==={}.toString.call(t)?"click":t},o.prototype._reposition=function(o,n){var i,r,s,a,h,p,u;if(a=o[0].offsetWidth,r=o[0].offsetHeight,u=o.offset(),h=u.left,p=u.top,(i=t(e).outerHeight()-u.top-o.outerHeight())<0&&(u.top=u.top+i),(s=t("html").outerWidth()-u.left-o.outerWidth())<0&&(u.left=u.left+s),u.top<0&&(u.top=0),u.left<0&&(u.left=0),o.offset(u),"bottom"===n.placement||"top"===n.placement){if(h!==u.left)return this._replaceArrow(o,2*(u.left-h),a,"left")}else if(p!==u.top)return this._replaceArrow(o,2*(u.top-p),r,"top")},o.prototype._center=function(e){return e.css("top",t(window).outerHeight()/2-e.outerHeight()/2)},o.prototype._replaceArrow=function(t,e,o,n){return t.find(".arrow").css(n,e?50*(1-e/o)+"%":"")},o.prototype._scrollIntoView=function(e){var o,n,i,r,s,a,h,p;if(h=this.getStep(e),!(o=t(h.element)).length)return this._showPopoverAndOverlay(e);switch(n=t(window),s=o.offset().top,r=o.outerHeight(),p=n.height(),a=0,h.placement){case"top":a=Math.max(0,s-p/2);break;case"left":case"right":a=Math.max(0,s+r/2-p/2);break;case"bottom":a=Math.max(0,s+r-p/2)}return this._debug("Scroll into view. ScrollTop: "+a+". Element offset: "+s+". Window height: "+p+"."),i=0,t("body, html").stop(!0,!0).animate({scrollTop:Math.ceil(a)},function(t){return function(){if(2==++i)return t._showPopoverAndOverlay(e),t._debug("Scroll into view.\nAnimation end element offset: "+o.offset().top+".\nWindow height: "+n.height()+".")}}(this))},o.prototype._onResize=function(e,o){return t(window).on("resize.tour-"+this._options.name,function(){return clearTimeout(o),o=setTimeout(e,100)})},o.prototype._onScroll=function(e,o){return t(window).on("scroll.tour-"+this._options.name,function(){return clearTimeout(o),o=setTimeout(e,100)})},o.prototype._initMouseNavigation=function(){var o;return o=this,t(e).off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='prev']").off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='next']").off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='end']").off("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='pause-resume']").on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='next']",function(t){return function(e){return e.preventDefault(),t.next()}}(this)).on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='prev']",function(t){return function(e){if(e.preventDefault(),t._current>0)return t.prev()}}(this)).on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='end']",function(t){return function(e){return e.preventDefault(),t.end()}}(this)).on("click.tour-"+this._options.name,".popover.tour-"+this._options.name+" *[data-role='pause-resume']",function(e){var n;return e.preventDefault(),(n=t(this)).text(o._paused?n.data("pause-text"):n.data("resume-text")),o._paused?o.resume():o.pause()})},o.prototype._initKeyboardNavigation=function(){if(this._options.keyboard)return t(e).on("keyup.tour-"+this._options.name,function(t){return function(e){if(e.which)switch(e.which){case 39:return e.preventDefault(),t._isLast()?t.next():t.end();case 37:if(e.preventDefault(),t._current>0)return t.prev()}}}(this))},o.prototype._makePromise=function(e){return e&&t.isFunction(e.then)?e:null},o.prototype._callOnPromiseDone=function(t,e,o){return t?t.then(function(t){return function(n){return e.call(t,o)}}(this)):e.call(this,o)},o.prototype._showBackground=function(o,n){var i,r,s,a,h,p,u,l,c;for(s=t(e).height(),c=t(e).width(),l=[],a=0,h=(u=["top","bottom","left","right"]).length;a",{class:"tour-backdrop "+p}),t(o.backdropContainer).append(i),p){case"top":l.push(i.height(n.offset.top>0?n.offset.top:0).width(c).offset({top:0,left:0}));break;case"bottom":l.push(i.offset({top:n.offset.top+n.height,left:0}).height(s-(n.offset.top+n.height)).width(c));break;case"left":l.push(i.offset({top:n.offset.top,left:0}).height(n.height).width(n.offset.left>0?n.offset.left:0));break;case"right":l.push(i.offset({top:n.offset.top,left:n.offset.left+n.width}).height(n.height).width(c-(n.offset.left+n.width)));break;default:l.push(void 0)}return l},o.prototype._showOverlayElement=function(e){var o,n;return 0===(o=t(e.backdropElement)).length?n={width:0,height:0,offset:{top:0,left:0}}:(n={width:o.innerWidth(),height:o.innerHeight(),offset:o.offset()},o.addClass("tour-step-backdrop"),e.backdropPadding&&(n=this._applyBackdropPadding(e.backdropPadding,n))),this._showBackground(e,n)},o.prototype._hideOverlayElement=function(e){var o,n,i;t(e.backdropElement).removeClass("tour-step-backdrop"),i=this.backdrops;for(n in i)(o=i[n])&&void 0!==o.remove&&o.remove();return this.backdrops=[]},o.prototype._applyBackdropPadding=function(t,e){return"object"==typeof t?(null==t.top&&(t.top=0),null==t.right&&(t.right=0),null==t.bottom&&(t.bottom=0),null==t.left&&(t.left=0),e.offset.top=e.offset.top-t.top,e.offset.left=e.offset.left-t.left,e.width=e.width+t.left+t.right,e.height=e.height+t.top+t.bottom):(e.offset.top=e.offset.top-t,e.offset.left=e.offset.left-t,e.width=e.width+2*t,e.height=e.height+2*t),e},o.prototype._clearTimer=function(){return window.clearTimeout(this._timer),this._timer=null,this._duration=null},o.prototype._getProtocol=function(t){return(t=t.split("://")).length>1?t[0]:"http"},o.prototype._getHost=function(t){return t=t.split("//"),(t=t.length>1?t[1]:t[0]).split("/")[0]},o.prototype._getPath=function(t){return t.replace(/\/?$/,"").split("?")[0].split("#")[0]},o.prototype._getQuery=function(t){return this._getParams(t,"?")},o.prototype._getHash=function(t){return this._getParams(t,"#")},o.prototype._getParams=function(t,e){var o,n,i,r,s;if(1===(r=t.split(e)).length)return{};for(s={},o=0,n=(r=r[1].split("&")).length;o