Merge pull request #1097 from ONLYOFFICE/feature/Bug_20632
Feature/bug 20632
This commit is contained in:
commit
a9b8163116
|
@ -687,6 +687,14 @@ define([
|
||||||
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');
|
||||||
}
|
},
|
||||||
|
|
||||||
|
getWidth: function() {
|
||||||
|
var width = 21;
|
||||||
|
this.tabs.forEach(function(tab){
|
||||||
|
width += tab.$el.width();
|
||||||
|
});
|
||||||
|
return width;
|
||||||
|
},
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -806,7 +806,7 @@ define([
|
||||||
tipUndo: 'Undo',
|
tipUndo: 'Undo',
|
||||||
tipRedo: 'Redo',
|
tipRedo: 'Redo',
|
||||||
textCompactView: 'Hide Toolbar',
|
textCompactView: 'Hide Toolbar',
|
||||||
textHideStatusBar: 'Hide Status Bar',
|
textHideStatusBar: 'Combine sheet and status bars',
|
||||||
textHideLines: 'Hide Rulers',
|
textHideLines: 'Hide Rulers',
|
||||||
textZoom: 'Zoom',
|
textZoom: 'Zoom',
|
||||||
textAdvSettings: 'Advanced Settings',
|
textAdvSettings: 'Advanced Settings',
|
||||||
|
|
|
@ -272,7 +272,7 @@ define([
|
||||||
case 'print': Common.NotificationCenter.trigger('print', this.leftMenu); break;
|
case 'print': Common.NotificationCenter.trigger('print', this.leftMenu); break;
|
||||||
case 'exit': Common.NotificationCenter.trigger('goback'); break;
|
case 'exit': Common.NotificationCenter.trigger('goback'); break;
|
||||||
case 'edit':
|
case 'edit':
|
||||||
// this.getApplication().getController('Statusbar').setStatusCaption(this.requestEditRightsText);
|
this.getApplication().getController('Statusbar').setStatusCaption(this.requestEditRightsText);
|
||||||
Common.Gateway.requestEditRights();
|
Common.Gateway.requestEditRights();
|
||||||
break;
|
break;
|
||||||
case 'new':
|
case 'new':
|
||||||
|
|
|
@ -665,10 +665,23 @@ define([
|
||||||
}
|
}
|
||||||
|
|
||||||
action = this.stackLongActions.get({type: Asc.c_oAscAsyncActionType.Information});
|
action = this.stackLongActions.get({type: Asc.c_oAscAsyncActionType.Information});
|
||||||
action && this.setLongActionView(action);
|
if (action) {
|
||||||
|
this.setLongActionView(action);
|
||||||
|
} else {
|
||||||
|
var me = this;
|
||||||
|
if ((id == Asc.c_oAscAsyncAction['Save'] || id == Asc.c_oAscAsyncAction['ForceSaveButton']) && !this.appOptions.isOffline) {
|
||||||
|
if (this._state.fastCoauth && this._state.usersCount > 1) {
|
||||||
|
me._state.timerSave = setTimeout(function () {
|
||||||
|
me.getApplication().getController('Statusbar').setStatusCaption(me.textChangesSaved, false, 3000);
|
||||||
|
}, 500);
|
||||||
|
} else
|
||||||
|
me.getApplication().getController('Statusbar').setStatusCaption(me.textChangesSaved, false, 3000);
|
||||||
|
} else
|
||||||
|
this.getApplication().getController('Statusbar').setStatusCaption('');
|
||||||
|
}
|
||||||
|
|
||||||
if (id == Asc.c_oAscAsyncAction.Save) {
|
if (id == Asc.c_oAscAsyncAction.Save) {
|
||||||
this.toolbarView && this.toolbarView.synchronizeChanges();
|
this.synchronizeChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
action = this.stackLongActions.get({type: Asc.c_oAscAsyncActionType.BlockInteraction});
|
action = this.stackLongActions.get({type: Asc.c_oAscAsyncActionType.BlockInteraction});
|
||||||
|
@ -690,83 +703,97 @@ define([
|
||||||
},
|
},
|
||||||
|
|
||||||
setLongActionView: function(action) {
|
setLongActionView: function(action) {
|
||||||
var title = '';
|
var title = '', text = '', force = false;
|
||||||
|
|
||||||
switch (action.id) {
|
switch (action.id) {
|
||||||
case Asc.c_oAscAsyncAction.Open:
|
case Asc.c_oAscAsyncAction.Open:
|
||||||
title = this.openTitleText;
|
title = this.openTitleText;
|
||||||
|
text = this.openTextText;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction.Save:
|
case Asc.c_oAscAsyncAction['Save']:
|
||||||
title = this.saveTitleText;
|
case Asc.c_oAscAsyncAction['ForceSaveButton']:
|
||||||
break;
|
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction.ForceSaveTimeout:
|
case Asc.c_oAscAsyncAction.ForceSaveTimeout:
|
||||||
break;
|
clearTimeout(this._state.timerSave);
|
||||||
|
force = true;
|
||||||
case Asc.c_oAscAsyncAction.ForceSaveButton:
|
text = (!this.appOptions.isOffline) ? this.saveTextText : '';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction.LoadDocumentFonts:
|
case Asc.c_oAscAsyncAction.LoadDocumentFonts:
|
||||||
title = this.loadFontsTitleText;
|
title = this.loadFontsTitleText;
|
||||||
|
text = this.loadFontsTextText;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction.LoadDocumentImages:
|
case Asc.c_oAscAsyncAction.LoadDocumentImages:
|
||||||
title = this.loadImagesTitleText;
|
title = this.loadImagesTitleText;
|
||||||
|
text = this.loadImagesTextText;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction.LoadFont:
|
case Asc.c_oAscAsyncAction.LoadFont:
|
||||||
title = this.loadFontTitleText;
|
title = this.loadFontTitleText;
|
||||||
|
text = this.loadFontTextText;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction.LoadImage:
|
case Asc.c_oAscAsyncAction.LoadImage:
|
||||||
title = this.loadImageTitleText;
|
title = this.loadImageTitleText;
|
||||||
|
text = this.loadImageTextText;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction.DownloadAs:
|
case Asc.c_oAscAsyncAction.DownloadAs:
|
||||||
title = this.downloadTitleText;
|
title = this.downloadTitleText;
|
||||||
|
text = this.downloadTextText;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction.Print:
|
case Asc.c_oAscAsyncAction.Print:
|
||||||
title = this.printTitleText;
|
title = this.printTitleText;
|
||||||
|
text = this.printTextText;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction.UploadImage:
|
case Asc.c_oAscAsyncAction.UploadImage:
|
||||||
title = this.uploadImageTitleText;
|
title = this.uploadImageTitleText;
|
||||||
|
text = this.uploadImageTextText;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction.Recalc:
|
case Asc.c_oAscAsyncAction.Recalc:
|
||||||
title = this.titleRecalcFormulas;
|
title = this.titleRecalcFormulas;
|
||||||
|
text = this.textRecalcFormulas;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction.SlowOperation:
|
case Asc.c_oAscAsyncAction.SlowOperation:
|
||||||
title = this.textPleaseWait;
|
title = this.textPleaseWait;
|
||||||
|
text = this.textPleaseWait;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction['PrepareToSave']:
|
case Asc.c_oAscAsyncAction['PrepareToSave']:
|
||||||
title = this.savePreparingText;
|
title = this.savePreparingText;
|
||||||
|
text = this.savePreparingTitle;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction['Waiting']:
|
case Asc.c_oAscAsyncAction['Waiting']:
|
||||||
title = this.waitText;
|
title = this.waitText;
|
||||||
|
text = this.waitText;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ApplyEditRights:
|
case ApplyEditRights:
|
||||||
title = this.txtEditingMode;
|
title = this.txtEditingMode;
|
||||||
|
text = this.waitText;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LoadingDocument:
|
case LoadingDocument:
|
||||||
title = this.loadingDocumentTitleText + ' ';
|
title = this.loadingDocumentTitleText + ' ';
|
||||||
|
text = this.loadingDocumentTitleText;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Asc.c_oAscAsyncAction['Disconnect']:
|
case Asc.c_oAscAsyncAction['Disconnect']:
|
||||||
title = this.textDisconnect;
|
title = this.textDisconnect;
|
||||||
|
text = this.textDisconnect;
|
||||||
this.disableEditing(true, true);
|
this.disableEditing(true, true);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (typeof action.id == 'string'){
|
if (typeof action.id == 'string'){
|
||||||
title = action.id;
|
title = action.id;
|
||||||
|
text = action.id;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -779,10 +806,14 @@ define([
|
||||||
this.api.asc_enableKeyEvents(false);
|
this.api.asc_enableKeyEvents(false);
|
||||||
this.loadMask.show();
|
this.loadMask.show();
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
this.getApplication().getController('Statusbar').setStatusCaption(text, force);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
onApplyEditRights: function(data) {
|
onApplyEditRights: function(data) {
|
||||||
|
this.getApplication().getController('Statusbar').setStatusCaption('');
|
||||||
|
|
||||||
if (data && !data.allowed) {
|
if (data && !data.allowed) {
|
||||||
Common.UI.info({
|
Common.UI.info({
|
||||||
title: this.requestEditFailedTitleText,
|
title: this.requestEditFailedTitleText,
|
||||||
|
@ -1396,6 +1427,7 @@ define([
|
||||||
rightmenuController.getView('RightMenu').hide();
|
rightmenuController.getView('RightMenu').hide();
|
||||||
|
|
||||||
/** coauthoring begin **/
|
/** coauthoring begin **/
|
||||||
|
me.api.asc_registerCallback('asc_onCollaborativeChanges', _.bind(me.onCollaborativeChanges, me));
|
||||||
me.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me));
|
me.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me));
|
||||||
me.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me));
|
me.api.asc_registerCallback('asc_onParticipantsChanged', _.bind(me.onAuthParticipantsChanged, me));
|
||||||
me.api.asc_registerCallback('asc_onConnectionStateChanged', _.bind(me.onUserConnection, me));
|
me.api.asc_registerCallback('asc_onConnectionStateChanged', _.bind(me.onUserConnection, me));
|
||||||
|
@ -1931,6 +1963,8 @@ define([
|
||||||
}
|
}
|
||||||
|
|
||||||
this._isDocReady && (this._state.isDocModified !== change) && Common.Gateway.setDocumentModified(change);
|
this._isDocReady && (this._state.isDocModified !== change) && Common.Gateway.setDocumentModified(change);
|
||||||
|
if (change && (!this._state.fastCoauth || this._state.usersCount<2))
|
||||||
|
this.getApplication().getController('Statusbar').setStatusCaption('', true);
|
||||||
|
|
||||||
this._state.isDocModified = change;
|
this._state.isDocModified = change;
|
||||||
}
|
}
|
||||||
|
@ -2549,7 +2583,7 @@ define([
|
||||||
oldval = this._state.fastCoauth;
|
oldval = this._state.fastCoauth;
|
||||||
this._state.fastCoauth = (value===null || parseInt(value) == 1);
|
this._state.fastCoauth = (value===null || parseInt(value) == 1);
|
||||||
if (this._state.fastCoauth && !oldval)
|
if (this._state.fastCoauth && !oldval)
|
||||||
this.toolbarView.synchronizeChanges();
|
this.synchronizeChanges();
|
||||||
}
|
}
|
||||||
if (this.appOptions.canForcesave) {
|
if (this.appOptions.canForcesave) {
|
||||||
this.appOptions.forcesave = Common.localStorage.getBool("sse-settings-forcesave", this.appOptions.canForcesave);
|
this.appOptions.forcesave = Common.localStorage.getBool("sse-settings-forcesave", this.appOptions.canForcesave);
|
||||||
|
@ -2887,6 +2921,18 @@ define([
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onCollaborativeChanges: function() {
|
||||||
|
if (this._state.hasCollaborativeChanges) return;
|
||||||
|
this._state.hasCollaborativeChanges = true;
|
||||||
|
if (this.appOptions.isEdit)
|
||||||
|
this.getApplication().getController('Statusbar').setStatusCaption(this.textNeedSynchronize, true);
|
||||||
|
},
|
||||||
|
|
||||||
|
synchronizeChanges: function() {
|
||||||
|
this.toolbarView && this.toolbarView.synchronizeChanges();
|
||||||
|
this._state.hasCollaborativeChanges = false;
|
||||||
|
},
|
||||||
|
|
||||||
onConvertEquationToMath: function(equation) {
|
onConvertEquationToMath: function(equation) {
|
||||||
var me = this,
|
var me = this,
|
||||||
win;
|
win;
|
||||||
|
@ -3328,7 +3374,9 @@ define([
|
||||||
txtErrorLoadHistory: 'Loading history failed',
|
txtErrorLoadHistory: 'Loading history failed',
|
||||||
errorPasswordIsNotCorrect: 'The password you supplied is not correct.<br>Verify that the CAPS LOCK key is off and be sure to use the correct capitalization.',
|
errorPasswordIsNotCorrect: 'The password you supplied is not correct.<br>Verify that the CAPS LOCK key is off and be sure to use the correct capitalization.',
|
||||||
errorDeleteColumnContainsLockedCell: 'You are trying to delete a column that contains a locked cell. Locked cells cannot be deleted while the worksheet is protected.<br>To delete a locked cell, unprotect the sheet. You might be requested to enter a password.',
|
errorDeleteColumnContainsLockedCell: 'You are trying to delete a column that contains a locked cell. Locked cells cannot be deleted while the worksheet is protected.<br>To delete a locked cell, unprotect the sheet. You might be requested to enter a password.',
|
||||||
errorDeleteRowContainsLockedCell: 'You are trying to delete a row that contains a locked cell. Locked cells cannot be deleted while the worksheet is protected.<br>To delete a locked cell, unprotect the sheet. You might be requested to enter a password.'
|
errorDeleteRowContainsLockedCell: 'You are trying to delete a row that contains a locked cell. Locked cells cannot be deleted while the worksheet is protected.<br>To delete a locked cell, unprotect the sheet. You might be requested to enter a password.',
|
||||||
|
textNeedSynchronize: 'You have an updates',
|
||||||
|
textChangesSaved: 'All changes saved'
|
||||||
}
|
}
|
||||||
})(), SSE.Controllers.Main || {}))
|
})(), SSE.Controllers.Main || {}))
|
||||||
});
|
});
|
||||||
|
|
|
@ -67,6 +67,9 @@ define([
|
||||||
'sheet:setcolor': _.bind(this.setWorksheetColor, this),
|
'sheet:setcolor': _.bind(this.setWorksheetColor, this),
|
||||||
'sheet:updateColors': _.bind(this.updateTabsColors, this),
|
'sheet:updateColors': _.bind(this.updateTabsColors, this),
|
||||||
'sheet:move': _.bind(this.moveWorksheet, this)
|
'sheet:move': _.bind(this.moveWorksheet, this)
|
||||||
|
},
|
||||||
|
'Common.Views.Header': {
|
||||||
|
'statusbar:setcompact': _.bind(this.onChangeViewMode, this)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -545,41 +548,6 @@ define([
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
moveCurrentTab: function (direction) {
|
|
||||||
if (this.api) {
|
|
||||||
var indTab = 0,
|
|
||||||
tabBar = this.statusbar.tabbar,
|
|
||||||
index = this.api.asc_getActiveWorksheetIndex(),
|
|
||||||
length = tabBar.tabs.length;
|
|
||||||
|
|
||||||
this.statusbar.tabMenu.hide();
|
|
||||||
this.api.asc_closeCellEditor();
|
|
||||||
|
|
||||||
for (var i = 0; i < length; ++i) {
|
|
||||||
if (tabBar.tabs[i].sheetindex === index) {
|
|
||||||
indTab = i;
|
|
||||||
|
|
||||||
if (direction > 0) {
|
|
||||||
indTab++;
|
|
||||||
if (indTab >= length) {
|
|
||||||
indTab = 0;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
indTab--;
|
|
||||||
if (indTab < 0) {
|
|
||||||
indTab = length - 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
tabBar.setActive(indTab);
|
|
||||||
this.api.asc_showWorksheet(tabBar.getAt(indTab).sheetindex);
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// colors
|
// colors
|
||||||
|
|
||||||
onApiUpdateTabColor: function (index) {
|
onApiUpdateTabColor: function (index) {
|
||||||
|
@ -807,6 +775,28 @@ define([
|
||||||
this._sheetViewTip.hide();
|
this._sheetViewTip.hide();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onChangeViewMode: function(item, compact) {
|
||||||
|
this.statusbar.fireEvent('view:compact', [this.statusbar, compact]);
|
||||||
|
Common.localStorage.setBool('sse-compact-statusbar', compact);
|
||||||
|
Common.NotificationCenter.trigger('layout:changed', 'status');
|
||||||
|
this.statusbar.onChangeCompact(compact);
|
||||||
|
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this.statusbar);
|
||||||
|
},
|
||||||
|
|
||||||
|
setStatusCaption: function(text, force, delay) {
|
||||||
|
if (this.timerCaption && ( ((new Date()) < this.timerCaption) || text.length==0 ) && !force )
|
||||||
|
return;
|
||||||
|
|
||||||
|
this.timerCaption = undefined;
|
||||||
|
if (text.length) {
|
||||||
|
this.statusbar.showStatusMessage(text);
|
||||||
|
if (delay>0)
|
||||||
|
this.timerCaption = (new Date()).getTime() + delay;
|
||||||
|
} else
|
||||||
|
this.statusbar.clearStatusMessage();
|
||||||
|
},
|
||||||
|
|
||||||
protectWorksheet: function() {
|
protectWorksheet: function() {
|
||||||
Common.NotificationCenter.trigger('protect:sheet', !this.api.asc_isProtectedSheet());
|
Common.NotificationCenter.trigger('protect:sheet', !this.api.asc_isProtectedSheet());
|
||||||
},
|
},
|
||||||
|
|
|
@ -72,7 +72,11 @@ define([
|
||||||
'menu:show': me.onFileMenu.bind(me, 'show')
|
'menu:show': me.onFileMenu.bind(me, 'show')
|
||||||
},
|
},
|
||||||
'Statusbar': {
|
'Statusbar': {
|
||||||
'sheet:changed': me.onApiSheetChanged.bind(me)
|
'sheet:changed': me.onApiSheetChanged.bind(me),
|
||||||
|
'view:compact': function (statusbar, state) {
|
||||||
|
me.header.mnuitemCompactStatusBar.setChecked(state, true);
|
||||||
|
me.viewport.vlayout.getItem('statusbar').height = state ? 25 : 50;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
'Toolbar': {
|
'Toolbar': {
|
||||||
'render:before' : function (toolbar) {
|
'render:before' : function (toolbar) {
|
||||||
|
@ -210,6 +214,13 @@ define([
|
||||||
}, this));
|
}, this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
me.header.mnuitemCompactStatusBar = new Common.UI.MenuItem({
|
||||||
|
caption: me.header.textHideStatusBar,
|
||||||
|
checked: Common.localStorage.getBool("sse-compact-statusbar", true),
|
||||||
|
checkable: true,
|
||||||
|
value: 'statusbar'
|
||||||
|
});
|
||||||
|
|
||||||
me.header.mnuitemHideFormulaBar = new Common.UI.MenuItem({
|
me.header.mnuitemHideFormulaBar = new Common.UI.MenuItem({
|
||||||
caption : me.textHideFBar,
|
caption : me.textHideFBar,
|
||||||
checked : Common.localStorage.getBool('sse-hidden-formula'),
|
checked : Common.localStorage.getBool('sse-hidden-formula'),
|
||||||
|
@ -275,6 +286,7 @@ define([
|
||||||
items: [
|
items: [
|
||||||
me.header.mnuitemCompactToolbar,
|
me.header.mnuitemCompactToolbar,
|
||||||
me.header.mnuitemHideFormulaBar,
|
me.header.mnuitemHideFormulaBar,
|
||||||
|
me.header.mnuitemCompactStatusBar,
|
||||||
{caption:'--'},
|
{caption:'--'},
|
||||||
me.header.mnuitemHideHeadings,
|
me.header.mnuitemHideHeadings,
|
||||||
me.header.mnuitemHideGridlines,
|
me.header.mnuitemHideGridlines,
|
||||||
|
@ -491,6 +503,7 @@ define([
|
||||||
|
|
||||||
switch ( item.value ) {
|
switch ( item.value ) {
|
||||||
case 'toolbar': me.header.fireEvent('toolbar:setcompact', [menu, item.isChecked()]); break;
|
case 'toolbar': me.header.fireEvent('toolbar:setcompact', [menu, item.isChecked()]); break;
|
||||||
|
case 'statusbar': me.header.fireEvent('statusbar:setcompact', [menu, item.isChecked()]); break;
|
||||||
case 'formula': me.header.fireEvent('formulabar:hide', [item.isChecked()]); break;
|
case 'formula': me.header.fireEvent('formulabar:hide', [item.isChecked()]); break;
|
||||||
case 'headings': me.api.asc_setDisplayHeadings(!item.isChecked()); break;
|
case 'headings': me.api.asc_setDisplayHeadings(!item.isChecked()); break;
|
||||||
case 'gridlines': me.api.asc_setDisplayGridlines(!item.isChecked()); break;
|
case 'gridlines': me.api.asc_setDisplayGridlines(!item.isChecked()); break;
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
<button id="status-btn-zoomup" type="button" class="btn small btn-toolbar" style="margin-right:40px;"><i class="icon toolbar__icon btn-zoomup"> </i></button>
|
<button id="status-btn-zoomup" type="button" class="btn small btn-toolbar" style="margin-right:40px;"><i class="icon toolbar__icon btn-zoomup"> </i></button>
|
||||||
</div>
|
</div>
|
||||||
<div id="status-math-box" class="status-group">
|
<div id="status-math-box" class="status-group">
|
||||||
<div class="separator short" style="margin-right: 12px;"></div>
|
<div class="separator short"></div>
|
||||||
<label id="status-math-average">AVERAGE: 10</label>
|
<label id="status-math-average">AVERAGE: 10</label>
|
||||||
<label id="status-math-count">COUNT: 3</label>
|
<label id="status-math-count">COUNT: 3</label>
|
||||||
<label id="status-math-min">MIN: 1</label>
|
<label id="status-math-min">MIN: 1</label>
|
||||||
|
@ -31,11 +31,18 @@
|
||||||
<label id="status-math-sum">SUM: 5</label>
|
<label id="status-math-sum">SUM: 5</label>
|
||||||
</div>
|
</div>
|
||||||
<div id="status-filtered-box" class="status-group">
|
<div id="status-filtered-box" class="status-group">
|
||||||
<div class="separator short" style="margin-right: 12px;"></div>
|
<div class="separator short"></div>
|
||||||
<label id="status-filtered-records"></label>
|
<label id="status-filtered-records"></label>
|
||||||
</div>
|
</div>
|
||||||
<div id="status-sheets-bar-box">
|
<div id="status-sheets-bar-box">
|
||||||
<div id="status-sheets-bar" class="status-group">
|
<div id="status-sheets-bar" class="status-group">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="status-number-of-sheet">
|
||||||
|
<label id="label-sheets" class="status-label"></label>
|
||||||
|
</div>
|
||||||
|
<div id="status-action">
|
||||||
|
<div class="separator short"></div>
|
||||||
|
<label id="label-action" class="status-label"></label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -79,6 +79,12 @@ define([
|
||||||
scope: this
|
scope: this
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
this.cntStatusbar = $('.statusbar', this.el);
|
||||||
|
this.isCompact = Common.localStorage.getBool('sse-compact-statusbar', true);
|
||||||
|
if (!this.isCompact) {
|
||||||
|
this.cntStatusbar.addClass('no-compact');
|
||||||
|
}
|
||||||
|
|
||||||
this.editMode = false;
|
this.editMode = false;
|
||||||
this.rangeSelectionMode = Asc.c_oAscSelectionDialogType.None;
|
this.rangeSelectionMode = Asc.c_oAscSelectionDialogType.None;
|
||||||
|
|
||||||
|
@ -393,16 +399,27 @@ define([
|
||||||
|
|
||||||
var customizeStatusBarMenuTemplate = _.template('<a id="<%= id %>" tabindex="-1" type="menuitem">'+
|
var customizeStatusBarMenuTemplate = _.template('<a id="<%= id %>" tabindex="-1" type="menuitem">'+
|
||||||
'<div style="position: relative;">'+
|
'<div style="position: relative;">'+
|
||||||
'<div style="position: absolute; left: 0; width: 100px;"><%= caption %></div>' +
|
'<div style="position: absolute; left: 0; width: 85px;"><%= caption %></div>' +
|
||||||
'<label style="width: 100%; overflow: hidden; text-overflow: ellipsis; text-align: right; vertical-align: bottom; padding-left: 100px; color: silver;cursor: pointer;"><%= options.exampleval ? options.exampleval : "" %></label>' +
|
'<label style="width: 100%; overflow: hidden; text-overflow: ellipsis; text-align: right; vertical-align: bottom; padding-left: 85px; color: silver;cursor: pointer;"><%= options.exampleval ? options.exampleval : "" %></label>' +
|
||||||
'</div></a>');
|
'</div></a>');
|
||||||
|
|
||||||
this.customizeStatusBarMenu = new Common.UI.Menu({
|
this.customizeStatusBarMenu = new Common.UI.Menu({
|
||||||
style: 'margin-top: -14px; margin-left: -7px;',
|
style: 'margin-top: 0px; margin-left: -7px;',
|
||||||
menuAlign: 'bl-tl',
|
menuAlign: 'bl-tl',
|
||||||
|
menuAlignEl: $(this.el),
|
||||||
items: [
|
items: [
|
||||||
//{template: _.template('<div style="padding-left: 6px; padding-top: 2px;">' + this.textCustomizeStatusBar + '</div>')},
|
//{template: _.template('<div style="padding-left: 6px; padding-top: 2px;">' + this.textCustomizeStatusBar + '</div>')},
|
||||||
//{caption: '--'},
|
//{caption: '--'},
|
||||||
|
{
|
||||||
|
id: 'saved-status',
|
||||||
|
caption: this.itemStatus,
|
||||||
|
value: 'status',
|
||||||
|
checkable: true,
|
||||||
|
checked: true,
|
||||||
|
template: customizeStatusBarMenuTemplate,
|
||||||
|
exampleval: ''
|
||||||
|
},
|
||||||
|
{caption: '--'},
|
||||||
{
|
{
|
||||||
id: 'math-item-average',
|
id: 'math-item-average',
|
||||||
caption: this.itemAverage,
|
caption: this.itemAverage,
|
||||||
|
@ -473,6 +490,14 @@ define([
|
||||||
this.boxZoom = $('#status-zoom-box', this.el);
|
this.boxZoom = $('#status-zoom-box', this.el);
|
||||||
this.boxZoom.find('.separator').css('border-left-color','transparent');
|
this.boxZoom.find('.separator').css('border-left-color','transparent');
|
||||||
|
|
||||||
|
this.boxNumberSheets = $('#status-number-of-sheet', this.el);
|
||||||
|
this.isCompact && this.boxNumberSheets.hide();
|
||||||
|
this.labelNumberSheets = $('#label-sheets', this.boxNumberSheets);
|
||||||
|
|
||||||
|
this.boxAction = $('#status-action', this.el);
|
||||||
|
this.boxAction.hide();
|
||||||
|
this.labelAction = $('#label-action', this.boxAction);
|
||||||
|
|
||||||
this.$el.append('<div id="statusbar-menu" style="width:0; height:0;"></div>');
|
this.$el.append('<div id="statusbar-menu" style="width:0; height:0;"></div>');
|
||||||
this.$customizeStatusBarMenu = this.$el.find('#statusbar-menu');
|
this.$customizeStatusBarMenu = this.$el.find('#statusbar-menu');
|
||||||
this.$customizeStatusBarMenu.on({
|
this.$customizeStatusBarMenu.on({
|
||||||
|
@ -598,6 +623,9 @@ define([
|
||||||
|
|
||||||
$('#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)));
|
||||||
|
|
||||||
|
this.updateNumberOfSheet(sindex, wc);
|
||||||
|
this.updateTabbarBorders();
|
||||||
|
|
||||||
me.fireEvent('sheet:changed', [me, sindex]);
|
me.fireEvent('sheet:changed', [me, sindex]);
|
||||||
me.fireEvent('sheet:updateColors', [true]);
|
me.fireEvent('sheet:updateColors', [true]);
|
||||||
Common.NotificationCenter.trigger('comments:updatefilter', ['doc', 'sheet' + me.api.asc_getActiveWorksheetId()], false);
|
Common.NotificationCenter.trigger('comments:updatefilter', ['doc', 'sheet' + me.api.asc_getActiveWorksheetId()], false);
|
||||||
|
@ -613,6 +641,11 @@ define([
|
||||||
this.labelSum.text((info.sum && info.sum.length) ? (this.textSum + ': ' + info.sum) : '');
|
this.labelSum.text((info.sum && info.sum.length) ? (this.textSum + ': ' + info.sum) : '');
|
||||||
this.labelAverage.text((info.average && info.average.length) ? (this.textAverage + ': ' + info.average) : '');
|
this.labelAverage.text((info.average && info.average.length) ? (this.textAverage + ': ' + info.average) : '');
|
||||||
|
|
||||||
|
this.labelMin[info.min && info.min.length > 0 ? 'show' : 'hide']();
|
||||||
|
this.labelMax[info.max && info.max.length > 0 ? 'show' : 'hide']();
|
||||||
|
this.labelSum[info.sum && info.sum.length > 0 ? 'show' : 'hide']();
|
||||||
|
this.labelAverage[info.average && info.average.length > 0 ? 'show' : 'hide']();
|
||||||
|
|
||||||
this.customizeStatusBarMenu.items.forEach(function (item) {
|
this.customizeStatusBarMenu.items.forEach(function (item) {
|
||||||
if (item.options.id === 'math-item-average') {
|
if (item.options.id === 'math-item-average') {
|
||||||
item.options.exampleval = (info.average && info.average.length) ? info.average : '';
|
item.options.exampleval = (info.average && info.average.length) ? info.average : '';
|
||||||
|
@ -624,8 +657,6 @@ define([
|
||||||
item.options.exampleval = (info.count) ? String(info.count) : '';
|
item.options.exampleval = (info.count) ? String(info.count) : '';
|
||||||
} else if (item.options.id === 'math-item-sum') {
|
} else if (item.options.id === 'math-item-sum') {
|
||||||
item.options.exampleval = (info.sum && info.sum.length) ? info.sum : '';
|
item.options.exampleval = (info.sum && info.sum.length) ? info.sum : '';
|
||||||
} else {
|
|
||||||
item.options.exampleval = '';
|
|
||||||
}
|
}
|
||||||
$(item.el).find('label').text(item.options.exampleval);
|
$(item.el).find('label').text(item.options.exampleval);
|
||||||
});
|
});
|
||||||
|
@ -669,6 +700,8 @@ define([
|
||||||
onSheetChanged: function(o, index, tab) {
|
onSheetChanged: function(o, index, tab) {
|
||||||
this.api.asc_showWorksheet(tab.sheetindex);
|
this.api.asc_showWorksheet(tab.sheetindex);
|
||||||
|
|
||||||
|
this.updateNumberOfSheet(tab.sheetindex, this.api.asc_getWorksheetsCount());
|
||||||
|
|
||||||
if (this.hasTabInvisible && !this.tabbar.isTabVisible(index)) {
|
if (this.hasTabInvisible && !this.tabbar.isTabVisible(index)) {
|
||||||
this.tabbar.setTabVisible(index);
|
this.tabbar.setTabVisible(index);
|
||||||
}
|
}
|
||||||
|
@ -795,19 +828,49 @@ define([
|
||||||
},
|
},
|
||||||
|
|
||||||
updateTabbarBorders: function() {
|
updateTabbarBorders: function() {
|
||||||
var right = parseInt(this.boxZoom.css('width')), visible = false;
|
var visible = false;
|
||||||
|
var right = parseInt(this.boxZoom.css('width'));
|
||||||
if (this.boxMath.is(':visible')) {
|
if (this.boxMath.is(':visible')) {
|
||||||
|
this.boxMath.css({'right': right + 'px'});
|
||||||
right += parseInt(this.boxMath.css('width'));
|
right += parseInt(this.boxMath.css('width'));
|
||||||
visible = true;
|
visible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.boxFiltered.is(':visible')) {
|
if (this.boxFiltered.is(':visible')) {
|
||||||
|
this.boxFiltered.css({'right': right + 'px'});
|
||||||
right += parseInt(this.boxFiltered.css('width'));
|
right += parseInt(this.boxFiltered.css('width'));
|
||||||
visible = true;
|
visible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.boxZoom.find('.separator').css('border-left-color',visible?'':'transparent');
|
if (this.isCompact) {
|
||||||
|
if (this.boxAction.is(':visible')) {
|
||||||
|
var tabsWidth = this.tabbar.getWidth();
|
||||||
|
if (Common.Utils.innerWidth() - right - 175 - 140 - tabsWidth > 0) { // docWidth - right - left - this.boxAction.width
|
||||||
|
var left = tabsWidth + 175;
|
||||||
|
this.boxAction.css({'right': right + 'px', 'left': left + 'px', 'width': 'auto'});
|
||||||
|
this.boxAction.find('.separator').css('border-left-color', 'transparent');
|
||||||
|
} else {
|
||||||
|
this.boxAction.css({'right': right + 'px', 'left': 'auto', 'width': '140px'});
|
||||||
|
this.boxAction.find('.separator').css('border-left-color', '');
|
||||||
|
visible = true;
|
||||||
|
}
|
||||||
|
right += parseInt(this.boxAction.css('width'));
|
||||||
|
}
|
||||||
|
|
||||||
|
this.boxMath.is(':visible') && this.boxMath.css({'top': '0px', 'bottom': 'auto'});
|
||||||
|
this.boxFiltered.is(':visible') && this.boxFiltered.css({'top': '0px', 'bottom': 'auto'});
|
||||||
|
this.boxZoom.css({'top': '0px', 'bottom': 'auto'});
|
||||||
this.tabBarBox.css('right', right + 'px');
|
this.tabBarBox.css('right', right + 'px');
|
||||||
|
} else {
|
||||||
|
if (this.boxAction.is(':visible')) {
|
||||||
|
this.boxAction.css({'right': right + 'px', 'left': '135px', 'width': 'auto'});
|
||||||
|
this.boxAction.find('.separator').css('border-left-color', 'transparent');
|
||||||
|
}
|
||||||
|
this.boxMath.is(':visible') && this.boxMath.css({'top': 'auto', 'bottom': '0px'});
|
||||||
|
this.boxFiltered.is(':visible') && this.boxFiltered.css({'top': 'auto', 'bottom': '0px'});
|
||||||
|
this.boxZoom.css({'top': 'auto', 'bottom': '0px'});
|
||||||
|
this.tabBarBox.css('right', '0px');
|
||||||
|
}
|
||||||
|
this.boxZoom.find('.separator').css('border-left-color', visible ? '' : 'transparent');
|
||||||
},
|
},
|
||||||
|
|
||||||
updateVisibleItemsBoxMath: function () {
|
updateVisibleItemsBoxMath: function () {
|
||||||
|
@ -852,7 +915,9 @@ define([
|
||||||
|
|
||||||
onCustomizeStatusBarAfterShow: function (obj) {
|
onCustomizeStatusBarAfterShow: function (obj) {
|
||||||
if (obj.atposition) {
|
if (obj.atposition) {
|
||||||
obj.setOffset(obj.atposition.left);
|
var statusHeight = $(this.el).height(),
|
||||||
|
offsetTop = !this.isCompact && (obj.atposition.top - $(this.el).offset().top > statusHeight/2) ? statusHeight/2 : 0;
|
||||||
|
obj.setOffset(obj.atposition.left, offsetTop);
|
||||||
}
|
}
|
||||||
this.enableKeyEvents = true;
|
this.enableKeyEvents = true;
|
||||||
},
|
},
|
||||||
|
@ -870,6 +935,9 @@ define([
|
||||||
onCustomizeStatusBarClick: function (o, item, event) {
|
onCustomizeStatusBarClick: function (o, item, event) {
|
||||||
var value = item.value,
|
var value = item.value,
|
||||||
checked = item.checked;
|
checked = item.checked;
|
||||||
|
if (value === 'status') {
|
||||||
|
this.boxAction[checked ? 'removeClass' : 'addClass']('hide');
|
||||||
|
} else {
|
||||||
this.boxMath.find('#status-math-' + value)[checked ? 'removeClass' : 'addClass']('hide');
|
this.boxMath.find('#status-math-' + value)[checked ? 'removeClass' : 'addClass']('hide');
|
||||||
if (this.boxMath.find('label').length === this.boxMath.find('label.hide').length) {
|
if (this.boxMath.find('label').length === this.boxMath.find('label.hide').length) {
|
||||||
this.boxMath.find('.separator').hide();
|
this.boxMath.find('.separator').hide();
|
||||||
|
@ -878,6 +946,7 @@ define([
|
||||||
this.boxMath.find('.separator').show();
|
this.boxMath.find('.separator').show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
this.updateVisibleItemsBoxMath();
|
this.updateVisibleItemsBoxMath();
|
||||||
this.updateTabbarBorders();
|
this.updateTabbarBorders();
|
||||||
this.onTabInvisible(undefined, this.tabbar.checkInvisible(true));
|
this.onTabInvisible(undefined, this.tabbar.checkInvisible(true));
|
||||||
|
@ -885,6 +954,50 @@ define([
|
||||||
item.$el.find('a').blur();
|
item.$el.find('a').blur();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onChangeCompact: function (compact) {
|
||||||
|
this.isCompact = compact;
|
||||||
|
if (compact) {
|
||||||
|
this.cntStatusbar.removeClass('no-compact');
|
||||||
|
this.boxNumberSheets.hide();
|
||||||
|
//this.boxAction.hide();
|
||||||
|
} else {
|
||||||
|
this.cntStatusbar.addClass('no-compact');
|
||||||
|
this.boxNumberSheets.show();
|
||||||
|
//this.boxAction.show();
|
||||||
|
}
|
||||||
|
this.updateTabbarBorders();
|
||||||
|
this.onTabInvisible(undefined, this.tabbar.checkInvisible(true));
|
||||||
|
},
|
||||||
|
|
||||||
|
updateNumberOfSheet: function (active, count) {
|
||||||
|
this.labelNumberSheets.text(
|
||||||
|
Common.Utils.String.format(this.sheetIndexText, active + 1, count)
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
showStatusMessage: function(message) {
|
||||||
|
this.labelAction.text(message);
|
||||||
|
this.customizeStatusBarMenu.items.forEach(function (item) {
|
||||||
|
if (item.options.id === 'saved-status') {
|
||||||
|
item.options.exampleval = message;
|
||||||
|
}
|
||||||
|
$(item.el).find('label').text(item.options.exampleval);
|
||||||
|
});
|
||||||
|
if (!this.boxAction.is(':visible')) {
|
||||||
|
this.boxAction.show();
|
||||||
|
}
|
||||||
|
var me = this;
|
||||||
|
_.delay(function(){
|
||||||
|
me.updateTabbarBorders();
|
||||||
|
me.onTabInvisible(undefined, me.tabbar.checkInvisible(true));
|
||||||
|
},30);
|
||||||
|
},
|
||||||
|
|
||||||
|
clearStatusMessage: function() {
|
||||||
|
this.labelAction.text('');
|
||||||
|
},
|
||||||
|
|
||||||
|
sheetIndexText : 'Sheet {0} of {1}',
|
||||||
tipZoomIn : 'Zoom In',
|
tipZoomIn : 'Zoom In',
|
||||||
tipZoomOut : 'Zoom Out',
|
tipZoomOut : 'Zoom Out',
|
||||||
tipZoomFactor : 'Magnification',
|
tipZoomFactor : 'Magnification',
|
||||||
|
@ -920,6 +1033,7 @@ define([
|
||||||
itemMinimum : 'Minimum',
|
itemMinimum : 'Minimum',
|
||||||
itemMaximum : 'Maximum',
|
itemMaximum : 'Maximum',
|
||||||
itemSum : 'Sum',
|
itemSum : 'Sum',
|
||||||
|
itemStatus : 'Saving status',
|
||||||
itemProtect : 'Protect',
|
itemProtect : 'Protect',
|
||||||
itemUnProtect : 'Unprotect'
|
itemUnProtect : 'Unprotect'
|
||||||
}, SSE.Views.Statusbar || {}));
|
}, SSE.Views.Statusbar || {}));
|
||||||
|
|
|
@ -99,7 +99,8 @@ define([
|
||||||
stretch: true
|
stretch: true
|
||||||
}, {
|
}, {
|
||||||
el: items[3],
|
el: items[3],
|
||||||
height: 25
|
alias: 'statusbar',
|
||||||
|
height: Common.localStorage.getBool('sse-compact-statusbar', true) ? 25 : 50
|
||||||
}]
|
}]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -215,7 +215,7 @@
|
||||||
"Common.Views.Header.textBack": "Open file location",
|
"Common.Views.Header.textBack": "Open file location",
|
||||||
"Common.Views.Header.textCompactView": "Hide Toolbar",
|
"Common.Views.Header.textCompactView": "Hide Toolbar",
|
||||||
"Common.Views.Header.textHideLines": "Hide Rulers",
|
"Common.Views.Header.textHideLines": "Hide Rulers",
|
||||||
"Common.Views.Header.textHideStatusBar": "Hide Status Bar",
|
"Common.Views.Header.textHideStatusBar": "Combine sheet and status bars",
|
||||||
"Common.Views.Header.textRemoveFavorite": "Remove from Favorites",
|
"Common.Views.Header.textRemoveFavorite": "Remove from Favorites",
|
||||||
"Common.Views.Header.textSaveBegin": "Saving...",
|
"Common.Views.Header.textSaveBegin": "Saving...",
|
||||||
"Common.Views.Header.textSaveChanged": "Modified",
|
"Common.Views.Header.textSaveChanged": "Modified",
|
||||||
|
@ -1026,6 +1026,8 @@
|
||||||
"SSE.Controllers.Main.warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only.<br>Contact %1 sales team for personal upgrade terms.",
|
"SSE.Controllers.Main.warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only.<br>Contact %1 sales team for personal upgrade terms.",
|
||||||
"SSE.Controllers.Main.warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.",
|
"SSE.Controllers.Main.warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.",
|
||||||
"SSE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.",
|
"SSE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.",
|
||||||
|
"SSE.Controllers.Main.textNeedSynchronize": "You have an updates",
|
||||||
|
"SSE.Controllers.Main.textChangesSaved": "All changes saved",
|
||||||
"SSE.Controllers.Main.textConvertEquation": "This equation was created with an old version of the equation editor which is no longer supported. To edit it, convert the equation to the Office Math ML format.<br>Convert now?",
|
"SSE.Controllers.Main.textConvertEquation": "This equation was created with an old version of the equation editor which is no longer supported. To edit it, convert the equation to the Office Math ML format.<br>Convert now?",
|
||||||
"SSE.Controllers.Main.textLearnMore": "Learn More",
|
"SSE.Controllers.Main.textLearnMore": "Learn More",
|
||||||
"SSE.Controllers.Main.textApplyAll": "Apply to all equations",
|
"SSE.Controllers.Main.textApplyAll": "Apply to all equations",
|
||||||
|
@ -3015,6 +3017,7 @@
|
||||||
"SSE.Views.Statusbar.itemRename": "Rename",
|
"SSE.Views.Statusbar.itemRename": "Rename",
|
||||||
"SSE.Views.Statusbar.itemSum": "Sum",
|
"SSE.Views.Statusbar.itemSum": "Sum",
|
||||||
"SSE.Views.Statusbar.itemTabColor": "Tab Color",
|
"SSE.Views.Statusbar.itemTabColor": "Tab Color",
|
||||||
|
"SSE.Views.Statusbar.itemStatus": "Saving status",
|
||||||
"SSE.Views.Statusbar.itemProtect": "Protect",
|
"SSE.Views.Statusbar.itemProtect": "Protect",
|
||||||
"SSE.Views.Statusbar.itemUnProtect": "Unprotect",
|
"SSE.Views.Statusbar.itemUnProtect": "Unprotect",
|
||||||
"SSE.Views.Statusbar.RenameDialog.errNameExists": "Worksheet with such a name already exists.",
|
"SSE.Views.Statusbar.RenameDialog.errNameExists": "Worksheet with such a name already exists.",
|
||||||
|
@ -3038,6 +3041,7 @@
|
||||||
"SSE.Views.Statusbar.tipZoomOut": "Zoom out",
|
"SSE.Views.Statusbar.tipZoomOut": "Zoom out",
|
||||||
"SSE.Views.Statusbar.ungroupSheets": "Ungroup Sheets",
|
"SSE.Views.Statusbar.ungroupSheets": "Ungroup Sheets",
|
||||||
"SSE.Views.Statusbar.zoomText": "Zoom {0}%",
|
"SSE.Views.Statusbar.zoomText": "Zoom {0}%",
|
||||||
|
"SSE.Views.Statusbar.sheetIndexText": "Sheet {0} of {1}",
|
||||||
"SSE.Views.TableOptionsDialog.errorAutoFilterDataRange": "The operation could not be done for the selected range of cells.<br>Select a uniform data range different from the existing one and try again.",
|
"SSE.Views.TableOptionsDialog.errorAutoFilterDataRange": "The operation could not be done for the selected range of cells.<br>Select a uniform data range different from the existing one and try again.",
|
||||||
"SSE.Views.TableOptionsDialog.errorFTChangeTableRangeError": "Operation could not be completed for the selected cell range.<br>Select a range so that the first table row was on the same row<br>and the resulting table overlapped the current one.",
|
"SSE.Views.TableOptionsDialog.errorFTChangeTableRangeError": "Operation could not be completed for the selected cell range.<br>Select a range so that the first table row was on the same row<br>and the resulting table overlapped the current one.",
|
||||||
"SSE.Views.TableOptionsDialog.errorFTRangeIncludedOtherTables": "Operation could not be completed for the selected cell range.<br>Select a range which does not include other tables.",
|
"SSE.Views.TableOptionsDialog.errorFTRangeIncludedOtherTables": "Operation could not be completed for the selected cell range.<br>Select a range which does not include other tables.",
|
||||||
|
|
|
@ -6,18 +6,26 @@
|
||||||
width: 112px;
|
width: 112px;
|
||||||
float: left;
|
float: left;
|
||||||
padding: 3px 12px 0 10px;
|
padding: 3px 12px 0 10px;
|
||||||
|
height: 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#status-zoom-box {
|
#status-zoom-box {
|
||||||
width: 160px;
|
width: 160px;
|
||||||
float: right;
|
//float: right;
|
||||||
padding-top: 3px;
|
padding-top: 3px;
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
height: 25px;
|
||||||
|
|
||||||
.separator {
|
.separator {
|
||||||
margin-right: 10px;
|
|
||||||
margin-top: -3px;
|
margin-top: -3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#status-btn-zoomdown {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
#status-label-zoom {
|
#status-label-zoom {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -120,28 +128,42 @@
|
||||||
|
|
||||||
#status-math-box,
|
#status-math-box,
|
||||||
#status-filtered-box {
|
#status-filtered-box {
|
||||||
float: right;
|
//float: right;
|
||||||
padding-top: 6px;
|
padding-top: 6px;
|
||||||
padding-right: 14px;
|
|
||||||
|
|
||||||
|
position: absolute;
|
||||||
|
height: 25px;
|
||||||
|
|
||||||
|
.separator {
|
||||||
|
position: relative;
|
||||||
|
padding-right: 11px;
|
||||||
|
margin-top: -6px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#status-math-box {
|
||||||
|
padding-right: 4px;
|
||||||
label {
|
label {
|
||||||
&:not(:last-child) {
|
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.separator {
|
#status-filtered-box {
|
||||||
margin-top: -6px;
|
padding-right: 14px;
|
||||||
|
label {
|
||||||
|
&:not(:last-child) {
|
||||||
|
padding-right: 10px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#status-sheets-bar-box {
|
#status-sheets-bar-box {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: 32px;
|
height: 25px;
|
||||||
left: 112px;
|
left: 112px;
|
||||||
right: 160px;
|
right: 160px;
|
||||||
margin-right: 3px;
|
//margin-right: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#status-sheets-bar {
|
#status-sheets-bar {
|
||||||
|
@ -315,10 +337,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&.separator-item {
|
&.separator-item {
|
||||||
|
margin-top: 1px;
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
width: @scaled-one-px-value-ie;
|
width: @scaled-one-px-value-ie;
|
||||||
width: @scaled-one-px-value;
|
width: @scaled-one-px-value;
|
||||||
> span {
|
> span {
|
||||||
|
display: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
width: @scaled-one-px-value-ie;
|
width: @scaled-one-px-value-ie;
|
||||||
|
@ -337,6 +361,33 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#status-number-of-sheet , #status-action {
|
||||||
|
position: absolute;
|
||||||
|
height: 25px;
|
||||||
|
bottom: 0;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
.status-label {
|
||||||
|
font-weight: bold;
|
||||||
|
color: @text-normal;
|
||||||
|
margin-top: 5px;
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#status-number-of-sheet {
|
||||||
|
width: 135px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.no-compact {
|
||||||
|
#status-tabs-scroll, #status-sheets-bar-box, #status-addtabs-box {
|
||||||
|
height: 26px;
|
||||||
|
border-bottom: @scaled-one-px-value-ie solid @border-toolbar-ie;
|
||||||
|
border-bottom: @scaled-one-px-value solid @border-toolbar;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.btn-tpl(@top-position) {
|
.btn-tpl(@top-position) {
|
||||||
.btn-icon {
|
.btn-icon {
|
||||||
background-position: 0 @top-position;
|
background-position: 0 @top-position;
|
||||||
|
@ -428,6 +479,19 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#statusbar-menu {
|
||||||
|
.dropdown-menu {
|
||||||
|
li {
|
||||||
|
> a {
|
||||||
|
padding: 5px 12px 5px 26px;
|
||||||
|
&::before {
|
||||||
|
margin-left: -22px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.statusbar-mask {
|
.statusbar-mask {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
|
Loading…
Reference in a new issue