From 79eeb8172b342640f47e3de4792c31ccb26c02a1 Mon Sep 17 00:00:00 2001 From: nikita_bartoshuk Date: Fri, 28 Nov 2025 18:08:08 +0300 Subject: [PATCH] fixed combo styles --- .../main/resources/less/combo-dataview.less | 7 ++++++- .../spreadsheeteditor/main/app/view/ChartTab.js | 17 ++++++++++------- .../main/app/view/Charts3DDlg.js | 4 ++++ .../main/app/view/SparklineTab.js | 16 ++++++++++------ 4 files changed, 30 insertions(+), 14 deletions(-) diff --git a/apps/common/main/resources/less/combo-dataview.less b/apps/common/main/resources/less/combo-dataview.less index 8dba7afb9c..c0508aa0fb 100644 --- a/apps/common/main/resources/less/combo-dataview.less +++ b/apps/common/main/resources/less/combo-dataview.less @@ -456,8 +456,13 @@ padding: 1px; } + .dataview.inner { + padding: 1px 14px 1px 0px; + } + .dropdown-menu { - padding: 1px 1px 5px 1px; + padding: 0px 0px 5px 0px; + margin-left: 2px; .dataview { .group-description { diff --git a/apps/spreadsheeteditor/main/app/view/ChartTab.js b/apps/spreadsheeteditor/main/app/view/ChartTab.js index d149418fc8..b923ce1403 100644 --- a/apps/spreadsheeteditor/main/app/view/ChartTab.js +++ b/apps/spreadsheeteditor/main/app/view/ChartTab.js @@ -83,7 +83,7 @@ define([ '' + '' + '
' + - '
' + + '
' + '
' + '
' + '
' + @@ -527,7 +527,6 @@ define([ dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small', - menu: true, menu: this.menuChartElement.menu }); this.lockedControls.push(this.btnChartElements); @@ -567,7 +566,7 @@ define([ this.chartStyles = new Common.UI.ComboDataView({ cls : 'combo-chart-template', - style : 'min-width: 103px; max-width: 497px;', + style : 'min-width: 90px; max-width: 496px;', enableKeyEvents : true, itemWidth : 50, itemHeight : 50, @@ -578,7 +577,7 @@ define([ beforeOpenHandler: function(e) { var cmp = this, menu = cmp.openButton.menu, - columnCount = 8; + minMenuColumn = 4; if (menu.cmpEl) { var itemEl = $(cmp.cmpEl.find('.dataview.inner .style').get(0)).parent(); @@ -586,13 +585,17 @@ define([ var itemWidth = itemEl.is(':visible') ? parseFloat(itemEl.css('width')) : (cmp.itemWidth + parseFloat(itemEl.css('padding-left')) + parseFloat(itemEl.css('padding-right')) + parseFloat(itemEl.css('border-left-width')) + parseFloat(itemEl.css('border-right-width'))); + + var minCount = cmp.menuPicker.store.length >= minMenuColumn ? minMenuColumn : cmp.menuPicker.store.length, + columnCount = Math.min(cmp.menuPicker.store.length, Math.round($('.dataview', $(cmp.fieldPicker.el)).width() / (itemMargin + itemWidth))); + columnCount = columnCount < minCount ? minCount : columnCount; menu.menuAlignEl = cmp.cmpEl; menu.menuAlign = 'tl-tl'; - var menuWidth = columnCount * (itemMargin + itemWidth) + 14, // for scroller + var menuWidth = columnCount * (itemMargin + itemWidth) + 16, // for scroller buttonOffsetLeft = Common.Utils.getOffset(cmp.openButton.$el).left; if (menuWidth>Common.Utils.innerWidth()) - menuWidth = Math.max(Math.floor((Common.Utils.innerWidth()-14)/(itemMargin + itemWidth)), 2) * (itemMargin + itemWidth) - 14; - var offset = cmp.cmpEl.width() - cmp.openButton.$el.width() - Math.min(menuWidth, buttonOffsetLeft) - 1; + menuWidth = Math.max(Math.floor((Common.Utils.innerWidth()-16)/(itemMargin + itemWidth)), 2) * (itemMargin + itemWidth) + 16; + var offset = cmp.cmpEl.width() - cmp.openButton.$el.width() - Math.min(menuWidth, buttonOffsetLeft); if (Common.UI.isRTL()) { offset = cmp.openButton.$el.width() + parseFloat($(cmp.$el.find('.combo-dataview').get(0)).css('padding-left')); } diff --git a/apps/spreadsheeteditor/main/app/view/Charts3DDlg.js b/apps/spreadsheeteditor/main/app/view/Charts3DDlg.js index ee666ba83c..718e8e0e8d 100644 --- a/apps/spreadsheeteditor/main/app/view/Charts3DDlg.js +++ b/apps/spreadsheeteditor/main/app/view/Charts3DDlg.js @@ -259,6 +259,9 @@ define([], function () { this.chRightAngle.on('change', _.bind(function(field, newValue, oldValue, eOpts) { if (this.api && this.chartProps && this.oView3D) { this.oView3D.asc_setRightAngleAxes(field.getValue()=='checked'); + this.spnPerspective.setDisabled(field.getValue()=='checked'); + this.btnNarrow.setDisabled(field.getValue()=='checked'); + this.btnWiden.setDisabled(field.getValue()=='checked'); } }, this)); @@ -269,6 +272,7 @@ define([], function () { this.chAutoscale.on('change', _.bind(function(field, newValue, oldValue, eOpts) { if (this.api && this.chartProps && this.oView3D){ this.oView3D.asc_setHeight(field.getValue()=='checked' ? null : this.spn3DHeight.getNumberValue()); + this.spn3DHeight.setDisabled(field.getValue()=='checked'); } }, this)); diff --git a/apps/spreadsheeteditor/main/app/view/SparklineTab.js b/apps/spreadsheeteditor/main/app/view/SparklineTab.js index e37b4a1d29..75df85bf7d 100644 --- a/apps/spreadsheeteditor/main/app/view/SparklineTab.js +++ b/apps/spreadsheeteditor/main/app/view/SparklineTab.js @@ -82,7 +82,7 @@ define([ '
' + '' + '
' + - '
' + + '
' + '
' + '
' + '' + @@ -279,13 +279,13 @@ define([ lock: [_set.lostConnect, _set.coAuth, _set.editCell, _set.sparkLocked, _set.wsLock,], enableKeyEvents: true, cls: 'combo-chart-template', - style: 'min-width: 103px; max-width: 497px;', + style: 'min-width: 90px; max-width: 496px;', delayRenderTips: true, autoWidth: true, beforeOpenHandler: function(e) { var cmp = this, menu = cmp.openButton.menu, - columnCount = 8; + minMenuColumn = 6; if (menu.cmpEl) { var itemEl = $(cmp.cmpEl.find('.dataview.inner .style').get(0)).parent(); @@ -293,13 +293,17 @@ define([ var itemWidth = itemEl.is(':visible') ? parseFloat(itemEl.css('width')) : (cmp.itemWidth + parseFloat(itemEl.css('padding-left')) + parseFloat(itemEl.css('padding-right')) + parseFloat(itemEl.css('border-left-width')) + parseFloat(itemEl.css('border-right-width'))); + + var minCount = cmp.menuPicker.store.length >= minMenuColumn ? minMenuColumn : cmp.menuPicker.store.length, + columnCount = Math.min(cmp.menuPicker.store.length, Math.round($('.dataview', $(cmp.fieldPicker.el)).width() / (itemMargin + itemWidth))); + columnCount = columnCount < minCount ? minCount : columnCount; menu.menuAlignEl = cmp.cmpEl; menu.menuAlign = 'tl-tl'; - var menuWidth = columnCount * (itemMargin + itemWidth) + 14, // for scroller + var menuWidth = columnCount * (itemMargin + itemWidth) + 16, // for scroller buttonOffsetLeft = Common.Utils.getOffset(cmp.openButton.$el).left; if (menuWidth>Common.Utils.innerWidth()) - menuWidth = Math.max(Math.floor((Common.Utils.innerWidth()-14)/(itemMargin + itemWidth)), 2) * (itemMargin + itemWidth) - 14; - var offset = cmp.cmpEl.width() - cmp.openButton.$el.width() - Math.min(menuWidth, buttonOffsetLeft) - 1; + menuWidth = Math.max(Math.floor((Common.Utils.innerWidth()-16)/(itemMargin + itemWidth)), 2) * (itemMargin + itemWidth) + 16; + var offset = cmp.cmpEl.width() - cmp.openButton.$el.width() - Math.min(menuWidth, buttonOffsetLeft); if (Common.UI.isRTL()) { offset = cmp.openButton.$el.width() + parseFloat($(cmp.$el.find('.combo-dataview').get(0)).css('padding-left')); }