Dynamically changing context menu icons

This commit is contained in:
Julia Radzhabova 2020-08-20 21:03:07 +03:00
parent b4b9d4a301
commit e0e316d963
5 changed files with 134 additions and 5 deletions

View file

@ -244,8 +244,8 @@ define([
if (firstChild) { if (firstChild) {
firstChild.find('.menu-item-icon').removeClass(this.iconCls).addClass(iconCls); firstChild.find('.menu-item-icon').removeClass(this.iconCls).addClass(iconCls);
} }
this.iconCls = iconCls;
} }
this.iconCls = iconCls;
}, },
setChecked: function(check, suppressEvent) { setChecked: function(check, suppressEvent) {

View file

@ -2744,6 +2744,7 @@ define([
}; };
var menuTableCellAlign = new Common.UI.MenuItem({ var menuTableCellAlign = new Common.UI.MenuItem({
iconCls: 'menu__icon btn-align-top',
caption : me.cellAlignText, caption : me.cellAlignText,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
cls: 'shifted-right', cls: 'shifted-right',
@ -3019,6 +3020,7 @@ define([
}; };
var menuTableDirection = new Common.UI.MenuItem({ var menuTableDirection = new Common.UI.MenuItem({
iconCls: 'menu__icon text-orient-hor',
caption : me.directionText, caption : me.directionText,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
cls: 'ppm-toolbar shifted-right', cls: 'ppm-toolbar shifted-right',
@ -3105,11 +3107,37 @@ define([
} }
var align = value.tableProps.value.get_CellsVAlign(); var align = value.tableProps.value.get_CellsVAlign();
var cls = '';
switch (align) {
case Asc.c_oAscVertAlignJc.Top:
cls = 'menu__icon btn-align-top';
break;
case Asc.c_oAscVertAlignJc.Center:
cls = 'menu__icon btn-align-middle';
break;
case Asc.c_oAscVertAlignJc.Bottom:
cls = 'menu__icon btn-align-bottom';
break;
}
menuTableCellAlign.setIconCls(cls);
me.menuTableCellTop.setChecked(align == Asc.c_oAscVertAlignJc.Top); me.menuTableCellTop.setChecked(align == Asc.c_oAscVertAlignJc.Top);
me.menuTableCellCenter.setChecked(align == Asc.c_oAscVertAlignJc.Center); me.menuTableCellCenter.setChecked(align == Asc.c_oAscVertAlignJc.Center);
me.menuTableCellBottom.setChecked(align == Asc.c_oAscVertAlignJc.Bottom); me.menuTableCellBottom.setChecked(align == Asc.c_oAscVertAlignJc.Bottom);
var dir = value.tableProps.value.get_CellsTextDirection(); var dir = value.tableProps.value.get_CellsTextDirection();
cls = '';
switch (dir) {
case Asc.c_oAscCellTextDirection.LRTB:
cls = 'menu__icon text-orient-hor';
break;
case Asc.c_oAscCellTextDirection.TBRL:
cls = 'menu__icon text-orient-rdown';
break;
case Asc.c_oAscCellTextDirection.BTLR:
cls = 'menu__icon btn-align-rup';
break;
}
menuTableDirection.setIconCls(cls);
me.menuTableDirectH.setChecked(dir == Asc.c_oAscCellTextDirection.LRTB); me.menuTableDirectH.setChecked(dir == Asc.c_oAscCellTextDirection.LRTB);
me.menuTableDirect90.setChecked(dir == Asc.c_oAscCellTextDirection.TBRL); me.menuTableDirect90.setChecked(dir == Asc.c_oAscCellTextDirection.TBRL);
me.menuTableDirect270.setChecked(dir == Asc.c_oAscCellTextDirection.BTLR); me.menuTableDirect270.setChecked(dir == Asc.c_oAscCellTextDirection.BTLR);
@ -3127,7 +3155,6 @@ define([
menuTableDistCols.setDisabled(disabled); menuTableDistCols.setDisabled(disabled);
menuTableCellAlign.setDisabled(disabled); menuTableCellAlign.setDisabled(disabled);
menuTableDirection.setDisabled(disabled); menuTableDirection.setDisabled(disabled);
menuTableAdvanced.setDisabled(disabled); menuTableAdvanced.setDisabled(disabled);
var cancopy = me.api && me.api.can_CopyCut(); var cancopy = me.api && me.api.can_CopyCut();
@ -3430,6 +3457,7 @@ define([
}; };
var menuParagraphVAlign = new Common.UI.MenuItem({ var menuParagraphVAlign = new Common.UI.MenuItem({
iconCls: 'menu__icon btn-align-top',
caption : me.vertAlignText, caption : me.vertAlignText,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
cls: 'shifted-right', cls: 'shifted-right',
@ -3475,6 +3503,7 @@ define([
}; };
var menuParagraphDirection = new Common.UI.MenuItem({ var menuParagraphDirection = new Common.UI.MenuItem({
iconCls: 'menu__icon text-orient-hor',
caption : me.directionText, caption : me.directionText,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
cls: 'ppm-toolbar shifted-right', cls: 'ppm-toolbar shifted-right',
@ -3755,11 +3784,37 @@ define([
menuParagraphDirection.setVisible(isInShape && !isInChart && !isEquation); // после того, как заголовок можно будет растягивать по вертикали, вернуть "|| isInChart" !! menuParagraphDirection.setVisible(isInShape && !isInChart && !isEquation); // после того, как заголовок можно будет растягивать по вертикали, вернуть "|| isInChart" !!
if ( isInShape || isInChart ) { if ( isInShape || isInChart ) {
var align = value.imgProps.value.get_VerticalTextAlign(); var align = value.imgProps.value.get_VerticalTextAlign();
var cls = '';
switch (align) {
case Asc.c_oAscVAlign.Top:
cls = 'menu__icon btn-align-top';
break;
case Asc.c_oAscVAlign.Center:
cls = 'menu__icon btn-align-middle';
break;
case Asc.c_oAscVAlign.Bottom:
cls = 'menu__icon btn-align-bottom';
break;
}
menuParagraphVAlign.setIconCls(cls);
me.menuParagraphTop.setChecked(align == Asc.c_oAscVAlign.Top); me.menuParagraphTop.setChecked(align == Asc.c_oAscVAlign.Top);
me.menuParagraphCenter.setChecked(align == Asc.c_oAscVAlign.Center); me.menuParagraphCenter.setChecked(align == Asc.c_oAscVAlign.Center);
me.menuParagraphBottom.setChecked(align == Asc.c_oAscVAlign.Bottom); me.menuParagraphBottom.setChecked(align == Asc.c_oAscVAlign.Bottom);
var dir = value.imgProps.value.get_Vert(); var dir = value.imgProps.value.get_Vert();
cls = '';
switch (dir) {
case Asc.c_oAscVertDrawingText.normal:
cls = 'menu__icon text-orient-hor';
break;
case Asc.c_oAscVertDrawingText.vert:
cls = 'menu__icon text-orient-rdown';
break;
case Asc.c_oAscVertDrawingText.vert270:
cls = 'menu__icon btn-align-rup';
break;
}
menuParagraphDirection.setIconCls(cls);
me.menuParagraphDirectH.setChecked(dir == Asc.c_oAscVertDrawingText.normal); me.menuParagraphDirectH.setChecked(dir == Asc.c_oAscVertDrawingText.normal);
me.menuParagraphDirect90.setChecked(dir == Asc.c_oAscVertDrawingText.vert); me.menuParagraphDirect90.setChecked(dir == Asc.c_oAscVertDrawingText.vert);
me.menuParagraphDirect270.setChecked(dir == Asc.c_oAscVertDrawingText.vert270); me.menuParagraphDirect270.setChecked(dir == Asc.c_oAscVertDrawingText.vert270);

View file

@ -2188,6 +2188,7 @@ define([
}); });
var menuTableCellAlign = new Common.UI.MenuItem({ var menuTableCellAlign = new Common.UI.MenuItem({
iconCls: 'menu__icon btn-align-top',
caption : me.cellAlignText, caption : me.cellAlignText,
menu : (function(){ menu : (function(){
function onItemClick(item, e) { function onItemClick(item, e) {
@ -2766,6 +2767,7 @@ define([
}).on('click', _.bind(me.editChartClick, me, undefined)); }).on('click', _.bind(me.editChartClick, me, undefined));
var menuParagraphVAlign = new Common.UI.MenuItem({ var menuParagraphVAlign = new Common.UI.MenuItem({
iconCls: 'menu__icon btn-align-top',
caption : me.vertAlignText, caption : me.vertAlignText,
menu : (function(){ menu : (function(){
function onItemClick(item) { function onItemClick(item) {
@ -2824,6 +2826,7 @@ define([
}; };
var menuParagraphDirection = new Common.UI.MenuItem({ var menuParagraphDirection = new Common.UI.MenuItem({
iconCls: 'menu__icon text-orient-hor',
caption : me.directionText, caption : me.directionText,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
cls: 'shifted-right', cls: 'shifted-right',
@ -3100,14 +3103,43 @@ define([
menuParagraphDirection.setVisible(isInShape && !isInChart && !isEquation); // после того, как заголовок можно будет растягивать по вертикали, вернуть "|| isInChart" !! menuParagraphDirection.setVisible(isInShape && !isInChart && !isEquation); // после того, как заголовок можно будет растягивать по вертикали, вернуть "|| isInChart" !!
if (isInShape || isInChart) { if (isInShape || isInChart) {
var align = value.shapeProps.value.get_VerticalTextAlign(); var align = value.shapeProps.value.get_VerticalTextAlign();
var cls = '';
switch (align) {
case Asc.c_oAscVAlign.Top:
cls = 'menu__icon btn-align-top';
break;
case Asc.c_oAscVAlign.Center:
cls = 'menu__icon btn-align-middle';
break;
case Asc.c_oAscVAlign.Bottom:
cls = 'menu__icon btn-align-bottom';
break;
}
menuParagraphVAlign.setIconCls(cls);
me.menuParagraphTop.setChecked(align == Asc.c_oAscVAlign.Top); me.menuParagraphTop.setChecked(align == Asc.c_oAscVAlign.Top);
me.menuParagraphCenter.setChecked(align == Asc.c_oAscVAlign.Center); me.menuParagraphCenter.setChecked(align == Asc.c_oAscVAlign.Center);
me.menuParagraphBottom.setChecked(align == Asc.c_oAscVAlign.Bottom); me.menuParagraphBottom.setChecked(align == Asc.c_oAscVAlign.Bottom);
var dir = value.shapeProps.value.get_Vert(); var dir = value.shapeProps.value.get_Vert();
cls = '';
switch (dir) {
case Asc.c_oAscVertDrawingText.normal:
cls = 'menu__icon text-orient-hor';
break;
case Asc.c_oAscVertDrawingText.vert:
cls = 'menu__icon text-orient-rdown';
break;
case Asc.c_oAscVertDrawingText.vert270:
cls = 'menu__icon btn-align-rup';
break;
}
menuParagraphDirection.setIconCls(cls);
me.menuParagraphDirectH.setChecked(dir == Asc.c_oAscVertDrawingText.normal); me.menuParagraphDirectH.setChecked(dir == Asc.c_oAscVertDrawingText.normal);
me.menuParagraphDirect90.setChecked(dir == Asc.c_oAscVertDrawingText.vert); me.menuParagraphDirect90.setChecked(dir == Asc.c_oAscVertDrawingText.vert);
me.menuParagraphDirect270.setChecked(dir == Asc.c_oAscVertDrawingText.vert270); me.menuParagraphDirect270.setChecked(dir == Asc.c_oAscVertDrawingText.vert270);
} else {
menuParagraphVAlign.setIconCls('');
menuParagraphDirection.setIconCls('');
} }
menuParagraphVAlign.setDisabled(disabled); menuParagraphVAlign.setDisabled(disabled);
menuParagraphDirection.setDisabled(disabled); menuParagraphDirection.setDisabled(disabled);
@ -3224,9 +3256,23 @@ define([
var disabled = (value.slideProps!==undefined && value.slideProps.locked); var disabled = (value.slideProps!==undefined && value.slideProps.locked);
me.menuTableCellTop.setChecked(value.tableProps.value.get_CellsVAlign() == Asc.c_oAscVertAlignJc.Top); var align = value.tableProps.value.get_CellsVAlign();
me.menuTableCellCenter.setChecked(value.tableProps.value.get_CellsVAlign() == Asc.c_oAscVertAlignJc.Center); var cls = '';
me.menuTableCellBottom.setChecked(value.tableProps.value.get_CellsVAlign() == Asc.c_oAscVertAlignJc.Bottom); switch (align) {
case Asc.c_oAscVertAlignJc.Top:
cls = 'menu__icon btn-align-top';
break;
case Asc.c_oAscVertAlignJc.Center:
cls = 'menu__icon btn-align-middle';
break;
case Asc.c_oAscVertAlignJc.Bottom:
cls = 'menu__icon btn-align-bottom';
break;
}
menuTableCellAlign.setIconCls(cls);
me.menuTableCellTop.setChecked(align == Asc.c_oAscVertAlignJc.Top);
me.menuTableCellCenter.setChecked(align == Asc.c_oAscVertAlignJc.Center);
me.menuTableCellBottom.setChecked(align == Asc.c_oAscVertAlignJc.Bottom);
if (me.api) { if (me.api) {
mnuTableMerge.setDisabled(value.tableProps.locked || disabled || !me.api.CheckBeforeMergeCells()); mnuTableMerge.setDisabled(value.tableProps.locked || disabled || !me.api.CheckBeforeMergeCells());

View file

@ -1778,10 +1778,36 @@ define([
direct = value.asc_getVert(), direct = value.asc_getVert(),
listtype = this.api.asc_getCurrentListType(); listtype = this.api.asc_getCurrentListType();
isObjLocked = isObjLocked || value.asc_getLocked(); isObjLocked = isObjLocked || value.asc_getLocked();
var cls = '';
switch (align) {
case Asc.c_oAscVAlign.Top:
cls = 'menu__icon btn-align-top';
break;
case Asc.c_oAscVAlign.Center:
cls = 'menu__icon btn-align-middle';
break;
case Asc.c_oAscVAlign.Bottom:
cls = 'menu__icon btn-align-bottom';
break;
}
documentHolder.menuParagraphVAlign.setIconCls(cls);
documentHolder.menuParagraphTop.setChecked(align == Asc.c_oAscVAlign.Top); documentHolder.menuParagraphTop.setChecked(align == Asc.c_oAscVAlign.Top);
documentHolder.menuParagraphCenter.setChecked(align == Asc.c_oAscVAlign.Center); documentHolder.menuParagraphCenter.setChecked(align == Asc.c_oAscVAlign.Center);
documentHolder.menuParagraphBottom.setChecked(align == Asc.c_oAscVAlign.Bottom); documentHolder.menuParagraphBottom.setChecked(align == Asc.c_oAscVAlign.Bottom);
cls = '';
switch (direct) {
case Asc.c_oAscVertDrawingText.normal:
cls = 'menu__icon text-orient-hor';
break;
case Asc.c_oAscVertDrawingText.vert:
cls = 'menu__icon text-orient-rdown';
break;
case Asc.c_oAscVertDrawingText.vert270:
cls = 'menu__icon btn-align-rup';
break;
}
documentHolder.menuParagraphDirection.setIconCls(cls);
documentHolder.menuParagraphDirectH.setChecked(direct == Asc.c_oAscVertDrawingText.normal); documentHolder.menuParagraphDirectH.setChecked(direct == Asc.c_oAscVertDrawingText.normal);
documentHolder.menuParagraphDirect90.setChecked(direct == Asc.c_oAscVertDrawingText.vert); documentHolder.menuParagraphDirect90.setChecked(direct == Asc.c_oAscVertDrawingText.vert);
documentHolder.menuParagraphDirect270.setChecked(direct == Asc.c_oAscVertDrawingText.vert270); documentHolder.menuParagraphDirect270.setChecked(direct == Asc.c_oAscVertDrawingText.vert270);

View file

@ -822,6 +822,7 @@ define([
}); });
this.menuParagraphVAlign = new Common.UI.MenuItem({ this.menuParagraphVAlign = new Common.UI.MenuItem({
iconCls: 'menu__icon btn-align-top',
caption : this.vertAlignText, caption : this.vertAlignText,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
cls: 'shifted-right', cls: 'shifted-right',
@ -856,6 +857,7 @@ define([
}); });
me.menuParagraphDirection = new Common.UI.MenuItem({ me.menuParagraphDirection = new Common.UI.MenuItem({
iconCls: 'menu__icon text-orient-hor',
caption : me.directionText, caption : me.directionText,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
cls: 'shifted-right', cls: 'shifted-right',