[SSE] Ole editor: change status bar and context menu

This commit is contained in:
Julia Radzhabova 2022-03-18 21:41:25 +03:00
parent 05996df295
commit 883b955fff
4 changed files with 41 additions and 33 deletions

View file

@ -610,7 +610,7 @@ define([
return false; return false;
}, },
addDataHint: function (index) { //Hint Manager addDataHint: function (index, dataHint) { //Hint Manager
var oldHintTab = this.$bar.find('[data-hint]'); var oldHintTab = this.$bar.find('[data-hint]');
if (oldHintTab.length > 0) { if (oldHintTab.length > 0) {
oldHintTab.removeAttr('data-hint'); oldHintTab.removeAttr('data-hint');
@ -619,7 +619,7 @@ define([
oldHintTab.removeAttr('data-hint-title'); oldHintTab.removeAttr('data-hint-title');
} }
var newHintTab = this.tabs[index].$el; var newHintTab = this.tabs[index].$el;
newHintTab.attr('data-hint', '0'); newHintTab.attr('data-hint', dataHint || '0');
newHintTab.attr('data-hint-direction', 'top'); newHintTab.attr('data-hint-direction', 'top');
newHintTab.attr('data-hint-offset', 'medium'); newHintTab.attr('data-hint-offset', 'medium');
newHintTab.attr('data-hint-title', 'M'); newHintTab.attr('data-hint-title', 'M');

View file

@ -1889,6 +1889,7 @@ define([
isObjLocked = false, isObjLocked = false,
commentsController = this.getApplication().getController('Common.Controllers.Comments'), commentsController = this.getApplication().getController('Common.Controllers.Comments'),
internaleditor = this.permissions.isEditMailMerge || this.permissions.isEditDiagram || this.permissions.isEditOle, internaleditor = this.permissions.isEditMailMerge || this.permissions.isEditDiagram || this.permissions.isEditOle,
diagramOrMergeEditor = this.permissions.isEditMailMerge || this.permissions.isEditDiagram,
xfs = cellinfo.asc_getXfs(), xfs = cellinfo.asc_getXfs(),
isSmartArt = false, isSmartArt = false,
isSmartArtInternal = false; isSmartArtInternal = false;
@ -2146,14 +2147,14 @@ define([
documentHolder.pmiDeleteTable.setVisible(iscellmenu && !iscelledit && isintable); documentHolder.pmiDeleteTable.setVisible(iscellmenu && !iscelledit && isintable);
documentHolder.pmiSparklines.setVisible(isinsparkline); documentHolder.pmiSparklines.setVisible(isinsparkline);
documentHolder.pmiSortCells.setVisible((iscellmenu||isallmenu) && !iscelledit && !inPivot); documentHolder.pmiSortCells.setVisible((iscellmenu||isallmenu) && !iscelledit && !inPivot);
documentHolder.pmiSortCells.menu.items[2].setVisible(!internaleditor); documentHolder.pmiSortCells.menu.items[2].setVisible(!diagramOrMergeEditor);
documentHolder.pmiSortCells.menu.items[3].setVisible(!internaleditor); documentHolder.pmiSortCells.menu.items[3].setVisible(!diagramOrMergeEditor);
documentHolder.pmiSortCells.menu.items[4].setVisible(!internaleditor); documentHolder.pmiSortCells.menu.items[4].setVisible(!internaleditor);
documentHolder.pmiFilterCells.setVisible(iscellmenu && !iscelledit && !internaleditor && !inPivot); documentHolder.pmiFilterCells.setVisible(iscellmenu && !iscelledit && !diagramOrMergeEditor && !inPivot);
documentHolder.pmiReapply.setVisible((iscellmenu||isallmenu) && !iscelledit && !internaleditor && !inPivot); documentHolder.pmiReapply.setVisible((iscellmenu||isallmenu) && !iscelledit && !diagramOrMergeEditor && !inPivot);
documentHolder.pmiCondFormat.setVisible(!iscelledit && !internaleditor); documentHolder.pmiCondFormat.setVisible(!iscelledit && !diagramOrMergeEditor);
documentHolder.mnuGroupPivot.setVisible(iscellmenu && !iscelledit && !internaleditor && inPivot); documentHolder.mnuGroupPivot.setVisible(iscellmenu && !iscelledit && !diagramOrMergeEditor && inPivot);
documentHolder.mnuUnGroupPivot.setVisible(iscellmenu && !iscelledit && !internaleditor && inPivot); documentHolder.mnuUnGroupPivot.setVisible(iscellmenu && !iscelledit && !diagramOrMergeEditor && inPivot);
documentHolder.ssMenu.items[12].setVisible((iscellmenu||isallmenu||isinsparkline) && !iscelledit); documentHolder.ssMenu.items[12].setVisible((iscellmenu||isallmenu||isinsparkline) && !iscelledit);
documentHolder.pmiInsFunction.setVisible(iscellmenu && !iscelledit && !inPivot); documentHolder.pmiInsFunction.setVisible(iscellmenu && !iscelledit && !inPivot);
documentHolder.pmiAddNamedRange.setVisible(iscellmenu && !iscelledit && !internaleditor); documentHolder.pmiAddNamedRange.setVisible(iscellmenu && !iscelledit && !internaleditor);
@ -2171,8 +2172,8 @@ define([
} }
var hyperinfo = cellinfo.asc_getHyperlink(); var hyperinfo = cellinfo.asc_getHyperlink();
documentHolder.menuHyperlink.setVisible(iscellmenu && hyperinfo && !iscelledit && !ismultiselect && !internaleditor && !inPivot); documentHolder.menuHyperlink.setVisible(iscellmenu && hyperinfo && !iscelledit && !ismultiselect && !diagramOrMergeEditor && !inPivot);
documentHolder.menuAddHyperlink.setVisible(iscellmenu && !hyperinfo && !iscelledit && !ismultiselect && !internaleditor && !inPivot); documentHolder.menuAddHyperlink.setVisible(iscellmenu && !hyperinfo && !iscelledit && !ismultiselect && !diagramOrMergeEditor && !inPivot);
documentHolder.pmiRowHeight.setVisible(isrowmenu||isallmenu); documentHolder.pmiRowHeight.setVisible(isrowmenu||isallmenu);
documentHolder.pmiColumnWidth.setVisible(iscolmenu||isallmenu); documentHolder.pmiColumnWidth.setVisible(iscolmenu||isallmenu);

View file

@ -969,6 +969,8 @@ define([
me.updateThemeColors(); me.updateThemeColors();
toolbarController.activateControls(); toolbarController.activateControls();
} else if (me.appOptions.isEditOle) {
me.updateThemeColors();
} }
rightmenuController.createDelayedElements(); rightmenuController.createDelayedElements();
@ -1389,8 +1391,8 @@ define([
var printController = app.getController('Print'); var printController = app.getController('Print');
printController && this.api && printController.setApi(this.api); printController && this.api && printController.setApi(this.api);
} else if (this.appOptions.isEditOle)
} this.api.asc_registerCallback('asc_onSendThemeColors', _.bind(this.onSendThemeColors, this));
var celleditorController = this.getApplication().getController('CellEditor'); var celleditorController = this.getApplication().getController('CellEditor');
celleditorController && celleditorController.setApi(this.api).setMode(this.appOptions); celleditorController && celleditorController.setApi(this.api).setMode(this.appOptions);
@ -2454,11 +2456,11 @@ define([
updateThemeColors: function() { updateThemeColors: function() {
var me = this; var me = this;
setTimeout(function(){ !me.appOptions.isEditOle && setTimeout(function(){
me.getApplication().getController('RightMenu').UpdateThemeColors(); me.getApplication().getController('RightMenu').UpdateThemeColors();
}, 50); }, 50);
setTimeout(function(){ !me.appOptions.isEditOle && setTimeout(function(){
me.getApplication().getController('Toolbar').updateThemeColors(); me.getApplication().getController('Toolbar').updateThemeColors();
}, 50); }, 50);
@ -2469,13 +2471,17 @@ define([
onSendThemeColors: function(colors, standart_colors) { onSendThemeColors: function(colors, standart_colors) {
Common.Utils.ThemeColor.setColors(colors, standart_colors); Common.Utils.ThemeColor.setColors(colors, standart_colors);
if (window.styles_loaded && !this.appOptions.isEditMailMerge && !this.appOptions.isEditDiagram && !this.appOptions.isEditOle) { if (window.styles_loaded) {
if (!this.appOptions.isEditMailMerge && !this.appOptions.isEditDiagram)
this.updateThemeColors(); this.updateThemeColors();
if (!this.appOptions.isEditMailMerge && !this.appOptions.isEditDiagram && !this.appOptions.isEditOle) {
var me = this; var me = this;
setTimeout(function(){ setTimeout(function(){
me.fillTextArt(); me.fillTextArt();
}, 1); }, 1);
} }
}
}, },
loadLanguages: function(apiLangs) { loadLanguages: function(apiLangs) {

View file

@ -517,13 +517,13 @@ define([
// this.$el.find('.el-edit')[mode.isEdit?'show':'hide'](); // this.$el.find('.el-edit')[mode.isEdit?'show':'hide']();
//this.btnAddWorksheet.setVisible(this.mode.isEdit); //this.btnAddWorksheet.setVisible(this.mode.isEdit);
$('#status-addtabs-box')[(this.mode.isEdit) ? 'show' : 'hide'](); $('#status-addtabs-box')[(this.mode.isEdit) ? 'show' : 'hide']();
this.btnAddWorksheet.setVisible(!this.mode.isEditOle);
this.btnAddWorksheet.setDisabled(this.mode.isDisconnected || this.api && (this.api.asc_isWorkbookLocked() || this.api.isCellEdited) || this.rangeSelectionMode!=Asc.c_oAscSelectionDialogType.None); this.btnAddWorksheet.setDisabled(this.mode.isDisconnected || this.api && (this.api.asc_isWorkbookLocked() || this.api.isCellEdited) || this.rangeSelectionMode!=Asc.c_oAscSelectionDialogType.None);
if (this.mode.isEditOle) { // change hints order if (this.mode.isEditOle) { // change hints order
this.btnScrollFirst.$el.find('button').attr('data-hint', '1'); this.btnAddWorksheet.$el.find('button').addBack().filter('button').attr('data-hint', '1');
this.btnScrollLast.$el.find('button').attr('data-hint', '1'); this.btnScrollFirst.$el.find('button').addBack().filter('button').attr('data-hint', '1');
this.btnScrollBack.$el.find('button').attr('data-hint', '1'); this.btnScrollLast.$el.find('button').addBack().filter('button').attr('data-hint', '1');
this.btnScrollNext.$el.find('button').attr('data-hint', '1'); this.btnScrollBack.$el.find('button').addBack().filter('button').attr('data-hint', '1');
this.btnScrollNext.$el.find('button').addBack().filter('button').attr('data-hint', '1');
this.cntSheetList.$el.find('button').attr('data-hint', '1'); this.cntSheetList.$el.find('button').attr('data-hint', '1');
this.cntSheetList.$el.find('button').removeAttr('data-hint-title'); // 'v' hint is used for paste this.cntSheetList.$el.find('button').removeAttr('data-hint-title'); // 'v' hint is used for paste
this.cntZoom.$el.find('.dropdown-toggle').attr('data-hint', '1'); this.cntZoom.$el.find('.dropdown-toggle').attr('data-hint', '1');
@ -617,10 +617,10 @@ define([
this.tabbar.setTabVisible(sindex); this.tabbar.setTabVisible(sindex);
this.btnAddWorksheet.setDisabled(me.mode.isDisconnected || me.api.asc_isWorkbookLocked() || wbprotected || me.api.isCellEdited); this.btnAddWorksheet.setDisabled(me.mode.isDisconnected || me.api.asc_isWorkbookLocked() || wbprotected || me.api.isCellEdited);
if (this.mode.isEdit && !this.mode.isEditOle) { if (this.mode.isEdit) {
this.tabbar.addDataHint(_.findIndex(items, function (item) { this.tabbar.addDataHint(_.findIndex(items, function (item) {
return item.sheetindex === sindex; return item.sheetindex === sindex;
})); }), this.mode.isEditOle ? '1' : '0');
} }
$('#status-label-zoom').text(Common.Utils.String.format(this.zoomText, Math.floor((this.api.asc_getZoom() +.005)*100))); $('#status-label-zoom').text(Common.Utils.String.format(this.zoomText, Math.floor((this.api.asc_getZoom() +.005)*100)));
@ -708,8 +708,8 @@ define([
this.tabbar.setTabVisible(index); this.tabbar.setTabVisible(index);
} }
if (this.mode.isEdit && !this.mode.isEditOle) { if (this.mode.isEdit) {
this.tabbar.addDataHint(index); this.tabbar.addDataHint(index, this.mode.isEditOle ? '1' : '0');
} }
this.fireEvent('sheet:changed', [this, tab.sheetindex]); this.fireEvent('sheet:changed', [this, tab.sheetindex]);
@ -720,7 +720,7 @@ define([
onTabMenu: function (o, index, tab, select) { onTabMenu: function (o, index, tab, select) {
var me = this; var me = this;
if (this.mode.isEdit && !this.mode.isEditOle && !this.isEditFormula && (this.rangeSelectionMode !== Asc.c_oAscSelectionDialogType.Chart) && if (this.mode.isEdit && !this.isEditFormula && (this.rangeSelectionMode !== Asc.c_oAscSelectionDialogType.Chart) &&
(this.rangeSelectionMode !== Asc.c_oAscSelectionDialogType.FormatTable) && (this.rangeSelectionMode !== Asc.c_oAscSelectionDialogType.FormatTable) &&
(this.rangeSelectionMode !== Asc.c_oAscSelectionDialogType.PrintTitles) && (this.rangeSelectionMode !== Asc.c_oAscSelectionDialogType.PrintTitles) &&
!this.mode.isDisconnected ) { !this.mode.isDisconnected ) {
@ -755,6 +755,7 @@ define([
this.tabMenu.items[7].setDisabled(select.length>1); this.tabMenu.items[7].setDisabled(select.length>1);
this.tabMenu.items[8].setDisabled(issheetlocked || isdocprotected); this.tabMenu.items[8].setDisabled(issheetlocked || isdocprotected);
this.tabMenu.items[7].setVisible(!this.mode.isEditOle);
this.tabMenu.items[7].setCaption(this.api.asc_isProtectedSheet() ? this.itemUnProtect : this.itemProtect); this.tabMenu.items[7].setCaption(this.api.asc_isProtectedSheet() ? this.itemUnProtect : this.itemProtect);
if (select.length === 1) { if (select.length === 1) {
@ -901,11 +902,11 @@ define([
}, },
changeViewMode: function (mode) { changeViewMode: function (mode) {
var edit = mode.isEdit && !mode.isEditOle; var edit = mode.isEdit;
if (edit) { if (edit) {
this.tabBarBox.css('left', '175px'); this.tabBarBox.css('left', '175px');
} else { } else {
this.tabBarBox.css('left', mode.isEditOle ? '152px' : ''); this.tabBarBox.css('left', '');
} }
this.tabbar.options.draggable = edit; this.tabbar.options.draggable = edit;