Register font events in controllers (not in the component ComboBoxFonts)

This commit is contained in:
Julia Radzhabova 2019-02-01 13:13:44 +03:00
parent 47f508b0b2
commit d52a2c6774
5 changed files with 36 additions and 11 deletions

View file

@ -95,7 +95,7 @@ define([
this.recent = _.isNumber(options.recent) ? options.recent : 3; this.recent = _.isNumber(options.recent) ? options.recent : 3;
Common.NotificationCenter.on('fonts:change', _.bind(this.onApiChangeFont, this)); // Common.NotificationCenter.on('fonts:change', _.bind(this.onApiChangeFont, this));
Common.NotificationCenter.on('fonts:load', _.bind(this.fillFonts, this)); Common.NotificationCenter.on('fonts:load', _.bind(this.fillFonts, this));
}, },
@ -115,8 +115,6 @@ define([
this._input.on('focus', _.bind(function() {this.inFormControl = true;}, this)); this._input.on('focus', _.bind(function() {this.inFormControl = true;}, this));
this._input.on('blur', _.bind(function() {this.inFormControl = false;}, this)); this._input.on('blur', _.bind(function() {this.inFormControl = false;}, this));
this._modalParents = this.cmpEl.closest('.asc-window');
return this; return this;
}, },
@ -334,8 +332,6 @@ define([
var name = (_.isFunction(font.get_Name) ? font.get_Name() : font.asc_getName()); var name = (_.isFunction(font.get_Name) ? font.get_Name() : font.asc_getName());
if (this.getRawValue() !== name) { if (this.getRawValue() !== name) {
if (this._modalParents.length > 0) return;
var record = this.store.findWhere({ var record = this.store.findWhere({
name: name name: name
}); });

View file

@ -368,6 +368,7 @@ define([
this.api.asc_registerCallback('asc_onContextMenu', _.bind(this.onContextMenu, this)); this.api.asc_registerCallback('asc_onContextMenu', _.bind(this.onContextMenu, this));
this.api.asc_registerCallback('asc_onShowParaMarks', _.bind(this.onShowParaMarks, this)); this.api.asc_registerCallback('asc_onShowParaMarks', _.bind(this.onShowParaMarks, this));
this.api.asc_registerCallback('asc_onChangeSdtGlobalSettings',_.bind(this.onChangeSdtGlobalSettings, this)); this.api.asc_registerCallback('asc_onChangeSdtGlobalSettings',_.bind(this.onChangeSdtGlobalSettings, this));
Common.NotificationCenter.on('fonts:change', _.bind(this.onApiChangeFont, this));
}, },
onChangeCompactView: function(view, compact) { onChangeCompactView: function(view, compact) {
@ -392,6 +393,10 @@ define([
this.toolbar.collapse(); this.toolbar.collapse();
}, },
onApiChangeFont: function(font) {
!this.getApplication().getController('Main').isModalShowed && this.toolbar.cmbFontName.onApiChangeFont(font);
},
onApiFontSize: function(size) { onApiFontSize: function(size) {
if (this._state.fontsize !== size) { if (this._state.fontsize !== size) {
this.toolbar.cmbFontSize.setValue(size); this.toolbar.cmbFontSize.setValue(size);

View file

@ -319,6 +319,7 @@ define([
this.api.asc_registerCallback('asc_onUnderline', _.bind(this.onApiUnderline, this)); this.api.asc_registerCallback('asc_onUnderline', _.bind(this.onApiUnderline, this));
this.api.asc_registerCallback('asc_onStrikeout', _.bind(this.onApiStrikeout, this)); this.api.asc_registerCallback('asc_onStrikeout', _.bind(this.onApiStrikeout, this));
this.api.asc_registerCallback('asc_onVerticalAlign', _.bind(this.onApiVerticalAlign, this)); this.api.asc_registerCallback('asc_onVerticalAlign', _.bind(this.onApiVerticalAlign, this));
Common.NotificationCenter.on('fonts:change', _.bind(this.onApiChangeFont, this));
this.api.asc_registerCallback('asc_onCanUndo', _.bind(this.onApiCanRevert, this, 'undo')); this.api.asc_registerCallback('asc_onCanUndo', _.bind(this.onApiCanRevert, this, 'undo'));
this.api.asc_registerCallback('asc_onCanRedo', _.bind(this.onApiCanRevert, this, 'redo')); this.api.asc_registerCallback('asc_onCanRedo', _.bind(this.onApiCanRevert, this, 'redo'));
@ -377,6 +378,10 @@ define([
this.toolbar.collapse(); this.toolbar.collapse();
}, },
onApiChangeFont: function(font) {
!this.getApplication().getController('Main').isModalShowed && this.toolbar.cmbFontName.onApiChangeFont(font);
},
onApiFontSize: function(size) { onApiFontSize: function(size) {
if (this._state.fontsize !== size) { if (this._state.fontsize !== size) {
this.toolbar.cmbFontSize.setValue(size); this.toolbar.cmbFontSize.setValue(size);

View file

@ -387,6 +387,7 @@ define([
Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiCoAuthoringDisconnect, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiCoAuthoringDisconnect, this));
this.api.asc_registerCallback('asc_onLockDefNameManager', _.bind(this.onLockDefNameManager, this)); this.api.asc_registerCallback('asc_onLockDefNameManager', _.bind(this.onLockDefNameManager, this));
this.api.asc_registerCallback('asc_onZoomChanged', _.bind(this.onApiZoomChange, this)); this.api.asc_registerCallback('asc_onZoomChanged', _.bind(this.onApiZoomChange, this));
Common.NotificationCenter.on('fonts:change', _.bind(this.onApiChangeFont, this));
}, },
// onNewDocument: function(btn, e) { // onNewDocument: function(btn, e) {
@ -403,6 +404,10 @@ define([
// Common.component.Analytics.trackEvent('ToolBar', 'Open Document'); // Common.component.Analytics.trackEvent('ToolBar', 'Open Document');
// }, // },
onApiChangeFont: function(font) {
!this.getApplication().getController('Main').isModalShowed && this.toolbar.cmbFontName.onApiChangeFont(font);
},
onContextMenu: function() { onContextMenu: function() {
this.toolbar.collapse(); this.toolbar.collapse();
}, },

View file

@ -341,6 +341,7 @@ define([
})); }));
this.cmbFonts[1].on('selected', _.bind(this.onFontSelect, this)); this.cmbFonts[1].on('selected', _.bind(this.onFontSelect, this));
this.footerControls.push(this.cmbFonts[1]); this.footerControls.push(this.cmbFonts[1]);
Common.NotificationCenter.on('fonts:change', _.bind(this.onApiChangeFont, this));
data = [ data = [
{ value: 8, displayValue: "8" }, { value: 8, displayValue: "8" },
@ -537,6 +538,7 @@ define([
cls : 'btn-toolbar', cls : 'btn-toolbar',
iconCls : 'btn-fontcolor', iconCls : 'btn-fontcolor',
hint : this.textColor, hint : this.textColor,
split : true,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
items: [ items: [
{ template: _.template('<div id="id-dlg-h-menu-fontcolor" style="width: 169px; height: 220px; margin: 10px;"></div>') }, { template: _.template('<div id="id-dlg-h-menu-fontcolor" style="width: 169px; height: 220px; margin: 10px;"></div>') },
@ -545,6 +547,7 @@ define([
}) })
})); }));
this.btnTextColor[0].render($('#id-dlg-h-textcolor')); this.btnTextColor[0].render($('#id-dlg-h-textcolor'));
this.btnTextColor[0].on('click', _.bind(this.onTextColor, this));
this.mnuTextColorPicker = []; this.mnuTextColorPicker = [];
this.mnuTextColorPicker.push(initNewColor(this.btnTextColor[0], "#id-dlg-h-menu-fontcolor")); this.mnuTextColorPicker.push(initNewColor(this.btnTextColor[0], "#id-dlg-h-menu-fontcolor"));
this.headerControls.push(this.btnTextColor[0]); this.headerControls.push(this.btnTextColor[0]);
@ -553,6 +556,7 @@ define([
cls : 'btn-toolbar', cls : 'btn-toolbar',
iconCls : 'btn-fontcolor', iconCls : 'btn-fontcolor',
hint : this.textColor, hint : this.textColor,
split : true,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
items: [ items: [
{ template: _.template('<div id="id-dlg-f-menu-fontcolor" style="width: 169px; height: 220px; margin: 10px;"></div>') }, { template: _.template('<div id="id-dlg-f-menu-fontcolor" style="width: 169px; height: 220px; margin: 10px;"></div>') },
@ -561,6 +565,7 @@ define([
}) })
})); }));
this.btnTextColor[1].render($('#id-dlg-f-textcolor')); this.btnTextColor[1].render($('#id-dlg-f-textcolor'));
this.btnTextColor[1].on('click', _.bind(this.onTextColor, this));
this.mnuTextColorPicker.push(initNewColor(this.btnTextColor[1], "#id-dlg-f-menu-fontcolor")); this.mnuTextColorPicker.push(initNewColor(this.btnTextColor[1], "#id-dlg-f-menu-fontcolor"));
this.footerControls.push(this.btnTextColor[1]); this.footerControls.push(this.btnTextColor[1]);
@ -725,17 +730,15 @@ define([
}, },
onFontSelect: function(combo, record) { onFontSelect: function(combo, record) {
if (this.HFObject) { if (this.HFObject)
this.HFObject.setFontName(record.name); this.HFObject.setFontName(record.name);
this.scrollerUpdate(); this.onCanvasClick(this.currentCanvas);
}
}, },
onFontSizeSelect: function(combo, record) { onFontSizeSelect: function(combo, record) {
if (this.HFObject) { if (this.HFObject)
this.HFObject.setFontSize(record.value); this.HFObject.setFontSize(record.value);
this.scrollerUpdate(); this.onCanvasClick(this.currentCanvas);
}
}, },
onBoldClick: function(btn, e) { onBoldClick: function(btn, e) {
@ -780,6 +783,12 @@ define([
} }
}, },
onTextColor: function() {
var mnuTextColorPicker = this.mnuTextColorPicker[this.isFooter ? 1 : 0];
mnuTextColorPicker.trigger('select', mnuTextColorPicker, mnuTextColorPicker.currentColor, true);
},
onColorSelect: function(btn, picker, color) { onColorSelect: function(btn, picker, color) {
var clr = (typeof(color) == 'object') ? color.color : color; var clr = (typeof(color) == 'object') ? color.color : color;
btn.currentColor = color; btn.currentColor = color;
@ -787,6 +796,7 @@ define([
picker.currentColor = color; picker.currentColor = color;
if (this.HFObject) if (this.HFObject)
this.HFObject.setTextColor(Common.Utils.ThemeColor.getRgbColor(color)); this.HFObject.setTextColor(Common.Utils.ThemeColor.getRgbColor(color));
this.onCanvasClick(this.currentCanvas);
}, },
onPageTypeToggle: function(type, btn, state) { onPageTypeToggle: function(type, btn, state) {
@ -796,6 +806,10 @@ define([
} }
}, },
onApiChangeFont: function(font) {
this.cmbFonts[this.isFooter ? 1 : 0].onApiChangeFont(font);
},
onApiEditorSelectionChanged: function(fontobj) { onApiEditorSelectionChanged: function(fontobj) {
var idx = this.isFooter ? 1 : 0, var idx = this.isFooter ? 1 : 0,
val; val;