diff --git a/apps/common/main/lib/component/SynchronizeTip.js b/apps/common/main/lib/component/SynchronizeTip.js index 17b4e38533..37064f5d89 100644 --- a/apps/common/main/lib/component/SynchronizeTip.js +++ b/apps/common/main/lib/component/SynchronizeTip.js @@ -218,7 +218,19 @@ define([ // } }; - var _closeHelpTip = function(step, force) { + var _addTips = function(arr) { + for (var step in arr) { + if (arr.hasOwnProperty(step) && !Common.localStorage.getItem(arr[step].name)) { + _helpTips[step] = arr[step]; + } + } + }; + + var _getNeedShow = function(step) { + return _helpTips[step] && !(_helpTips[step].name && Common.localStorage.getItem(_helpTips[step].name)); + }; + + var _closeTip = function(step, force) { var props = _helpTips[step]; if (props) { props.tip && props.tip.close(); @@ -227,9 +239,9 @@ define([ } }; - var _showHelpTip = function(step) { + var _showTip = function(step) { if (!_helpTips[step]) return; - if (!(_helpTips[step].name && Common.localStorage.getItem(_helpTips[step].name))) { + if (_getNeedShow(step) && !(_helpTips[step].prev && _getNeedShow(_helpTips[step].prev))) { // show current tip if previous tip has already been shown var props = _helpTips[step], target = props.target; @@ -248,7 +260,7 @@ define([ props.tip = new Common.UI.SynchronizeTip({ extCls: 'colored', - style: 'width:225px;', + // style: 'width:225px;', placement: placement, target: target, text: props.text, @@ -273,7 +285,7 @@ define([ 'close': function() { props.name && Common.localStorage.setItem(props.name, 1); props.callback && props.callback(); - props.next && _showHelpTip(props.next); + props.next && _showTip(props.next); delete _helpTips[step]; } }); @@ -282,22 +294,10 @@ define([ return true; }; - var _addHelpTips = function(arr) { - for (var step in arr) { - if (arr.hasOwnProperty(step) && !Common.localStorage.getItem(arr[step].name)) { - _helpTips[step] = arr[step]; - } - } - }; - - var _getNeedShow = function(step) { - return _helpTips[step] && !Common.localStorage.getItem(_helpTips[step].name); - }; - return { - showHelpTip: _showHelpTip, - closeHelpTip: _closeHelpTip, - addHelpTips: _addHelpTips, + showTip: _showTip, + closeTip: _closeTip, + addTips: _addTips, getNeedShow: _getNeedShow } })(); diff --git a/apps/common/main/lib/view/Header.js b/apps/common/main/lib/view/Header.js index c8b907b314..78ac6840f3 100644 --- a/apps/common/main/lib/view/Header.js +++ b/apps/common/main/lib/view/Header.js @@ -305,7 +305,7 @@ define([ this.btnDocMode.options.value = type; if (show && !this.btnDocMode.isVisible()) { this.btnDocMode.setVisible(true); - Common.UI.TooltipManager.showHelpTip('docMode'); + Common.UI.TooltipManager.showTip('docMode'); } if (this.btnDocMode.menu && typeof this.btnDocMode.menu === 'object') { var item = _.find(this.btnDocMode.menu.items, function(item) { return item.value == type; }); @@ -524,7 +524,7 @@ define([ items: arr })); me.btnQuickAccess.menu.on('show:before', function (menu) { - Common.UI.TooltipManager.closeHelpTip('quickAccess'); + Common.UI.TooltipManager.closeTip('quickAccess'); menu.items.forEach(function (item) { if (item.value === 'save') { item.setChecked(Common.localStorage.getBool(me.appPrefix + 'quick-access-save', true), true); @@ -561,6 +561,7 @@ define([ onChangeQuickAccess.call(me, 'header', props); }); Common.NotificationCenter.on('quickaccess:changed', onChangeQuickAccess.bind(me, 'settings')); + Common.UI.TooltipManager.showTip('quickAccess'); } if ( !appConfig.twoLevelHeader ) { @@ -676,14 +677,14 @@ define([ items: arr })); me.btnDocMode.on('click', function (menu, item) { - Common.UI.TooltipManager.closeHelpTip('docMode'); + Common.UI.TooltipManager.closeTip('docMode'); }); me.btnDocMode.menu.on('item:click', function (menu, item) { Common.NotificationCenter.trigger('doc:mode-apply', item.value, true); }); var item = _.find(me.btnDocMode.menu.items, function(item) { return item.value == type; }); item && item.setChecked(true); - me.btnDocMode.isVisible() && Common.UI.TooltipManager.showHelpTip('docMode'); + me.btnDocMode.isVisible() && Common.UI.TooltipManager.showTip('docMode'); } if (appConfig.twoLevelHeader && !appConfig.compactHeader) Common.NotificationCenter.on('window:resize', onResize); @@ -971,7 +972,7 @@ define([ changeDocMode.call(me); Common.NotificationCenter.on('doc:mode-changed', _.bind(changeDocMode, me)); - !config.isPDFForm && Common.UI.LayoutManager.isElementVisible('header-editMode') && Common.UI.TooltipManager.addHelpTips({ + !config.isPDFForm && Common.UI.LayoutManager.isElementVisible('header-editMode') && Common.UI.TooltipManager.addTips({ 'docMode' : {name: 'de-help-tip-doc-mode', placement: 'bottom-left', text: me.helpDocMode, header: me.helpDocModeHeader, target: '#slot-btn-edit-mode', next: 'quickAccess'} }); } else @@ -1054,8 +1055,8 @@ define([ }); me.btnQuickAccess.render($html.find('#slot-btn-dt-quick-access')); - !config.isPDFForm && Common.UI.TooltipManager.addHelpTips({ - 'quickAccess' : {name: 'common-help-tip-quick-access', placement: 'bottom-right', text: me.helpQuickAccess, header: me.helpQuickAccessHeader, target: '#slot-btn-dt-quick-access'} + !config.isPDFForm && Common.UI.TooltipManager.addTips({ + 'quickAccess' : {name: 'common-help-tip-quick-access', placement: 'bottom-right', text: me.helpQuickAccess, header: me.helpQuickAccessHeader, target: '#slot-btn-dt-quick-access', prev: 'docMode'} }); return $html; diff --git a/apps/documenteditor/main/app/controller/PageLayout.js b/apps/documenteditor/main/app/controller/PageLayout.js index 8c1950d853..071f69b8dc 100644 --- a/apps/documenteditor/main/app/controller/PageLayout.js +++ b/apps/documenteditor/main/app/controller/PageLayout.js @@ -108,8 +108,8 @@ define([ 'tab:active': this.onActiveTab } }); - !config.isPDFForm && Common.UI.TooltipManager.addHelpTips({ - 'pageColor' : {name: 'de-help-tip-page-color', placement: 'bottom-left', text: toolbar.helpPageColor, header: toolbar.helpPageColorHeader, target: '#slot-btn-pagecolor', next: 'quickAccess'} + !config.isPDFForm && Common.UI.TooltipManager.addTips({ + 'pageColor' : {name: 'de-help-tip-page-color', placement: 'bottom-left', text: toolbar.helpPageColor, header: toolbar.helpPageColorHeader, target: '#slot-btn-pagecolor'} }); }, @@ -363,7 +363,7 @@ define([ }, onActiveTab: function(tab) { - tab === 'layout' ? Common.UI.TooltipManager.showHelpTip('pageColor') : Common.UI.TooltipManager.closeHelpTip('pageColor'); + tab === 'layout' ? Common.UI.TooltipManager.showTip('pageColor') : Common.UI.TooltipManager.closeTip('pageColor'); } } })()); diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index da3e59fe84..7c366227c9 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -1480,7 +1480,7 @@ define([ if (!(e && e.target===e.currentTarget)) return; - Common.UI.TooltipManager.closeHelpTip('pageColor'); + Common.UI.TooltipManager.closeTip('pageColor'); var picker = this.toolbar.mnuPageColorPicker, color = this.api.asc_getPageColor();