Merge pull request #1670 from ONLYOFFICE/feature/sse-edit-ole
Feature/sse edit ole
This commit is contained in:
commit
4341ea35c9
|
@ -181,7 +181,18 @@ define([
|
||||||
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
|
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
|
||||||
|
|
||||||
this.btnEditObject.on('click', _.bind(function(btn){
|
this.btnEditObject.on('click', _.bind(function(btn){
|
||||||
if (this.api) this.api.asc_startEditCurrentOleObject();
|
if (this.api) {
|
||||||
|
var oleobj = this.api.asc_canEditTableOleObject(true);
|
||||||
|
if (oleobj) {
|
||||||
|
var oleEditor = DE.getController('Common.Controllers.ExternalOleEditor').getView('Common.Views.ExternalOleEditor');
|
||||||
|
if (oleEditor) {
|
||||||
|
oleEditor.setEditMode(true);
|
||||||
|
oleEditor.show();
|
||||||
|
oleEditor.setOleData(Asc.asc_putBinaryDataToFrameFromTableOleObject(oleobj));
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
this.api.asc_startEditCurrentOleObject();
|
||||||
|
}
|
||||||
this.fireEvent('editcomplete', this);
|
this.fireEvent('editcomplete', this);
|
||||||
}, this));
|
}, this));
|
||||||
this.btnFitMargins.on('click', _.bind(this.setFitMargins, this));
|
this.btnFitMargins.on('click', _.bind(this.setFitMargins, this));
|
||||||
|
@ -424,7 +435,7 @@ define([
|
||||||
|
|
||||||
if (this._state.isOleObject) {
|
if (this._state.isOleObject) {
|
||||||
var plugin = DE.getCollection('Common.Collections.Plugins').findWhere({guid: pluginGuid});
|
var plugin = DE.getCollection('Common.Collections.Plugins').findWhere({guid: pluginGuid});
|
||||||
this.btnEditObject.setDisabled(plugin===null || plugin ===undefined || this._locked);
|
this.btnEditObject.setDisabled(!this.api.asc_canEditTableOleObject() && (plugin===null || plugin ===undefined) || this._locked);
|
||||||
} else {
|
} else {
|
||||||
this.btnSelectImage.setDisabled(pluginGuid===null || this._locked);
|
this.btnSelectImage.setDisabled(pluginGuid===null || this._locked);
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,7 +148,18 @@ define([
|
||||||
|
|
||||||
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
|
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
|
||||||
this.btnEditObject.on('click', _.bind(function(btn){
|
this.btnEditObject.on('click', _.bind(function(btn){
|
||||||
if (this.api) this.api.asc_startEditCurrentOleObject();
|
if (this.api) {
|
||||||
|
var oleobj = this.api.asc_canEditTableOleObject(true);
|
||||||
|
if (oleobj) {
|
||||||
|
var oleEditor = PE.getController('Common.Controllers.ExternalOleEditor').getView('Common.Views.ExternalOleEditor');
|
||||||
|
if (oleEditor) {
|
||||||
|
oleEditor.setEditMode(true);
|
||||||
|
oleEditor.show();
|
||||||
|
oleEditor.setOleData(Asc.asc_putBinaryDataToFrameFromTableOleObject(oleobj));
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
this.api.asc_startEditCurrentOleObject();
|
||||||
|
}
|
||||||
this.fireEvent('editcomplete', this);
|
this.fireEvent('editcomplete', this);
|
||||||
}, this));
|
}, this));
|
||||||
|
|
||||||
|
@ -348,7 +359,7 @@ define([
|
||||||
|
|
||||||
if (this._state.isOleObject) {
|
if (this._state.isOleObject) {
|
||||||
var plugin = PE.getCollection('Common.Collections.Plugins').findWhere({guid: pluginGuid});
|
var plugin = PE.getCollection('Common.Collections.Plugins').findWhere({guid: pluginGuid});
|
||||||
this.btnEditObject.setDisabled(plugin===null || plugin ===undefined || this._locked);
|
this.btnEditObject.setDisabled(!this.api.asc_canEditTableOleObject() && (plugin===null || plugin ===undefined) || this._locked);
|
||||||
} else {
|
} else {
|
||||||
this.btnSelectImage.setDisabled(pluginGuid===null || this._locked);
|
this.btnSelectImage.setDisabled(pluginGuid===null || this._locked);
|
||||||
}
|
}
|
||||||
|
|
|
@ -165,6 +165,7 @@ require([
|
||||||
'Common.Controllers.Chat',
|
'Common.Controllers.Chat',
|
||||||
'Common.Controllers.Comments',
|
'Common.Controllers.Comments',
|
||||||
'Common.Controllers.Plugins'
|
'Common.Controllers.Plugins'
|
||||||
|
,'Common.Controllers.ExternalOleEditor'
|
||||||
,'Common.Controllers.ReviewChanges'
|
,'Common.Controllers.ReviewChanges'
|
||||||
,'Common.Controllers.Protection'
|
,'Common.Controllers.Protection'
|
||||||
]
|
]
|
||||||
|
@ -203,6 +204,7 @@ require([
|
||||||
'common/main/lib/controller/Comments',
|
'common/main/lib/controller/Comments',
|
||||||
'common/main/lib/controller/Chat',
|
'common/main/lib/controller/Chat',
|
||||||
'common/main/lib/controller/Plugins'
|
'common/main/lib/controller/Plugins'
|
||||||
|
,'common/main/lib/controller/ExternalOleEditor'
|
||||||
,'common/main/lib/controller/ReviewChanges'
|
,'common/main/lib/controller/ReviewChanges'
|
||||||
,'common/main/lib/controller/Protection'
|
,'common/main/lib/controller/Protection'
|
||||||
,'common/main/lib/controller/Themes'
|
,'common/main/lib/controller/Themes'
|
||||||
|
|
|
@ -256,6 +256,28 @@ define([
|
||||||
view.tableTotalMenu.on('item:click', _.bind(me.onTotalMenuClick, me));
|
view.tableTotalMenu.on('item:click', _.bind(me.onTotalMenuClick, me));
|
||||||
view.menuImgMacro.on('click', _.bind(me.onImgMacro, me));
|
view.menuImgMacro.on('click', _.bind(me.onImgMacro, me));
|
||||||
view.menuImgEditPoints.on('click', _.bind(me.onImgEditPoints, me));
|
view.menuImgEditPoints.on('click', _.bind(me.onImgEditPoints, me));
|
||||||
|
|
||||||
|
if (!me.permissions.isEditMailMerge && !me.permissions.isEditDiagram && !me.permissions.isEditOle) {
|
||||||
|
var oleEditor = me.getApplication().getController('Common.Controllers.ExternalOleEditor').getView('Common.Views.ExternalOleEditor');
|
||||||
|
if (oleEditor) {
|
||||||
|
oleEditor.on('internalmessage', _.bind(function(cmp, message) {
|
||||||
|
var command = message.data.command;
|
||||||
|
var data = message.data.data;
|
||||||
|
if (me.api) {
|
||||||
|
if (oleEditor.isEditMode())
|
||||||
|
me.api.asc_editTableOleObject(data);
|
||||||
|
}
|
||||||
|
}, me));
|
||||||
|
oleEditor.on('hide', _.bind(function(cmp, message) {
|
||||||
|
if (me.api) {
|
||||||
|
me.api.asc_enableKeyEvents(true);
|
||||||
|
}
|
||||||
|
setTimeout(function(){
|
||||||
|
view.fireEvent('editcomplete', view);
|
||||||
|
}, 10);
|
||||||
|
}, me));
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
view.menuViewCopy.on('click', _.bind(me.onCopyPaste, me));
|
view.menuViewCopy.on('click', _.bind(me.onCopyPaste, me));
|
||||||
view.menuViewUndo.on('click', _.bind(me.onUndo, me));
|
view.menuViewUndo.on('click', _.bind(me.onUndo, me));
|
||||||
|
@ -342,6 +364,8 @@ define([
|
||||||
this.api.asc_registerCallback('asc_onInputMessage', _.bind(this.onInputMessage, this));
|
this.api.asc_registerCallback('asc_onInputMessage', _.bind(this.onInputMessage, this));
|
||||||
this.api.asc_registerCallback('asc_onTableTotalMenu', _.bind(this.onTableTotalMenu, this));
|
this.api.asc_registerCallback('asc_onTableTotalMenu', _.bind(this.onTableTotalMenu, this));
|
||||||
this.api.asc_registerCallback('asc_onShowPivotGroupDialog', _.bind(this.onShowPivotGroupDialog, this));
|
this.api.asc_registerCallback('asc_onShowPivotGroupDialog', _.bind(this.onShowPivotGroupDialog, this));
|
||||||
|
if (!this.permissions.isEditMailMerge && !this.permissions.isEditDiagram && !this.permissions.isEditOle)
|
||||||
|
this.api.asc_registerCallback('asc_doubleClickOnTableOleObject', _.bind(this.onDoubleClickOnTableOleObject, this));
|
||||||
}
|
}
|
||||||
this.api.asc_registerCallback('asc_onShowForeignCursorLabel', _.bind(this.onShowForeignCursorLabel, this));
|
this.api.asc_registerCallback('asc_onShowForeignCursorLabel', _.bind(this.onShowForeignCursorLabel, this));
|
||||||
this.api.asc_registerCallback('asc_onHideForeignCursorLabel', _.bind(this.onHideForeignCursorLabel, this));
|
this.api.asc_registerCallback('asc_onHideForeignCursorLabel', _.bind(this.onHideForeignCursorLabel, this));
|
||||||
|
@ -3954,6 +3978,17 @@ define([
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onDoubleClickOnTableOleObject: function(obj) {
|
||||||
|
if (this.permissions.isEdit && !this._isDisabled) {
|
||||||
|
var oleEditor = SSE.getController('Common.Controllers.ExternalOleEditor').getView('Common.Views.ExternalOleEditor');
|
||||||
|
if (oleEditor && obj) {
|
||||||
|
oleEditor.setEditMode(true);
|
||||||
|
oleEditor.show();
|
||||||
|
oleEditor.setOleData(Asc.asc_putBinaryDataToFrameFromTableOleObject(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
getUserName: function(id){
|
getUserName: function(id){
|
||||||
var usersStore = SSE.getCollection('Common.Collections.Users');
|
var usersStore = SSE.getCollection('Common.Collections.Users');
|
||||||
if (usersStore){
|
if (usersStore){
|
||||||
|
|
|
@ -915,6 +915,7 @@ define([
|
||||||
if (!me.appOptions.isEditMailMerge && !me.appOptions.isEditDiagram && !me.appOptions.isEditOle) {
|
if (!me.appOptions.isEditMailMerge && !me.appOptions.isEditDiagram && !me.appOptions.isEditOle) {
|
||||||
pluginsController.setApi(me.api);
|
pluginsController.setApi(me.api);
|
||||||
this.api && this.api.asc_setFrozenPaneBorderType(Common.localStorage.getBool('sse-freeze-shadow', true) ? Asc.c_oAscFrozenPaneBorderType.shadow : Asc.c_oAscFrozenPaneBorderType.line);
|
this.api && this.api.asc_setFrozenPaneBorderType(Common.localStorage.getBool('sse-freeze-shadow', true) ? Asc.c_oAscFrozenPaneBorderType.shadow : Asc.c_oAscFrozenPaneBorderType.line);
|
||||||
|
application.getController('Common.Controllers.ExternalOleEditor').setApi(this.api).loadConfig({config:this.editorConfig, customization: this.editorConfig.customization});
|
||||||
}
|
}
|
||||||
|
|
||||||
leftMenuView.disableMenu('all',false);
|
leftMenuView.disableMenu('all',false);
|
||||||
|
@ -2565,7 +2566,7 @@ define([
|
||||||
|
|
||||||
setOleData: function(obj) {
|
setOleData: function(obj) {
|
||||||
if (typeof obj === 'object' && this.api) {
|
if (typeof obj === 'object' && this.api) {
|
||||||
this.api.asc_addTableOleObject(obj);
|
this.api.asc_addTableOleObjectInOleEditor(obj);
|
||||||
this.isFrameClosed = false;
|
this.isFrameClosed = false;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -215,7 +215,18 @@ define([
|
||||||
this.spnHeight.on('inputleave', function(){ Common.NotificationCenter.trigger('edit:complete', me);});
|
this.spnHeight.on('inputleave', function(){ Common.NotificationCenter.trigger('edit:complete', me);});
|
||||||
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
|
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
|
||||||
this.btnEditObject.on('click', _.bind(function(btn){
|
this.btnEditObject.on('click', _.bind(function(btn){
|
||||||
if (this.api) this.api.asc_startEditCurrentOleObject();
|
if (this.api) {
|
||||||
|
var oleobj = this.api.asc_canEditTableOleObject(true);
|
||||||
|
if (oleobj) {
|
||||||
|
var oleEditor = SSE.getController('Common.Controllers.ExternalOleEditor').getView('Common.Views.ExternalOleEditor');
|
||||||
|
if (oleEditor) {
|
||||||
|
oleEditor.setEditMode(true);
|
||||||
|
oleEditor.show();
|
||||||
|
oleEditor.setOleData(Asc.asc_putBinaryDataToFrameFromTableOleObject(oleobj));
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
this.api.asc_startEditCurrentOleObject();
|
||||||
|
}
|
||||||
Common.NotificationCenter.trigger('edit:complete', this);
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
}, this));
|
}, this));
|
||||||
|
|
||||||
|
@ -448,7 +459,7 @@ define([
|
||||||
|
|
||||||
if (this._state.isOleObject) {
|
if (this._state.isOleObject) {
|
||||||
var plugin = SSE.getCollection('Common.Collections.Plugins').findWhere({guid: pluginGuid});
|
var plugin = SSE.getCollection('Common.Collections.Plugins').findWhere({guid: pluginGuid});
|
||||||
this.btnEditObject.setDisabled(plugin===null || plugin ===undefined || this._locked);
|
this.btnEditObject.setDisabled(!this.api.asc_canEditTableOleObject() && (plugin===null || plugin ===undefined) || this._locked);
|
||||||
} else {
|
} else {
|
||||||
this.btnSelectImage.setDisabled(pluginGuid===null || this._locked);
|
this.btnSelectImage.setDisabled(pluginGuid===null || this._locked);
|
||||||
}
|
}
|
||||||
|
|
|
@ -155,6 +155,7 @@ require([
|
||||||
'Common.Controllers.Chat',
|
'Common.Controllers.Chat',
|
||||||
'Common.Controllers.Comments',
|
'Common.Controllers.Comments',
|
||||||
'Common.Controllers.Plugins'
|
'Common.Controllers.Plugins'
|
||||||
|
,'Common.Controllers.ExternalOleEditor'
|
||||||
,'Common.Controllers.ReviewChanges'
|
,'Common.Controllers.ReviewChanges'
|
||||||
,'Common.Controllers.Protection'
|
,'Common.Controllers.Protection'
|
||||||
]
|
]
|
||||||
|
@ -193,6 +194,7 @@ require([
|
||||||
'common/main/lib/controller/Comments',
|
'common/main/lib/controller/Comments',
|
||||||
'common/main/lib/controller/Chat',
|
'common/main/lib/controller/Chat',
|
||||||
'common/main/lib/controller/Plugins'
|
'common/main/lib/controller/Plugins'
|
||||||
|
,'common/main/lib/controller/ExternalOleEditor'
|
||||||
,'common/main/lib/controller/ReviewChanges'
|
,'common/main/lib/controller/ReviewChanges'
|
||||||
,'common/main/lib/controller/Protection'
|
,'common/main/lib/controller/Protection'
|
||||||
,'common/main/lib/controller/Themes'
|
,'common/main/lib/controller/Themes'
|
||||||
|
|
Loading…
Reference in a new issue