diff --git a/apps/common/main/lib/component/ComboBox.js b/apps/common/main/lib/component/ComboBox.js
index 78a7b0a22..c50a88aff 100644
--- a/apps/common/main/lib/component/ComboBox.js
+++ b/apps/common/main/lib/component/ComboBox.js
@@ -302,6 +302,9 @@ define([
if ($list.hasClass('menu-absolute')) {
var offset = this.cmpEl.offset();
$list.css({left: offset.left, top: offset.top + this.cmpEl.outerHeight() + 2});
+ } else if ($list.hasClass('menu-aligned')) {
+ var offset = this.cmpEl.offset();
+ $list.toggleClass('show-top', offset.top + this.cmpEl.outerHeight() + $list.outerHeight() > Common.Utils.innerHeight());
}
},
diff --git a/apps/common/main/resources/less/combobox.less b/apps/common/main/resources/less/combobox.less
index cc3cb36b8..31a7f0601 100644
--- a/apps/common/main/resources/less/combobox.less
+++ b/apps/common/main/resources/less/combobox.less
@@ -130,6 +130,11 @@
.dropdown-menu.menu-absolute {
position: fixed;
}
+
+ .dropdown-menu.show-top {
+ top: auto;
+ bottom: 100%;
+ }
}
.open > .combobox.combo-dataview-menu {
diff --git a/apps/documenteditor/main/app/view/FileMenuPanels.js b/apps/documenteditor/main/app/view/FileMenuPanels.js
index 8bd418ea4..1e91ff1f0 100644
--- a/apps/documenteditor/main/app/view/FileMenuPanels.js
+++ b/apps/documenteditor/main/app/view/FileMenuPanels.js
@@ -262,13 +262,17 @@ define([
'
',
'
',
'','
',
+ '',
+ ' | ',
+ ' | ',
+ '
',
'',
'',
- '',
+ '
',
'
',
'',
' | ',
- ' | ',
+ ' | ',
'
',
'
',
'
'
@@ -425,6 +429,7 @@ define([
el : $markup.findById('#fms-cmb-macros'),
style : 'width: 160px;',
editable : false,
+ menuCls : 'menu-aligned',
cls : 'input-group-nr',
data : [
{ value: 2, displayValue: this.txtStopMacros, descValue: this.txtStopMacrosDesc },
@@ -446,13 +451,16 @@ define([
});
this.btnAutoCorrect.on('click', _.bind(this.autoCorrect, this));
- this.btnApply = new Common.UI.Button({
- el: $markup.findById('#fms-btn-apply')
+ $markup.find('.btn.primary').each(function(index, el){
+ (new Common.UI.Button({
+ el: $(el)
+ })).on('click', _.bind(me.applySettings, me));
});
- this.btnApply.on('click', this.applySettings.bind(this));
-
this.pnlSettings = $markup.find('.flex-settings').addBack().filter('.flex-settings');
+ this.pnlApply = $markup.find('.fms-flex-apply').addBack().filter('.fms-flex-apply');
+ this.pnlTable = this.pnlSettings.find('table');
+ this.trApply = $markup.find('.fms-btn-apply');
this.$el = $(node).html($markup);
@@ -482,6 +490,11 @@ define([
updateScroller: function() {
if (this.scroller) {
+ Common.UI.Menu.Manager.hideAll();
+ var scrolled = this.$el.height()< this.pnlTable.height() + 25 + this.pnlApply.height();
+ this.pnlApply.toggleClass('hidden', !scrolled);
+ this.trApply.toggleClass('hidden', scrolled);
+ this.pnlSettings.css('overflow', scrolled ? 'hidden' : 'visible');
this.scroller.update();
this.pnlSettings.toggleClass('bordered', this.scroller.isVisible());
}
diff --git a/apps/presentationeditor/main/app/view/FileMenuPanels.js b/apps/presentationeditor/main/app/view/FileMenuPanels.js
index aa802e4ec..315fb36ea 100644
--- a/apps/presentationeditor/main/app/view/FileMenuPanels.js
+++ b/apps/presentationeditor/main/app/view/FileMenuPanels.js
@@ -236,13 +236,17 @@ define([
'
',
'
',
'','
|
',
+ '
',
+ ' | ',
+ ' | ',
+ '
',
'',
'
',
- '',
+ '
',
'
',
'',
' | ',
- ' | ',
+ ' | ',
'
',
'
',
'
'
@@ -368,6 +372,7 @@ define([
el : $markup.findById('#fms-cmb-macros'),
style : 'width: 160px;',
editable : false,
+ menuCls : 'menu-aligned',
cls : 'input-group-nr',
data : [
{ value: 2, displayValue: this.txtStopMacros, descValue: this.txtStopMacrosDesc },
@@ -389,13 +394,16 @@ define([
});
this.btnAutoCorrect.on('click', _.bind(this.autoCorrect, this));
- this.btnApply = new Common.UI.Button({
- el: $markup.findById('#fms-btn-apply')
+ $markup.find('.btn.primary').each(function(index, el){
+ (new Common.UI.Button({
+ el: $(el)
+ })).on('click', _.bind(me.applySettings, me));
});
- this.btnApply.on('click', _.bind(this.applySettings, this));
-
this.pnlSettings = $markup.find('.flex-settings').addBack().filter('.flex-settings');
+ this.pnlApply = $markup.find('.fms-flex-apply').addBack().filter('.fms-flex-apply');
+ this.pnlTable = this.pnlSettings.find('table');
+ this.trApply = $markup.find('.fms-btn-apply');
this.$el = $(node).html($markup);
@@ -425,6 +433,11 @@ define([
updateScroller: function() {
if (this.scroller) {
+ Common.UI.Menu.Manager.hideAll();
+ var scrolled = this.$el.height()< this.pnlTable.height() + 25 + this.pnlApply.height();
+ this.pnlApply.toggleClass('hidden', !scrolled);
+ this.trApply.toggleClass('hidden', scrolled);
+ this.pnlSettings.css('overflow', scrolled ? 'hidden' : 'visible');
this.scroller.update();
this.pnlSettings.toggleClass('bordered', this.scroller.isVisible());
}
diff --git a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js
index 4a58c46b0..9bbae242d 100644
--- a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js
+++ b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js
@@ -737,13 +737,17 @@ define([
'
',
'
',
'','
|
',
+ '
',
+ ' | ',
+ ' | ',
+ '
',
'',
'
',
- '',
+ '
',
'
',
'',
' | ',
- ' | ',
+ ' | ',
'
',
'
',
'
',
@@ -977,6 +981,7 @@ define([
el : $markup.findById('#fms-cmb-macros'),
style : 'width: 160px;',
editable : false,
+ menuCls : 'menu-aligned',
cls : 'input-group-nr',
data : [
{ value: 2, displayValue: this.txtStopMacros, descValue: this.txtStopMacrosDesc },
@@ -992,13 +997,16 @@ define([
el: $markup.findById('#fms-chb-paste-settings'),
labelText: this.strPasteButton
});
-
- this.btnApply = new Common.UI.Button({
- el: $markup.findById('#fms-btn-apply')
- });
- this.btnApply.on('click', _.bind(this.applySettings, this));
+ $markup.find('.btn.primary').each(function(index, el){
+ (new Common.UI.Button({
+ el: $(el)
+ })).on('click', _.bind(me.applySettings, me));
+ });
this.pnlSettings = $markup.find('.flex-settings').addBack().filter('.flex-settings');
+ this.pnlApply = $markup.find('.fms-flex-apply').addBack().filter('.fms-flex-apply');
+ this.pnlTable = this.pnlSettings.find('table');
+ this.trApply = $markup.find('.fms-btn-apply');
this.$el = $(node).html($markup);
@@ -1032,6 +1040,11 @@ define([
updateScroller: function() {
if (this.scroller) {
+ Common.UI.Menu.Manager.hideAll();
+ var scrolled = this.$el.height()< this.pnlTable.height() + 25 + this.pnlApply.height();
+ this.pnlApply.toggleClass('hidden', !scrolled);
+ this.trApply.toggleClass('hidden', scrolled);
+ this.pnlSettings.css('overflow', scrolled ? 'hidden' : 'visible');
this.scroller.update();
this.pnlSettings.toggleClass('bordered', this.scroller.isVisible());
}