diff --git a/apps/presentationeditor/main/app/view/FileMenuPanels.js b/apps/presentationeditor/main/app/view/FileMenuPanels.js index 23651deeb..d4d71d97a 100644 --- a/apps/presentationeditor/main/app/view/FileMenuPanels.js +++ b/apps/presentationeditor/main/app/view/FileMenuPanels.js @@ -180,7 +180,8 @@ define([ menu: undefined, template: _.template([ - '', + '
', + '
', '', '', '', @@ -235,11 +236,16 @@ define([ '
', '
', '','', + '
', + '', + '
', + '', '', '', '', '', - '
' + '', + '
' ].join('')), initialize: function(options) { @@ -267,7 +273,7 @@ define([ style : 'width: 160px;', editable : false, cls : 'input-group-nr', - menuStyle : 'max-height: 210px;', + menuStyle : 'max-height: 157px;', data : [ { value: -1, displayValue: this.txtFitSlide }, { value: -2, displayValue: this.txtFitWidth }, @@ -389,16 +395,24 @@ define([ this.btnApply.on('click', _.bind(this.applySettings, this)); + this.pnlSettings = $markup.findById('#fms-flex-settings'); + this.$el = $(node).html($markup); if (_.isUndefined(this.scroller)) { this.scroller = new Common.UI.Scroller({ - el: this.$el, + el: this.pnlSettings, suppressScrollX: true, alwaysVisibleY: true }); } + Common.NotificationCenter.on({ + 'window:resize': function() { + me.isVisible() && me.updateScroller(); + } + }); + return this; }, @@ -406,7 +420,14 @@ define([ Common.UI.BaseView.prototype.show.call(this,arguments); this.updateSettings(); - this.scroller && this.scroller.update(); + this.updateScroller(); + }, + + updateScroller: function() { + if (this.scroller) { + this.scroller.update(); + this.pnlSettings.toggleClass('bordered', this.scroller.isVisible()); + } }, setMode: function(mode) { @@ -731,7 +752,8 @@ define([ this.rendered = false; this.template = _.template([ - '', + '
', + '
', '', '', '', @@ -792,12 +814,17 @@ define([ '
', '', '', - '', + '', + '', + '', + '
', + '', '', '', '', '', - '
' + '', + '
' ].join('')); this.menu = options.menu; @@ -864,6 +891,7 @@ define([ idx = me.tblAuthor.find('tr').index(el); el.remove(); me.authors.splice(idx, 1); + me.updateScroller(true); } }); @@ -885,6 +913,7 @@ define([ if (!isFromApply) { var div = $(Common.Utils.String.format(me.authorTpl, Common.Utils.String.htmlEncode(str))); me.trAuthor.before(div); + me.updateScroller(); } } }); @@ -897,6 +926,9 @@ define([ }); this.btnApply.on('click', _.bind(this.applySettings, this)); + this.pnlInfo = $markup.findById('#fms-flex-info'); + this.pnlApply = $markup.findById('#fms-flex-apply'); + this.rendered = true; this.updateInfo(this.doc); @@ -904,12 +936,18 @@ define([ this.$el = $(node).html($markup); if (_.isUndefined(this.scroller)) { this.scroller = new Common.UI.Scroller({ - el: this.$el, + el: this.pnlInfo, suppressScrollX: true, alwaysVisibleY: true }); } + Common.NotificationCenter.on({ + 'window:resize': function() { + me.isVisible() && me.updateScroller(); + } + }); + return this; }, @@ -917,13 +955,24 @@ define([ Common.UI.BaseView.prototype.show.call(this,arguments); this.updateFileInfo(); - this.scroller && this.scroller.update(); + this.scroller && this.scroller.scrollTop(0); + this.updateScroller(); }, hide: function() { Common.UI.BaseView.prototype.hide.call(this,arguments); }, + updateScroller: function(destroy) { + if (this.scroller) { + this.scroller.update(destroy ? { + suppressScrollX: true, + alwaysVisibleY: true + } : undefined); + this.pnlInfo.toggleClass('bordered', this.scroller.isVisible()); + } + }, + updateInfo: function(doc) { if (!this.doc && doc && doc.info) { doc.info.author && console.log("Obsolete: The 'author' parameter of the document 'info' section is deprecated. Please use 'owner' instead."); @@ -1034,7 +1083,7 @@ define([ setMode: function(mode) { this.mode = mode; this.inputAuthor.setVisible(mode.isEdit); - this.btnApply.setVisible(mode.isEdit); + this.pnlApply.toggleClass('hidden', !mode.isEdit); this.tblAuthor.find('.close').toggleClass('hidden', !mode.isEdit); if (!mode.isEdit) { this.inputTitle._input.attr('placeholder', ''); @@ -1107,7 +1156,7 @@ define([ this.rendered = false; this.template = _.template([ - '', + '
', '', '', '', diff --git a/apps/presentationeditor/main/resources/less/leftmenu.less b/apps/presentationeditor/main/resources/less/leftmenu.less index 55091747e..7ce578c3e 100644 --- a/apps/presentationeditor/main/resources/less/leftmenu.less +++ b/apps/presentationeditor/main/resources/less/leftmenu.less @@ -190,9 +190,19 @@ } #panel-settings { - padding: 0 30px; + padding: 0; + display: flex; + flex-direction: column; + + #fms-flex-settings { + &.bordered { + border-bottom: 1px solid @gray; + } + overflow: hidden; + position: relative; + } + table { - margin: 30px 0; width: 100%; tr { @@ -375,9 +385,27 @@ } } - #panel-info, + #panel-info { + padding: 0; + display: flex; + flex-direction: column; + + #fms-flex-info { + &.bordered { + border-bottom: 1px solid @gray; + } + overflow: hidden; + position: relative; + } + + } + #panel-rights { padding: 0 30px; + } + + #panel-info, + #panel-rights { table { tr { td { @@ -406,7 +434,6 @@ &.main { width: 100%; - margin: 30px 0; } }