Refactoring tips, change show conditions

This commit is contained in:
Julia Radzhabova
2024-06-06 14:01:58 +03:00
parent 5e3fe3b88c
commit b8f4f3ea67
4 changed files with 32 additions and 31 deletions

View File

@ -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
}
})();

View File

@ -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;

View File

@ -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');
}
}
})());

View File

@ -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();