Merge pull request #571 from ONLYOFFICE/fix/bugfix

Fix/bugfix
This commit is contained in:
Julia Radzhabova 2020-11-18 00:56:02 +03:00 committed by GitHub
commit ecd0e749c0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 77 additions and 47 deletions

View file

@ -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());
}
},

View file

@ -130,6 +130,11 @@
.dropdown-menu.menu-absolute {
position: fixed;
}
.dropdown-menu.show-top {
top: auto;
bottom: 100%;
}
}
.open > .combobox.combo-dataview-menu {

View file

@ -82,8 +82,7 @@ define([
onLaunch: function () {
this._state = {
prcontrolsdisable:undefined,
in_object: false,
in_header: false
in_object: false
};
Common.Gateway.on('setactionlink', function (url) {
console.log('url with actions: ' + url);
@ -155,7 +154,6 @@ define([
}
this._state.prcontrolsdisable = paragraph_locked || header_locked;
this._state.in_object = in_image || in_table || in_equation;
this._state.in_header = in_header;
var control_props = this.api.asc_IsContentControl() ? this.api.asc_GetContentControlProperties() : null,
control_plain = (control_props) ? (control_props.get_ContentControlType()==Asc.c_oAscSdtLevelType.Inline) : false,
@ -463,7 +461,6 @@ define([
me.dlgCrossRefDialog = new DE.Views.CrossReferenceDialog({
api: me.api,
crossRefProps: me.crossRefProps,
inHeader: me._state.in_header,
handler: function (result, settings) {
if (result != 'ok')
Common.NotificationCenter.trigger('edit:complete', me.toolbar);

View file

@ -101,7 +101,6 @@ define([
this.api = options.api;
this.options.tpl = _.template(this.template)(this.options);
this._locked = false;
this.inHeader = options.inHeader || false;
Common.UI.Window.prototype.initialize.call(this, this.options);
},
@ -203,29 +202,12 @@ define([
this._setDefaults();
var me = this;
var onApiFocusObject = function(selectedObjects) {
var i = -1,
in_header = false;
while (++i < selectedObjects.length) {
if (selectedObjects[i].get_ObjectType() === Asc.c_oAscTypeSelectElement.Header) {
in_header = true;
break;
}
}
if (me.inHeader !== in_header) {
me.inHeader = in_header;
var rec = me.cmbReference.getSelectedRecord();
me.refreshReferenceTypes(me.cmbType.getSelectedRecord(), rec && (!me.inHeader || rec.value !== Asc.c_oAscDocumentRefenceToType.AboveBelow) ? rec.value : undefined);
}
};
var onApiEndCalculate = function() {
var rec = me.cmbType.getSelectedRecord();
rec && me.refreshReferences(rec.value);
};
this.api.asc_registerCallback('asc_onFocusObject', onApiFocusObject);
this.api.asc_registerCallback('asc_onEndCalculate', onApiEndCalculate);
this.on('close', function(obj){
me.api.asc_unregisterCallback('asc_onFocusObject', onApiFocusObject);
me.api.asc_unregisterCallback('asc_onEndCalculate', onApiEndCalculate);
});
},
@ -313,7 +295,8 @@ define([
{ value: Asc.c_oAscDocumentRefenceToType.Text, displayValue: this.textCaption },
{ value: Asc.c_oAscDocumentRefenceToType.OnlyLabelAndNumber, displayValue: this.textLabelNum },
{ value: Asc.c_oAscDocumentRefenceToType.OnlyCaptionText, displayValue: this.textOnlyCaption },
{ value: Asc.c_oAscDocumentRefenceToType.PageNum, displayValue: this.textPageNum }
{ value: Asc.c_oAscDocumentRefenceToType.PageNum, displayValue: this.textPageNum },
{ value: Asc.c_oAscDocumentRefenceToType.AboveBelow, displayValue: this.textAboveBelow }
];
} else {
type = record.value;
@ -324,7 +307,8 @@ define([
{ value: Asc.c_oAscDocumentRefenceToType.ParaNum, displayValue: this.textParaNum },
{ value: Asc.c_oAscDocumentRefenceToType.ParaNumNoContext, displayValue: this.textParaNumNo },
{ value: Asc.c_oAscDocumentRefenceToType.ParaNumFullContex, displayValue: this.textParaNumFull },
{ value: Asc.c_oAscDocumentRefenceToType.Text, displayValue: this.textText }
{ value: Asc.c_oAscDocumentRefenceToType.Text, displayValue: this.textText },
{ value: Asc.c_oAscDocumentRefenceToType.AboveBelow, displayValue: this.textAboveBelow }
];
str = this.textWhichPara;
break;
@ -334,7 +318,8 @@ define([
{ value: Asc.c_oAscDocumentRefenceToType.PageNum, displayValue: this.textPageNum },
{ value: Asc.c_oAscDocumentRefenceToType.ParaNum, displayValue: this.textHeadingNum },
{ value: Asc.c_oAscDocumentRefenceToType.ParaNumNoContext, displayValue: this.textHeadingNumNo },
{ value: Asc.c_oAscDocumentRefenceToType.ParaNumFullContex, displayValue: this.textHeadingNumFull }
{ value: Asc.c_oAscDocumentRefenceToType.ParaNumFullContex, displayValue: this.textHeadingNumFull },
{ value: Asc.c_oAscDocumentRefenceToType.AboveBelow, displayValue: this.textAboveBelow }
];
str = this.textWhichHeading;
break;
@ -344,7 +329,8 @@ define([
{ value: Asc.c_oAscDocumentRefenceToType.PageNum, displayValue: this.textPageNum },
{ value: Asc.c_oAscDocumentRefenceToType.ParaNum, displayValue: this.textParaNum },
{ value: Asc.c_oAscDocumentRefenceToType.ParaNumNoContext, displayValue: this.textParaNumNo },
{ value: Asc.c_oAscDocumentRefenceToType.ParaNumFullContex, displayValue: this.textParaNumFull }
{ value: Asc.c_oAscDocumentRefenceToType.ParaNumFullContex, displayValue: this.textParaNumFull },
{ value: Asc.c_oAscDocumentRefenceToType.AboveBelow, displayValue: this.textAboveBelow }
];
str = this.textWhichBookmark;
break;
@ -352,6 +338,7 @@ define([
arr = [
{ value: Asc.c_oAscDocumentRefenceToType.NoteNumber, displayValue: this.textNoteNum },
{ value: Asc.c_oAscDocumentRefenceToType.PageNum, displayValue: this.textPageNum },
{ value: Asc.c_oAscDocumentRefenceToType.AboveBelow, displayValue: this.textAboveBelow },
{ value: Asc.c_oAscDocumentRefenceToType.NoteNumberFormatted, displayValue: this.textNoteNumForm }
];
str = this.textWhichNote;
@ -360,14 +347,13 @@ define([
arr = [
{ value: Asc.c_oAscDocumentRefenceToType.NoteNumber, displayValue: this.textEndNoteNum },
{ value: Asc.c_oAscDocumentRefenceToType.PageNum, displayValue: this.textPageNum },
{ value: Asc.c_oAscDocumentRefenceToType.AboveBelow, displayValue: this.textAboveBelow },
{ value: Asc.c_oAscDocumentRefenceToType.NoteNumberFormatted, displayValue: this.textEndNoteNumForm }
];
str = this.textWhichEndnote;
break;
}
}
if (!this.inHeader)
arr.push({ value: Asc.c_oAscDocumentRefenceToType.AboveBelow, displayValue: this.textAboveBelow });
this.cmbReference.setData(arr);
var rec = this.cmbReference.store.findWhere({value: currentRef});

View file

@ -262,13 +262,17 @@ define([
'<div><div id="fms-cmb-macros" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'<label id="fms-lbl-macros" style="vertical-align: middle;"><%= scope.txtWarnMacrosDesc %></label></div></td>',
'</tr>','<tr class="divider macros"></tr>',
'<tr class="fms-btn-apply">',
'<td class="left"></td>',
'<td class="right" style="padding-top:15px; padding-bottom: 15px;"><button class="btn normal dlg-btn primary"><%= scope.okButtonText %></button></td>',
'</tr>',
'</tbody></table>',
'</div>',
'<div>',
'<div class="fms-flex-apply hidden">',
'<table style="margin: 10px 0;"><tbody>',
'<tr>',
'<td class="left"></td>',
'<td class="right"><button id="fms-btn-apply" class="btn normal dlg-btn primary"><%= scope.okButtonText %></button></td>',
'<td class="right"><button class="btn normal dlg-btn primary"><%= scope.okButtonText %></button></td>',
'</tr>',
'</tbody></table>',
'</div>'
@ -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());
}

View file

@ -236,13 +236,17 @@ define([
'<div><div id="fms-cmb-macros" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'<label id="fms-lbl-macros" style="vertical-align: middle;"><%= scope.txtWarnMacrosDesc %></label></div></td>',
'</tr>','<tr class="divider macros"></tr>',
'<tr class="fms-btn-apply">',
'<td class="left"></td>',
'<td class="right" style="padding-top:15px; padding-bottom: 15px;"><button class="btn normal dlg-btn primary"><%= scope.okButtonText %></button></td>',
'</tr>',
'</tbody></table>',
'</div>',
'<div>',
'<div class="fms-flex-apply hidden">',
'<table style="margin: 10px 0;"><tbody>',
'<tr>',
'<td class="left"></td>',
'<td class="right"><button id="fms-btn-apply" class="btn normal dlg-btn primary"><%= scope.okButtonText %></button></td>',
'<td class="right"><button class="btn normal dlg-btn primary"><%= scope.okButtonText %></button></td>',
'</tr>',
'</tbody></table>',
'</div>'
@ -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());
}

View file

@ -737,13 +737,17 @@ define([
'<div><div id="fms-cmb-macros" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'<label id="fms-lbl-macros" style="vertical-align: middle;"><%= scope.txtWarnMacrosDesc %></label></div></td>',
'</tr>','<tr class="divider macros"></tr>',
'<tr class="fms-btn-apply">',
'<td class="left"></td>',
'<td class="right" style="padding-top:15px; padding-bottom: 15px;"><button class="btn normal dlg-btn primary"><%= scope.okButtonText %></button></td>',
'</tr>',
'</tbody></table>',
'</div>',
'<div>',
'<div class="fms-flex-apply hidden">',
'<table class="main" style="margin: 10px 0;"><tbody>',
'<tr>',
'<td class="left"></td>',
'<td class="right"><button id="fms-btn-apply" class="btn normal dlg-btn primary"><%= scope.okButtonText %></button></td>',
'<td class="right"><button class="btn normal dlg-btn primary"><%= scope.okButtonText %></button></td>',
'</tr>',
'</tbody></table>',
'</div>',
@ -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 },
@ -993,12 +998,15 @@ define([
labelText: this.strPasteButton
});
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);
@ -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());
}